restructured mib, learned from IF-MIB
This commit is contained in:
parent
30f7a980c7
commit
2751e7c005
@ -112,13 +112,19 @@ version OBJECT-TYPE
|
||||
::= { local 19 }
|
||||
|
||||
|
||||
peerNumber OBJECT-TYPE
|
||||
SYNTAX INTEGER
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "Number of Peers."
|
||||
::= { peers 1 }
|
||||
|
||||
peerTable OBJECT-TYPE
|
||||
SYNTAX SEQUENCE OF PeerEntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION "Tabelle mit NTP-Peers."
|
||||
::= { peers 1 }
|
||||
::= { peers 2 }
|
||||
|
||||
peerEntry OBJECT-TYPE
|
||||
SYNTAX PeerEntry
|
||||
@ -129,73 +135,81 @@ peerEntry OBJECT-TYPE
|
||||
::= { peerTable 1 }
|
||||
|
||||
PeerEntry ::= SEQUENCE {
|
||||
associd Integer32,
|
||||
index INTEGER,
|
||||
associd INTEGER,
|
||||
srcadr IpAddress,
|
||||
srcport Integer32,
|
||||
srcport INTEGER,
|
||||
dstadr IpAddress,
|
||||
dstport Integer32,
|
||||
leap Integer32,
|
||||
hmode Integer32,
|
||||
stratum Integer32,
|
||||
ppoll Integer32,
|
||||
hpoll Integer32,
|
||||
precision Integer32,
|
||||
rootdelay Integer32,
|
||||
rootdisp Integer32,
|
||||
dstport INTEGER,
|
||||
leap INTEGER,
|
||||
hmode INTEGER,
|
||||
stratum INTEGER,
|
||||
ppoll INTEGER,
|
||||
hpoll INTEGER,
|
||||
precision INTEGER,
|
||||
rootdelay INTEGER,
|
||||
rootdisp INTEGER,
|
||||
refid DisplayString,
|
||||
reftime DisplayString,
|
||||
rec DisplayString,
|
||||
xmt DisplayString,
|
||||
reach Integer32,
|
||||
unreach Integer32,
|
||||
reach INTEGER,
|
||||
unreach INTEGER,
|
||||
delay_s DisplayString,
|
||||
delay Integer32,
|
||||
offset Integer32,
|
||||
jitter Integer32,
|
||||
dispersion Integer32,
|
||||
keyid Integer32,
|
||||
delay INTEGER,
|
||||
offset INTEGER,
|
||||
jitter INTEGER,
|
||||
dispersion INTEGER,
|
||||
keyid INTEGER,
|
||||
filtdelay DisplayString,
|
||||
filtoffset DisplayString,
|
||||
pmode Integer32,
|
||||
pmode INTEGER,
|
||||
filtdisp DisplayString,
|
||||
flash Integer32,
|
||||
headway Integer32,
|
||||
ntscookies Integer32
|
||||
flash INTEGER,
|
||||
headway INTEGER,
|
||||
ntscookies INTEGER
|
||||
}
|
||||
|
||||
index OBJECT-TYPE
|
||||
SYNTAX INTEGER
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "Peer-Index."
|
||||
::= { peerEntry 1 }
|
||||
|
||||
associd OBJECT-TYPE
|
||||
SYNTAX Integer32
|
||||
SYNTAX INTEGER
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "Peer-Identifikationsnummer."
|
||||
::= { peerEntry 1 }
|
||||
::= { peerEntry 2 }
|
||||
|
||||
srcadr OBJECT-TYPE
|
||||
SYNTAX IpAddress
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "Quell-IP-Adresse des Peers."
|
||||
::= { peerEntry 2 }
|
||||
::= { peerEntry 3 }
|
||||
|
||||
srcport OBJECT-TYPE
|
||||
SYNTAX Integer32
|
||||
SYNTAX INTEGER
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "Quellport des Peers."
|
||||
::= { peerEntry 3 }
|
||||
::= { peerEntry 4 }
|
||||
|
||||
dstadr OBJECT-TYPE
|
||||
SYNTAX IpAddress
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "Ziel-IP-Adresse des Peers."
|
||||
::= { peerEntry 4 }
|
||||
::= { peerEntry 5 }
|
||||
|
||||
dstport OBJECT-TYPE
|
||||
SYNTAX Integer32
|
||||
SYNTAX INTEGER
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION "Zielport des Peers."
|
||||
::= { peerEntry 5 }
|
||||
::= { peerEntry 6 }
|
||||
|
||||
END
|
||||
|
@ -17,8 +17,18 @@ import ipaddress
|
||||
BASE_OID_ENTERPRISE = '1.3.6.1.4.1'
|
||||
BASE_OID_HOTTIS = BASE_OID_ENTERPRISE + '.9676'
|
||||
BASE_OID_HOTTIS_NTPSEC = BASE_OID_HOTTIS + '.123'
|
||||
|
||||
# just the prefix where the objects are below
|
||||
LOCAL_PREFIX = '1'
|
||||
|
||||
PEERS_PREFIX = '2'
|
||||
NUMBER_OF_PEERS_PREFIX = PEERS_PREFIX + '.1'
|
||||
|
||||
# this is for a table
|
||||
# 2 is the prefix
|
||||
# the first 1 is for the table in the mib
|
||||
# the second 1 is for the entries in the table in the mib
|
||||
TABLE_OF_PEERS_PREFIX = PEERS_PREFIX + '.2.1'
|
||||
|
||||
|
||||
def int_scale1k(x):
|
||||
@ -171,17 +181,31 @@ class NtpsecDataUpdater(pyagentx3.Updater):
|
||||
'type': data_spec[1],
|
||||
'value': data_spec[2](ds.data['local'][data_spec[0]])
|
||||
}
|
||||
number_of_peers = len(ds.data['peers'])
|
||||
logger.debug(f"number of peers: {number_of_peers}")
|
||||
number_of_peers_oid_prefix = f"{NUMBER_OF_PEERS_PREFIX}"
|
||||
self._data[number_of_peers_oid_prefix] = {
|
||||
'name': number_of_peers_oid_prefix,
|
||||
'type': pyagentx3.TYPE_INTEGER,
|
||||
'value': number_of_peers
|
||||
}
|
||||
for peer_index, (associd, peer) in enumerate(ds.data['peers'].items(), start=1):
|
||||
logger.debug(f"peer: {peer}")
|
||||
index_oid_prefix = f"{PEERS_PREFIX}.1.{peer_index}"
|
||||
index_oid_prefix = f"{TABLE_OF_PEERS_PREFIX}.1.{peer_index}"
|
||||
self._data[index_oid_prefix] = {
|
||||
'name': index_oid_prefix,
|
||||
'type': pyagentx3.TYPE_INTEGER,
|
||||
'value': peer_index
|
||||
}
|
||||
associd_oid_prefix = f"{TABLE_OF_PEERS_PREFIX}.2.{peer_index}"
|
||||
self._data[associd_oid_prefix] = {
|
||||
'name': associd_oid_prefix,
|
||||
'type': pyagentx3.TYPE_INTEGER,
|
||||
'value': associd
|
||||
}
|
||||
for key_index, data_spec in enumerate(PEER_KEYS, start=2):
|
||||
for key_index, data_spec in enumerate(PEER_KEYS, start=3):
|
||||
logger.debug(f"peer: {associd=} {key_index=} {data_spec=}")
|
||||
oid_prefix = f"{PEERS_PREFIX}.{key_index}.{peer_index}"
|
||||
oid_prefix = f"{TABLE_OF_PEERS_PREFIX}.{key_index}.{peer_index}"
|
||||
self._data[oid_prefix] = {
|
||||
'name': oid_prefix,
|
||||
'type': data_spec[1],
|
||||
|
Loading…
x
Reference in New Issue
Block a user