Особенность мониторинга уровня сигнала на коммутаторе Huawei S6300 в том, что значения возвращаются не в привычных нам dbm, а в mW.
Для конвертации используется формула, в которой используются логарифмы. В той версии системы мониторинга Zabbix, которая используется у нас, я не нашел, как указать в формуле логарифм. Поэтому сбором данных с комутаторов будет заниматься внешний скрипт, а результат заливать в Zabbix через zabbix_sender.
Вот, собственно, сам скрипт:
Secret_Community -- коммьюнити для чтения параметров по snmp;
zabbix_server_ip -- адрес или хостнейм сервера Zabbix;
rxpower[\"${port}\"], txpower[\"${port}\"] -- названия элементов в zabbix.
Осталось поместить в cron с требуемой периодичностью.
Для конвертации используется формула, в которой используются логарифмы. В той версии системы мониторинга Zabbix, которая используется у нас, я не нашел, как указать в формуле логарифм. Поэтому сбором данных с комутаторов будет заниматься внешний скрипт, а результат заливать в Zabbix через zabbix_sender.
Вот, собственно, сам скрипт:
#!/bin/bash for HUAWEI in sw1 sw15 sw18 sw24; do rm -f "/tmp/huawei_rxtx_monitor_${HUAWEI}" /usr/bin/snmpwalk -c Secret_Community -v 2c ${HUAWEI} .1.3.6.1.2.1.47.1.1.1.1.7 > /tmp/huawei_rxtx_monitor_${HUAWEI}.txt || exit 1 if [ -f "/tmp/huawei_rxtx_monitor_${HUAWEI}.txt" ]; then for port in $(/bin/sed -nr '/XGigabitEthernet/s/.*\.([0-9]+)\ .*/\1/gp' /tmp/huawei_rxtx_monitor_${HUAWEI}.txt); do RX=$(echo "(l($(/usr/bin/snmpget -Oqav -c Secret_Community -v 2c ${HUAWEI} .1.3.6.1.4.1.2011.5.25.31.1.1.3.1.8.${port})/1000)/l(10))*10" | /usr/bin/bc -l) /usr/bin/zabbix_sender -z zabbix_server_ip -k rxpower[\"${port}\"] -o $RX -s ${HUAWEI} > /dev/null TX=$(echo "(l($(/usr/bin/snmpget -Oqav -c Secret_Community -v 2c ${HUAWEI} .1.3.6.1.4.1.2011.5.25.31.1.1.3.1.9.${port})/1000)/l(10))*10" | /usr/bin/bc -l) /usr/bin/zabbix_sender -z zabbix_server_ip -k txpower[\"${port}\"] -o $TX -s ${HUAWEI} > /dev/null done fi doneЗдесь sw1, sw15, sw18, sw24 -- хостнеймы или IP-адреса коммутаторов;
Secret_Community -- коммьюнити для чтения параметров по snmp;
zabbix_server_ip -- адрес или хостнейм сервера Zabbix;
rxpower[\"${port}\"], txpower[\"${port}\"] -- названия элементов в zabbix.
Осталось поместить в cron с требуемой периодичностью.
Комментариев нет:
Отправить комментарий