SNMP
SEAPATH can be monitored using SNMP. This page documents the custom SNMP MIB implementation for the SEAPATH project. It allows monitoring of hardware health, virtualization metrics, and cluster status through a specific OID branch.
SEAPATH SNMP’s data are only accessible in read-only.
SEAPATH does not include the IEC-61850 MIB.
MIB Architecture
SEAPATH uses a pass_persist mechanism to extend the standard Net-SNMP agent.
The MIB is provided as an example and should be updated to your hardware and needs.
Base OID
The root OID for all SEAPATH custom metrics is: .2.25.1936023920.1635018752.0.
OID Tree Structure
The MIB is organized into 5 main branches.
Branch .1: Virtualization & Cluster Status
Base Path: [ROOT].1.x
OID Suffix | Description | Output detail |
|---|---|---|
| Pacemaker cluster status (text) |
|
| VM Domain Statistics |
|
| VM Memory Statistics |
|
| Ceph Status |
|
| Guest Disk Usage (Internal) |
|
| List of all VMs |
|
| Ceph Placement Groups Map |
|
| Disk Temperatures | The temperature in Celsius |
| Detailed S.M.A.R.T. Attributes |
|
| LVM Detailed Status |
|
| CRM Status (JSON) |
|
| CRM Summary (JSON) |
|
| CRM Nodes Status (JSON) |
|
Branch .2: Disk Health & Monoline Metrics
Base Path: [ROOT].2.x
OID Suffix | Description | Output detail |
|---|---|---|
| Health Status: |
|
| Health Status: |
|
| Health Status: |
|
| Health Status: |
|
| LVM Full Report (JSON) | |
| Number of unhealthy disks | The number of unhealthy disks or void if all disks are healthy |
| lvs full status | |
| lvs basic status | |
| LVM Health Summary | Returns "NO LVS PROBLEM" or specific error |
| Ceph Health Status | Returns "HEALTH_OK" or specific error |
Branch .3: Hardware RAID (Arcconf)
Only populated if arcconf is available. Base Path: [ROOT].3.x
OID Suffix | Description |
|---|---|
| Physical Disk Temperatures |
| S.M.A.R.T. Warnings count per disk |
| Sum of all S.M.A.R.T. Warnings (0 = OK) |
| RAID Array Device Status (e.g., "Present") |
Branch .4: IPMI Sensors
Base Path: [ROOT].4.x
OID Suffix | Description | Output detail |
|---|---|---|
| IPMI Sensors (Concise) |
|
| IPMI Sensors (Verbose) |
|
| IPMI SDR List |
|
| IPMI SDR Verbose |
|
Branch .5: Global Replacement Alerts
Base Path: [ROOT].5.x This branch aggregates logic from RAID, S.M.A.R.T, and LVM to provide a simple "Replace Disk" indicator.
OID Suffix | Description | Output detail |
|---|---|---|
| Replace Disk 1 Status | "OK" or Error Message |
| Replace Disk 2 Status | "OK" or Error Message |
| Replace Disk 3 Status | "OK" or Error Message |
| Replace Disk 4 Status | "OK" or Error Message |
| Global Replacement Status | "OK" or Global Error Summary |
Ansible Role Configuration
The SNMP configuration is managed by the snmp role. It handles package installation, user creation, snmpd.conf generation, and the deployment of the custom scripts.
Prerequisites
Operating System: Yocto is not supported for this role.
Variable:
snmp_admin_ip_addrmust be defined, otherwise the role disables the SNMP service.
Variables
See full description of the variables on the snmp role documentation
Configuration Modes
1. SNMP v2c (Default)
If snmp_accounts is not defined, the role configures a standard SNMP v2c setup:
RO Community:
publicViews: Grants access to
.1(System) and.2(SEAPATH Custom) OID trees.
Example Playbook (v2c):
- hosts: cluster_machines
vars:
snmp_admin_ip_addr: "192.168.1.10"
roles:
- { role: seapath_ansible.snmp }SNMP v3 (Secure)
If snmp_accounts is defined, the role switches to v3. It creates the users with SHA auth and AES encryption.
Example Playbook (v3):
- hosts: cluster_machines
vars:
snmp_admin_ip_addr: "192.168.1.10"
snmp_accounts:
- name: "myuser"
password: "MySecurePassword"
roles:
- { role: seapath_ansible.snmp }