From b3ae5efdaa51eded805ae5f011c52f0cb5551fab Mon Sep 17 00:00:00 2001 From: TuDatTr Date: Thu, 11 May 2023 15:09:52 +0200 Subject: [PATCH] Moved qbitclients to gluetun network Added grafana, prometheus and snmp exporter for madrigal and node exporter for aya01 Signed-off-by: TuDatTr --- Mikrotik.mib | 3141 + aya01.yml | 9 +- group_vars/all/vars.yml | 94 +- qbit_private.yml | 22 - roles/docker/tasks/aya01_compose.yml | 14 +- roles/docker/tasks/gluetun.yml | 11 + roles/docker/tasks/grafana.yml | 12 +- roles/docker/tasks/install.yml | 2 +- roles/docker/tasks/prometheus.yml | 43 +- roles/docker/tasks/qbit.yml | 10 - roles/docker/tasks/qbit_private.yml | 12 + roles/docker/tasks/swag.yml | 2 +- roles/docker/templates/aya01/compose.yaml | 182 +- .../aya01/grafana/etc-grafana/grafana.ini | 0 .../aya01/grafana/etc-grafana/grafana.ini.j2 | 1464 + .../{prometheus.yml => prometheus.yml.j2} | 37 +- .../site-confs/code-server.subdomain.conf | 22 + roles/mikrotik_exporter/tasks/main.yml | 1 + roles/node_exporter/tasks/get_version.yml | 18 + roles/node_exporter/tasks/install.yml | 38 +- roles/node_exporter/tasks/main.yml | 2 +- roles/node_exporter/tasks/systemd.yml | 9 + .../templates/node_exporter.service.j2 | 10 + roles/node_exporter/vars/main.yml | 8 + roles/snmp_exporter/tasks/docker.yml | 15 + roles/snmp_exporter/tasks/main.yml | 3 + roles/snmp_exporter/tasks/setup.yml | 20 + roles/snmp_exporter/templates/snmp.yml.j2 | 57345 ++++++++++++++++ 28 files changed, 62348 insertions(+), 198 deletions(-) create mode 100644 Mikrotik.mib delete mode 100644 qbit_private.yml create mode 100644 roles/docker/tasks/gluetun.yml create mode 100644 roles/docker/tasks/qbit_private.yml delete mode 100644 roles/docker/templates/aya01/grafana/etc-grafana/grafana.ini create mode 100644 roles/docker/templates/aya01/grafana/etc-grafana/grafana.ini.j2 rename roles/docker/templates/aya01/prometheus/{prometheus.yml => prometheus.yml.j2} (53%) create mode 100644 roles/docker/templates/mii/swag/site-confs/code-server.subdomain.conf create mode 100644 roles/mikrotik_exporter/tasks/main.yml create mode 100644 roles/node_exporter/tasks/get_version.yml create mode 100644 roles/node_exporter/tasks/systemd.yml create mode 100644 roles/node_exporter/templates/node_exporter.service.j2 create mode 100644 roles/node_exporter/vars/main.yml create mode 100644 roles/snmp_exporter/tasks/docker.yml create mode 100644 roles/snmp_exporter/tasks/main.yml create mode 100644 roles/snmp_exporter/tasks/setup.yml create mode 100644 roles/snmp_exporter/templates/snmp.yml.j2 diff --git a/Mikrotik.mib b/Mikrotik.mib new file mode 100644 index 0000000..f43423b --- /dev/null +++ b/Mikrotik.mib @@ -0,0 +1,3141 @@ +MIKROTIK-MIB DEFINITIONS ::= BEGIN + +IMPORTS +MODULE-IDENTITY, OBJECT-TYPE, Integer32, Counter32, Gauge32, IpAddress, +Counter64, enterprises, NOTIFICATION-TYPE, TimeTicks FROM SNMPv2-SMI +TEXTUAL-CONVENTION, DisplayString, MacAddress, DateAndTime FROM SNMPv2-TC +OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF; + +mikrotikExperimentalModule MODULE-IDENTITY + LAST-UPDATED "201807310000Z" + ORGANIZATION "MikroTik" + CONTACT-INFO "support@mikrotik.com" + DESCRIPTION "" + REVISION "201807310000Z" + DESCRIPTION "" + ::= { mikrotik 1 } + +mikrotik OBJECT IDENTIFIER ::= { enterprises 14988 } +mtXMetaInfo OBJECT IDENTIFIER ::= { mikrotikExperimentalModule 2 } +mtXRouterOsGroups OBJECT IDENTIFIER ::= { mtXMetaInfo 1 } + +mtXRouterOs OBJECT IDENTIFIER ::= { mikrotikExperimentalModule 1 } +mtxrWireless OBJECT IDENTIFIER ::= { mtXRouterOs 1 } +mtxrQueues OBJECT IDENTIFIER ::= { mtXRouterOs 2 } +mtxrHealth OBJECT IDENTIFIER ::= { mtXRouterOs 3 } +mtxrLicense OBJECT IDENTIFIER ::= { mtXRouterOs 4 } +mtxrHotspot OBJECT IDENTIFIER ::= { mtXRouterOs 5 } +mtxrDHCP OBJECT IDENTIFIER ::= { mtXRouterOs 6 } +mtxrSystem OBJECT IDENTIFIER ::= { mtXRouterOs 7 } +mtxrScripts OBJECT IDENTIFIER ::= { mtXRouterOs 8 } +mtxrTraps OBJECT IDENTIFIER ::= { mtXRouterOs 9 } +mtxrNstremeDual OBJECT IDENTIFIER ::= { mtXRouterOs 10 } +mtxrNeighbor OBJECT IDENTIFIER ::= { mtXRouterOs 11 } +mtxrGps OBJECT IDENTIFIER ::= { mtXRouterOs 12 } +mtxrWirelessModem OBJECT IDENTIFIER ::= { mtXRouterOs 13 } +mtxrInterfaceStats OBJECT IDENTIFIER ::= { mtXRouterOs 14 } +mtxrPOE OBJECT IDENTIFIER ::= { mtXRouterOs 15 } +mtxrLTEModem OBJECT IDENTIFIER ::= { mtXRouterOs 16 } +mtxrPartition OBJECT IDENTIFIER ::= { mtXRouterOs 17 } +mtxrScriptRun OBJECT IDENTIFIER ::= { mtXRouterOs 18 } +mtxrOptical OBJECT IDENTIFIER ::= { mtXRouterOs 19 } + +ObjectIndex ::= TEXTUAL-CONVENTION + DISPLAY-HINT "x" + STATUS current + DESCRIPTION "Internal " + SYNTAX Integer32 (0..2147483647) +-- Note that actually in RouterOs index values can be in range 0..4294967294, +-- this can sometimes make them negative. Any of the following syntaxes would +-- be more appropriate, but since Integer32 is used for InterfaceIndex in +-- IF-MIB, where it can also take negative values in RouterOs, it is used +-- here for consistency. +-- Also note that ObjectIndex value is not related to item numbers that are +-- used by console and shown by console print command. +-- +-- SYNTAX Integer32 (-2147483648..2147483647) +-- SYNTAX Unsigned32 (0..4294967295) + +HexInt ::= TEXTUAL-CONVENTION + DISPLAY-HINT "x" + STATUS current + DESCRIPTION "Hex" + SYNTAX Integer32 (-2147483648..2147483647) + +Voltage ::= TEXTUAL-CONVENTION + DISPLAY-HINT "d-1" + STATUS current + DESCRIPTION "" + SYNTAX Integer32 (-2147483648..2147483647) + +Temperature ::= TEXTUAL-CONVENTION + DISPLAY-HINT "d-1" + STATUS current + DESCRIPTION "" + SYNTAX Integer32 (-2147483648..2147483647) + +Power ::= TEXTUAL-CONVENTION + DISPLAY-HINT "d-1" + STATUS current + DESCRIPTION "" + SYNTAX Integer32 (-2147483648..2147483647) + +GDiv100 ::= TEXTUAL-CONVENTION + DISPLAY-HINT "d-2" + STATUS current + DESCRIPTION "/100" + SYNTAX Gauge32 + +GDiv1000 ::= TEXTUAL-CONVENTION + DISPLAY-HINT "d-3" + STATUS current + DESCRIPTION "/1000" + SYNTAX Gauge32 + +IDiv1000 ::= TEXTUAL-CONVENTION + DISPLAY-HINT "d-3" + STATUS current + DESCRIPTION "/1000" + SYNTAX Integer32 (-2147483648..2147483647) + +BoolValue ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "Boolean value." + SYNTAX INTEGER { false(0), true(1) } + +-- WIRELESS ******************************************************************** + +mtxrWlStatTable OBJECT-TYPE + SYNTAX SEQUENCE OF MtxrWlStatEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + ::= { mtxrWireless 1 } + +mtxrWlStatEntry OBJECT-TYPE + SYNTAX MtxrWlStatEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "Wireless station mode interface" + INDEX { mtxrWlStatIndex } + ::= { mtxrWlStatTable 1 } + +MtxrWlStatEntry ::= SEQUENCE { + mtxrWlStatIndex ObjectIndex, + mtxrWlStatTxRate Gauge32, + mtxrWlStatRxRate Gauge32, + mtxrWlStatStrength Integer32, + mtxrWlStatSsid DisplayString, + mtxrWlStatBssid MacAddress, + mtxrWlStatFreq Integer32, + mtxrWlStatBand DisplayString +} + +mtxrWlStatIndex OBJECT-TYPE + SYNTAX ObjectIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + ::= { mtxrWlStatEntry 1 } + +mtxrWlStatTxRate OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "bits per second" + ::= { mtxrWlStatEntry 2 } + +mtxrWlStatRxRate OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "bits per second" + ::= { mtxrWlStatEntry 3 } + +mtxrWlStatStrength OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "dBm" + ::= { mtxrWlStatEntry 4 } + +mtxrWlStatSsid OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWlStatEntry 5 } + +mtxrWlStatBssid OBJECT-TYPE + SYNTAX MacAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWlStatEntry 6 } + +mtxrWlStatFreq OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "megahertz" + ::= { mtxrWlStatEntry 7 } + +mtxrWlStatBand OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWlStatEntry 8 } + +mtxrWlRtabTable OBJECT-TYPE + SYNTAX SEQUENCE OF MtxrWlRtabEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + ::= { mtxrWireless 2 } + +mtxrWlRtabEntry OBJECT-TYPE + SYNTAX MtxrWlRtabEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "Wireless registration table. It is indexed by remote + mac-address and local interface index" + INDEX { mtxrWlRtabAddr, mtxrWlRtabIface } + ::= { mtxrWlRtabTable 1 } + +MtxrWlRtabEntry ::= SEQUENCE { + mtxrWlRtabAddr MacAddress, + mtxrWlRtabIface ObjectIndex, + mtxrWlRtabStrength Integer32, + mtxrWlRtabTxBytes Counter32, + mtxrWlRtabRxBytes Counter32, + mtxrWlRtabTxPackets Counter32, + mtxrWlRtabRxPackets Counter32, + mtxrWlRtabTxRate Gauge32, + mtxrWlRtabRxRate Gauge32, + mtxrWlRtabRouterOSVersion DisplayString, + mtxrWlRtabUptime TimeTicks, + mtxrWlRtabSignalToNoise Integer32, + mtxrWlRtabTxStrengthCh0 Integer32, + mtxrWlRtabRxStrengthCh0 Integer32, + mtxrWlRtabTxStrengthCh1 Integer32, + mtxrWlRtabRxStrengthCh1 Integer32, + mtxrWlRtabTxStrengthCh2 Integer32, + mtxrWlRtabRxStrengthCh2 Integer32, + mtxrWlRtabTxStrength Integer32 +} + +mtxrWlRtabAddr OBJECT-TYPE + SYNTAX MacAddress + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + ::= { mtxrWlRtabEntry 1 } + +mtxrWlRtabIface OBJECT-TYPE + SYNTAX ObjectIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + ::= { mtxrWlRtabEntry 2 } + +mtxrWlRtabStrength OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "dBm" + ::= { mtxrWlRtabEntry 3 } + +mtxrWlRtabTxBytes OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWlRtabEntry 4 } + +mtxrWlRtabRxBytes OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWlRtabEntry 5 } + +mtxrWlRtabTxPackets OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWlRtabEntry 6 } + +mtxrWlRtabRxPackets OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWlRtabEntry 7 } + +mtxrWlRtabTxRate OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "bits per second" + ::= { mtxrWlRtabEntry 8 } + +mtxrWlRtabRxRate OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "bits per second" + ::= { mtxrWlRtabEntry 9 } + +mtxrWlRtabRouterOSVersion OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "RouterOS version" + ::= { mtxrWlRtabEntry 10 } + +mtxrWlRtabUptime OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION "uptime" + ::= { mtxrWlRtabEntry 11 } + +mtxrWlRtabSignalToNoise OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Measured in dB, if value does not exist it is indicated with 0" + ::= { mtxrWlRtabEntry 12 } + +mtxrWlRtabTxStrengthCh0 OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWlRtabEntry 13 } + +mtxrWlRtabRxStrengthCh0 OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWlRtabEntry 14 } + +mtxrWlRtabTxStrengthCh1 OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWlRtabEntry 15 } + +mtxrWlRtabRxStrengthCh1 OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWlRtabEntry 16 } + +mtxrWlRtabTxStrengthCh2 OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWlRtabEntry 17 } + +mtxrWlRtabRxStrengthCh2 OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWlRtabEntry 18 } + +mtxrWlRtabTxStrength OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWlRtabEntry 19 } + +mtxrWlRtabEntryCount OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Wireless registration table entry count" + ::= { mtxrWireless 4 } + +mtxrWlApTable OBJECT-TYPE + SYNTAX SEQUENCE OF MtxrWlApEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + ::= { mtxrWireless 3 } + +mtxrWlApEntry OBJECT-TYPE + SYNTAX MtxrWlApEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "Wireless access point mode interface" + INDEX { mtxrWlApIndex } + ::= { mtxrWlApTable 1 } + +MtxrWlApEntry ::= SEQUENCE { + mtxrWlApIndex ObjectIndex, + mtxrWlApTxRate Gauge32, + mtxrWlApRxRate Gauge32, + mtxrWlApSsid DisplayString, + mtxrWlApBssid MacAddress, + mtxrWlApClientCount Counter32, + mtxrWlApFreq Integer32, + mtxrWlApBand DisplayString, + mtxrWlApNoiseFloor Integer32, + mtxrWlApOverallTxCCQ Counter32, + mtxrWlApAuthClientCount Counter32 +} + +mtxrWlApIndex OBJECT-TYPE + SYNTAX ObjectIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + ::= { mtxrWlApEntry 1 } + +mtxrWlApTxRate OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "bits per second" + ::= { mtxrWlApEntry 2 } + +mtxrWlApRxRate OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "bits per second" + ::= { mtxrWlApEntry 3 } + +mtxrWlApSsid OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWlApEntry 4 } + +mtxrWlApBssid OBJECT-TYPE + SYNTAX MacAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWlApEntry 5 } + +mtxrWlApClientCount OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWlApEntry 6 } + +mtxrWlApFreq OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "megahertz" + ::= { mtxrWlApEntry 7 } + +mtxrWlApBand OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWlApEntry 8 } + +mtxrWlApNoiseFloor OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWlApEntry 9 } + +mtxrWlApOverallTxCCQ OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWlApEntry 10 } + +mtxrWlApAuthClientCount OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWlApEntry 11 } + +mtxrWlCMRtabTable OBJECT-TYPE + SYNTAX SEQUENCE OF MtxrWlCMRtabEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + ::= { mtxrWireless 5 } + +mtxrWlCMRtabEntry OBJECT-TYPE + SYNTAX MtxrWlCMRtabEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "Wireless CAPSMAN registration table. It is indexed by remote + mac-address and local interface index" + INDEX { mtxrWlCMRtabAddr, mtxrWlCMRtabIface } + ::= { mtxrWlCMRtabTable 1 } + +MtxrWlCMRtabEntry ::= SEQUENCE { + mtxrWlCMRtabAddr MacAddress, + mtxrWlCMRtabIface ObjectIndex, + mtxrWlCMRtabUptime TimeTicks, + mtxrWlCMRtabTxBytes Counter32, + mtxrWlCMRtabRxBytes Counter32, + mtxrWlCMRtabTxPackets Counter32, + mtxrWlCMRtabRxPackets Counter32, + mtxrWlCMRtabTxRate Gauge32, + mtxrWlCMRtabRxRate Gauge32, + mtxrWlCMRtabTxStrength Integer32, + mtxrWlCMRtabRxStrength Integer32, + mtxrWlCMRtabSsid DisplayString +} + +mtxrWlCMRtabAddr OBJECT-TYPE + SYNTAX MacAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWlCMRtabEntry 1 } + -- should not be accessible in SMIv2 + +mtxrWlCMRtabIface OBJECT-TYPE + SYNTAX ObjectIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + ::= { mtxrWlCMRtabEntry 2 } + +mtxrWlCMRtabUptime OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION "uptime" + ::= { mtxrWlCMRtabEntry 3 } + +mtxrWlCMRtabTxBytes OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWlCMRtabEntry 4 } + +mtxrWlCMRtabRxBytes OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWlCMRtabEntry 5 } + +mtxrWlCMRtabTxPackets OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWlCMRtabEntry 6 } + +mtxrWlCMRtabRxPackets OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWlCMRtabEntry 7 } + +mtxrWlCMRtabTxRate OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "bits per second" + ::= { mtxrWlCMRtabEntry 8 } + +mtxrWlCMRtabRxRate OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "bits per second" + ::= { mtxrWlCMRtabEntry 9 } + +mtxrWlCMRtabTxStrength OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWlCMRtabEntry 10 } + +mtxrWlCMRtabRxStrength OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWlCMRtabEntry 11 } + +mtxrWlCMRtabSsid OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWlCMRtabEntry 12 } + +mtxrWlCMRtabEntryCount OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Wireless CAPSMAN registration table entry count" + ::= { mtxrWireless 6 } + +mtxrWlCMREntryCount OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Wireless CAPSMAN remote-cap entry count" + ::= { mtxrWireless 10 } + +mtxrWlCMTable OBJECT-TYPE + SYNTAX SEQUENCE OF MtxrWlCMEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + ::= { mtxrWireless 7 } + +mtxrWlCMEntry OBJECT-TYPE + SYNTAX MtxrWlCMEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "CAPS-MAN mode interface" + INDEX { mtxrWlCMIndex } + ::= { mtxrWlCMTable 1 } + +MtxrWlCMEntry ::= SEQUENCE { + mtxrWlCMIndex ObjectIndex, + mtxrWlCMRegClientCount Counter32, + mtxrWlCMAuthClientCount Counter32, + mtxrWlCMState DisplayString, + mtxrWlCMChannel DisplayString +} + +mtxrWlCMIndex OBJECT-TYPE + SYNTAX ObjectIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + ::= { mtxrWlCMEntry 1 } + +mtxrWlCMRegClientCount OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWlCMEntry 2 } + +mtxrWlCMAuthClientCount OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWlCMEntry 3 } + +mtxrWlCMState OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWlCMEntry 4 } + +mtxrWlCMChannel OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "for master only" + ::= { mtxrWlCMEntry 5 } + +-- +mtxrWlCMRemoteTable OBJECT-TYPE + SYNTAX SEQUENCE OF MtxrWlCMRemoteEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + ::= { mtxrWireless 11 } + +mtxrWlCMRemoteEntry OBJECT-TYPE + SYNTAX MtxrWlCMRemoteEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "CAPSMAN remote-cap list" + INDEX { mtxrWlCMRemoteIndex } + ::= { mtxrWlCMRemoteTable 1 } + +MtxrWlCMRemoteEntry ::= SEQUENCE { + mtxrWlCMRemoteIndex ObjectIndex, + mtxrWlCMRemoteName DisplayString, + mtxrWlCMRemoteState DisplayString, + mtxrWlCMRemoteAddress DisplayString, + mtxrWlCMRemoteRadios Counter32 +} + +mtxrWlCMRemoteIndex OBJECT-TYPE + SYNTAX ObjectIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + ::= { mtxrWlCMRemoteEntry 1 } + +mtxrWlCMRemoteName OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWlCMRemoteEntry 2 } + +mtxrWlCMRemoteState OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWlCMRemoteEntry 3 } + +mtxrWlCMRemoteAddress OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWlCMRemoteEntry 4 } + +mtxrWlCMRemoteRadios OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWlCMRemoteEntry 5 } + +-- W60G +mtxrWl60GTable OBJECT-TYPE + SYNTAX SEQUENCE OF MtxrWl60GEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + ::= { mtxrWireless 8 } + +mtxrWl60GEntry OBJECT-TYPE + SYNTAX MtxrWl60GEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "W60G interface" + INDEX { mtxrWl60GIndex } + ::= { mtxrWl60GTable 1 } + +MtxrWl60GEntry ::= SEQUENCE { + mtxrWl60GIndex ObjectIndex, + mtxrWl60GMode INTEGER, + mtxrWl60GSsid DisplayString, + mtxrWl60GConnected BoolValue, + mtxrWl60GRemote MacAddress, + mtxrWl60GFreq Integer32, + mtxrWl60GMcs Integer32, + mtxrWl60GSignal Integer32, + mtxrWl60GTxSector Integer32, + mtxrWl60GRxSector Integer32, + mtxrWl60GTxSectorInfo DisplayString, + mtxrWl60GRssi Integer32 +} + +mtxrWl60GIndex OBJECT-TYPE + SYNTAX ObjectIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + ::= { mtxrWl60GEntry 1 } + +mtxrWl60GMode OBJECT-TYPE + SYNTAX INTEGER { + apBridge(0), + stationBridge(1), + sniff(2), + bridge(3) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWl60GEntry 2 } + +mtxrWl60GSsid OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWl60GEntry 3 } + +mtxrWl60GConnected OBJECT-TYPE + SYNTAX BoolValue + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWl60GEntry 4 } + +mtxrWl60GRemote OBJECT-TYPE + SYNTAX MacAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWl60GEntry 5 } + +mtxrWl60GFreq OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Mhz" + ::= { mtxrWl60GEntry 6 } + +mtxrWl60GMcs OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWl60GEntry 7 } + +mtxrWl60GSignal OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWl60GEntry 8 } + +mtxrWl60GTxSector OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWl60GEntry 9 } + +mtxrWl60GRxSector OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWl60GEntry 10 } + +mtxrWl60GTxSectorInfo OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWl60GEntry 11 } + +mtxrWl60GRssi OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWl60GEntry 12 } + +-- W60GSta +mtxrWl60GStaTable OBJECT-TYPE + SYNTAX SEQUENCE OF MtxrWl60GStaEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + ::= { mtxrWireless 9 } + +mtxrWl60GStaEntry OBJECT-TYPE + SYNTAX MtxrWl60GStaEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "W60G stations" + INDEX { mtxrWl60GStaIndex } + ::= { mtxrWl60GStaTable 1 } + +MtxrWl60GStaEntry ::= SEQUENCE { + mtxrWl60GStaIndex ObjectIndex, + mtxrWl60GStaConnected BoolValue, + mtxrWl60GStaRemote MacAddress, + mtxrWl60GStaMcs Integer32, + mtxrWl60GStaSignal Integer32, + mtxrWl60GStaTxSector Integer32, + mtxrWl60GStaRxSector Integer32, + mtxrWl60GStaPhyRate Gauge32, + mtxrWl60GStaRssi Integer32, + mtxrWl60GStaDistance Integer32 +} + +mtxrWl60GStaIndex OBJECT-TYPE + SYNTAX ObjectIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + ::= { mtxrWl60GStaEntry 1 } + +mtxrWl60GStaConnected OBJECT-TYPE + SYNTAX BoolValue + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWl60GStaEntry 2 } + +mtxrWl60GStaRemote OBJECT-TYPE + SYNTAX MacAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWl60GStaEntry 3 } + +mtxrWl60GStaMcs OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWl60GStaEntry 4 } + +mtxrWl60GStaSignal OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWl60GStaEntry 5 } + +mtxrWl60GStaTxSector OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWl60GStaEntry 6 } + +mtxrWl60GStaRxSector OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWl60GStaEntry 7 } + +mtxrWl60GStaPhyRate OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Mbits per second" + ::= { mtxrWl60GStaEntry 8 } + +mtxrWl60GStaRssi OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrWl60GStaEntry 9 } + +mtxrWl60GStaDistance OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "meters" + ::= { mtxrWl60GStaEntry 10 } + + +mtxrWirelessGroup OBJECT-GROUP OBJECTS { + mtxrWlStatTxRate, + mtxrWlStatRxRate, + mtxrWlStatStrength, + mtxrWlStatSsid, + mtxrWlStatBssid, + mtxrWlStatFreq, + mtxrWlStatBand, + mtxrWlRtabStrength, + mtxrWlRtabTxBytes, + mtxrWlRtabRxBytes, + mtxrWlRtabTxPackets, + mtxrWlRtabRxPackets, + mtxrWlRtabTxRate, + mtxrWlRtabRxRate, + mtxrWlRtabEntryCount, + mtxrWlRtabRouterOSVersion, + mtxrWlRtabUptime, + mtxrWlRtabSignalToNoise, + mtxrWlRtabTxStrengthCh0, + mtxrWlRtabRxStrengthCh0, + mtxrWlRtabTxStrengthCh1, + mtxrWlRtabRxStrengthCh1, + mtxrWlRtabTxStrengthCh2, + mtxrWlRtabRxStrengthCh2, + mtxrWlRtabTxStrength, + mtxrWlApTxRate, + mtxrWlApRxRate, + mtxrWlApSsid, + mtxrWlApBssid, + mtxrWlApClientCount, + mtxrWlApBand, + mtxrWlApFreq, + mtxrWlApNoiseFloor, + mtxrWlApOverallTxCCQ, + mtxrWlApAuthClientCount, + mtxrWlCMRtabAddr, + mtxrWlCMRtabTxBytes, + mtxrWlCMRtabRxBytes, + mtxrWlCMRtabTxPackets, + mtxrWlCMRtabRxPackets, + mtxrWlCMRtabTxRate, + mtxrWlCMRtabRxRate, + mtxrWlCMRtabUptime, + mtxrWlCMRtabTxStrength, + mtxrWlCMRtabRxStrength, + mtxrWlCMRtabSsid, + mtxrWlCMRtabEntryCount, + mtxrWlCMREntryCount, + mtxrWlCMRegClientCount, + mtxrWlCMAuthClientCount, + mtxrWl60GMode, + mtxrWl60GSsid, + mtxrWl60GConnected, + mtxrWl60GRemote, + mtxrWl60GFreq, + mtxrWl60GMcs, + mtxrWl60GSignal, + mtxrWl60GTxSector, + mtxrWl60GRxSector, + mtxrWl60GTxSectorInfo, + mtxrWl60GRssi, + mtxrWl60GStaConnected, + mtxrWl60GStaRemote, + mtxrWl60GStaMcs, + mtxrWl60GStaSignal, + mtxrWl60GStaTxSector, + mtxrWl60GStaRxSector + } + STATUS current + DESCRIPTION "" + ::= { mtXRouterOsGroups 1 } + +-- QUEUES ******************************************************************** + +mtxrQueueSimpleTable OBJECT-TYPE + SYNTAX SEQUENCE OF MtxrQueueSimpleEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + ::= { mtxrQueues 1 } + +mtxrQueueSimpleEntry OBJECT-TYPE + SYNTAX MtxrQueueSimpleEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "Simple queue" + INDEX { mtxrQueueSimpleIndex } + ::= { mtxrQueueSimpleTable 1 } + +MtxrQueueSimpleEntry ::= SEQUENCE { + mtxrQueueSimpleIndex ObjectIndex, + mtxrQueueSimpleName DisplayString, + mtxrQueueSimpleSrcAddr IpAddress, + mtxrQueueSimpleSrcMask IpAddress, + mtxrQueueSimpleDstAddr IpAddress, + mtxrQueueSimpleDstMask IpAddress, + mtxrQueueSimpleIface ObjectIndex, + mtxrQueueSimpleBytesIn Counter64, + mtxrQueueSimpleBytesOut Counter64, + mtxrQueueSimplePacketsIn Counter32, + mtxrQueueSimplePacketsOut Counter32, + mtxrQueueSimplePCQQueuesIn Counter32, + mtxrQueueSimplePCQQueuesOut Counter32, + mtxrQueueSimpleDroppedIn Counter32, + mtxrQueueSimpleDroppedOut Counter32 +} + +mtxrQueueSimpleIndex OBJECT-TYPE + SYNTAX ObjectIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + ::= { mtxrQueueSimpleEntry 1 } + +mtxrQueueSimpleName OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrQueueSimpleEntry 2 } + +mtxrQueueSimpleSrcAddr OBJECT-TYPE + SYNTAX IpAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrQueueSimpleEntry 3 } + +mtxrQueueSimpleSrcMask OBJECT-TYPE + SYNTAX IpAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrQueueSimpleEntry 4 } + +mtxrQueueSimpleDstAddr OBJECT-TYPE + SYNTAX IpAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrQueueSimpleEntry 5 } + +mtxrQueueSimpleDstMask OBJECT-TYPE + SYNTAX IpAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrQueueSimpleEntry 6 } + +mtxrQueueSimpleIface OBJECT-TYPE + SYNTAX ObjectIndex + MAX-ACCESS read-only + STATUS current + DESCRIPTION "interface index" + ::= { mtxrQueueSimpleEntry 7 } + +mtxrQueueSimpleBytesIn OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrQueueSimpleEntry 8 } + +mtxrQueueSimpleBytesOut OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrQueueSimpleEntry 9 } + +mtxrQueueSimplePacketsIn OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrQueueSimpleEntry 10 } + +mtxrQueueSimplePacketsOut OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrQueueSimpleEntry 11 } + +mtxrQueueSimplePCQQueuesIn OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrQueueSimpleEntry 12 } + +mtxrQueueSimplePCQQueuesOut OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrQueueSimpleEntry 13 } + +mtxrQueueSimpleDroppedIn OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrQueueSimpleEntry 14 } + +mtxrQueueSimpleDroppedOut OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrQueueSimpleEntry 15 } + +mtxrQueueTreeTable OBJECT-TYPE + SYNTAX SEQUENCE OF MtxrQueueTreeEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + ::= { mtxrQueues 2 } + +mtxrQueueTreeEntry OBJECT-TYPE + SYNTAX MtxrQueueTreeEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "Tree queue" + INDEX { mtxrQueueTreeIndex } + ::= { mtxrQueueTreeTable 1 } + +MtxrQueueTreeEntry ::= SEQUENCE { + mtxrQueueTreeIndex ObjectIndex, + mtxrQueueTreeName DisplayString, + mtxrQueueTreeFlow DisplayString, + mtxrQueueTreeParentIndex ObjectIndex, + mtxrQueueTreeBytes Counter32, + mtxrQueueTreePackets Counter32, + mtxrQueueTreeHCBytes Counter64, + mtxrQueueTreePCQQueues Counter32, + mtxrQueueTreeDropped Counter32 +} + +mtxrQueueTreeIndex OBJECT-TYPE + SYNTAX ObjectIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + ::= { mtxrQueueTreeEntry 1 } + +mtxrQueueTreeName OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrQueueTreeEntry 2 } + +mtxrQueueTreeFlow OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "flowmark" + ::= { mtxrQueueTreeEntry 3 } + +mtxrQueueTreeParentIndex OBJECT-TYPE + SYNTAX ObjectIndex + MAX-ACCESS read-only + STATUS current + DESCRIPTION "index of parent tree queue or parent interface" + ::= { mtxrQueueTreeEntry 4 } + +mtxrQueueTreeBytes OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrQueueTreeEntry 5 } + +mtxrQueueTreePackets OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrQueueTreeEntry 6 } + +mtxrQueueTreeHCBytes OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrQueueTreeEntry 7 } + +mtxrQueueTreePCQQueues OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrQueueTreeEntry 8 } + +mtxrQueueTreeDropped OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrQueueTreeEntry 9 } + +mtxrQueueGroup OBJECT-GROUP OBJECTS { + mtxrQueueSimpleName, mtxrQueueSimpleSrcAddr, mtxrQueueSimpleSrcMask, + mtxrQueueSimpleDstAddr, mtxrQueueSimpleDstMask, mtxrQueueSimpleIface, + mtxrQueueSimpleBytesIn, mtxrQueueSimpleBytesOut, + mtxrQueueSimplePacketsIn, mtxrQueueSimplePacketsOut, mtxrQueueTreeName, + mtxrQueueSimplePCQQueuesIn, + mtxrQueueSimplePCQQueuesOut, + mtxrQueueSimpleDroppedIn, + mtxrQueueSimpleDroppedOut, + mtxrQueueTreeFlow, mtxrQueueTreeParentIndex, mtxrQueueTreeBytes, + mtxrQueueTreePackets, + mtxrQueueTreeHCBytes, + mtxrQueueTreePCQQueues, + mtxrQueueTreeDropped + } + STATUS current + DESCRIPTION "" + ::= { mtXRouterOsGroups 2 } + +-- HEALTH ******************************************************************** + +mtxrHlCoreVoltage OBJECT-TYPE + SYNTAX Voltage + MAX-ACCESS read-only + STATUS current + DESCRIPTION "core voltage" + ::= { mtxrHealth 1 } + +mtxrHlThreeDotThreeVoltage OBJECT-TYPE + SYNTAX Voltage + MAX-ACCESS read-only + STATUS current + DESCRIPTION "3.3V voltage" + ::= { mtxrHealth 2 } + +mtxrHlFiveVoltage OBJECT-TYPE + SYNTAX Voltage + MAX-ACCESS read-only + STATUS current + DESCRIPTION "5V voltage" + ::= { mtxrHealth 3 } + +mtxrHlTwelveVoltage OBJECT-TYPE + SYNTAX Voltage + MAX-ACCESS read-only + STATUS current + DESCRIPTION "12V voltage" + ::= { mtxrHealth 4 } + +mtxrHlSensorTemperature OBJECT-TYPE + SYNTAX Temperature + MAX-ACCESS read-only + STATUS current + DESCRIPTION "temperature at sensor chip" + ::= { mtxrHealth 5 } + +mtxrHlCpuTemperature OBJECT-TYPE + SYNTAX Temperature + MAX-ACCESS read-only + STATUS current + DESCRIPTION "temperature near cpu" + ::= { mtxrHealth 6 } + +mtxrHlBoardTemperature OBJECT-TYPE + SYNTAX Temperature + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrHealth 7 } + +mtxrHlVoltage OBJECT-TYPE + SYNTAX Voltage + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrHealth 8 } + +mtxrHlActiveFan OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrHealth 9 } + +mtxrHlTemperature OBJECT-TYPE + SYNTAX Temperature + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrHealth 10 } + +mtxrHlProcessorTemperature OBJECT-TYPE + SYNTAX Temperature + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrHealth 11 } + +mtxrHlPower OBJECT-TYPE + SYNTAX Power + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Watts" + ::= { mtxrHealth 12 } + +mtxrHlCurrent OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "mA" + ::= { mtxrHealth 13 } + +mtxrHlProcessorFrequency OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Mhz" + ::= { mtxrHealth 14 } + +mtxrHlPowerSupplyState OBJECT-TYPE + SYNTAX BoolValue + MAX-ACCESS read-only + STATUS current + DESCRIPTION "PSU state ok" + ::= { mtxrHealth 15 } + +mtxrHlBackupPowerSupplyState OBJECT-TYPE + SYNTAX BoolValue + MAX-ACCESS read-only + STATUS current + DESCRIPTION "backup PSU state ok" + ::= { mtxrHealth 16 } + +mtxrHlFanSpeed1 OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "rpm" + ::= { mtxrHealth 17 } + +mtxrHlFanSpeed2 OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "rpm" + ::= { mtxrHealth 18 } + +mtxrHealthGroup OBJECT-GROUP OBJECTS { + mtxrHlCoreVoltage, mtxrHlThreeDotThreeVoltage, mtxrHlFiveVoltage, + mtxrHlTwelveVoltage, mtxrHlSensorTemperature, mtxrHlCpuTemperature, + mtxrHlBoardTemperature, mtxrHlVoltage, mtxrHlActiveFan, + mtxrHlTemperature, mtxrHlProcessorTemperature, + mtxrHlCurrent, mtxrHlPower, + mtxrHlProcessorFrequency, + mtxrHlPowerSupplyState, mtxrHlBackupPowerSupplyState, + mtxrHlFanSpeed1, mtxrHlFanSpeed2 + } + STATUS current + DESCRIPTION "" + ::= { mtXRouterOsGroups 3 } + +-- LICENSE ******************************************************************** + +mtxrLicSoftwareId OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "software id" + ::= { mtxrLicense 1 } + +mtxrLicUpgrUntil OBJECT-TYPE + SYNTAX DateAndTime + MAX-ACCESS read-only + STATUS current + DESCRIPTION "current key allows upgrading until this date" + ::= { mtxrLicense 2 } + +mtxrLicLevel OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "current key level" + ::= { mtxrLicense 3 } + +mtxrLicVersion OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "software version" + ::= { mtxrLicense 4 } + +mtxrLicUpgradableTo OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "upgradable to" + ::= { mtxrLicense 5 } + +mtxrLincenseGroup OBJECT-GROUP OBJECTS { + mtxrLicSoftwareId, mtxrLicUpgrUntil, mtxrLicLevel, mtxrLicVersion, mtxrLicUpgradableTo + } + STATUS current + DESCRIPTION "" + ::= { mtXRouterOsGroups 4 } + +-- HOTSPOT *************************************************************** + +mtxrHotspotActiveUsersTable OBJECT-TYPE + SYNTAX SEQUENCE OF MtxrHotspotActiveUsersTableEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + ::= { mtxrHotspot 1 } + +mtxrHotspotActiveUsersTableEntry OBJECT-TYPE + SYNTAX MtxrHotspotActiveUsersTableEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + INDEX { mtxrHotspotActiveUserIndex } + ::= { mtxrHotspotActiveUsersTable 1 } + +MtxrHotspotActiveUsersTableEntry ::= SEQUENCE { + mtxrHotspotActiveUserIndex ObjectIndex, + mtxrHotspotActiveUserServerID Integer32, + mtxrHotspotActiveUserName DisplayString, + mtxrHotspotActiveUserDomain DisplayString, + mtxrHotspotActiveUserIP IpAddress, + mtxrHotspotActiveUserMAC MacAddress, + mtxrHotspotActiveUserConnectTime Integer32, + mtxrHotspotActiveUserValidTillTime Integer32, + mtxrHotspotActiveUserIdleStartTime Integer32, + mtxrHotspotActiveUserIdleTimeout Integer32, + mtxrHotspotActiveUserPingTimeout Integer32, + mtxrHotspotActiveUserBytesIn Counter64, + mtxrHotspotActiveUserBytesOut Counter64, + mtxrHotspotActiveUserPacketsIn Counter64, + mtxrHotspotActiveUserPacketsOut Counter64, + mtxrHotspotActiveUserLimitBytesIn Counter64, + mtxrHotspotActiveUserLimitBytesOut Counter64, + mtxrHotspotActiveUserAdvertStatus Integer32, + mtxrHotspotActiveUserRadius Integer32, + mtxrHotspotActiveUserBlockedByAdvert Integer32 +} + +mtxrHotspotActiveUserIndex OBJECT-TYPE + SYNTAX ObjectIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + ::= { mtxrHotspotActiveUsersTableEntry 1 } + +mtxrHotspotActiveUserServerID OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrHotspotActiveUsersTableEntry 2 } + +mtxrHotspotActiveUserName OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrHotspotActiveUsersTableEntry 3 } + +mtxrHotspotActiveUserDomain OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrHotspotActiveUsersTableEntry 4 } + +mtxrHotspotActiveUserIP OBJECT-TYPE + SYNTAX IpAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrHotspotActiveUsersTableEntry 5 } + +mtxrHotspotActiveUserMAC OBJECT-TYPE + SYNTAX MacAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrHotspotActiveUsersTableEntry 6 } + +mtxrHotspotActiveUserConnectTime OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrHotspotActiveUsersTableEntry 7 } + +mtxrHotspotActiveUserValidTillTime OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrHotspotActiveUsersTableEntry 8 } + +mtxrHotspotActiveUserIdleStartTime OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrHotspotActiveUsersTableEntry 9 } + +mtxrHotspotActiveUserIdleTimeout OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrHotspotActiveUsersTableEntry 10 } + +mtxrHotspotActiveUserPingTimeout OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrHotspotActiveUsersTableEntry 11 } + +mtxrHotspotActiveUserBytesIn OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrHotspotActiveUsersTableEntry 12 } + +mtxrHotspotActiveUserBytesOut OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrHotspotActiveUsersTableEntry 13 } + +mtxrHotspotActiveUserPacketsIn OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrHotspotActiveUsersTableEntry 14 } + +mtxrHotspotActiveUserPacketsOut OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrHotspotActiveUsersTableEntry 15 } + +mtxrHotspotActiveUserLimitBytesIn OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrHotspotActiveUsersTableEntry 16 } + +mtxrHotspotActiveUserLimitBytesOut OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrHotspotActiveUsersTableEntry 17 } + +mtxrHotspotActiveUserAdvertStatus OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrHotspotActiveUsersTableEntry 18 } + +mtxrHotspotActiveUserRadius OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrHotspotActiveUsersTableEntry 19 } + +mtxrHotspotActiveUserBlockedByAdvert OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrHotspotActiveUsersTableEntry 20 } + +mtxrHotspotActiveUserGroup OBJECT-GROUP OBJECTS { + mtxrHotspotActiveUserServerID, + mtxrHotspotActiveUserName, + mtxrHotspotActiveUserDomain, + mtxrHotspotActiveUserIP, + mtxrHotspotActiveUserMAC, + mtxrHotspotActiveUserConnectTime, + mtxrHotspotActiveUserValidTillTime, + mtxrHotspotActiveUserIdleStartTime, + mtxrHotspotActiveUserIdleTimeout, + mtxrHotspotActiveUserPingTimeout, + mtxrHotspotActiveUserBytesIn, + mtxrHotspotActiveUserBytesOut, + mtxrHotspotActiveUserPacketsIn, + mtxrHotspotActiveUserPacketsOut, + mtxrHotspotActiveUserLimitBytesIn, + mtxrHotspotActiveUserLimitBytesOut, + mtxrHotspotActiveUserAdvertStatus, + mtxrHotspotActiveUserRadius, + mtxrHotspotActiveUserBlockedByAdvert + } + STATUS current + DESCRIPTION "" + ::= { mtXRouterOsGroups 5 } + +-- DHCP ******************************************************************** + +mtxrDHCPLeaseCount OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrDHCP 1 } + +mtxrDHCPGroup OBJECT-GROUP OBJECTS { + mtxrDHCPLeaseCount + } + STATUS current + DESCRIPTION "" + ::= { mtXRouterOsGroups 12 } + +-- SYSTEM ******************************************************************** + +mtxrSystemReboot OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-write + STATUS current + DESCRIPTION "set non zero to reboot" + ::= { mtxrSystem 1 } + +mtxrUSBPowerReset OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-write + STATUS current + DESCRIPTION "switches off usb power for specified amout of seconds" + ::= { mtxrSystem 2 } + +mtxrSerialNumber OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "RouterBOARD serial number" + ::= { mtxrSystem 3 } + +mtxrFirmwareVersion OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Current firmware version" + ::= { mtxrSystem 4 } + +mtxrNote OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "note" + ::= { mtxrSystem 5 } + +mtxrBuildTime OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "build time" + ::= { mtxrSystem 6 } + +mtxrFirmwareUpgradeVersion OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Upgrade firmware version" + ::= { mtxrSystem 7 } + +mtxrBoardName OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "board name" + ::= { mtxrSystem 8 } + +mtxrSystemGroup OBJECT-GROUP OBJECTS { + mtxrSystemReboot, + mtxrUSBPowerReset, + mtxrSerialNumber, + mtxrFirmwareVersion, + mtxrNote, + mtxrBuildTime, + mtxrFirmwareUpgradeVersion, + mtxrBoardName + } + STATUS current + DESCRIPTION "" + ::= { mtXRouterOsGroups 13 } + +-- SCRIPTS ******************************************************************** + +mtxrScriptTable OBJECT-TYPE + SYNTAX SEQUENCE OF MtxrScriptTableEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + ::= { mtxrScripts 1 } + +mtxrScriptTableEntry OBJECT-TYPE + SYNTAX MtxrScriptTableEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + INDEX { mtxrScriptIndex } + ::= { mtxrScriptTable 1 } + +MtxrScriptTableEntry ::= SEQUENCE { + mtxrScriptIndex ObjectIndex, + mtxrScriptName DisplayString, + mtxrScriptRunCmd Integer32 +} + +mtxrScriptIndex OBJECT-TYPE + SYNTAX ObjectIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + ::= { mtxrScriptTableEntry 1 } + +mtxrScriptName OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrScriptTableEntry 2 } + +mtxrScriptRunCmd OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-write + STATUS current + DESCRIPTION "set non zero to run" + ::= { mtxrScriptTableEntry 3 } + +mtxrScriptGroup OBJECT-GROUP OBJECTS { + mtxrScriptName, mtxrScriptRunCmd + } + STATUS current + DESCRIPTION "" + ::= { mtXRouterOsGroups 8 } + +-- SCRIPT RUN ***************************************************************** + +mtxrScriptRunTable OBJECT-TYPE + SYNTAX SEQUENCE OF MtxrScriptRunTableEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "invisible to getnext, accesible only with get request and write premission" + ::= { mtxrScriptRun 1 } + +mtxrScriptRunTableEntry OBJECT-TYPE + SYNTAX MtxrScriptRunTableEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + INDEX { mtxrScriptRunIndex } + ::= { mtxrScriptRunTable 1 } + +MtxrScriptRunTableEntry ::= SEQUENCE { + mtxrScriptRunIndex ObjectIndex, + mtxrScriptRunOutput DisplayString +} + +mtxrScriptRunIndex OBJECT-TYPE + SYNTAX ObjectIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + ::= { mtxrScriptRunTableEntry 1 } + +mtxrScriptRunOutput OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "this oid on get request will run script and return it's output" + ::= { mtxrScriptRunTableEntry 2 } + +mtxrScriptRunGroup OBJECT-GROUP OBJECTS { + mtxrScriptRunOutput + } + STATUS current + DESCRIPTION "" + ::= { mtXRouterOsGroups 21 } + +-- Dual Nstreme *************************************************************** + +mtxrDnStatTable OBJECT-TYPE + SYNTAX SEQUENCE OF MtxrDnStatEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + ::= { mtxrNstremeDual 1 } + +mtxrDnStatEntry OBJECT-TYPE + SYNTAX MtxrDnStatEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "Nstreme Dual interface" + INDEX { mtxrDnStatIndex } + ::= { mtxrDnStatTable 1 } + +MtxrDnStatEntry ::= SEQUENCE { + mtxrDnStatIndex ObjectIndex, + mtxrDnStatTxRate Gauge32, + mtxrDnStatRxRate Gauge32, + mtxrDnStatTxStrength Integer32, + mtxrDnStatRxStrength Integer32, + mtxrDnConnected Integer32 +} + +mtxrDnStatIndex OBJECT-TYPE + SYNTAX ObjectIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + ::= { mtxrDnStatEntry 1 } + +mtxrDnStatTxRate OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "bits per second" + ::= { mtxrDnStatEntry 2 } + +mtxrDnStatRxRate OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "bits per second" + ::= { mtxrDnStatEntry 3 } + +mtxrDnStatTxStrength OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "dBm" + ::= { mtxrDnStatEntry 4 } + +mtxrDnStatRxStrength OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "dBm" + ::= { mtxrDnStatEntry 5 } + +mtxrDnConnected OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "0 - not connected, connected otherwise" + ::= { mtxrDnStatEntry 6 } + +mtxrNstremeDualGroup OBJECT-GROUP OBJECTS { + mtxrDnStatTxRate, mtxrDnStatRxRate, + mtxrDnStatTxStrength, mtxrDnStatRxStrength, mtxrDnConnected + } + STATUS current + DESCRIPTION "" + ::= { mtXRouterOsGroups 10 } + +-- NEIGHBOR ******************************************************************* + +mtxrNeighborTable OBJECT-TYPE + SYNTAX SEQUENCE OF MtxrNeighborTableEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + ::= { mtxrNeighbor 1 } + +mtxrNeighborTableEntry OBJECT-TYPE + SYNTAX MtxrNeighborTableEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + INDEX { mtxrNeighborIndex } + ::= { mtxrNeighborTable 1 } + +MtxrNeighborTableEntry ::= SEQUENCE { + mtxrNeighborIndex ObjectIndex, + mtxrNeighborIpAddress IpAddress, + mtxrNeighborMacAddress MacAddress, + mtxrNeighborVersion DisplayString, + mtxrNeighborPlatform DisplayString, + mtxrNeighborIdentity DisplayString, + mtxrNeighborSoftwareID DisplayString, + mtxrNeighborInterfaceID ObjectIndex +} + +mtxrNeighborIndex OBJECT-TYPE + SYNTAX ObjectIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + ::= { mtxrNeighborTableEntry 1 } + +mtxrNeighborIpAddress OBJECT-TYPE + SYNTAX IpAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrNeighborTableEntry 2 } + +mtxrNeighborMacAddress OBJECT-TYPE + SYNTAX MacAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrNeighborTableEntry 3 } + +mtxrNeighborVersion OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrNeighborTableEntry 4 } + +mtxrNeighborPlatform OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrNeighborTableEntry 5 } + +mtxrNeighborIdentity OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrNeighborTableEntry 6 } + +mtxrNeighborSoftwareID OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrNeighborTableEntry 7 } + +mtxrNeighborInterfaceID OBJECT-TYPE + SYNTAX ObjectIndex + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrNeighborTableEntry 8 } + +mtxrNeighborGroup OBJECT-GROUP OBJECTS { + mtxrNeighborIpAddress, + mtxrNeighborMacAddress, + mtxrNeighborVersion, + mtxrNeighborPlatform, + mtxrNeighborIdentity, + mtxrNeighborSoftwareID, + mtxrNeighborInterfaceID + } + STATUS current + DESCRIPTION "" + ::= { mtXRouterOsGroups 11 } + +-- GPS ************************************************************************ + +mtxrDate OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "UNIX time" + ::= { mtxrGps 1 } + +mtxrLongtitude OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "longtitude" + ::= { mtxrGps 2 } + +mtxrLatitude OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "latitude" + ::= { mtxrGps 3 } + +mtxrAltitude OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "altitude" + ::= { mtxrGps 4 } + +mtxrSpeed OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "speed" + ::= { mtxrGps 5 } + +mtxrSattelites OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "visible sattelite count" + ::= { mtxrGps 6 } + +mtxrValid OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "is the data valid" + ::= { mtxrGps 7 } + +mtxrGPSGroup OBJECT-GROUP OBJECTS { + mtxrDate, + mtxrLongtitude, + mtxrLatitude, + mtxrAltitude, + mtxrSpeed, + mtxrSattelites, + mtxrValid + } + STATUS current + DESCRIPTION "" + ::= { mtXRouterOsGroups 15 } + +-- Wireless Modem ************************************************************ + +mtxrWirelessModemSignalStrength OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "signal strength in dBm (if first ppp-client modem supports)" + ::= { mtxrWirelessModem 1 } + +mtxrWirelessModemSignalECIO OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "signal EC/IO in dB (if first ppp-client modem supports)" + ::= { mtxrWirelessModem 2 } + +mtxrWirelessModemGroup OBJECT-GROUP OBJECTS { + mtxrWirelessModemSignalStrength, + mtxrWirelessModemSignalECIO + } + STATUS current + DESCRIPTION "" + ::= { mtXRouterOsGroups 16 } + +-- Interface Stats ************************************************************ + +mtxrInterfaceStatsTable OBJECT-TYPE + SYNTAX SEQUENCE OF MtxrInterfaceStatsEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "Extended interface statistics. + Some interfaces may have only parts of this table + with unavailable values set to zero." + ::= { mtxrInterfaceStats 1 } + +mtxrInterfaceStatsEntry OBJECT-TYPE + SYNTAX MtxrInterfaceStatsEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + INDEX { mtxrInterfaceStatsIndex } + ::= { mtxrInterfaceStatsTable 1 } + +MtxrInterfaceStatsEntry ::= SEQUENCE { + mtxrInterfaceStatsIndex ObjectIndex, + mtxrInterfaceStatsName DisplayString, + + mtxrInterfaceStatsDriverRxBytes Counter64, + mtxrInterfaceStatsDriverRxPackets Counter64, + mtxrInterfaceStatsDriverTxBytes Counter64, + mtxrInterfaceStatsDriverTxPackets Counter64, + + mtxrInterfaceStatsTxRx64 Counter64, + mtxrInterfaceStatsTxRx65To127 Counter64, + mtxrInterfaceStatsTxRx128To255 Counter64, + mtxrInterfaceStatsTxRx256To511 Counter64, + mtxrInterfaceStatsTxRx512To1023 Counter64, + mtxrInterfaceStatsTxRx1024To1518 Counter64, + mtxrInterfaceStatsTxRx1519ToMax Counter64, + + mtxrInterfaceStatsRxBytes Counter64, + mtxrInterfaceStatsRxPackets Counter64, + mtxrInterfaceStatsRxTooShort Counter64, + mtxrInterfaceStatsRx64 Counter64, + mtxrInterfaceStatsRx65To127 Counter64, + mtxrInterfaceStatsRx128To255 Counter64, + mtxrInterfaceStatsRx256To511 Counter64, + mtxrInterfaceStatsRx512To1023 Counter64, + mtxrInterfaceStatsRx1024To1518 Counter64, + mtxrInterfaceStatsRx1519ToMax Counter64, + mtxrInterfaceStatsRxTooLong Counter64, + mtxrInterfaceStatsRxBroadcast Counter64, + mtxrInterfaceStatsRxPause Counter64, + mtxrInterfaceStatsRxMulticast Counter64, + mtxrInterfaceStatsRxFCSError Counter64, + mtxrInterfaceStatsRxAlignError Counter64, + mtxrInterfaceStatsRxFragment Counter64, + mtxrInterfaceStatsRxOverflow Counter64, + mtxrInterfaceStatsRxControl Counter64, + mtxrInterfaceStatsRxUnknownOp Counter64, + mtxrInterfaceStatsRxLengthError Counter64, + mtxrInterfaceStatsRxCodeError Counter64, + mtxrInterfaceStatsRxCarrierError Counter64, + mtxrInterfaceStatsRxJabber Counter64, + mtxrInterfaceStatsRxDrop Counter64, + + mtxrInterfaceStatsTxBytes Counter64, + mtxrInterfaceStatsTxPackets Counter64, + mtxrInterfaceStatsTxTooShort Counter64, + mtxrInterfaceStatsTx64 Counter64, + mtxrInterfaceStatsTx65To127 Counter64, + mtxrInterfaceStatsTx128To255 Counter64, + mtxrInterfaceStatsTx256To511 Counter64, + mtxrInterfaceStatsTx512To1023 Counter64, + mtxrInterfaceStatsTx1024To1518 Counter64, + mtxrInterfaceStatsTx1519ToMax Counter64, + mtxrInterfaceStatsTxTooLong Counter64, + mtxrInterfaceStatsTxBroadcast Counter64, + mtxrInterfaceStatsTxPause Counter64, + mtxrInterfaceStatsTxMulticast Counter64, + mtxrInterfaceStatsTxUnderrun Counter64, + mtxrInterfaceStatsTxCollision Counter64, + mtxrInterfaceStatsTxExcessiveCollision Counter64, + mtxrInterfaceStatsTxMultipleCollision Counter64, + mtxrInterfaceStatsTxSingleCollision Counter64, + mtxrInterfaceStatsTxExcessiveDeferred Counter64, + mtxrInterfaceStatsTxDeferred Counter64, + mtxrInterfaceStatsTxLateCollision Counter64, + mtxrInterfaceStatsTxTotalCollision Counter64, + mtxrInterfaceStatsTxPauseHonored Counter64, + mtxrInterfaceStatsTxDrop Counter64, + mtxrInterfaceStatsTxJabber Counter64, + mtxrInterfaceStatsTxFCSError Counter64, + mtxrInterfaceStatsTxControl Counter64, + mtxrInterfaceStatsTxFragment Counter64 +} + +mtxrInterfaceStatsIndex OBJECT-TYPE + SYNTAX ObjectIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 1 } + +mtxrInterfaceStatsName OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 2 } + +mtxrInterfaceStatsDriverRxBytes OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 11 } + +mtxrInterfaceStatsDriverRxPackets OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 12 } + +mtxrInterfaceStatsDriverTxBytes OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 13 } + +mtxrInterfaceStatsDriverTxPackets OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 14 } + +mtxrInterfaceStatsTxRx64 OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 15 } + +mtxrInterfaceStatsTxRx65To127 OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 16 } + +mtxrInterfaceStatsTxRx128To255 OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 17 } + +mtxrInterfaceStatsTxRx256To511 OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 18 } + +mtxrInterfaceStatsTxRx512To1023 OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 19 } + +mtxrInterfaceStatsTxRx1024To1518 OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 20 } + +mtxrInterfaceStatsTxRx1519ToMax OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 21 } + +mtxrInterfaceStatsRxBytes OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 31 } + +mtxrInterfaceStatsRxPackets OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 32 } + +mtxrInterfaceStatsRxTooShort OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 33 } + +mtxrInterfaceStatsRx64 OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 34 } + +mtxrInterfaceStatsRx65To127 OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 35 } + +mtxrInterfaceStatsRx128To255 OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 36 } + +mtxrInterfaceStatsRx256To511 OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 37 } + +mtxrInterfaceStatsRx512To1023 OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 38 } + +mtxrInterfaceStatsRx1024To1518 OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 39 } + +mtxrInterfaceStatsRx1519ToMax OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 40 } + +mtxrInterfaceStatsRxTooLong OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 41 } + +mtxrInterfaceStatsRxBroadcast OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 42 } + +mtxrInterfaceStatsRxPause OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 43 } + +mtxrInterfaceStatsRxMulticast OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 44 } + +mtxrInterfaceStatsRxFCSError OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 45 } + +mtxrInterfaceStatsRxAlignError OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 46 } + +mtxrInterfaceStatsRxFragment OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 47 } + +mtxrInterfaceStatsRxOverflow OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 48 } + +mtxrInterfaceStatsRxControl OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 49 } + +mtxrInterfaceStatsRxUnknownOp OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 50 } + +mtxrInterfaceStatsRxLengthError OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 51 } + +mtxrInterfaceStatsRxCodeError OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 52 } + +mtxrInterfaceStatsRxCarrierError OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 53 } + +mtxrInterfaceStatsRxJabber OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 54 } + +mtxrInterfaceStatsRxDrop OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 55 } + +mtxrInterfaceStatsTxBytes OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 61 } + +mtxrInterfaceStatsTxPackets OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 62 } + +mtxrInterfaceStatsTxTooShort OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 63 } + +mtxrInterfaceStatsTx64 OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 64 } + +mtxrInterfaceStatsTx65To127 OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 65 } + +mtxrInterfaceStatsTx128To255 OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 66 } + +mtxrInterfaceStatsTx256To511 OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 67 } + +mtxrInterfaceStatsTx512To1023 OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 68 } + +mtxrInterfaceStatsTx1024To1518 OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 69 } + +mtxrInterfaceStatsTx1519ToMax OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 70 } + +mtxrInterfaceStatsTxTooLong OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 71 } + +mtxrInterfaceStatsTxBroadcast OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 72 } + +mtxrInterfaceStatsTxPause OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 73 } + +mtxrInterfaceStatsTxMulticast OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 74 } + +mtxrInterfaceStatsTxUnderrun OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 75 } + +mtxrInterfaceStatsTxCollision OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 76 } + +mtxrInterfaceStatsTxExcessiveCollision OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 77 } + +mtxrInterfaceStatsTxMultipleCollision OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 78 } + +mtxrInterfaceStatsTxSingleCollision OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 79 } + +mtxrInterfaceStatsTxExcessiveDeferred OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 80 } + +mtxrInterfaceStatsTxDeferred OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 81 } + +mtxrInterfaceStatsTxLateCollision OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 82 } + +mtxrInterfaceStatsTxTotalCollision OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 83 } + +mtxrInterfaceStatsTxPauseHonored OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 84 } + +mtxrInterfaceStatsTxDrop OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 85 } + +mtxrInterfaceStatsTxJabber OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 86 } + +mtxrInterfaceStatsTxFCSError OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 87 } + +mtxrInterfaceStatsTxControl OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 88 } + +mtxrInterfaceStatsTxFragment OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrInterfaceStatsEntry 89 } + +mtxrInterfaceStatsGroup OBJECT-GROUP OBJECTS { + mtxrInterfaceStatsName, + mtxrInterfaceStatsDriverRxBytes, + mtxrInterfaceStatsDriverRxPackets, + mtxrInterfaceStatsDriverTxBytes, + mtxrInterfaceStatsDriverTxPackets, + + mtxrInterfaceStatsTxRx64, + mtxrInterfaceStatsTxRx65To127, + mtxrInterfaceStatsTxRx128To255, + mtxrInterfaceStatsTxRx256To511, + mtxrInterfaceStatsTxRx512To1023, + mtxrInterfaceStatsTxRx1024To1518, + mtxrInterfaceStatsTxRx1519ToMax, + + mtxrInterfaceStatsRxBytes, + mtxrInterfaceStatsRxPackets, + mtxrInterfaceStatsRxTooShort, + mtxrInterfaceStatsRx64, + mtxrInterfaceStatsRx65To127, + mtxrInterfaceStatsRx128To255, + mtxrInterfaceStatsRx256To511, + mtxrInterfaceStatsRx512To1023, + mtxrInterfaceStatsRx1024To1518, + mtxrInterfaceStatsRx1519ToMax, + mtxrInterfaceStatsRxTooLong, + mtxrInterfaceStatsRxBroadcast, + mtxrInterfaceStatsRxPause, + mtxrInterfaceStatsRxMulticast, + mtxrInterfaceStatsRxFCSError, + mtxrInterfaceStatsRxAlignError, + mtxrInterfaceStatsRxFragment, + mtxrInterfaceStatsRxOverflow, + mtxrInterfaceStatsRxControl, + mtxrInterfaceStatsRxUnknownOp, + mtxrInterfaceStatsRxLengthError, + mtxrInterfaceStatsRxCodeError, + mtxrInterfaceStatsRxCarrierError, + mtxrInterfaceStatsRxJabber, + mtxrInterfaceStatsRxDrop, + + mtxrInterfaceStatsTxBytes, + mtxrInterfaceStatsTxPackets, + mtxrInterfaceStatsTxTooShort, + mtxrInterfaceStatsTx64, + mtxrInterfaceStatsTx65To127, + mtxrInterfaceStatsTx128To255, + mtxrInterfaceStatsTx256To511, + mtxrInterfaceStatsTx512To1023, + mtxrInterfaceStatsTx1024To1518, + mtxrInterfaceStatsTx1519ToMax, + mtxrInterfaceStatsTxTooLong, + mtxrInterfaceStatsTxBroadcast, + mtxrInterfaceStatsTxPause, + mtxrInterfaceStatsTxMulticast, + mtxrInterfaceStatsTxUnderrun, + mtxrInterfaceStatsTxCollision, + mtxrInterfaceStatsTxExcessiveCollision, + mtxrInterfaceStatsTxMultipleCollision, + mtxrInterfaceStatsTxSingleCollision, + mtxrInterfaceStatsTxExcessiveDeferred, + mtxrInterfaceStatsTxDeferred, + mtxrInterfaceStatsTxLateCollision, + mtxrInterfaceStatsTxTotalCollision, + mtxrInterfaceStatsTxPauseHonored, + mtxrInterfaceStatsTxDrop, + mtxrInterfaceStatsTxJabber, + mtxrInterfaceStatsTxFCSError, + mtxrInterfaceStatsTxControl, + mtxrInterfaceStatsTxFragment + } + STATUS current + DESCRIPTION "" + ::= { mtXRouterOsGroups 17 } + +-- POE ************************************************************************ + +mtxrPOETable OBJECT-TYPE + SYNTAX SEQUENCE OF MtxrPOEEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "Power Over Ethernet" + ::= { mtxrPOE 1 } + +mtxrPOEEntry OBJECT-TYPE + SYNTAX MtxrPOEEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + INDEX { mtxrPOEInterfaceIndex } + ::= { mtxrPOETable 1 } + +MtxrPOEEntry ::= SEQUENCE { + mtxrPOEInterfaceIndex ObjectIndex, + mtxrPOEName DisplayString, + mtxrPOEStatus INTEGER, + mtxrPOEVoltage Voltage, + mtxrPOECurrent Integer32, + mtxrPOEPower Power +} + +mtxrPOEInterfaceIndex OBJECT-TYPE + SYNTAX ObjectIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + ::= { mtxrPOEEntry 1 } + +mtxrPOEName OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrPOEEntry 2 } + +mtxrPOEStatus OBJECT-TYPE + SYNTAX INTEGER { + disabled(1), + waitingForLoad(2), + poweredOn(3), + overload(4) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrPOEEntry 3 } + +mtxrPOEVoltage OBJECT-TYPE + SYNTAX Voltage + MAX-ACCESS read-only + STATUS current + DESCRIPTION "V" + ::= { mtxrPOEEntry 4 } + +mtxrPOECurrent OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "mA" + ::= { mtxrPOEEntry 5 } + +mtxrPOEPower OBJECT-TYPE + SYNTAX Power + MAX-ACCESS read-only + STATUS current + DESCRIPTION "W" + ::= { mtxrPOEEntry 6 } + +mtxrPOEGroup OBJECT-GROUP OBJECTS { + mtxrPOEName, + mtxrPOEStatus, + mtxrPOEVoltage, + mtxrPOECurrent, + mtxrPOEPower + } + STATUS current + DESCRIPTION "" + ::= { mtXRouterOsGroups 18 } + +-- LTE Modem ************************************************************ + +mtxrLTEModemTable OBJECT-TYPE + SYNTAX SEQUENCE OF MtxrLTEModemEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "LTE Modems" + ::= { mtxrLTEModem 1 } + +mtxrLTEModemEntry OBJECT-TYPE + SYNTAX MtxrLTEModemEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + INDEX { mtxrLTEModemInterfaceIndex } + ::= { mtxrLTEModemTable 1 } + +MtxrLTEModemEntry ::= SEQUENCE { + mtxrLTEModemInterfaceIndex ObjectIndex, + mtxrLTEModemSignalRSSI Integer32, + mtxrLTEModemSignalRSRQ Integer32, + mtxrLTEModemSignalRSRP Integer32, + mtxrLTEModemCellId HexInt, + mtxrLTEModemAccessTechnology INTEGER, + mtxrLTEModemSignalSINR Integer32 +} + +mtxrLTEModemInterfaceIndex OBJECT-TYPE + SYNTAX ObjectIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + ::= { mtxrLTEModemEntry 1 } + +mtxrLTEModemSignalRSSI OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "dBm" + ::= { mtxrLTEModemEntry 2 } + +mtxrLTEModemSignalRSRQ OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "dB" + ::= { mtxrLTEModemEntry 3 } + +mtxrLTEModemSignalRSRP OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "dBm" + ::= { mtxrLTEModemEntry 4 } + +mtxrLTEModemCellId OBJECT-TYPE + SYNTAX HexInt + MAX-ACCESS read-only + STATUS current + DESCRIPTION "current cell ID" + ::= { mtxrLTEModemEntry 5 } + +mtxrLTEModemAccessTechnology OBJECT-TYPE + SYNTAX INTEGER { + unknown(-1), + gsmcompact(0), + gsm(1), + utran(2), + egprs(3), + hsdpa(4), + hsupa(5), + hsdpahsupa(6), + eutran(7) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION "as reported by +CREG" + ::= { mtxrLTEModemEntry 6 } + +mtxrLTEModemSignalSINR OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "dB" + ::= { mtxrLTEModemEntry 7 } + +mtxrLTEModemGroup OBJECT-GROUP OBJECTS { + mtxrLTEModemSignalRSSI, + mtxrLTEModemSignalRSRQ, + mtxrLTEModemSignalRSRP, + mtxrLTEModemCellId, + mtxrLTEModemAccessTechnology, + mtxrLTEModemSignalSINR + } + STATUS current + DESCRIPTION "" + ::= { mtXRouterOsGroups 19 } + +-- Partition ************************************************************ + +mtxrPartitionTable OBJECT-TYPE + SYNTAX SEQUENCE OF MtxrPartitionEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "system partitions" + ::= { mtxrPartition 1 } + +mtxrPartitionEntry OBJECT-TYPE + SYNTAX MtxrPartitionEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + INDEX { mtxrPartitionIndex } + ::= { mtxrPartitionTable 1 } + +MtxrPartitionEntry ::= SEQUENCE { + mtxrPartitionIndex ObjectIndex, + mtxrPartitionName DisplayString, + mtxrPartitionSize Integer32, + mtxrPartitionVersion DisplayString, + mtxrPartitionActive BoolValue, + mtxrPartitionRunning BoolValue +} + +mtxrPartitionIndex OBJECT-TYPE + SYNTAX ObjectIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + ::= { mtxrPartitionEntry 1 } + +mtxrPartitionName OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrPartitionEntry 2 } + +mtxrPartitionSize OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "MB" + ::= { mtxrPartitionEntry 3 } + +mtxrPartitionVersion OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrPartitionEntry 4 } + +mtxrPartitionActive OBJECT-TYPE + SYNTAX BoolValue + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrPartitionEntry 5 } + +mtxrPartitionRunning OBJECT-TYPE + SYNTAX BoolValue + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrPartitionEntry 6 } + +mtxrPartitionGroup OBJECT-GROUP OBJECTS { + mtxrPartitionName, + mtxrPartitionSize, + mtxrPartitionVersion, + mtxrPartitionActive, + mtxrPartitionRunning + } + STATUS current + DESCRIPTION "" + ::= { mtXRouterOsGroups 20 } + +-- OPTICAL ***************************************************************** + +mtxrOpticalTable OBJECT-TYPE + SYNTAX SEQUENCE OF MtxrOpticalTableEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "SFP and GPON information" + ::= { mtxrOptical 1 } + +mtxrOpticalTableEntry OBJECT-TYPE + SYNTAX MtxrOpticalTableEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + INDEX { mtxrOpticalIndex } + ::= { mtxrOpticalTable 1 } + +MtxrOpticalTableEntry ::= SEQUENCE { + mtxrOpticalIndex ObjectIndex, + mtxrOpticalName DisplayString, + mtxrOpticalRxLoss BoolValue, + mtxrOpticalTxFault BoolValue, + mtxrOpticalWavelength GDiv100, + mtxrOpticalTemperature Gauge32, + mtxrOpticalSupplyVoltage GDiv1000, + mtxrOpticalTxBiasCurrent Gauge32, + mtxrOpticalTxPower IDiv1000, + mtxrOpticalRxPower IDiv1000 +} + +mtxrOpticalGroup OBJECT-GROUP OBJECTS { + mtxrOpticalName, + mtxrOpticalRxLoss, + mtxrOpticalTxFault, + mtxrOpticalWavelength, + mtxrOpticalTemperature, + mtxrOpticalSupplyVoltage, + mtxrOpticalTxBiasCurrent, + mtxrOpticalTxPower, + mtxrOpticalRxPower + } + STATUS current + DESCRIPTION "" + ::= { mtXRouterOsGroups 6 } + +mtxrOpticalIndex OBJECT-TYPE + SYNTAX ObjectIndex + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "" + ::= { mtxrOpticalTableEntry 1 } + +mtxrOpticalName OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrOpticalTableEntry 2 } + +mtxrOpticalRxLoss OBJECT-TYPE + SYNTAX BoolValue + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrOpticalTableEntry 3 } + +mtxrOpticalTxFault OBJECT-TYPE + SYNTAX BoolValue + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrOpticalTableEntry 4 } + +mtxrOpticalWavelength OBJECT-TYPE + SYNTAX GDiv100 + UNITS "nm" + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrOpticalTableEntry 5 } + +mtxrOpticalTemperature OBJECT-TYPE + SYNTAX Gauge32 + UNITS "C" + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrOpticalTableEntry 6 } + +mtxrOpticalSupplyVoltage OBJECT-TYPE + SYNTAX GDiv1000 + UNITS "V" + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrOpticalTableEntry 7 } + +mtxrOpticalTxBiasCurrent OBJECT-TYPE + SYNTAX Gauge32 + UNITS "mA" + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrOpticalTableEntry 8 } + +mtxrOpticalTxPower OBJECT-TYPE + SYNTAX IDiv1000 + UNITS "dBm" + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrOpticalTableEntry 9 } + +mtxrOpticalRxPower OBJECT-TYPE + SYNTAX IDiv1000 + UNITS "dBm" + MAX-ACCESS read-only + STATUS current + DESCRIPTION "" + ::= { mtxrOpticalTableEntry 10 } + +-- TRAPS ********************************************************************** + +mtxrNotifications OBJECT IDENTIFIER ::= { mtxrTraps 0 } + +mtxrTrap NOTIFICATION-TYPE + STATUS current + DESCRIPTION "Mikrotik trap OID" + ::= { mtxrNotifications 1 } + +mtxrTemperatureException NOTIFICATION-TYPE + STATUS current + DESCRIPTION "Mikrotik CPU temperature exception trap" + ::= { mtxrNotifications 2 } + +mtxrTrapGroup NOTIFICATION-GROUP NOTIFICATIONS { + mtxrTrap, + mtxrTemperatureException + } + STATUS current + DESCRIPTION "" + ::= { mtXRouterOsGroups 14 } + +-- *************************************************************************** + +END diff --git a/aya01.yml b/aya01.yml index 1456c61..910b5e4 100644 --- a/aya01.yml +++ b/aya01.yml @@ -14,8 +14,13 @@ - power_management - role: backblaze tags: - - backup + - backblaze + - role: node_exporter + tags: + - node_exporter - role: docker tags: - docker - + - role: snmp_exporter + tags: + - snmp_exporter diff --git a/group_vars/all/vars.yml b/group_vars/all/vars.yml index 5afd11c..935814d 100644 --- a/group_vars/all/vars.yml +++ b/group_vars/all/vars.yml @@ -4,8 +4,8 @@ user: tudattr timezone: Europe/Berlin rclone_config: "/root/.config/rclone/" -puid: 1000 -pgid: 1000 +puid: "1000" +pgid: "1000" pk_path: "/media/veracrypt1/genesis" local_domain: borg.land @@ -202,28 +202,6 @@ smb_group: "smbshare" smb_user: "smbuser" -# -# prometheus/grafana -# - -prm_user: "prometheus" -exporter_dir: "{{ docker_dir }}/exporter/" - -prm_data: "{{docker_data_dir}}/prometheus/" -prm_config: "{{docker_dir}}/prometheus/" -prm_port: "9091" - -e_node_port: "9100" - -e_mikrotik_ip: "192.168.20.1" -e_mikrotik_version: "1.0.11" -e_mikrotik_config: "{{ exporter_dir }}/mikrotik/config/" -e_mikrotik_port: "9436" - -grafana_data: "{{docker_data_dir}}/grafana/" -grafana_log: "{{docker_dir}}/grafana/logs/" -grafana_config: "{{docker_dir}}/grafana/config/" - # # netdata # @@ -246,6 +224,7 @@ swag_site_confs: - "templates/mii/swag/site-confs/plex.subdomain.conf" - "templates/mii/swag/site-confs/uptime-kuma.subdomain.conf" - "templates/mii/swag/site-confs/tautulli.subdomain.conf" +# - "templates/mii/swag/site-confs/code-server.subdomain.conf" # - "templates/mii/swag/site-confs/homeassistant.subdomain.conf" # - "templates/mii/swag/site-confs/qbittorrent.subdomain.conf" # - "templates/mii/swag/site-confs/zoneminder.subdomain.conf" @@ -332,7 +311,7 @@ bin_upload: "{{ docker_data_dir }}/{{bin_host}}/upload" qbit_port: "8082" qbit_host: "qbit" qbit_config: "templates/aya01/qbittorrentvpn/config" -qbit_ovpn_config: "openvpn/ae.protonvpn.net.udp.ovpn" +qbit_ovpn_config: "openvpn/hu.protonvpn.net.udp.ovpn" qbit_remote_config: "{{ docker_dir }}/{{ qbit_host }}/config" qbit_downloads: "{{ arr_downloads }}" @@ -345,9 +324,9 @@ qbit_dns: "{{ aya01_ip }}, {{ pi_ip }}, 1.1.1.1" # qbittorrentvpn - torrentleech # -qbit_private_port: "8083" -qbit_private_host: "torrentleech" -qbit_private_remote_config: "{{ docker_dir }}/{{ qbit_private_host }}/config" +torrentleech_port: "8083" +torrentleech_host: "torrentleech" +torrentleech_remote_config: "{{ docker_dir }}/{{ torrentleech_host }}/config" # # Home Assistant @@ -363,3 +342,62 @@ hass_host: "hass" tautulli_port: "8181" tautulli_host: "tautulli" tautulli_config: "{{ docker_dir }}/{{ tautulli_host }}/config" + +# +# Code Server +# + +code_port: "8443" +code_host: "code" +code_config: "{{ docker_dir }}/{{ code_host }}/config" + +# +# GlueTun +# + +gluetun_port: "" +gluetun_host: "gluetun" +gluetun_country: "Hungary" +gluetun_config: "{{ docker_dir }}/{{ gluetun_host }}/config" + +# +# NodeExporter +# + +node_exporter_port: 9100 +node_exporter_host: 'node' +node_exporter_version: 'latest' +node_exporter_serve: 'localhost' +node_exporter_options: '' +node_exporter_bin_path: /usr/local/bin/node_exporter + +# +# Prometheus +# + +prometheus_user: "prometheus" +prometheus_host: "prometheus" +prometheus_data: "{{docker_data_dir}}/prometheus/" +prometheus_config: "{{docker_dir}}/prometheus/" +prometheus_port: "9090" + +# +# Grafana +# + +grafana_host: "grafana" +grafana_port: "3000" +grafana_data: "{{docker_data_dir}}/grafana/" +grafana_config: "{{docker_dir}}/grafana/config/" +grafana_logs: "{{docker_dir}}/grafana/logs/" +grafana_puid: "472" +grafana_pgid: "0" + +# +# SNMP Exporter +# + +snmp_exporter_port: "9116" +snmp_exporter_target: "192.168.20.1" +snmp_exporter_config: "{{ docker_dir }}/snmp_exporter/" +snmp_exporter_host: "snmp_exporter" diff --git a/qbit_private.yml b/qbit_private.yml deleted file mode 100644 index 68a90bf..0000000 --- a/qbit_private.yml +++ /dev/null @@ -1,22 +0,0 @@ ---- -- name: Create qbit_torrentleech-config directory - file: - path: "{{ item }}" - owner: "{{ puid }}" - group: "{{ pgid }}" - mode: '775' - state: directory - loop: - - "{{ qbit_private_remote_config }}" - - "{{ qbit_private_remote_config }}/openvpn" - - "{{ qbit_downloads }}" - become: true - -- name: Copy ovpn_torrentleech-config - template: - owner: "{{ puid }}" - group: "{{ pgid }}" - src: "{{ qbit_config }}/{{ qbit_ovpn_config }}" - dest: "{{ qbit_private_remote_config }}/{{ qbit_ovpn_config }}" - mode: '664' - become: true diff --git a/roles/docker/tasks/aya01_compose.yml b/roles/docker/tasks/aya01_compose.yml index b71262e..e8f274e 100644 --- a/roles/docker/tasks/aya01_compose.yml +++ b/roles/docker/tasks/aya01_compose.yml @@ -56,13 +56,25 @@ tags: - bin +- include_tasks: gluetun.yml + tags: + - gluetun + - include_tasks: qbit.yml tags: - qbit - include_tasks: qbit_private.yml tags: - - qbit_private + - qbit_priv + +- include_tasks: prometheus.yml + tags: + - prometheus + +- include_tasks: grafana.yml + tags: + - grafana - name: Copy the compose file template: diff --git a/roles/docker/tasks/gluetun.yml b/roles/docker/tasks/gluetun.yml new file mode 100644 index 0000000..a56704b --- /dev/null +++ b/roles/docker/tasks/gluetun.yml @@ -0,0 +1,11 @@ +--- +- name: Create gluetun-config directory + file: + path: "{{ item }}" + owner: "{{ puid }}" + group: "{{ pgid }}" + mode: '775' + state: directory + loop: + - "{{ gluetun_config}}" + become: true diff --git a/roles/docker/tasks/grafana.yml b/roles/docker/tasks/grafana.yml index 1910b44..260e0f3 100644 --- a/roles/docker/tasks/grafana.yml +++ b/roles/docker/tasks/grafana.yml @@ -2,21 +2,21 @@ - name: Create grafana data directory file: path: "{{ item }}" - owner: "{{ puid }}" - group: "{{ pgid }}" + owner: "{{ grafana_puid }}" + group: "{{ grafana_pgid }}" mode: '755' state: directory loop: - "{{ grafana_data }}" - - "{{ grafana_log }}" - "{{ grafana_config }}" become: true - name: Copy grafana config template: - owner: "{{ puid }}" - src: "templates/aya01/grafana/etc-grafana/grafana.ini" + owner: "{{ grafana_puid }}" + group: "{{ grafana_pgid }}" + src: "templates/aya01/grafana/etc-grafana/grafana.ini.j2" dest: "{{ grafana_config }}/grafana.ini" - mode: '660' + mode: '644' become: true diff --git a/roles/docker/tasks/install.yml b/roles/docker/tasks/install.yml index 50b555e..e0d2504 100644 --- a/roles/docker/tasks/install.yml +++ b/roles/docker/tasks/install.yml @@ -39,7 +39,7 @@ ansible.builtin.get_url: url: "{{ docker_apt_gpg_key }}" dest: /etc/apt/trusted.gpg.d/docker.asc - mode: '0644' + mode: '0664' force: true become: true diff --git a/roles/docker/tasks/prometheus.yml b/roles/docker/tasks/prometheus.yml index e8255a4..eb72587 100644 --- a/roles/docker/tasks/prometheus.yml +++ b/roles/docker/tasks/prometheus.yml @@ -1,42 +1,19 @@ --- - - name: Create prometheus dirs file: path: "{{ item }}" - owner: 1000 - group: 1000 - mode: '777' + owner: "{{ puid }}" + group: "{{ pgid}}" + mode: '775' state: directory loop: - - "{{ prm_config }}" - - "{{ prm_data}}" + - "{{ prometheus_config }}" + - "{{ prometheus_data }}" - name: Place prometheus config template: - owner: 1000 - mode: '777' - src: "templates/aya01/prometheus/prometheus.yml" - dest: "{{ prm_config }}/prometheus.yml" - -- name: Create prometheus exporter dir - file: - path: "{{ exporter_dir }}" - owner: 1000 - group: 1000 - mode: '755' - state: directory - -- name: Create mikrotik exporters config dir - file: - path: "{{ e_mikrotik_config }}" - owner: 1000 - group: 1000 - mode: '755' - state: directory - -- name: Place mikrotik exporter config - template: - owner: 1000 - mode: '400' - src: "templates/aya01/prometheus/exporter/mikrotik/config/config.yml" - dest: "{{ e_mikrotik_config }}/config.yml" + owner: "{{ puid }}" + group: "{{ pgid}}" + mode: '644' + src: "templates/aya01/prometheus/prometheus.yml.j2" + dest: "{{ prometheus_config }}/prometheus.yml" diff --git a/roles/docker/tasks/qbit.yml b/roles/docker/tasks/qbit.yml index 4999a13..be331c0 100644 --- a/roles/docker/tasks/qbit.yml +++ b/roles/docker/tasks/qbit.yml @@ -8,15 +8,5 @@ state: directory loop: - "{{ qbit_remote_config }}" - - "{{ qbit_remote_config }}/openvpn" - "{{ qbit_downloads }}" become: true - -- name: Copy ovpn-config - template: - owner: "{{ puid }}" - group: "{{ pgid }}" - src: "{{ qbit_config }}/{{ qbit_ovpn_config }}" - dest: "{{ qbit_remote_config }}/{{ qbit_ovpn_config }}" - mode: '664' - become: true diff --git a/roles/docker/tasks/qbit_private.yml b/roles/docker/tasks/qbit_private.yml new file mode 100644 index 0000000..f0c617a --- /dev/null +++ b/roles/docker/tasks/qbit_private.yml @@ -0,0 +1,12 @@ +--- +- name: Create qbit_torrentleech-config directory + file: + path: "{{ item }}" + owner: "{{ puid }}" + group: "{{ pgid }}" + mode: '775' + state: directory + loop: + - "{{ torrentleech_remote_config }}" + - "{{ qbit_downloads }}" + become: true diff --git a/roles/docker/tasks/swag.yml b/roles/docker/tasks/swag.yml index 67e2671..b43efb4 100644 --- a/roles/docker/tasks/swag.yml +++ b/roles/docker/tasks/swag.yml @@ -15,6 +15,6 @@ group: "{{ pgid }}" src: "{{ item }}" dest: "{{ swag_remote_site_confs }}" - mode: '644' + mode: '664' loop: "{{ swag_site_confs }}" become: true diff --git a/roles/docker/templates/aya01/compose.yaml b/roles/docker/templates/aya01/compose.yaml index e1ea647..33eb8c7 100644 --- a/roles/docker/templates/aya01/compose.yaml +++ b/roles/docker/templates/aya01/compose.yaml @@ -103,7 +103,6 @@ services: - "traefik.http.routers.{{ zoneminder_host }}.rule=Host(`{{ zoneminder_host}}.{{ aya01_host }}.{{ local_domain }}`)" - "traefik.http.services.{{ zoneminder_host }}.loadbalancer.server.port=80" - syncthing: image: syncthing/syncthing container_name: syncthing @@ -334,68 +333,6 @@ services: - "traefik.http.routers.{{ bin_host }}.rule=Host(`{{ bin_host }}.{{ aya01_host }}.{{ local_domain }}`)" - "traefik.http.services.{{ bin_host }}.loadbalancer.server.port={{ bin_port }}" - qbittorrentvpn: - image: dyonr/qbittorrentvpn - container_name: {{ qbit_host }} - restart: unless-stopped - privileged: true - depends_on: - - sonarr - - radarr - - lidarr - networks: - - net - ports: - - "{{ qbit_port }}:8080" - environment: - - PUID={{ puid }} - - PGID={{ pgid }} - - TZ={{ timezone }} - - VPN_TYPE={{ qbit_type }} - - LAN_NETWORK={{ qbit_lan }} - - NAME_SERVERS={{ qbit_dns }} - - ENABLE_SSL={{ qbit_ssl }} - - VPN_USERNAME={{ vault_qbit_vpn_user }} - - VPN_PASSWORD={{ vault_qbit_vpn_password }} - volumes: - - {{ qbit_remote_config }}:/config - - {{ qbit_downloads }}:/downloads - labels: - - "traefik.enable=true" - - "traefik.http.routers.{{ qbit_host }}.rule=Host(`{{ qbit_host }}.{{ aya01_host }}.{{ local_domain }}`)" - - "traefik.http.services.{{ qbit_host }}.loadbalancer.server.port=8080" - - - qbittorrentvpnprivate: - image: dyonr/qbittorrentvpn - container_name: {{ qbit_private_host }} - restart: unless-stopped - privileged: true - depends_on: - - sonarr - - radarr - - lidarr - networks: - - net - ports: - - "{{ qbit_private_port }}:8080" - environment: - - PUID={{ puid }} - - PGID={{ pgid }} - - TZ={{ timezone }} - - VPN_TYPE={{ qbit_type }} - - LAN_NETWORK={{ qbit_lan }} - - NAME_SERVERS={{ qbit_dns }} - - ENABLE_SSL={{ qbit_ssl }} - - VPN_USERNAME={{ vault_qbit_vpn_user }} - - VPN_PASSWORD={{ vault_qbit_vpn_password }} - volumes: - - {{ qbit_private_remote_config }}:/config - - {{ qbit_downloads }}:/downloads - labels: - - "traefik.enable=true" - - "traefik.http.routers.{{ qbit_private_host }}.rule=Host(`{{ qbit_private_host }}.{{ aya01_host }}.{{ local_domain }}`)" - - "traefik.http.services.{{ qbit_private_host }}.loadbalancer.server.port=8080" tautulli: image: lscr.io/linuxserver/tautulli:latest container_name: tautulli @@ -417,6 +354,125 @@ services: - "traefik.http.routers.{{ tautulli_host }}.rule=Host(`{{ tautulli_host }}.{{ aya01_host }}.{{ local_domain }}`)" - "traefik.http.services.{{ tautulli_host }}.loadbalancer.server.port={{ tautulli_port }}" + {{ gluetun_host }}: + image: qmcgaw/gluetun + container_name: {{ gluetun_host }} + restart: unless-stopped + networks: + - net + cap_add: + - NET_ADMIN + devices: + - /dev/net/tun:/dev/net/tun + ports: + - {{ torrentleech_port }}:{{ torrentleech_port }} + - {{ qbit_port }}:{{ qbit_port }} + volumes: + - {{ gluetun_config }}:/gluetun + environment: + - PUID={{puid}} + - PGID={{pgid}} + - TZ={{ timezone }} + - VPN_SERVICE_PROVIDER=protonvpn + - UPDATER_VPN_SERVICE_PROVIDERS=protonvpn + - UPDATER_PERIOD=24h + - SERVER_COUNTRIES={{ gluetun_country }} + - OPENVPN_USER={{ vault_qbit_vpn_user }}+pmp + - OPENVPN_PASSWORD={{ vault_qbit_vpn_password }} + labels: + - "traefik.enable=true" + - "traefik.http.routers.{{ gluetun_host }}.rule=Host(`{{ gluetun_host }}.{{ aya01_host }}.{{ local_domain }}`)" + - "traefik.http.services.{{ gluetun_host }}.loadbalancer.server.port={{ gluetun_port }}" + - "traefik.http.routers.{{ torrentleech_host }}.service={{ torrentleech_host }}" + - "traefik.http.routers.{{ torrentleech_host }}.rule=Host(`{{ torrentleech_host }}.{{ aya01_host }}.{{ local_domain }}`)" + - "traefik.http.services.{{ torrentleech_host }}.loadbalancer.server.port={{ torrentleech_port }}" + - "traefik.http.routers.{{ qbit_host }}.service={{ qbit_host }}" + - "traefik.http.routers.{{ qbit_host }}.rule=Host(`{{ qbit_host }}.{{ aya01_host }}.{{ local_domain }}`)" + - "traefik.http.services.{{ qbit_host }}.loadbalancer.server.port={{ qbit_port }}" + + {{ torrentleech_host }}: + image: qbittorrentofficial/qbittorrent-nox + container_name: {{ torrentleech_host }} + restart: unless-stopped + depends_on: + - gluetun + - sonarr + - radarr + - lidarr + network_mode: "container:{{ gluetun_host }}" + environment: + - PUID={{ puid }} + - PGID={{ pgid }} + - TZ={{ timezone }} + - QBT_EULA="accept" + - QBT_WEBUI_PORT="{{ torrentleech_port }}" + volumes: + - {{ torrentleech_remote_config }}:/config + - {{ qbit_downloads }}:/downloads + + {{qbit_host}}: + image: qbittorrentofficial/qbittorrent-nox + container_name: {{ qbit_host }} + restart: unless-stopped + depends_on: + - gluetun + - sonarr + - radarr + - lidarr + network_mode: "container:{{ gluetun_host }}" + environment: + - PUID={{ puid }} + - PGID={{ pgid }} + - TZ={{ timezone }} + - QBT_EULA="accept" + - QBT_WEBUI_PORT="{{ qbit_port }}" + volumes: + - {{ qbit_remote_config }}:/config + - {{ qbit_downloads }}:/downloads + + {{ prometheus_host }}: + image: prom/prometheus + container_name: {{ prometheus_host }} + restart: unless-stopped + depends_on: + - pihole + networks: + - net + environment: + - PUID={{ puid }} + - PGID={{ pgid}} + - TZ={{ timezone }} + volumes: + - {{ prometheus_config }}:/etc/prometheus/ + ports: + - {{ prometheus_port }}:9090 + labels: + - "traefik.enable=true" + - "traefik.http.routers.{{ prometheus_host }}.rule=Host(`{{ prometheus_host }}.{{ aya01_host }}.{{ local_domain }}`)" + - "traefik.http.services.{{ prometheus_host }}.loadbalancer.server.port={{ prometheus_port }}" + + {{ grafana_host }}: + image: grafana/grafana-oss + container_name: {{ grafana_host }} + restart: unless-stopped + depends_on: + - {{ prometheus_host }} + networks: + - net + environment: + - PUID={{ grafana_puid }} + - PGID={{ grafana_pgid }} + - TZ={{ timezone }} + volumes: + - {{ grafana_data }}:/var/lib/grafana/ + - {{ grafana_config }}:/etc/grafana/ + ports: + - {{ grafana_port }}:3000 + labels: + - "traefik.enable=true" + - "traefik.http.routers.{{ grafana_host }}.rule=Host(`{{ grafana_host }}.{{ aya01_host }}.{{ local_domain }}`)" + - "traefik.http.services.{{ grafana_host }}.loadbalancer.server.port={{ grafana_port }}" + networks: zoneminder: driver: bridge diff --git a/roles/docker/templates/aya01/grafana/etc-grafana/grafana.ini b/roles/docker/templates/aya01/grafana/etc-grafana/grafana.ini deleted file mode 100644 index e69de29..0000000 diff --git a/roles/docker/templates/aya01/grafana/etc-grafana/grafana.ini.j2 b/roles/docker/templates/aya01/grafana/etc-grafana/grafana.ini.j2 new file mode 100644 index 0000000..dc1b7a0 --- /dev/null +++ b/roles/docker/templates/aya01/grafana/etc-grafana/grafana.ini.j2 @@ -0,0 +1,1464 @@ +##################### Grafana Configuration Example ##################### +# +# Everything has defaults so you only need to uncomment things you want to +# change + +# possible values : production, development +;app_mode = production + +# instance name, defaults to HOSTNAME environment variable value or hostname if HOSTNAME var is empty +;instance_name = ${HOSTNAME} + +# force migration will run migrations that might cause dataloss +;force_migration = false + +#################################### Paths #################################### +[paths] +# Path to where grafana can store temp files, sessions, and the sqlite3 db (if that is used) +;data = /var/lib/grafana + +# Temporary files in `data` directory older than given duration will be removed +;temp_data_lifetime = 24h + +# Directory where grafana can store logs +;logs = /var/log/grafana + +# Directory where grafana will automatically scan and look for plugins +;plugins = /var/lib/grafana/plugins + +# folder that contains provisioning config files that grafana will apply on startup and while running. +;provisioning = conf/provisioning + +#################################### Server #################################### +[server] +# Protocol (http, https, h2, socket) +;protocol = http + +# This is the minimum TLS version allowed. By default, this value is empty. Accepted values are: TLS1.2, TLS1.3. If nothing is set TLS1.2 would be taken +;min_tls_version = "" + +# The ip address to bind to, empty will bind to all interfaces +;http_addr = + +# The http port to use +;http_port = 3000 + +# The public facing domain name used to access grafana from a browser +;domain = localhost + +# Redirect to correct domain if host header does not match domain +# Prevents DNS rebinding attacks +;enforce_domain = false + +# The full public facing url you use in browser, used for redirects and emails +# If you use reverse proxy and sub path specify full url (with sub path) +;root_url = %(protocol)s://%(domain)s:%(http_port)s/ + +# Serve Grafana from subpath specified in `root_url` setting. By default it is set to `false` for compatibility reasons. +;serve_from_sub_path = false + +# Log web requests +;router_logging = false + +# the path relative working path +;static_root_path = public + +# enable gzip +;enable_gzip = false + +# https certs & key file +;cert_file = +;cert_key = + +# Unix socket gid +# Changing the gid of a file without privileges requires that the target group is in the group of the process and that the process is the file owner +# It is recommended to set the gid as http server user gid +# Not set when the value is -1 +;socket_gid = + +# Unix socket mode +;socket_mode = + +# Unix socket path +;socket = + +# CDN Url +;cdn_url = + +# Sets the maximum time using a duration format (5s/5m/5ms) before timing out read of an incoming request and closing idle connections. +# `0` means there is no timeout for reading the request. +;read_timeout = 0 + +# This setting enables you to specify additional headers that the server adds to HTTP(S) responses. +[server.custom_response_headers] +#exampleHeader1 = exampleValue1 +#exampleHeader2 = exampleValue2 + +#################################### GRPC Server ######################### +;[grpc_server] +;network = "tcp" +;address = "127.0.0.1:10000" +;use_tls = false +;cert_file = +;key_file = + +#################################### Database #################################### +[database] +# You can configure the database connection by specifying type, host, name, user and password +# as separate properties or as on string using the url properties. + +# Either "mysql", "postgres" or "sqlite3", it's your choice +;type = sqlite3 +;host = 127.0.0.1:3306 +;name = grafana +;user = root +# If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;""" +;password = + +# Use either URL or the previous fields to configure the database +# Example: mysql://user:secret@host:port/database +;url = + +# For "postgres", use either "disable", "require" or "verify-full" +# For "mysql", use either "true", "false", or "skip-verify". +;ssl_mode = disable + +# Database drivers may support different transaction isolation levels. +# Currently, only "mysql" driver supports isolation levels. +# If the value is empty - driver's default isolation level is applied. +# For "mysql" use "READ-UNCOMMITTED", "READ-COMMITTED", "REPEATABLE-READ" or "SERIALIZABLE". +;isolation_level = + +;ca_cert_path = +;client_key_path = +;client_cert_path = +;server_cert_name = + +# For "sqlite3" only, path relative to data_path setting +;path = grafana.db + +# Max idle conn setting default is 2 +;max_idle_conn = 2 + +# Max conn setting default is 0 (mean not set) +;max_open_conn = + +# Connection Max Lifetime default is 14400 (means 14400 seconds or 4 hours) +;conn_max_lifetime = 14400 + +# Set to true to log the sql calls and execution times. +;log_queries = + +# For "sqlite3" only. cache mode setting used for connecting to the database. (private, shared) +;cache_mode = private + +# For "sqlite3" only. Enable/disable Write-Ahead Logging, https://sqlite.org/wal.html. Default is false. +;wal = false + +# For "mysql" only if migrationLocking feature toggle is set. How many seconds to wait before failing to lock the database for the migrations, default is 0. +;locking_attempt_timeout_sec = 0 + +# For "sqlite" only. How many times to retry query in case of database is locked failures. Default is 0 (disabled). +;query_retries = 0 + +# For "sqlite" only. How many times to retry transaction in case of database is locked failures. Default is 5. +;transaction_retries = 5 + +# Set to true to add metrics and tracing for database queries. +;instrument_queries = false + +################################### Data sources ######################### +[datasources] +# Upper limit of data sources that Grafana will return. This limit is a temporary configuration and it will be deprecated when pagination will be introduced on the list data sources API. +;datasource_limit = 5000 + +#################################### Cache server ############################# +[remote_cache] +# Either "redis", "memcached" or "database" default is "database" +;type = database + +# cache connectionstring options +# database: will use Grafana primary database. +# redis: config like redis server e.g. `addr=127.0.0.1:6379,pool_size=100,db=0,ssl=false`. Only addr is required. ssl may be 'true', 'false', or 'insecure'. +# memcache: 127.0.0.1:11211 +;connstr = + +# prefix prepended to all the keys in the remote cache +; prefix = + +# This enables encryption of values stored in the remote cache +;encryption = + +#################################### Data proxy ########################### +[dataproxy] + +# This enables data proxy logging, default is false +;logging = false + +# How long the data proxy waits to read the headers of the response before timing out, default is 30 seconds. +# This setting also applies to core backend HTTP data sources where query requests use an HTTP client with timeout set. +;timeout = 30 + +# How long the data proxy waits to establish a TCP connection before timing out, default is 10 seconds. +;dialTimeout = 10 + +# How many seconds the data proxy waits before sending a keepalive probe request. +;keep_alive_seconds = 30 + +# How many seconds the data proxy waits for a successful TLS Handshake before timing out. +;tls_handshake_timeout_seconds = 10 + +# How many seconds the data proxy will wait for a server's first response headers after +# fully writing the request headers if the request has an "Expect: 100-continue" +# header. A value of 0 will result in the body being sent immediately, without +# waiting for the server to approve. +;expect_continue_timeout_seconds = 1 + +# Optionally limits the total number of connections per host, including connections in the dialing, +# active, and idle states. On limit violation, dials will block. +# A value of zero (0) means no limit. +;max_conns_per_host = 0 + +# The maximum number of idle connections that Grafana will keep alive. +;max_idle_connections = 100 + +# How many seconds the data proxy keeps an idle connection open before timing out. +;idle_conn_timeout_seconds = 90 + +# If enabled and user is not anonymous, data proxy will add X-Grafana-User header with username into the request, default is false. +;send_user_header = false + +# Limit the amount of bytes that will be read/accepted from responses of outgoing HTTP requests. +;response_limit = 0 + +# Limits the number of rows that Grafana will process from SQL data sources. +;row_limit = 1000000 + +# Sets a custom value for the `User-Agent` header for outgoing data proxy requests. If empty, the default value is `Grafana/` (for example `Grafana/9.0.0`). +;user_agent = + +#################################### Analytics #################################### +[analytics] +# Server reporting, sends usage counters to stats.grafana.org every 24 hours. +# No ip addresses are being tracked, only simple counters to track +# running instances, dashboard and error counts. It is very helpful to us. +# Change this option to false to disable reporting. +;reporting_enabled = true + +# The name of the distributor of the Grafana instance. Ex hosted-grafana, grafana-labs +;reporting_distributor = grafana-labs + +# Set to false to disable all checks to https://grafana.com +# for new versions of grafana. The check is used +# in some UI views to notify that a grafana update exists. +# This option does not cause any auto updates, nor send any information +# only a GET request to https://raw.githubusercontent.com/grafana/grafana/main/latest.json to get the latest version. +;check_for_updates = true + +# Set to false to disable all checks to https://grafana.com +# for new versions of plugins. The check is used +# in some UI views to notify that a plugin update exists. +# This option does not cause any auto updates, nor send any information +# only a GET request to https://grafana.com to get the latest versions. +;check_for_plugin_updates = true + +# Google Analytics universal tracking code, only enabled if you specify an id here +;google_analytics_ua_id = + +# Google Analytics 4 tracking code, only enabled if you specify an id here +;google_analytics_4_id = + +# When Google Analytics 4 Enhanced event measurement is enabled, we will try to avoid sending duplicate events and let Google Analytics 4 detect navigation changes, etc. +;google_analytics_4_send_manual_page_views = false + +# Google Tag Manager ID, only enabled if you specify an id here +;google_tag_manager_id = + +# Rudderstack write key, enabled only if rudderstack_data_plane_url is also set +;rudderstack_write_key = + +# Rudderstack data plane url, enabled only if rudderstack_write_key is also set +;rudderstack_data_plane_url = + +# Rudderstack SDK url, optional, only valid if rudderstack_write_key and rudderstack_data_plane_url is also set +;rudderstack_sdk_url = + +# Rudderstack Config url, optional, used by Rudderstack SDK to fetch source config +;rudderstack_config_url = + +# Intercom secret, optional, used to hash user_id before passing to Intercom via Rudderstack +;intercom_secret = + +# Controls if the UI contains any links to user feedback forms +;feedback_links_enabled = true + +#################################### Security #################################### +[security] +# disable creation of admin user on first start of grafana +;disable_initial_admin_creation = false + +# default admin user, created on startup +;admin_user = admin + +# default admin password, can be changed before first start of grafana, or in profile settings +;admin_password = admin + +# default admin email, created on startup +;admin_email = admin@localhost + +# used for signing +;secret_key = SW2YcwTIb9zpOOhoPsMm + +# current key provider used for envelope encryption, default to static value specified by secret_key +;encryption_provider = secretKey.v1 + +# list of configured key providers, space separated (Enterprise only): e.g., awskms.v1 azurekv.v1 +;available_encryption_providers = + +# disable gravatar profile images +;disable_gravatar = false + +# data source proxy whitelist (ip_or_domain:port separated by spaces) +;data_source_proxy_whitelist = + +# disable protection against brute force login attempts +;disable_brute_force_login_protection = false + +# set to true if you host Grafana behind HTTPS. default is false. +;cookie_secure = false + +# set cookie SameSite attribute. defaults to `lax`. can be set to "lax", "strict", "none" and "disabled" +;cookie_samesite = lax + +# set to true if you want to allow browsers to render Grafana in a ,