2 Tīkla saskarņu atklāšana
Ir iespējams atklāt tīkla saskarnes un to īpašības:
- saskarnes nosaukumu
- saskarnes aizstājvārdu
- saskarnes MAC adresi
- saskarnes tipu
- savienojuma ātrumu
- saskarnes jaunāko vai pašreizējo dupleksa vērtību
- konfigurēto un RFC2863 darbības stāvokli
- fiziska savienojuma esamību
- reižu skaitu, kad savienojums ir kļuvis aktīvs vai neaktīvs, un kopējo reižu skaitu, kad savienojuma stāvoklis ir mainījies
- ienākošo un izejošo trafiku
Lai to izdarītu, varat izmantot šādu kombināciju:
net.if.getaģenta vienumu kā galveno vienumu- atkarīgu zemā līmeņa atklāšanas noteikumu
- atkarīgus vienumu prototipus
Konfigurācija
Galvenais vienums
Izveidojiet Zabbix aģenta vienumu, izmantojot šādu atslēgu:
net.if.get[enp.*]

Iestatiet Informācijas tipu uz Teksts, ja iespējami lieli JSON dati.
Vēsturi var iestatīt uz Nesaglabāt, jo tas tiek izmantots tikai kā galvenais vienums.
Var konfigurēt salīdzinoši īsu atjaunināšanas intervālu, piemēram, 1m, lai nodrošinātu biežu datu aptauju.
Vienums atrod tīkla saskarnes, kuru nosaukumi atbilst enp.*, un atgriež to konfigurāciju un statistiku.
Šī vienuma atgrieztie dati saturēs informāciju, kas tīkla saskarnēm ir līdzīga šādai:
{
"config": [
{
"name": "enp0s3",
"mac": "08:00:27:9a:8f:bb",
"type": "physical",
"speed": 1000,
"duplex": "full",
"administrative_state": "up",
"operational_state": "up",
"carrier": 1
}
],
"values": [
{
"name": "enp0s3",
"mac": "08:00:27:9a:8f:bb",
"carrier": 1,
"carrier_changes": 2,
"carrier_up_count": 1,
"carrier_down_count": 1,
"in": {
"bytes": 98241651,
"packets": 72754,
"errors": 0,
"dropped": 0,
"overruns": 0,
"frame": 0,
"compressed": 0,
"multicast": 17
},
"out": {
"bytes": 1299650,
"packets": 11380,
"errors": 0,
"dropped": 0,
"overruns": 0,
"collisions": 0,
"carrier": 0,
"compressed": 0
}
}
]
}
Atkarīgais LLD noteikums
Izveidojiet zema līmeņa atklāšanas noteikumu kā Atkarīgais vienums tipu:

Kā galveno vienumu atlasiet izveidoto net.if.get vienumu.
Cilnē Priekšapstrāde pievienojiet:
- JSONPath soli ar
$.configparametru. - Discard unchanged with heartbeat soli ar pietiekami lielu heartbeat, piemēram,
1h, lai izvairītos no nevajadzīgas LLD izpildes. Tas ļauj galveno vienumu aptaujāt bieži, kamēr zema līmeņa atklāšana tiek veikta tikai tad, kad maināsconfigvai kad beidzas heartbeat periods.

Cilnē LLD makro definējiet pielāgotus makro ar tiem atbilstošajām JSONPath izteiksmēm.
Piemēram, izmantojot net.if.get[enp.*], var izmantot šādas JSONPath izteiksmes:
{#IFNAME} - $.name

Atkarīgā vienuma prototips
LLD noteikumā izveidojiet vienuma prototipu ar tipu Atkarīgais vienums.
Kā šī prototipa galveno vienumu atlasiet izveidoto net.if.get vienumu.

Ņemiet vērā pielāgoto makro izmantošanu vienuma prototipa nosaukumā un atslēgā. Šajā piemērā atslēga ir pielāgota un lietotāja definēta.
- Nosaukums: Saskarne
{#IFNAME}: darbības stāvoklis - Atslēga:
net.if.oper.state[{#IFNAME}]
Kā informācijas tipu izmantojiet Teksts.
Vienuma prototipa cilnē Priekšapstrāde atlasiet JSONPath un kā parametru izmantojiet šādu JSONPath izteiksmi:
$.config[?(@.name=='{#IFNAME}')].operational_state.first()

Papildu vienuma prototipus var izveidot tādā pašā veidā, piemēram:
- Nosaukums: Saskarne
{#IFNAME}: nesēja izmaiņas - Atslēga:
net.if.carrier.changes[{#IFNAME}] - Priekšapstrāde: JSONPath -
$.values[?(@.name=='{#IFNAME}')].carrier_changes.first() - Nosaukums: Saskarne
{#IFNAME}: ātrums - Atslēga:
net.if.speed[{#IFNAME}] - Priekšapstrāde: JSONPath -
$.config[?(@.name=='{#IFNAME}')].speed.first()
Kad sākas atklāšana, tiks izveidots viens vienums katrai tīkla saskarnei.