Falsche Einheit bei check-snmp-mem an Linux Systemen

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • Falsche Einheit bei check-snmp-mem an Linux Systemen

      Hallo,

      das Script check-snmp-mem zapft zwei verschiedene MIBs an (HOST-RESOURCES-MIB und UCD-SNMP-MIB), um die Speicherauslastung von Serversystemen via snmp auszulesen. Bei Linux Systemen ist die UCD-SNMP-MIB vorhanden und wird von dem Script bevorzugt genutzt. Diese MIB liefert die Werte der Speicherauslastung grundsätzlich in Kilobyte (Siehe net-snmp.org/docs/mibs/UCD-SNMP-MIB.txt). In der Config-Files des Scripts ist jedoch definiert, dass die Werte in Byte geliefert werden. Folglich sieht es in den Charts so aus, als hätte man 4MB Arbeitsspeicher anstatt 4GB.

      Mein Fix sieht aktuell wie folgt aus (ab Zeile 124):

      Source Code

      1. foreach my $key (keys $mem) {
      2. my $mem_value = $mem->{$key};
      3. my $key_name = $key;
      4. if (!($key_name =~ /.*per/)) {
      5. $mem->{$key} = $mem_value*1024;
      6. }
      7. }
      8. return $mem;
      9. }



      Ergebnis:

      Source Code

      1. usr/lib/bloonix/plugins# ./check-snmp-mem --host <ip> --community <community> --pretty --debug
      2. >> linux
      3. >> 1.3.6.1.4.1.2021.4.12.0: 16000
      4. >> 1.3.6.1.4.1.2021.4.101.0:
      5. >> 1.3.6.1.4.1.2021.4.13.0: 45752
      6. >> 1.3.6.1.4.1.2021.4.4.0: 4505676
      7. >> 1.3.6.1.4.1.2021.4.1.0: 0
      8. >> 1.3.6.1.4.1.2021.4.15.0: 3272668
      9. >> 1.3.6.1.4.1.2021.4.5.0: 4042420
      10. >> 1.3.6.1.4.1.2021.4.6.0: 145004
      11. >> 1.3.6.1.4.1.2021.4.14.0: 178148
      12. >> 1.3.6.1.4.1.2021.4.11.0: 4650680
      13. >> 1.3.6.1.4.1.2021.4.3.0: 4521908
      14. >> 1.3.6.1.4.1.2021.4.100.0: 0
      15. >> 1.3.6.1.4.1.2021.4.2.0: swap
      16. {
      17. "status" : "OK",
      18. "stats" : {
      19. "swapusedper" : "0.36",
      20. "memtotal" : 4139438080,
      21. "memfree" : 148484096,
      22. "memusedper" : "11.05",
      23. "swapused" : 16621568,
      24. "swaptotal" : 4630433792,
      25. "cached" : 3351212032,
      26. "swapfree" : 4613812224,
      27. "memused" : 457318400,
      28. "buffers" : 182423552
      29. },
      30. "message" : "memusedper=11.05%, swapusedper=0.36%"
      31. }
      Display All



      P.S: Wenn das Script eh schon "buffers" und "cached" ausließt könnte man das doch gleich als statkey ins config file und in ein Chart implementieren ;)

      Source Code

      1. statistic {
      2. statkey buffers
      3. alias Buffers
      4. datatype bigint
      5. units bytes
      6. description Total size of buffers used from memory in bytes.
      7. }
      8. statistic {
      9. statkey cached
      10. alias Cached
      11. datatype bigint
      12. units bytes
      13. description Total size of cached memory in bytes.
      14. }
      15. chart {
      16. id 2
      17. title Memory usage
      18. options {
      19. ylabel bytes
      20. units bytes
      21. chart-type area
      22. series {
      23. name memused
      24. color \#005467
      25. }
      26. series {
      27. name memfree
      28. color \#ff7a0d
      29. }
      30. series {
      31. name buffers
      32. color \#9a72ad
      33. }
      34. series {
      35. name cached
      36. color \#2ba743
      37. }
      38. }
      39. }
      Display All


      Viele Grüße

      Lukasz