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