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)
GET /api/v3/devices/generic?page=1&itemsInPage=50
X-API-KEY: {api_key}
Response:
{
"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
POST /api/v3/devices/http
X-API-KEY: {api_key}
Content-Type: application/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:
{
"ActionID": 55556,
"DeviceID": 55556
}
Create SNMP v1/v2c Monitor
POST /api/v3/devices/snmp
X-API-KEY: {api_key}
Content-Type: application/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
POST /api/v3/devices/snmpv3
X-API-KEY: {api_key}
Content-Type: application/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
POST /api/v3/devices/tcp
X-API-KEY: {api_key}
Content-Type: application/json
{
"CustomerID": 12345,
"DeviceName": "Database Server",
"Hostname": "db.acme.local",
"Port": 1433,
"Timeout": 5000
}
Delete Device Monitor
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
- Use dedicated health endpoints -
/health or /status
- Check SSL certificates - Enable cert expiration alerts
- Validate response content - Don't just check status codes
- Set reasonable timeouts - 10-30 seconds typical
- Monitor critical paths - Login, API endpoints
SNMP Monitors
- Use SNMPv3 when possible - Better security
- Change default community strings - Never use "public"
- Monitor interface status - Not just availability
- Set appropriate thresholds - Based on baseline
- Use meaningful OIDs - Document what you monitor
TCP Monitors
- Monitor service ports - Not just ICMP ping
- Use appropriate timeouts - Account for latency
- Monitor critical services - Databases, mail, etc.
- 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