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)
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