Atera device monitors: HTTP, SNMP, and TCP monitor types for network devices, services, and applications, plus monitor configuration, thresholds, and polling behavior.
Scanned 9/5/2026
Install to Claude Code
npx -y skills add WYRE-AI/msp-claude-plugins --skill devices --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Devices?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/wyre-ai-devices)More formats (shields.io, HTML) on the badges page.
---
name: "Atera Devices"
description: >
Atera device monitors: HTTP, SNMP, and TCP monitor types for network
devices, services, and applications, plus monitor configuration,
thresholds, and polling behavior.
when_to_use: >-
When configuring or troubleshooting Atera network and device monitors. Use
when: atera device, atera monitor, http monitor, snmp monitor, tcp
monitor, network monitor, device monitoring, snmp polling, uptime
monitoring, or port monitor.
---
# Atera Device Monitoring
## Overview
Atera device monitors extend monitoring capabilities beyond agent-based endpoints to include network devices, services, and applications. These agentless monitors use HTTP, SNMP, and TCP protocols to check availability and gather metrics.
## Anti-triggers
- **A workstation or server running the Atera agent** — that is an agent
record, not a device monitor; use `atera-agents`. This is the single
most common misroute in this plugin, because "device" means the
managed endpoint in every other RMM here.
- **The alert a monitor fired** — monitor configuration and thresholds
live here; the acknowledge/resolve lifecycle is `atera-alerts`.
- **Network discovery, topology, or interface statistics as a product**
— use `auvik-devices` or `auvik-networks`; this skill only configures
Atera's own HTTP, SNMP, and TCP checks.
## Monitor Types
### HTTP Monitors
Monitor web services and applications via HTTP/HTTPS requests.
| Feature | Description |
|---------|-------------|
| **Protocol** | HTTP or HTTPS |
| **Methods** | GET, POST, HEAD |
| **Validation** | Status code, response content |
| **Authentication** | Basic, custom headers |
| **Use Cases** | Websites, APIs, web apps |
### SNMP Monitors
Monitor network devices using Simple Network Management Protocol.
| Feature | Description |
|---------|-------------|
| **Versions** | SNMP v1, v2c, v3 |
| **Operations** | GET, GETNEXT, WALK |
| **Data Types** | OIDs, MIBs, counters |
| **Use Cases** | Routers, switches, firewalls, printers |
### TCP Monitors
Monitor service availability via TCP port connectivity.
| Feature | Description |
|---------|-------------|
| **Protocol** | TCP |
| **Check Type** | Port open/closed |
| **Response** | Connection success/timeout |
| **Use Cases** | Custom services, databases, mail servers |
## Device Monitor Fields
### Common Fields
| Field | Type | Description |
|-------|------|-------------|
| `DeviceID` | int | Unique device identifier |
| `CustomerID` | int | Associated customer ID |
| `CustomerName` | string | Customer display name |
| `DeviceName` | string | Monitor display name |
| `DeviceType` | string | HTTP, SNMP, TCP |
| `Hostname` | string | Target host/IP address |
| `Online` | boolean | Current status |
| `LastSeen` | datetime | Last successful check |
| `CreatedOn` | datetime | Monitor creation date |
### HTTP-Specific Fields
| Field | Type | Description |
|-------|------|-------------|
| `URL` | string | Full URL to monitor |
| `Port` | int | HTTP port (default 80/443) |
| `CheckCertificateExpiration` | boolean | Monitor SSL cert |
| `CheckCertificateRevocation` | boolean | Check cert revocation |
| `Username` | string | Basic auth username |
| `Password` | string | Basic auth password |
| `ResponseText` | string | Expected response content |
| `ResponseCode` | int | Expected HTTP status |
### SNMP-Specific Fields (v1/v2c)
| Field | Type | Description |
|-------|------|-------------|
| `Port` | int | SNMP port (default 161) |
| `Community` | string | SNMP community string |
| `OID` | string | Object identifier to query |
| `Threshold` | string | Alert threshold |
| `ThresholdComparison` | string | Comparison operator |
### SNMP v3-Specific Fields
| Field | Type | Description |
|-------|------|-------------|
| `Username` | string | SNMPv3 username |
| `AuthProtocol` | string | MD5, SHA, SHA256, SHA384, SHA512 |
| `AuthPassword` | string | Authentication password |
| `PrivProtocol` | string | DES, AES, AES192, AES256 |
| `PrivPassword` | string | Privacy password |
| `ContextName` | string | SNMPv3 context |
### TCP-Specific Fields
| Field | Type | Description |
|-------|------|-------------|
| `Port` | int | TCP port to check |
| `Timeout` | int | Connection timeout (ms) |
## API Patterns
### List Generic Devices (Paginated)
```http
GET /api/v3/devices/generic?page=1&itemsInPage=50
X-API-KEY: {api_key}
```
**Response:**
```json
{
"items": [
{
"DeviceID": 55555,
"CustomerID": 12345,
"CustomerName": "Acme Corporation",
"DeviceName": "Core Router",
"DeviceType": "SNMP",
"Hostname": "192.168.1.1",
"Online": true,
"LastSeen": "2024-02-15T14:30:00Z"
}
],
"totalItems": 25,
"page": 1,
"itemsInPage": 50,
"totalPages": 1
}
```
### Create HTTP Monitor
```http
POST /api/v3/devices/http
X-API-KEY: {api_key}
Content-Type: application/json
```
```json
{
"CustomerID": 12345,
"DeviceName": "Website Monitor",
"Hostname": "www.acme.com",
"URL": "https://www.acme.com/health",
"Port": 443,
"CheckCertificateExpiration": true,
"ResponseCode": 200,
"ResponseText": "OK"
}
```
**Response:**
```json
{
"ActionID": 55556,
"DeviceID": 55556
}
```
### Create SNMP v1/v2c Monitor
```http
POST /api/v3/devices/snmp
X-API-KEY: {api_key}
Content-Type: application/json
```
```json
{
"CustomerID": 12345,
"DeviceName": "Core Router",
"Hostname": "192.168.1.1",
"Port": 161,
"Community": "public",
"OID": "1.3.6.1.2.1.1.3.0",
"Threshold": "1000",
"ThresholdComparison": ">"
}
```
### Create SNMP v3 Monitor
```http
POST /api/v3/devices/snmpv3
X-API-KEY: {api_key}
Content-Type: application/json
```
```json
{
"CustomerID": 12345,
"DeviceName": "Firewall",
"Hostname": "192.168.1.254",
"Port": 161,
"Username": "snmpuser",
"AuthProtocol": "SHA256",
"AuthPassword": "authpass123",
"PrivProtocol": "AES256",
"PrivPassword": "privpass123",
"OID": "1.3.6.1.4.1.9.9.109.1.1.1.1.3.1",
"Threshold": "80",
"ThresholdComparison": ">"
}
```
### Create TCP Monitor
```http
POST /api/v3/devices/tcp
X-API-KEY: {api_key}
Content-Type: application/json
```
```json
{
"CustomerID": 12345,
"DeviceName": "Database Server",
"Hostname": "db.acme.local",
"Port": 1433,
"Timeout": 5000
}
```
### Delete Device Monitor
```http
DELETE /api/v3/devices/{deviceType}/{deviceId}
X-API-KEY: {api_key}
```
**Device types:** `http`, `snmp`, `snmpv3`, `tcp`, `generic`
## Common SNMP OIDs
### System Information
| OID | Description |
|-----|-------------|
| `1.3.6.1.2.1.1.1.0` | System description |
| `1.3.6.1.2.1.1.3.0` | System uptime |
| `1.3.6.1.2.1.1.5.0` | System name |
| `1.3.6.1.2.1.1.6.0` | System location |
### Interface Statistics
| OID | Description |
|-----|-------------|
| `1.3.6.1.2.1.2.2.1.2` | Interface description |
| `1.3.6.1.2.1.2.2.1.8` | Interface operational status |
| `1.3.6.1.2.1.2.2.1.10` | Bytes in |
| `1.3.6.1.2.1.2.2.1.16` | Bytes out |
### CPU and Memory
| OID | Description |
|-----|-------------|
| `1.3.6.1.4.1.9.9.109.1.1.1.1.3` | Cisco CPU 5 min avg |
| `1.3.6.1.4.1.2021.10.1.3.1` | Linux 1 min load avg |
| `1.3.6.1.4.1.2021.4.6.0` | Linux available RAM |
### Storage
| OID | Description |
|-----|-------------|
| `1.3.6.1.2.1.25.2.3.1.5` | Storage size |
| `1.3.6.1.2.1.25.2.3.1.6` | Storage used |
## Common TCP Ports
| Port | Service | Monitor Name |
|------|---------|--------------|
| 21 | FTP | FTP Server |
| 22 | SSH | SSH Access |
| 25 | SMTP | Mail Server (SMTP) |
| 53 | DNS | DNS Server |
| 80 | HTTP | Web Server |
| 110 | POP3 | Mail Server (POP3) |
| 143 | IMAP | Mail Server (IMAP) |
| 443 | HTTPS | Secure Web Server |
| 445 | SMB | File Sharing |
| 1433 | MSSQL | SQL Server |
| 3306 | MySQL | MySQL Server |
| 3389 | RDP | Remote Desktop |
| 5432 | PostgreSQL | PostgreSQL |
| 5900 | VNC | VNC Server |
## Monitoring Best Practices
### HTTP Monitors
1. **Use dedicated health endpoints** - `/health` or `/status`
2. **Check SSL certificates** - Enable cert expiration alerts
3. **Validate response content** - Don't just check status codes
4. **Set reasonable timeouts** - 10-30 seconds typical
5. **Monitor critical paths** - Login, API endpoints
### SNMP Monitors
1. **Use SNMPv3 when possible** - Better security
2. **Change default community strings** - Never use "public"
3. **Monitor interface status** - Not just availability
4. **Set appropriate thresholds** - Based on baseline
5. **Use meaningful OIDs** - Document what you monitor
### TCP Monitors
1. **Monitor service ports** - Not just ICMP ping
2. **Use appropriate timeouts** - Account for latency
3. **Monitor critical services** - Databases, mail, etc.
4. **Document port purposes** - Future reference
## Error Handling
### Common API Errors
| Code | Message | Resolution |
|------|---------|------------|
| 400 | Invalid device ID | Verify device exists |
| 400 | Invalid hostname | Check host/IP format |
| 401 | Unauthorized | Check API key |
| 403 | Forbidden | Verify permissions |
| 404 | Device not found | Confirm device ID |
| 429 | Rate limited | Wait and retry (700 req/min) |
### Monitor Configuration Errors
| Error | Cause | Resolution |
|-------|-------|------------|
| Host unreachable | Network issue | Verify connectivity |
| SNMP timeout | Wrong community | Check SNMP config |
| Certificate error | Invalid/expired cert | Update certificate |
| Port closed | Service not running | Start service |
## Alerting Configuration
### Threshold Types
| Comparison | Usage |
|------------|-------|
| `>` | Above threshold (CPU > 90%) |
| `<` | Below threshold (disk free < 10%) |
| `=` | Exact match |
| `!=` | Not equal |
### Alert Intervals
| Setting | Recommendation |
|---------|----------------|
| Check interval | 1-5 minutes |
| Alert after | 2-3 failures |
| Recovery after | 2-3 successes |
## Related Skills
- [Atera Alerts](../alerts/SKILL.md) - Device monitor alerts
- [Atera Agents](../agents/SKILL.md) - Agent-based monitoring
- [Atera Customers](../customers/SKILL.md) - Customer device associations
- [Atera API Patterns](../api-patterns/SKILL.md) - Authentication and pagination
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!