ZABBIX Forums  
  #1  
Old 07-12-2017, 13:10
Sergey69 Sergey69 is offline
Junior Member
 
Join Date: Nov 2015
Posts: 11
Default меняющийся 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 В скриптах не мастер...
Reply With Quote
  #2  
Old 07-12-2017, 13:28
astrix89 astrix89 is offline
Member
 
Join Date: Jun 2017
Posts: 38
Default

Quote:
Originally Posted by Sergey69 View Post
Коллеги, всем привет! Есть 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
Reply With Quote
  #3  
Old 07-12-2017, 13:46
Sergey69 Sergey69 is offline
Junior Member
 
Join Date: Nov 2015
Posts: 11
Default

Quote:
Originally Posted by astrix89 View Post
имеем только 2.4 к сожалению. Хелп..
Reply With Quote
  #4  
Old 07-12-2017, 13:54
astrix89 astrix89 is offline
Member
 
Join Date: Jun 2017
Posts: 38
Default

https://www.zabbix.com/documentation...p/dynamicindex
Reply With Quote
  #5  
Old 07-12-2017, 13:58
Sergey69 Sergey69 is offline
Junior Member
 
Join Date: Nov 2015
Posts: 11
Default

Quote:
Originally Posted by astrix89 View Post
Quote:
Originally Posted by astrix89 View Post
Да, каюсь не прочел. Но у меня проблема не в том что oid для наименования меняется. Счетчик отдает значения в 5 временных рамках, а мне нужно последнее. Как это решить эим мануалом не представляю..
Reply With Quote
  #6  
Old 07-12-2017, 16:19
Kos Kos is offline
Senior Member
 
Join Date: Aug 2015
Location: Riga, Latvia
Posts: 605
Default

Я правильно Вас понял, что из приведённого в первом сообщении вывода утилиты snmpbulkwalk Вас интересуют только три значения (...48.49.30854, ...48.50.30854 и ...48.51.30854), где 30854 - это наибольшее значение последнего компонента этого OID?
Reply With Quote
  #7  
Old 07-12-2017, 16:41
Sergey69 Sergey69 is offline
Junior Member
 
Join Date: Nov 2015
Posts: 11
Default

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

Last edited by Sergey69; 07-12-2017 at 16:43.
Reply With Quote
  #8  
Old 07-12-2017, 18:02
Kos Kos is offline
Senior Member
 
Join Date: Aug 2015
Location: Riga, Latvia
Posts: 605
Default

Тогда можно вывод этой команды отформатировать с помощью, например, 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-а.

Last edited by Kos; 07-12-2017 at 18:07. Reason: опечатки
Reply With Quote
  #9  
Old 08-12-2017, 14:10
Sergey69 Sergey69 is offline
Junior Member
 
Join Date: Nov 2015
Posts: 11
Default

Quote:
Originally Posted by kos View Post
Тогда можно вывод этой команды отформатировать с помощью, например, 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 очень хотелось бы.
Reply With Quote
  #10  
Old 08-12-2017, 16:20
Kos Kos is offline
Senior Member
 
Join Date: Aug 2015
Location: Riga, Latvia
Posts: 605
Default

Quote:
Originally Posted by Sergey69 View Post
Спасибо! попробую ваш вариант. Отпишусь по результатам. Да lld очень хотелось бы.
Да, отпишитесь, пожалуйста. Если всё OK - сделаем по той же схеме и автообнаружение. Только уточните, пожалуйста, как долго отрабатывает Ваш snmpbulkwalk. Если это быстро (1-2 секунды), то можно будет его для дискаверинга вызывать через UserParameters; если долго - придётся вызов организовывать как-то независимо от Zabbix-а (например, по CRON-у).
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 09:35.