-2

I was configuring icinga2 to get memory used information from one linux client using script at check_snmp_mem.pl . Any idea how the memory used is derived in this script ?

Here is free command output

# free
              total        used        free      shared  buff/cache   available
Mem:         500016       59160       89564        3036      351292      408972
Swap:       1048572        4092     1044480

where as the performance data shown in icinga dashboard is

    Label   Value        Max             Warning     Critical
ram_used    137,700.00   500,016.00     470,015.00   490,016.00
swap_used   4,092.00     1,048,572.00   524,286.00   838,858.00
sherpaurgen
  • 3,028
  • 6
  • 32
  • 45

1 Answers1

0

Looking through the source code, it mentions ram_used for example in this line:

  $n_output .= " | ram_used=" . ($$resultat{$nets_ram_total}-$$resultat{$nets_ram_free}-$$resultat{$nets_ram_cache}).";";

This strongly suggests that ram_used is calculated as the difference of the total RAM and the free RAM and the RAM used for cache. These values are retrieved via the following SNMP ids:

my $nets_ram_free   = "1.3.6.1.4.1.2021.4.6.0";  # Real memory free
my $nets_ram_total  = "1.3.6.1.4.1.2021.4.5.0";  # Real memory total
my $nets_ram_cache      = "1.3.6.1.4.1.2021.4.15.0"; # Real memory cached

I don't know how they correlate to the output of free. The difference in free memory reported by free and to Icinga is 48136, so maybe you can find that number somewhere.

Corion
  • 3,855
  • 1
  • 17
  • 27