Hello,
We are evaluating Nagios XI 2024 as a tool for evaluating stress tests of new machines, and one question came up: Is there a built-in way to monitor network interfaces for low throughput?
The check_xi_service_mrtgtraf command that I get when running the Network Switch / Router Configuration Wizard seems only capable of triggering an alarm when the bandwidth utilization exceeds a set threshold.
Is there a way to get an alarm if throughput falls below a certain value?
Somewhat related, but please let me know if I should start a new topic for this: It looks like bandwidth graphs use the previous value when they encounter a NaN in an RRD file. Thus, if I have the three values [3, NaN, 5], the graph displays as [3, 3, 5].
Is there a way to have the graph fall to zero for NaN values?
Thanks,
--
Juergen
Monitoring network interfaces for low throughput
-
daxifo1307
- Posts: 1
- Joined: Wed Dec 17, 2025 12:36 am
Re: Monitoring network interfaces for low throughput
Hello!
Nagios XI’s default check_xi_service_mrtgtraf plugin only supports alerts for high bandwidth use, so it cannot natively trigger alarms when throughput falls below a set value; to monitor low traffic you’d need a plugin like check_snmp or check_iftraffic that allows both minimum and maximum thresholds. For graphs, RRDTool by default repeats the last known value when encountering NaN, so [3, NaN, 5] displays as [3, 3, 5]; to show zero instead, you’d need to adjust RRD definitions or use CDEF rules to map unknowns to zero.
Nagios XI’s default check_xi_service_mrtgtraf plugin only supports alerts for high bandwidth use, so it cannot natively trigger alarms when throughput falls below a set value; to monitor low traffic you’d need a plugin like check_snmp or check_iftraffic that allows both minimum and maximum thresholds. For graphs, RRDTool by default repeats the last known value when encountering NaN, so [3, NaN, 5] displays as [3, 3, 5]; to show zero instead, you’d need to adjust RRD definitions or use CDEF rules to map unknowns to zero.
Re: Monitoring network interfaces for low throughput
Hi @juergen
The check_xi_service_mrtgtraf plugin in Nagios XI is primarily designed to monitor high bandwidth usage, and by default, does not inherently alert on low traffic.
A common solution is to use the negate plugin in conjunction with check_xi_service_mrtgtraf. The negate plugin reverses the output status of another plugin. For example, you could configure the base check to go CRITICAL if traffic is above 0 Mbps, and then use negate to report OK in that state and CRITICAL when it hits 0 Mbps.
https://nagios-plugins.org/doc/man/negate.html
1. You can accomplish this in XI by navigating to Core Config Manager -> Commands
2. Find the check_xi_service_mrtgtraf command and copy it.
3. Rename the copy something like check_xi_service_mrtgtraf_negated.
4. Modify the Command line to use the negate plugin first.
$USER1$/negate -s $USER1$/check_rrdtraf -f /var/lib/mrtg/$ARG1$ -w $ARG2$ -c $ARG3$ -l $ARG4$
5. Edit the ports you want to alert on low throughput to use your new check command check_xi_service_mrtgtraf_negated and update the warning and critical values to something like 1,1 and 0,0.
I am asking around about your RRD question, so I (or someone else) will have to get back to you on that.
Good luck!
The check_xi_service_mrtgtraf plugin in Nagios XI is primarily designed to monitor high bandwidth usage, and by default, does not inherently alert on low traffic.
A common solution is to use the negate plugin in conjunction with check_xi_service_mrtgtraf. The negate plugin reverses the output status of another plugin. For example, you could configure the base check to go CRITICAL if traffic is above 0 Mbps, and then use negate to report OK in that state and CRITICAL when it hits 0 Mbps.
https://nagios-plugins.org/doc/man/negate.html
1. You can accomplish this in XI by navigating to Core Config Manager -> Commands
2. Find the check_xi_service_mrtgtraf command and copy it.
3. Rename the copy something like check_xi_service_mrtgtraf_negated.
4. Modify the Command line to use the negate plugin first.
$USER1$/negate -s $USER1$/check_rrdtraf -f /var/lib/mrtg/$ARG1$ -w $ARG2$ -c $ARG3$ -l $ARG4$
5. Edit the ports you want to alert on low throughput to use your new check command check_xi_service_mrtgtraf_negated and update the warning and critical values to something like 1,1 and 0,0.
I am asking around about your RRD question, so I (or someone else) will have to get back to you on that.
Good luck!
Cheers,
- Cole
- Cole
Re: Monitoring network interfaces for low throughput
Interesting. I will give that a spin.
Thank you!
Thank you!