View Single Post
  #8  
Old 07-12-2017, 18:02
Kos Kos is offline
Senior Member
 
Join Date: Aug 2015
Location: Riga, Latvia
Posts: 608
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