telegraf: add support for UBNT NanoStation

This commit is contained in:
Jannik Beyerstedt 2020-05-22 13:18:45 +02:00
parent df5f0a6fc6
commit 3720b6bf73
9 changed files with 1748 additions and 2 deletions

View File

@ -62,8 +62,10 @@ Telegraf is configured with basic host telemetry by default. You can add more fe
- `telegraf_docker`: Set to `true`, if docker telemetry should be collected (uses file from `telegraf_docker_file`)
- `telegraf_unifi_usg_ips`: Specify a list of USG IPs, if SNMP telemetry should be collected (uses file from `telegraf_unifi_file`)
- `telegraf_unifi_ap_ips`: Specify a list of AP IPs, if SNMP telemetry should be collected (uses file from `telegraf_unifi_file`)
- `telegraf_ubnt_ns_ips`: Specify a list of Ubiquiti NanoStation IPs, if SNMP telemetry should be collected (uses file from `telegraf_airmax_file`)
- `telegraf_docker_file`: filename of the docker telegraf config part in `{{role_path}}/templates` (default `telegraf-docker.conf`).
- `telegraf_unifi_file`: filename of the SNMP telegraf config part in `{{role_path}}/templates` (default `telegraf-UniFi.conf`).
- `telegraf_unifi_file`: filename of the SNMP telegraf config part in `{{role_path}}/templates` (default `telegraf-UniFi.conf.j2`).
- `telegraf_airmax_file`: filename of the SNMP telegraf config part in `{{role_path}}/templates` (default `telegraf-AirMAX.conf.j2`).
Optional settings:
- `telegraf_interval`: Data sampling interval (default `300s`)

View File

@ -8,5 +8,6 @@ caddy_cachedir: "{{ ansible_user_dir }}/.ansbl-caddy-cache"
telegraf_interval: "300s"
telegraf_docker_file: "telegraf-docker.conf"
telegraf_unifi_file: "telegraf-UniFi.conf.j2"
telegraf_airmax_file: "telegraf-AirMAX.conf.j2"
dockercompose_use_pip: false

914
files/UBNT-AirMAX-MIB.txt Executable file
View File

@ -0,0 +1,914 @@
UBNT-AirMAX-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, OBJECT-TYPE, Integer32, Gauge32, Counter64,
IpAddress, TimeTicks FROM SNMPv2-SMI
DisplayString, TruthValue, MacAddress FROM SNMPv2-TC
OBJECT-GROUP, MODULE-COMPLIANCE FROM SNMPv2-CONF
ubntAirosGroups, ubntMIB FROM UBNT-MIB;
ubntAirMAX MODULE-IDENTITY
LAST-UPDATED "201710030000Z"
ORGANIZATION "Ubiquiti Networks, Inc."
CONTACT-INFO "support@ubnt.com"
DESCRIPTION "The AirMAX MIB module for Ubiquiti Networks, Inc. entities"
REVISION "201710030000Z"
DESCRIPTION "ubntAirMAX revision"
::= { ubntMIB 4 }
-- --------------------------------------------------------------------------------
-- radio table
-- --------------------------------------------------------------------------------
ubntRadioTable OBJECT-TYPE
SYNTAX SEQUENCE OF UbntRadioEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "Radio status & statistics"
::= { ubntAirMAX 1 }
ubntRadioEntry OBJECT-TYPE
SYNTAX UbntRadioEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "An entry in the ubntRadioTable"
INDEX { ubntRadioIndex }
::= { ubntRadioTable 1 }
UbntRadioEntry ::= SEQUENCE {
ubntRadioIndex Integer32,
ubntRadioMode INTEGER,
ubntRadioCCode Integer32,
ubntRadioFreq Integer32,
ubntRadioDfsEnabled TruthValue,
ubntRadioTxPower Integer32,
ubntRadioDistance Integer32,
ubntRadioChainmask Integer32,
ubntRadioAntenna DisplayString
}
ubntRadioIndex OBJECT-TYPE
SYNTAX Integer32 (1..255)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "Index for the ubntRadioTable"
::= { ubntRadioEntry 1 }
ubntRadioMode OBJECT-TYPE
SYNTAX INTEGER {
sta(1),
ap(2),
aprepeater(3),
apwds(4)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION "Radio mode"
::= { ubntRadioEntry 2 }
ubntRadioCCode OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION "Country code"
::= { ubntRadioEntry 3 }
ubntRadioFreq OBJECT-TYPE
SYNTAX Integer32 (1..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION "Operating frequency"
::= { ubntRadioEntry 4 }
ubntRadioDfsEnabled OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION "DFS status"
::= { ubntRadioEntry 5 }
ubntRadioTxPower OBJECT-TYPE
SYNTAX Integer32 (1..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION "Transmit power"
::= { ubntRadioEntry 6 }
ubntRadioDistance OBJECT-TYPE
SYNTAX Integer32 (1..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION "Distance"
::= { ubntRadioEntry 7 }
ubntRadioChainmask OBJECT-TYPE
SYNTAX Integer32 (1..255)
MAX-ACCESS read-only
STATUS current
DESCRIPTION "Chainmask"
::= { ubntRadioEntry 8 }
ubntRadioAntenna OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION "Antenna"
::= { ubntRadioEntry 9 }
ubntRadioRssiTable OBJECT-TYPE
SYNTAX SEQUENCE OF UbntRadioRssiEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "Radio RSSI per chain"
::= { ubntAirMAX 2 }
ubntRadioRssiEntry OBJECT-TYPE
SYNTAX UbntRadioRssiEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "An entry in the ubntRadioRssiTable"
INDEX { ubntRadioIndex, ubntRadioRssiIndex }
::= { ubntRadioRssiTable 1 }
UbntRadioRssiEntry ::= SEQUENCE {
ubntRadioRssiIndex Integer32,
ubntRadioRssi Integer32,
ubntRadioRssiMgmt Integer32,
ubntRadioRssiExt Integer32
}
ubntRadioRssiIndex OBJECT-TYPE
SYNTAX Integer32 (1..255)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "Index for the ubntRadioRssiTable"
::= { ubntRadioRssiEntry 1 }
ubntRadioRssi OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION "Data frames rssi per chain"
::= { ubntRadioRssiEntry 2 }
ubntRadioRssiMgmt OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION "Management frames rssi per chain"
::= { ubntRadioRssiEntry 3 }
ubntRadioRssiExt OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION "Extension channel rssi per chain"
::= { ubntRadioRssiEntry 4 }
-- --------------------------------------------------------------------------------
-- airMAX table
-- --------------------------------------------------------------------------------
ubntAirMaxTable OBJECT-TYPE
SYNTAX SEQUENCE OF UbntAirMaxEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "airMAX protocol statistics"
::= { ubntAirMAX 6 }
ubntAirMaxEntry OBJECT-TYPE
SYNTAX UbntAirMaxEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "An entry in the ubntAirMaxTable"
INDEX { ubntAirMaxIfIndex }
::= { ubntAirMaxTable 1 }
UbntAirMaxEntry ::= SEQUENCE {
ubntAirMaxIfIndex Integer32,
ubntAirMaxEnabled TruthValue,
ubntAirMaxQuality Integer32,
ubntAirMaxCapacity Integer32,
ubntAirMaxPriority INTEGER,
ubntAirMaxNoAck TruthValue,
ubntAirMaxAirtime Integer32,
ubntAirMaxGpsSync TruthValue,
ubntAirMaxTdd TruthValue
}
ubntAirMaxIfIndex OBJECT-TYPE
SYNTAX Integer32 (1..255)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "Index for the ubntAirMaxTable"
::= { ubntAirMaxEntry 1 }
ubntAirMaxEnabled OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION "airMAX status - on/off"
::= { ubntAirMaxEntry 2 }
ubntAirMaxQuality OBJECT-TYPE
SYNTAX Integer32 (0..100)
MAX-ACCESS read-only
STATUS current
DESCRIPTION "airMAX quality - percentage"
::= { ubntAirMaxEntry 3 }
ubntAirMaxCapacity OBJECT-TYPE
SYNTAX Integer32 (0..100)
MAX-ACCESS read-only
STATUS current
DESCRIPTION "airMAX capacity - percentage"
::= { ubntAirMaxEntry 4 }
ubntAirMaxPriority OBJECT-TYPE
SYNTAX INTEGER {
high(0),
medium(1),
low(2),
none(3)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION "airMAX priority - none/high/low/medium"
::= { ubntAirMaxEntry 5 }
ubntAirMaxNoAck OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION "airMAX NoACK mode - on/off"
::= { ubntAirMaxEntry 6 }
ubntAirMaxAirtime OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION "airMAX Airtime in % multiplied by 10"
::= { ubntAirMaxEntry 7 }
ubntAirMaxGpsSync OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION "airMAX GPS sync - on/off"
::= { ubntAirMaxEntry 8 }
ubntAirMaxTdd OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION "airMAX TDD framing - on/off"
::= { ubntAirMaxEntry 9 }
-- --------------------------------------------------------------------------------
-- airSync table
-- --------------------------------------------------------------------------------
ubntAirSyncTable OBJECT-TYPE
SYNTAX SEQUENCE OF UbntAirSyncEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "airSync protocol statistics"
::= { ubntAirMAX 3 }
ubntAirSyncEntry OBJECT-TYPE
SYNTAX UbntAirSyncEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "An entry in the ubntAirSyncTable"
INDEX { ubntAirSyncIfIndex }
::= { ubntAirSyncTable 1 }
UbntAirSyncEntry ::= SEQUENCE {
ubntAirSyncIfIndex Integer32,
ubntAirSyncMode INTEGER,
ubntAirSyncCount Integer32,
ubntAirSyncDownUtil Integer32,
ubntAirSyncUpUtil Integer32
}
ubntAirSyncIfIndex OBJECT-TYPE
SYNTAX Integer32 (1..255)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "Index for the ubntAirSyncTable"
::= { ubntAirSyncEntry 1 }
ubntAirSyncMode OBJECT-TYPE
SYNTAX INTEGER {
disabled(0),
master(1),
slave(2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION "airSync mode - master/slave"
::= { ubntAirSyncEntry 2 }
ubntAirSyncCount OBJECT-TYPE
SYNTAX Integer32 (0..255)
MAX-ACCESS read-only
STATUS current
DESCRIPTION "airSync client count"
::= { ubntAirSyncEntry 3 }
ubntAirSyncDownUtil OBJECT-TYPE
SYNTAX Integer32 (0..100)
MAX-ACCESS read-only
STATUS current
DESCRIPTION "airSync down utilization"
::= { ubntAirSyncEntry 4 }
ubntAirSyncUpUtil OBJECT-TYPE
SYNTAX Integer32 (0..100)
MAX-ACCESS read-only
STATUS current
DESCRIPTION "airSync up utilization"
::= { ubntAirSyncEntry 5 }
-- --------------------------------------------------------------------------------
-- airSelect table
-- --------------------------------------------------------------------------------
ubntAirSelTable OBJECT-TYPE
SYNTAX SEQUENCE OF UbntAirSelEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "airSelect protocol statistics"
::= { ubntAirMAX 4 }
ubntAirSelEntry OBJECT-TYPE
SYNTAX UbntAirSelEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "An entry in the ubntAirSelTable"
INDEX { ubntAirSelIfIndex }
::= { ubntAirSelTable 1 }
UbntAirSelEntry ::= SEQUENCE {
ubntAirSelIfIndex Integer32,
ubntAirSelEnabled TruthValue,
ubntAirSelInterval Integer32
}
ubntAirSelIfIndex OBJECT-TYPE
SYNTAX Integer32 (1..255)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "Index for the ubntAirSelTable"
::= { ubntAirSelEntry 1 }
ubntAirSelEnabled OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION "airSelect status - on/off"
::= { ubntAirSelEntry 2 }
ubntAirSelInterval OBJECT-TYPE
SYNTAX Integer32 (0..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION "airSelect hop interval (miliseconds)"
::= { ubntAirSelEntry 3 }
-- --------------------------------------------------------------------------------
-- wireless statistics table
-- --------------------------------------------------------------------------------
ubntWlStatTable OBJECT-TYPE
SYNTAX SEQUENCE OF UbntWlStatEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "Wireless statistics"
::= { ubntAirMAX 5 }
ubntWlStatEntry OBJECT-TYPE
SYNTAX UbntWlStatEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "An entry in the ubntWlStatTable"
INDEX { ubntWlStatIndex }
::= { ubntWlStatTable 1 }
UbntWlStatEntry ::= SEQUENCE {
ubntWlStatIndex Integer32,
ubntWlStatSsid DisplayString,
ubntWlStatHideSsid TruthValue,
ubntWlStatApMac MacAddress,
ubntWlStatSignal Integer32,
ubntWlStatRssi Integer32,
ubntWlStatCcq Integer32,
ubntWlStatNoiseFloor Integer32,
ubntWlStatTxRate Integer32,
ubntWlStatRxRate Integer32,
ubntWlStatSecurity DisplayString,
ubntWlStatWdsEnabled TruthValue,
ubntWlStatApRepeater TruthValue,
ubntWlStatChanWidth Integer32,
ubntWlStatStaCount Gauge32
}
ubntWlStatIndex OBJECT-TYPE
SYNTAX Integer32 (1..255)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "Index for the ubntWlStatTable"
::= { ubntWlStatEntry 1 }
ubntWlStatSsid OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION "SSID"
::= { ubntWlStatEntry 2 }
ubntWlStatHideSsid OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION "Hide SSID - on/off"
::= { ubntWlStatEntry 3 }
ubntWlStatApMac OBJECT-TYPE
SYNTAX MacAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION "AP MAC address"
::= { ubntWlStatEntry 4 }
ubntWlStatSignal OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION "Signal strength, dBm"
::= { ubntWlStatEntry 5 }
ubntWlStatRssi OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION "RSSI, dBm"
::= { ubntWlStatEntry 6 }
ubntWlStatCcq OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION "CCQ in %"
::= { ubntWlStatEntry 7 }
ubntWlStatNoiseFloor OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION "Noise floor"
::= { ubntWlStatEntry 8 }
ubntWlStatTxRate OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION "TX rate"
::= { ubntWlStatEntry 9 }
ubntWlStatRxRate OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION "RX rate"
::= { ubntWlStatEntry 10 }
ubntWlStatSecurity OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION "Wireless security mode"
::= { ubntWlStatEntry 11 }
ubntWlStatWdsEnabled OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION "WDS - on/off"
::= { ubntWlStatEntry 12 }
ubntWlStatApRepeater OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION "AP repeater - on/off"
::= { ubntWlStatEntry 13 }
ubntWlStatChanWidth OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION "Channel Width"
::= { ubntWlStatEntry 14 }
ubntWlStatStaCount OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION "Station count"
::= { ubntWlStatEntry 15 }
-- --------------------------------------------------------------------------------
-- station list table
-- --------------------------------------------------------------------------------
ubntStaTable OBJECT-TYPE
SYNTAX SEQUENCE OF UbntStaEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "Station list"
::= { ubntAirMAX 7 }
ubntStaEntry OBJECT-TYPE
SYNTAX UbntStaEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "An entry in the ubntStaEntry"
INDEX { ubntWlStatIndex, ubntStaMac }
::= { ubntStaTable 1 }
UbntStaEntry ::= SEQUENCE {
ubntStaMac MacAddress,
ubntStaName DisplayString,
ubntStaSignal Integer32,
ubntStaNoiseFloor Integer32,
ubntStaDistance Integer32,
ubntStaCcq Integer32,
ubntStaAmp Integer32,
ubntStaAmq Integer32,
ubntStaAmc Integer32,
ubntStaLastIp IpAddress,
ubntStaTxRate Integer32,
ubntStaRxRate Integer32,
ubntStaTxBytes Counter64,
ubntStaRxBytes Counter64,
ubntStaConnTime TimeTicks,
ubntStaLocalCINR Integer32,
ubntStaTxCapacity Integer32,
ubntStaRxCapacity Integer32,
ubntStaTxAirtime Integer32,
ubntStaRxAirtime Integer32,
ubntStaTxLatency Integer32
}
ubntStaMac OBJECT-TYPE
SYNTAX MacAddress
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "Station MAC address"
::= { ubntStaEntry 1 }
ubntStaName OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION "Station name"
::= { ubntStaEntry 2 }
ubntStaSignal OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION "Signal strength, dBm"
::= { ubntStaEntry 3 }
ubntStaNoiseFloor OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION "Noise floor"
::= { ubntStaEntry 4 }
ubntStaDistance OBJECT-TYPE
SYNTAX Integer32 (1..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION "Distance"
::= { ubntStaEntry 5 }
ubntStaCcq OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION "CCQ in %"
::= { ubntStaEntry 6 }
ubntStaAmp OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION "airMAX priority"
::= { ubntStaEntry 7 }
ubntStaAmq OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION "airMAX quality"
::= { ubntStaEntry 8 }
ubntStaAmc OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION "airMAX capacity"
::= { ubntStaEntry 9 }
ubntStaLastIp OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION "Last known IP address"
::= { ubntStaEntry 10 }
ubntStaTxRate OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION "TX rate"
::= { ubntStaEntry 11 }
ubntStaRxRate OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION "RX rate"
::= { ubntStaEntry 12 }
ubntStaTxBytes OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION "TX bytes"
::= { ubntStaEntry 13 }
ubntStaRxBytes OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION "TX rate"
::= { ubntStaEntry 14 }
ubntStaConnTime OBJECT-TYPE
SYNTAX TimeTicks
MAX-ACCESS read-only
STATUS current
DESCRIPTION "Connection Time in seconds"
::= { ubntStaEntry 15 }
ubntStaLocalCINR OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION "Local CINR"
::= { ubntStaEntry 16 }
ubntStaTxCapacity OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION "Uplink Capacity in Kbps"
::= { ubntStaEntry 17 }
ubntStaRxCapacity OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION "Downlink Capacity in Kbps"
::= { ubntStaEntry 18 }
ubntStaTxAirtime OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION "Uplink Airtime in % multiplied by 10"
::= { ubntStaEntry 19 }
ubntStaRxAirtime OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION "Downlink Airtime in % multiplied by 10"
::= { ubntStaEntry 20 }
ubntStaTxLatency OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION "Uplink Latency in milliseconds"
::= { ubntStaEntry 21 }
-- --------------------------------------------------------------------------------
-- host stats table
-- --------------------------------------------------------------------------------
ubntHostInfo OBJECT IDENTIFIER ::= { ubntAirMAX 8 }
ubntHostLocaltime OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION "Host local time"
::= { ubntHostInfo 1 }
ubntHostNetrole OBJECT-TYPE
SYNTAX INTEGER {
unknown(0),
bridge(1),
router(2),
soho(3)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION "Radio mode"
::= { ubntHostInfo 2 }
ubntHostCpuLoad OBJECT-TYPE
SYNTAX Integer32 (0..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION "Host CPU load"
::= { ubntHostInfo 3 }
ubntHostTemperature OBJECT-TYPE
SYNTAX Integer32 (0..255)
MAX-ACCESS read-only
STATUS current
DESCRIPTION "Host system temperature"
::= { ubntHostInfo 4 }
-- --------------------------------------------------------------------------------
-- gps stats table
-- --------------------------------------------------------------------------------
ubntGpsInfo OBJECT IDENTIFIER ::= { ubntAirMAX 9 }
ubntGpsStatus OBJECT-TYPE
SYNTAX INTEGER {
absent(0),
off(1),
on(2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION "GPS status"
::= { ubntGpsInfo 1 }
ubntGpsFix OBJECT-TYPE
SYNTAX INTEGER {
unknown(0),
nofix(1),
fix2d(2),
fix3d(3)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION "GPS Fix Obtained"
::= { ubntGpsInfo 2 }
ubntGpsLat OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION "GPS Latitude"
::= { ubntGpsInfo 3 }
ubntGpsLon OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION "GPS Longitude"
::= { ubntGpsInfo 4 }
ubntGpsAltMeters OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION "GPS Altitude (m)"
::= { ubntGpsInfo 5 }
ubntGpsAltFeet OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION "GPS Altitude (ft)"
::= { ubntGpsInfo 6 }
ubntGpsSatsVisible OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION "GPS Satellites Visible"
::= { ubntGpsInfo 7 }
ubntGpsSatsTracked OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION "GPS Satellites Tracked"
::= { ubntGpsInfo 8 }
ubntGpsHDOP OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION "GPS Horizontal Dilution of Precision"
::= { ubntGpsInfo 9 }
ubntAirMAXStatusGroup OBJECT-GROUP OBJECTS {
ubntStaName,
ubntStaSignal,
ubntStaNoiseFloor,
ubntStaDistance,
ubntStaCcq,
ubntStaAmp,
ubntStaAmq,
ubntStaAmc,
ubntStaLastIp,
ubntStaTxRate,
ubntStaRxRate,
ubntStaTxBytes,
ubntStaRxBytes,
ubntStaConnTime,
ubntStaLocalCINR,
ubntStaTxCapacity,
ubntStaRxCapacity,
ubntStaTxAirtime,
ubntStaRxAirtime,
ubntStaTxLatency,
ubntRadioMode,
ubntRadioCCode,
ubntRadioFreq,
ubntRadioDfsEnabled,
ubntRadioTxPower,
ubntRadioDistance,
ubntRadioChainmask,
ubntRadioAntenna,
ubntRadioRssi,
ubntRadioRssiMgmt,
ubntRadioRssiExt,
ubntAirMaxEnabled,
ubntAirMaxQuality,
ubntAirMaxCapacity,
ubntAirMaxPriority,
ubntAirMaxNoAck,
ubntAirMaxAirtime,
ubntAirMaxGpsSync,
ubntAirMaxTdd,
ubntAirSyncMode,
ubntAirSyncCount,
ubntAirSyncDownUtil,
ubntAirSyncUpUtil,
ubntAirSelEnabled,
ubntAirSelInterval,
ubntWlStatSsid,
ubntWlStatHideSsid,
ubntWlStatApMac,
ubntWlStatSignal,
ubntWlStatRssi,
ubntWlStatCcq,
ubntWlStatNoiseFloor,
ubntWlStatTxRate,
ubntWlStatRxRate,
ubntWlStatSecurity,
ubntWlStatWdsEnabled,
ubntWlStatApRepeater,
ubntWlStatChanWidth,
ubntWlStatStaCount,
ubntHostLocaltime,
ubntHostNetrole,
ubntHostCpuLoad,
ubntHostTemperature,
ubntGpsStatus,
ubntGpsFix,
ubntGpsLat,
ubntGpsLon,
ubntGpsAltMeters,
ubntGpsAltFeet,
ubntGpsSatsVisible,
ubntGpsSatsTracked,
ubntGpsHDOP}
STATUS current
DESCRIPTION "Status and statistics for AirMax monitoring"
::= { ubntAirosGroups 1 }
ubntAirMAXStatusCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION "The compliance statement for Ubiquiti AirMax entities."
MODULE
GROUP ubntAirMAXStatusGroup
DESCRIPTION "This group is for Ubiquiti systems."
::= { ubntAirosGroups 2 }
END

108
files/UBNT-MIB.txt Executable file
View File

@ -0,0 +1,108 @@
UBNT-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, OBJECT-TYPE, Integer32, enterprises FROM SNMPv2-SMI
DisplayString FROM SNMPv2-TC
OBJECT-GROUP, MODULE-COMPLIANCE FROM SNMPv2-CONF;
ubntMIB MODULE-IDENTITY
LAST-UPDATED "201402270000Z"
ORGANIZATION "Ubiquiti Networks, Inc."
CONTACT-INFO "support@ubnt.com"
DESCRIPTION "The MIB module for Ubiquiti Networks, Inc. entities"
REVISION "201402270000Z"
DESCRIPTION "Split revision"
::= { ubnt 1 }
-- --------------------------------------------------------------------------------
-- Ubiquiti Networks Root
-- --------------------------------------------------------------------------------
ubnt OBJECT IDENTIFIER ::= { enterprises 41112 }
-- --------------------------------------------------------------------------------
-- Ubiquiti Networks SNMP Information
-- --------------------------------------------------------------------------------
ubntSnmpInfo OBJECT IDENTIFIER ::= { ubntMIB 2 }
ubntSnmpGroups OBJECT IDENTIFIER ::= { ubntSnmpInfo 1}
ubntAirosGroups OBJECT IDENTIFIER ::= { ubntSnmpInfo 2}
ubntAirFiberGroups OBJECT IDENTIFIER ::= { ubntSnmpInfo 3}
ubntEdgeMaxGroups OBJECT IDENTIFIER ::= { ubntSnmpInfo 4}
ubntUniFiGroups OBJECT IDENTIFIER ::= { ubntSnmpInfo 5}
ubntAirVisionGroups OBJECT IDENTIFIER ::= { ubntSnmpInfo 6}
ubntMFiGroups OBJECT IDENTIFIER ::= { ubntSnmpInfo 7}
ubntUniTelGroups OBJECT IDENTIFIER ::= { ubntSnmpInfo 8}
-- --------------------------------------------------------------------------------
-- Ubiquiti Networks Products
-- --------------------------------------------------------------------------------
ubntAirFIBER OBJECT IDENTIFIER ::= { ubntMIB 3 }
ubntEdgeMax OBJECT IDENTIFIER ::= { ubntMIB 5 }
ubntUniFi OBJECT IDENTIFIER ::= { ubntMIB 6 }
ubntAirVision OBJECT IDENTIFIER ::= { ubntMIB 7 }
ubntMFi OBJECT IDENTIFIER ::= { ubntMIB 8 }
ubntUniTel OBJECT IDENTIFIER ::= { ubntMIB 9 }
-- --------------------------------------------------------------------------------
-- Ubiquiti Networks OR table
-- --------------------------------------------------------------------------------
ubntORTable OBJECT-TYPE
SYNTAX SEQUENCE OF UbntOREntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "Capabilities"
::= { ubntMIB 1 }
ubntOREntry OBJECT-TYPE
SYNTAX UbntOREntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "An entry in the ubntORTable"
INDEX { ubntORIndex }
::= { ubntORTable 1 }
UbntOREntry ::= SEQUENCE {
ubntORIndex Integer32,
ubntORID OBJECT IDENTIFIER,
ubntORDescr DisplayString
}
ubntORIndex OBJECT-TYPE
SYNTAX Integer32 (1..255)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "Index for the ubntORTable"
::= { ubntOREntry 1 }
ubntORID OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-only
STATUS current
DESCRIPTION "OR ID"
::= { ubntOREntry 2 }
ubntORDescr OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION "Description of idenfifier"
::= { ubntOREntry 3 }
ubntORInfoGroup OBJECT-GROUP
OBJECTS { ubntORID,
ubntORDescr }
STATUS current
DESCRIPTION "Collection of related objects"
::= { ubntSnmpGroups 1 }
ubntORCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION "The compliance statement for Ubiquiti entities."
MODULE
GROUP ubntORInfoGroup
DESCRIPTION "This group is for Ubiquiti systems."
::= { ubntSnmpGroups 2 }
END

606
files/UBNT-UniFi-MIB.txt Normal file
View File

@ -0,0 +1,606 @@
UBNT-UniFi-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, OBJECT-TYPE, Integer32, Unsigned32, Counter32, Gauge32, IpAddress, enterprises
FROM SNMPv2-SMI
TEXTUAL-CONVENTION, DisplayString, MacAddress, DateAndTime, TruthValue
FROM SNMPv2-TC
MODULE-COMPLIANCE, OBJECT-GROUP
FROM SNMPv2-CONF
ubntMIB, ubntUniFi, ubntUniFiGroups
FROM UBNT-MIB;
ubntUniFi MODULE-IDENTITY
LAST-UPDATED "201606250000Z"
ORGANIZATION "Ubiquiti Networks, Inc."
CONTACT-INFO "support@ubnt.com"
DESCRIPTION "The UniFi MIB module for Ubiquiti Networks, Inc. entities"
REVISION "201606250000Z"
DESCRIPTION "Initial Revision."
::= { ubntMIB 6 }
unifiApWireless OBJECT IDENTIFIER ::= { ubntUniFi 1 }
unifiApIf OBJECT IDENTIFIER ::= { ubntUniFi 2 }
unifiApSystem OBJECT IDENTIFIER ::= { ubntUniFi 3 }
TableIndex ::= TEXTUAL-CONVENTION
DISPLAY-HINT "d"
STATUS current
DESCRIPTION
"A unique value, greater than zero. It is recommended
that values are assigned contiguously starting from 1."
SYNTAX Integer32 (1..2147483647)
ObjectIndex ::= TEXTUAL-CONVENTION
DISPLAY-HINT "x"
STATUS current
DESCRIPTION "Internal "
SYNTAX Integer32 (0..2147483647)
-- SYNTAX Integer32 (-2147483648..2147483647)
-- SYNTAX Unsigned32 (0..4294967295)
Voltage ::= TEXTUAL-CONVENTION
DISPLAY-HINT "d-2"
STATUS current
DESCRIPTION ""
SYNTAX Integer32 (-2147483648..2147483647)
Temperature ::= TEXTUAL-CONVENTION
DISPLAY-HINT "d-1"
STATUS current
DESCRIPTION ""
SYNTAX Integer32 (-2147483648..2147483647)
unifiIfTable OBJECT-TYPE
SYNTAX SEQUENCE OF UbntIfEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION ""
::= { unifiApIf 1 }
unifiIfEntry OBJECT-TYPE
SYNTAX UbntIfEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "Ethernet interface"
INDEX { unifiIfIndex }
::= { unifiIfTable 1 }
UbntIfEntry ::= SEQUENCE {
unifiIfIndex ObjectIndex,
unifiIfFullDuplex TruthValue,
unifiIfIp IpAddress,
unifiIfMac MacAddress,
unifiIfName DisplayString,
unifiIfRxBytes Counter32,
unifiIfRxDropped Counter32,
unifiIfRxError Counter32,
unifiIfRxMulticast Counter32,
unifiIfRxPackets Counter32,
unifiIfSpeed Integer32,
unifiIfTxBytes Counter32,
unifiIfTxDropped Counter32,
unifiIfTxError Counter32,
unifiIfTxPackets Counter32,
unifiIfUp TruthValue
}
unifiIfIndex OBJECT-TYPE
SYNTAX ObjectIndex
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION ""
::= { unifiIfEntry 1 }
unifiIfFullDuplex OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION ""
::= { unifiIfEntry 2 }
unifiIfIp OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION ""
::= { unifiIfEntry 3 }
unifiIfMac OBJECT-TYPE
SYNTAX MacAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION ""
::= { unifiIfEntry 4 }
unifiIfName OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION ""
::= { unifiIfEntry 5 }
unifiIfRxBytes OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION ""
::= { unifiIfEntry 6 }
unifiIfRxDropped OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION ""
::= { unifiIfEntry 7 }
unifiIfRxError OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION ""
::= { unifiIfEntry 8 }
unifiIfRxMulticast OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION ""
::= { unifiIfEntry 9 }
unifiIfRxPackets OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION ""
::= { unifiIfEntry 10 }
unifiIfSpeed OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION ""
::= { unifiIfEntry 11 }
unifiIfTxBytes OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION ""
::= { unifiIfEntry 12 }
unifiIfTxDropped OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION ""
::= { unifiIfEntry 13 }
unifiIfTxError OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION ""
::= { unifiIfEntry 14 }
unifiIfTxPackets OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION ""
::= { unifiIfEntry 15 }
unifiIfUp OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION ""
::= { unifiIfEntry 16 }
unifiRadioTable OBJECT-TYPE
SYNTAX SEQUENCE OF UbntRadioEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION ""
::= { unifiApWireless 1 }
unifiRadioEntry OBJECT-TYPE
SYNTAX UbntRadioEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "Wireless interface"
INDEX { unifiRadioIndex }
::= { unifiRadioTable 1 }
UbntRadioEntry ::= SEQUENCE {
unifiRadioIndex ObjectIndex,
unifiRadioName DisplayString,
unifiRadioRadio DisplayString,
unifiRadioRxPackets Counter32,
unifiRadioTxPackets Counter32,
unifiRadioCuTotal Integer32,
unifiRadioCuSelfRx Integer32,
unifiRadioCuSelfTx Integer32,
unifiRadioOtherBss Integer32
}
unifiRadioIndex OBJECT-TYPE
SYNTAX ObjectIndex
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION ""
::= { unifiRadioEntry 1 }
unifiRadioName OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION ""
::= { unifiRadioEntry 2 }
unifiRadioRadio OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION ""
::= { unifiRadioEntry 3 }
unifiRadioRxPackets OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION ""
::= { unifiRadioEntry 4 }
unifiRadioTxPackets OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION ""
::= { unifiRadioEntry 5 }
unifiRadioCuTotal OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION ""
::= { unifiRadioEntry 6 }
unifiRadioCuSelfRx OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION ""
::= { unifiRadioEntry 7 }
unifiRadioCuSelfTx OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION ""
::= { unifiRadioEntry 8 }
unifiRadioOtherBss OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION ""
::= { unifiRadioEntry 9 }
unifiVapTable OBJECT-TYPE
SYNTAX SEQUENCE OF UbntVapEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION ""
::= { unifiApWireless 2 }
unifiVapEntry OBJECT-TYPE
SYNTAX UbntVapEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "BSS"
INDEX { unifiVapIndex }
::= { unifiVapTable 1 }
UbntVapEntry ::= SEQUENCE {
unifiVapIndex ObjectIndex,
unifiVapBssId MacAddress,
unifiVapCcq Integer32,
unifiVapChannel Integer32,
unifiVapExtChannel Integer32,
unifiVapEssId DisplayString,
unifiVapName DisplayString,
unifiVapNumStations Integer32,
unifiVapRadio DisplayString,
unifiVapRxBytes Counter32,
unifiVapRxCrypts Counter32,
unifiVapRxDropped Counter32,
unifiVapRxErrors Counter32,
unifiVapRxFrags Counter32,
unifiVapRxPackets Counter32,
unifiVapTxBytes Counter32,
unifiVapTxDropped Counter32,
unifiVapTxErrors Counter32,
unifiVapTxPackets Counter32,
unifiVapTxRetries Counter32,
unifiVapTxPower Integer32,
unifiVapUp TruthValue,
unifiVapUsage DisplayString
}
unifiVapIndex OBJECT-TYPE
SYNTAX ObjectIndex
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION ""
::= { unifiVapEntry 1 }
unifiVapBssId OBJECT-TYPE
SYNTAX MacAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION ""
::= { unifiVapEntry 2 }
unifiVapCcq OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION ""
::= { unifiVapEntry 3 }
unifiVapChannel OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION ""
::= { unifiVapEntry 4 }
unifiVapExtChannel OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION ""
::= { unifiVapEntry 5 }
unifiVapEssId OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION ""
::= { unifiVapEntry 6 }
unifiVapName OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION ""
::= { unifiVapEntry 7 }
unifiVapNumStations OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION ""
::= { unifiVapEntry 8 }
unifiVapRadio OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION ""
::= { unifiVapEntry 9 }
unifiVapRxBytes OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION ""
::= { unifiVapEntry 10 }
unifiVapRxCrypts OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION ""
::= { unifiVapEntry 11 }
unifiVapRxDropped OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION ""
::= { unifiVapEntry 12 }
unifiVapRxErrors OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION ""
::= { unifiVapEntry 13 }
unifiVapRxFrags OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION ""
::= { unifiVapEntry 14 }
unifiVapRxPackets OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION ""
::= { unifiVapEntry 15 }
unifiVapTxBytes OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION ""
::= { unifiVapEntry 16 }
unifiVapTxDropped OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION ""
::= { unifiVapEntry 17 }
unifiVapTxErrors OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION ""
::= { unifiVapEntry 18 }
unifiVapTxPackets OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION ""
::= { unifiVapEntry 19 }
unifiVapTxRetries OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION ""
::= { unifiVapEntry 20 }
unifiVapTxPower OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION ""
::= { unifiVapEntry 21 }
unifiVapUp OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION ""
::= { unifiVapEntry 22 }
unifiVapUsage OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION "guest or regular user"
::= { unifiVapEntry 23 }
unifiApSystemIp OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION ""
::= { unifiApSystem 1 }
unifiApSystemIsolated OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION ""
::= { unifiApSystem 2 }
unifiApSystemModel OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION ""
::= { unifiApSystem 3 }
unifiApSystemUplink OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION ""
::= { unifiApSystem 4 }
unifiApSystemUptime OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION ""
::= { unifiApSystem 5 }
unifiApSystemVersion OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION ""
::= { unifiApSystem 6 }
unifiIfGroup OBJECT-GROUP OBJECTS {
unifiIfFullDuplex,
unifiIfIp,
unifiIfMac,
unifiIfName,
unifiIfRxBytes,
unifiIfRxDropped,
unifiIfRxError,
unifiIfRxMulticast,
unifiIfRxPackets,
unifiIfSpeed,
unifiIfTxBytes,
unifiIfTxDropped,
unifiIfTxError,
unifiIfTxPackets,
unifiIfUp
}
STATUS current
DESCRIPTION ""
::= { ubntUniFiGroups 1 }
unifiRadioGroups OBJECT-GROUP OBJECTS {
unifiRadioName,
unifiRadioRadio,
unifiRadioRxPackets,
unifiRadioTxPackets,
unifiRadioCuTotal,
unifiRadioCuSelfRx,
unifiRadioCuSelfTx,
unifiRadioOtherBss
}
STATUS current
DESCRIPTION ""
::= { ubntUniFiGroups 2 }
unifiVapGroups OBJECT-GROUP OBJECTS {
unifiVapBssId,
unifiVapCcq,
unifiVapChannel,
unifiVapExtChannel,
unifiVapEssId,
unifiVapName,
unifiVapNumStations,
unifiVapRadio,
unifiVapRxBytes,
unifiVapRxCrypts,
unifiVapRxDropped,
unifiVapRxErrors,
unifiVapRxFrags,
unifiVapRxPackets,
unifiVapTxBytes,
unifiVapTxDropped,
unifiVapTxErrors,
unifiVapTxPackets,
unifiVapTxRetries,
unifiVapTxPower,
unifiVapUp,
unifiVapUsage
}
STATUS current
DESCRIPTION ""
::= { ubntUniFiGroups 3 }
unifiApSystemGroup OBJECT-GROUP OBJECTS {
unifiApSystemIp, unifiApSystemIsolated, unifiApSystemModel, unifiApSystemUplink, unifiApSystemUptime, unifiApSystemVersion
}
STATUS current
DESCRIPTION ""
::= { ubntUniFiGroups 4 }
END

View File

@ -23,3 +23,15 @@
state: latest
update_cache: yes
cache_valid_time: 3600
# Install SNMP utilities for telegraf monitoring
- name: telegraf - Install SNMP utilities
become: yes
apt:
name: "{{ packages }}"
state: present
vars:
packages:
- snmp
- snmp-mibs-downloader
when: telegraf_ubnt_ns_ips is defined

View File

@ -9,11 +9,34 @@
- "telegraf-{{ ansible_distribution }}.yml"
- "telegraf-{{ (override_os_family is defined) | ternary(override_os_family,ansible_os_family) }}.yml"
# Install SNMP MIBs
- name: telegraf - Install SNMP MIBs
become: yes
block:
- name: SNMP - Download and install Ubiquiti MIB
copy:
src: "{{ role_path }}/files/UBNT-MIB.txt"
dest: /usr/share/snmp/mibs/UBNT-MIB
- name: SNMP - Download and install Ubiquiti MIB
copy:
src: "{{ role_path }}/files/UBNT-AirMAX-MIB.txt"
dest: /usr/share/snmp/mibs/UBNT-AirMAX-MIB
- name: SNMP - Download and install UniFi MIB
copy:
src: "{{ role_path }}/files/UBNT-UniFi-MIB.txt"
dest: /usr/share/snmp/mibs/UBNT-UniFi-MIB
- name: SNMP - Setup snmp.conf
lineinfile:
name: /etc/snmp/snmp.conf
line: mibs +ALL
create: yes
when: telegraf_ubnt_ns_ips is defined
# Configure
- name: telegraf - Copy telegraf config
become: yes
template:
src: "{{ role_path }}/templates/telegraf.conf"
src: "{{ role_path }}/templates/telegraf.conf.j2"
dest: /etc/telegraf/telegraf.conf
notify:
- Enable and restart telegraf

View File

@ -0,0 +1,78 @@
{# Telegraf config snippet for Ubiquiti AirMAX devices (NanoStation) #}
{# Variables: #}
{# - telegraf_ubnt_ns_ips: List of IPs of NanoStation #}
{% if telegraf_ubnt_ns_ips is defined %}
##
## SNMP Input For Ubiquiti AirMAX Devices
##
[[inputs.snmp]]
agents = [ "{{ telegraf_ubnt_ns_ips | join('", "') }}" ]
interval = "5m"
timeout = "10s"
retries = 3
version = 1
community = "public"
max_repetitions = 10
name = "snmp.AirMAX"
##
## System Details
##
# System name (hostname)
[[inputs.snmp.field]]
is_tag = true
name = "sysName"
oid = "RFC1213-MIB::sysName.0"
# System vendor OID
[[inputs.snmp.field]]
name = "sysObjectID"
oid = "RFC1213-MIB::sysObjectID.0"
# System description
[[inputs.snmp.field]]
name = "sysDescr"
oid = "RFC1213-MIB::sysDescr.0"
# System contact
[[inputs.snmp.field]]
name = "sysContact"
oid = "RFC1213-MIB::sysContact.0"
# System location
[[inputs.snmp.field]]
name = "sysLocation"
oid = "RFC1213-MIB::sysLocation.0"
# System uptime
[[inputs.snmp.field]]
name = "sysUpTime"
oid = "RFC1213-MIB::sysUpTime.0"
##
## Interface Details & Metrics
##
# Radio TX power
[[inputs.snmp.table]]
oid = "UBNT-AirMAX-MIB::ubntRadioTable"
[[inputs.snmp.table.field]]
is_tag = true
oid = "UBNT-AirMAX-MIB::ubntRadioAntenna"
# RSSI
[[inputs.snmp.table]]
oid = "UBNT-AirMAX-MIB::ubntRadioRssiTable"
[[inputs.snmp.table.field]]
is_tag = true
oid = "UBNT-AirMAX-MIB::ubntRadioRssiIndex"
# Wireless link stats
[[inputs.snmp.table]]
oid = "UBNT-AirMAX-MIB::ubntWlStatTable"
[[inputs.snmp.table.field]]
is_tag = true
oid = "UBNT-AirMAX-MIB::ubntWlStatIndex"
[[inputs.snmp.table.field]]
is_tag = true
oid = "UBNT-AirMAX-MIB::ubntWlStatSsid"
# Remote station info
[[inputs.snmp.table]]
oid = "UBNT-AirMAX-MIB::ubntStaTable"
[[inputs.snmp.table.field]]
is_tag = true
oid = "UBNT-AirMAX-MIB::ubntStaName"
{% endif %}

View File

@ -66,6 +66,8 @@
{% include telegraf_unifi_file %}
{% include telegraf_airmax_file %}
# # Monitor sensors, requires lm-sensors package
# [[inputs.sensors]]