Nagios XI - Bandwidth Graphs Showing 0Mb/s in Non-English Systems


Problem Description

When running Nagios XI on a system which uses certain non-English languages, bandwidth services (amongst others) and their associated graphs may incorrectly report 0 Mb/s even though there is traffic actively flowing through the given port.

 

 

Editing Files

In many steps of this article you will be required to edit files. This documentation will use the vi text editor. When using the vi
editor:

 

 

Resolving The Problem

The easiest way to fix this is to edit the resource.cfg file and add LC_ALL=C before the $USER1$ macro as a prefix to be run before all commands Nagios runs.

  1. Open the /usr/local/nagios/etc/resource.cfg file in your preferred text editor.

  2. Edit the $USER1$ macro (typically the second line of the file) to be as follows:

    $USER1$=LC_ALL=C /usr/local/nagios/libexec
    

     

  3. Save and close the file, then restart the nagios service using one of the commands below:

     

    RHEL 7 | CentOS 7 | Oracle Linux 7 | Debian | Ubuntu 16/18

    systemctl restart nagios.service


  4. Graphs should start showing proper information. It may take up to 15 minutes for the changes to take effect, possibly longer for large environments.

 

Before:

 

 

After:

 

 

 

Additional Information

Setting LC_ALL=C before all Nagios commands will force the system language to whatever language the strings in the plugin/binary/application are written in, only for the duration of that command. This will not have an effect on the configured system language itself, and will only take effect when Nagios is running the command. In the case of Nagios XI installations, the plugins included by default are written in English and use the "1,000.00" number format, which is properly interpreted by check_rrdtraf and other plugins.

In systems using certain non-English languages (Spanish, French, and Russian, for example) numbers are represented differently. Whereas in English the comma (,) is used as the thousands separator and the period (.) is used as a decimal separator, most other languages will reverse the two, so that "one-thousand" would be written as "1.000,00" instead of "1,000.00". This causes the graphing to interpret the data incorrectly. Instead of seeing, for example, "1,270 MB/s" the system would see "1.270 MB/s" which is of course orders of magnitude smaller.

 

 

Resources

http://unix.stackexchange.com/questions/87745/what-does-lc-all-c-do

 

 

Final Thoughts

For any support related questions please visit the Nagios Support Forums at:

http://support.nagios.com/forum/



Article ID: 10
Created On: Fri, Dec 19, 2014 at 4:59 PM
Last Updated On: Tue, Feb 9, 2021 at 9:49 AM
Authored by: tmcdonald

Online URL: https://support.nagios.com/kb/article/nagios-xi-bandwidth-graphs-showing-0mb-s-in-non-english-systems-10.html