Назад | Перейти на главную страницу

Изменить вывод perfdata команды check_snmp_int.pl Nagios XI

Я использую Nagios XI, я использовал Vmware .ova для завершения установки

Я использую команду ниже, чтобы получить фактическую пропускную способность, которая проходит через интерфейсы маршрутизатора.

/usr/local/nagios/libexec/check_snmp_int.pl -H x.x.x.x -C community -2 -n eth -f -k -w 1000,1000 -c 1200,1200


eth0:UP (552.9KBps/CRIT 2507.9KBps), eth1:UP (CRIT 2466.9KBps/CRIT 8087.0KBps), eth2:UP (93.0KBps/619.8KBps):(3 UP): CRITICAL | 'eth0_in_octet'=3151058755c 'eth0_out_octet'=2254878312c 'eth1_in_octet'=626765302c 'eth1_out_octet'=634153554c 'eth2_in_octet'=1137408010c 'eth2_out_octet'=160432245c

команда работает.

Но из-за perfdata чтение графика раздражает: eth2_out_octet'=160432245c , и т.д ...

поэтому я хотел бы иметь эти значения в мб / с

я пытался использовать -B -M -Y флаги для настройки этих значений.

Я мог бы получить результаты в байтах или битах, но никогда не смогу получить их в мегабитах в секунду

Кто-нибудь испытывал это раньше и есть решение?

Хорошо, я спросил на форуме Nagios XI.

Что мне нужно было сделать, так это изменить сценарий perl check_snmp_int

и разделим переменную на 1024 два раза:

$perf_out .= sprintf("%.0f",($checkperf_out_raw[0] * 8)/1024/1024) .";";
$perf_out .= ($o_warn[0]!=0) ? $o_warn[0]*$warn_factor . ";" : ";";
$perf_out .= ($o_crit[0]!=0) ? $o_crit[0]*$warn_factor . ";" : ";";
$perf_out .= "0;". $$resultf{$oid_speed[$i]} ." ";
$perf_out .= "'" . $descr[$i] ."_out_Mbps'=";
$perf_out .= sprintf("%.0f",($checkperf_out_raw[1] * 8)/1024/1024) .";";
$perf_out .= ($o_warn[1]!=0) ? $o_warn[1]*$warn_factor . ";" : ";";
$perf_out .= ($o_crit[1]!=0) ? $o_crit[1]*$warn_factor . ";" : ";";
$perf_out .= "0;". $$resultf{$oid_speed[$i]} ." ";