Я использую 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]} ." ";