У овом одељку ћемо извршити откривање ниског нивоа на SNMP уређају.
Овај метод откривања SNMP OIDs је подржан од Zabbix сервера/проксија 6.4.
1. Направите ставку SNMP агента са кључем као што је:
Ова ставка врши једно SNMP обилажење табеле и враћа све уносе табеле у једном захтеву, у формату који одговара излазу услужног програма snmpwalk
са опцијама форматирања -Oe -Ot -On
.
Вратиће следећу вишередну текстуалну вредност:
.1.3.6.1.4.1.9999.1.1.1.1.1.1 = STRING: "Temperature Sensor"
.1.3.6.1.4.1.9999.1.1.1.1.2.1 = STRING: "temp"
.1.3.6.1.4.1.9999.1.1.1.1.3.1 = 100
.1.3.6.1.4.1.9999.1.1.1.1.1.2 = STRING: "Humidity Sensor"
.1.3.6.1.4.1.9999.1.1.1.1.2.2 = STRING: "humidity"
.1.3.6.1.4.1.9999.1.1.1.1.3.2 = 200
2. Креирајте правило откривања:
3. На картици Предобрада додајте корак предобраде са "SNMP шетњом до JSON-а" у падајућем менију Назив са 3 параметра:
Након предобраде, правило откривања враћа JSON низ скупова макроа.
На пример:
[
{
"{#SNMPINDEX}": "1",
"{#SENSORNAME}": "Temperature Sensor",
"{#SENSORTYPE}": "temp",
"{#SENSORVALUE}": "100"
},
{
"{#SNMPINDEX}": "2",
"{#SENSORNAME}": "Humidity Sensor",
"{#SENSORTYPE}": "humidity",
"{#SENSORVALUE}": "200"
}
]
Сваки објекат представља један откривени сензор и пружа макрое као што су {#SNMPINDEX}
, {#SENSORNAME}
, {#SENSORTYPE}
и {#SENSORVALUE}
.
Груписани су по SNMP индексу, што је нумерички суфикс на крају сваког OID-а (нпр., .1, .2) — овај индекс јединствено идентификује сваки ред у SNMP табели и аутоматски се издваја као {#SNMPINDEX}
.
4. У оквиру правила откривања, креирајте један или више прототипова ставки (са правилом откривања као главном ставком).
На пример, ставка зависна од вредности сензора:
У картици Предобрада, додајте корак предобраде са називом "SNMP walk value" са ".1.3.6.1.4.1.9999.1.1.1.1.3.{#SNMPINDEX}" OID у пољу Параметар. Формат: "Непромењено".
Следеће ставке ће бити откривене:
Name | Key | OID from which value is extracted | Item value |
---|---|---|---|
Сензор 1: Сензор температуре | sensor.value[1] | .1.3.6.1.4.1.9999.1.1.1.1.3.1 | 100 |
Сензор 2: Сензор влажности | sensor.value[2] | .1.3.6.1.4.1.9999.1.1.1.1.3.2 | 200 |
Када се правило откривања покрене, креирају се ставке као што су sensor.value[1]
, sensor.value[2]
.
Свака зависна ставка извлачи своју вредност из резултата SNMP шетње главне ставке користећи предобраду, без извршавања одвојених SNMP захтева.
5. Референцирајте прототипове зависних ставки у прототиповима окидача користећи исте макрое из правила откривања. Пример:
Ово производи окидач за сваки откривени сензор (на пример, sensor.value[1], sensor.value[2]) и активира се ако последња вредност (температура или влажност) пређе 75.
6. Укључите зависне ставке за сваки откривени ентитет. Пример кључа ставке графикона:
Један графикон се креира по {#SNMPINDEX}
, приказујући температуру и влажност током времена.
Ова конфигурација извршава само један SNMP захтев за обилазак по циклусу анкетирања, без обзира на број откривених ставки. Све зависне ставке извлаче своје вредности из главног резултата SNMP обиласка користећи предобраду, значајно смањујући SNMP саобраћај и оптерећење.
Динамички индекси (на пример, индекси интерфејса) могу се променити када се хардвер реконфигурише. Да би се прилагодило овом понашању, креира се главно правило за откривање SNMP шетње са кључем као што је:
Након предобраде SNMP шетње до JSON-а, резултат може изгледати као:
Прототип зависне ставке користи макро {#SNMPINDEX}
за конструисање кључа:
Предобрада за овај прототип укључује име "SNMP вредност шетње" са "1.3.6.1.2.1.2.2.1.10.{#SNMPINDEX}" OID у пољу Параметар. Формат: "Непромењено".
Током извршавања, креирају се стварне ставке као што су net.if.in[2]
и net.if.in[3]
. Ако се дати индекс интерфејса промени (на пример, ако се индекс 2
замени са 5
у SNMP табели), онда се при следећем покретању правила откривања:
Пример прототипа окидача:
Пример прототипа графа укључује ставке:
Ова конфигурација обезбеђује поуздано праћење табела са динамичким индексима, а истовремено минимизира SNMP саобраћај — потребан је само један SNMP обилазак по циклусу анкетирања, при чему зависни прототипови ставки извлаче потребне вредности.
Када сервер ради, креираће стварне зависне ставке, окидаче и графиконе на основу вредности које враћа SNMP правило за откривање.