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