ZABBIX Forums

ZABBIX Forums (http://www.zabbix.com/forum/index.php)
-   На русском языке (http://www.zabbix.com/forum/forumdisplay.php?f=21)
-   -   меняющийся oid (http://www.zabbix.com/forum/showthread.php?t=60073)

Sergey69 07-12-2017 13:10

меняющийся oid
 
Коллеги, всем привет! Есть Huawei NQA, нужно с него снимать метрики SLA. Опрашиваем таким oid
snmpbulkwalk -c ##### -v2c 10.125.x.x 1.3.6.1.4.1.2011.5.25.111.4.3.1.46
SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.49.30850 = Gauge32: 33
SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.49.30851 = Gauge32: 33
SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.49.30852 = Gauge32: 33
SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.49.30853 = Gauge32: 33
SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.49.30854 = Gauge32: 35
SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.50.30850 = Gauge32: 42
SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.50.30851 = Gauge32: 42
SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.50.30852 = Gauge32: 42
SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.50.30853 = Gauge32: 42
SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.50.30854 = Gauge32: 44
SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.51.30850 = Gauge32: 41
SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.51.30851 = Gauge32: 41
SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.51.30852 = Gauge32: 41
SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.51.30853 = Gauge32: 41
SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.51.30854 = Gauge32: 43
И все бы ничего, только постоянно меняется значения 30xxx. Я так понимаю, что это некая временная метка.Как мне правильно снять данные? Может быть подмогете внешним скриптом? Спасибо!
P.S В скриптах не мастер...

astrix89 07-12-2017 13:28

Quote:

Originally Posted by Sergey69 (Post 207195)
Коллеги, всем привет! Есть Huawei NQA, нужно с него снимать метрики SLA. Опрашиваем таким oid
snmpbulkwalk -c ##### -v2c 10.125.x.x 1.3.6.1.4.1.2011.5.25.111.4.3.1.46
SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.49.30850 = Gauge32: 33
SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.49.30851 = Gauge32: 33
SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.49.30852 = Gauge32: 33
SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.49.30853 = Gauge32: 33
SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.49.30854 = Gauge32: 35
SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.50.30850 = Gauge32: 42
SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.50.30851 = Gauge32: 42
SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.50.30852 = Gauge32: 42
SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.50.30853 = Gauge32: 42
SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.50.30854 = Gauge32: 44
SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.51.30850 = Gauge32: 41
SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.51.30851 = Gauge32: 41
SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.51.30852 = Gauge32: 41
SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.51.30853 = Gauge32: 41
SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.51.30854 = Gauge32: 43
И все бы ничего, только постоянно меняется значения 30xxx. Я так понимаю, что это некая временная метка.Как мне правильно снять данные? Может быть подмогете внешним скриптом? Спасибо!
P.S В скриптах не мастер...

https://www.zabbix.com/documentation...p/dynamicindex

Sergey69 07-12-2017 13:46

Quote:

Originally Posted by astrix89 (Post 207198)

имеем только 2.4 к сожалению. Хелп..

astrix89 07-12-2017 13:54

https://www.zabbix.com/documentation...p/dynamicindex

Sergey69 07-12-2017 13:58

Quote:

Originally Posted by astrix89 (Post 207198)

Quote:

Originally Posted by astrix89 (Post 207201)

Да, каюсь не прочел. Но у меня проблема не в том что oid для наименования меняется. Счетчик отдает значения в 5 временных рамках, а мне нужно последнее. Как это решить эим мануалом не представляю..

Kos 07-12-2017 16:19

Я правильно Вас понял, что из приведённого в первом сообщении вывода утилиты snmpbulkwalk Вас интересуют только три значения (...48.49.30854, ...48.50.30854 и ...48.51.30854), где 30854 - это наибольшее значение последнего компонента этого OID?

Sergey69 07-12-2017 16:41

Quote:

Originally Posted by kos (Post 207211)
Я правильно Вас понял, что из приведённого в первом сообщении вывода утилиты snmpbulkwalk Вас интересуют только три значения (...48.49.30854, ...48.50.30854 и ...48.51.30854), где 30854 - это наибольшее значение последнего компонента этого oid?

Да, все верно, только значения x ..48.49.x меняется. А из x брать последнее.

Kos 07-12-2017 18:02

Тогда можно вывод этой команды отформатировать с помощью, например, awk и заслать на сервер с помощью утилиты zabbix_sender.
Скажем, в Linux-е получится примерно так:
Code:

#!/bin/sh
ZABBIX_SERVER=127.0.0.1
ZABBIX_HOST=MySuperHuawei

snmpbulkwalk -c ##### -v2c 10.125.x.x 1.3.6.1.4.1.2011.5.25.111.4.3.1.46 | \
awk -F '[. ]' '
    {REZ[$20]=$24}
END {for (I in REZ) printf "- nqa[%s] %s\n", I, REZ[I]}' | \
/usr/local/bin/zabbix_sender -z $ZABBIX_SERVER -s $ZABBIX_HOST -i - >/dev/null

Предполагается, что в переменной $ZABBIX_SERVER содержится имя или IP-адрес Вашего сервера Zabbix, в переменной $ZABBIX_HOST - имя хоста, для которого засылаются данные (как оно прописано в веб-интерфейсе), а на самом хосте заведены элементы данных с типом "Zabbix trapper" (integer) с ключами nqa[49], nqa[50] и nqa[51].

AWK будет генерировать на выходе вот такое:
Code:

- nqa[49] 35
- nqa[50] 44
- nqa[51] 43

что будет скармливаться zabbix_sender-у для отправки в Zabbix.

При необходимости (если таких элементов данных много) можно доделать ещё и дискаверинг (LLD) - таким же образом отсылать на сервер сам список, сформатированный в виде JSON-а.

Sergey69 08-12-2017 14:10

Quote:

Originally Posted by kos (Post 207220)
Тогда можно вывод этой команды отформатировать с помощью, например, awk и заслать на сервер с помощью утилиты zabbix_sender.
Скажем, в linux-е получится примерно так:
Code:

#!/bin/sh
zabbix_server=127.0.0.1
zabbix_host=mysuperhuawei

snmpbulkwalk -c ##### -v2c 10.125.x.x 1.3.6.1.4.1.2011.5.25.111.4.3.1.46 | \
awk -f '[. ]' '
    {rez[$20]=$24}
end {for (i in rez) printf "- nqa[%s] %s\n", i, rez[i]}' | \
/usr/local/bin/zabbix_sender -z $zabbix_server -s $zabbix_host -i - >/dev/null

Предполагается, что в переменной $zabbix_server содержится имя или ip-адрес Вашего сервера zabbix, в переменной $zabbix_host - имя хоста, для которого засылаются данные (как оно прописано в веб-интерфейсе), а на самом хосте заведены элементы данных с типом "zabbix trapper" (integer) с ключами nqa[49], nqa[50] и nqa[51].

Awk будет генерировать на выходе вот такое:
Code:

- nqa[49] 35
- nqa[50] 44
- nqa[51] 43

что будет скармливаться zabbix_sender-у для отправки в zabbix.

При необходимости (если таких элементов данных много) можно доделать ещё и дискаверинг (lld) - таким же образом отсылать на сервер сам список, сформатированный в виде json-а.

Спасибо! попробую ваш вариант. Отпишусь по результатам. Да lld очень хотелось бы.

Kos 08-12-2017 16:20

Quote:

Originally Posted by Sergey69 (Post 207238)
Спасибо! попробую ваш вариант. Отпишусь по результатам. Да lld очень хотелось бы.

Да, отпишитесь, пожалуйста. Если всё OK - сделаем по той же схеме и автообнаружение. Только уточните, пожалуйста, как долго отрабатывает Ваш snmpbulkwalk. Если это быстро (1-2 секунды), то можно будет его для дискаверинга вызывать через UserParameters; если долго - придётся вызов организовывать как-то независимо от Zabbix-а (например, по CRON-у).


All times are GMT +2. The time now is 17:52.