Добрый день!
Стоит задача мониторинга устройства APC по SNMP.
Наблюдается OID upsBasicStateOutputState, который выдает результат вида 0010001000000...
Каждый разряд числа - состояние определенного флага. Есть скрипт на php, который обрабатывает это значение и выводит результат в виде:
Flag 4: On Line
Flag 6: Serial Communication Established
Flag 19: On
На сервере настроен external_check на запуск этого скрипта. Скрипт выполняется корректно, но в базу попадает только первая строка Flag 4: On Line, остальное пропадает.
Тексты скриптов:
parser.php
<?php
$ipaddr = $argv[1];
$in_str = exec('snmpwalk -OQv -v 1 -c Community '.$ipaddr.' upsBasicStateOutputState');
function GetDesription($flag){
...тут много case
$arr_str = str_split($in_str);
$arr_str_one = array();
for ($i =1; $i < strlen($in_str)-1; $i++) {
if ($arr_str[$i] == "1")
$arr_str_one[]=$i;
}
for ($i = 0; $i < count($arr_str_one); $i++) {
print GetDesription($arr_str_one[$i])."\n";
}
apc.sh
#!/bin/sh
/usr/bin/php /etc/zabbix/parser.php $1
Пробовал запускать в external_script напрямую php - результат тот-же.
Стоит задача мониторинга устройства APC по SNMP.
Наблюдается OID upsBasicStateOutputState, который выдает результат вида 0010001000000...
Каждый разряд числа - состояние определенного флага. Есть скрипт на php, который обрабатывает это значение и выводит результат в виде:
Flag 4: On Line
Flag 6: Serial Communication Established
Flag 19: On
На сервере настроен external_check на запуск этого скрипта. Скрипт выполняется корректно, но в базу попадает только первая строка Flag 4: On Line, остальное пропадает.
Тексты скриптов:
parser.php
<?php
$ipaddr = $argv[1];
$in_str = exec('snmpwalk -OQv -v 1 -c Community '.$ipaddr.' upsBasicStateOutputState');
function GetDesription($flag){
...тут много case
$arr_str = str_split($in_str);
$arr_str_one = array();
for ($i =1; $i < strlen($in_str)-1; $i++) {
if ($arr_str[$i] == "1")
$arr_str_one[]=$i;
}
for ($i = 0; $i < count($arr_str_one); $i++) {
print GetDesription($arr_str_one[$i])."\n";
}
apc.sh
#!/bin/sh
/usr/bin/php /etc/zabbix/parser.php $1
Пробовал запускать в external_script напрямую php - результат тот-же.
Comment