linux memory snmp monitoring

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • 3dmaster
  • Registratie: December 2004
  • Laatst online: 24-09 10:42
Ik probeer via nagios het geheugengebruik van een lading linux servers uit te lezen middels snmp. Probleem waar ik tegenaan loop is dat linux natuurlijk cache/buffer geheugen opbouwd. Dit is technisch gezien geen 'free' geheugen maar kan wel worden gebruikt door applicaties.

Na een paar dagen loopt dit dus langzaam 'vol' waardoor net-snmp zo'n 98% used communiceert. Wat ik eigenlijk wil is dat het cached en buffergeheugen er vanaf wordt gehaald. Ik heb inmiddels diverse checkes geprobeerd die op nagios exchange staan maar deze kunnen geen van allen het 'goed' uitrekenen.

Ik wil graag namelijk een alarm hebben als er echt meer dan 90 used is door applicaties.

Ik heb deze check geprobeerd:
https://exchange.nagios.o..._snmp_memory-2Epl/details

volgens de maker zou deze dit wel kunnen maar ik krijg het niet voor elkaar.

Zijn er hier toevallig medetweakerts die dit probleem hebben gehad?

Last night I lay in bed looking up at the stars in the sky and I thought to myself, where the heck is the ceiling.


Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 30-09 22:30

Hero of Time

Moderator LNX

There is only one Legend

Waarom wil je dat via SNMP uitlezen? Het is veel makkelijker en beter om dat via NRPE te doen, welke je krijgt door nagios-plugins-all te installeren op de systemen die je wilt uitlezen. Dan hoef je alleen maar die nrpe commando's aan te roepen en krijg je netjes de used memory, buffers en cache waardes terug. Ook het uitlezen van de schijfruimtegebruik is 10x makkelijker. De paar keer dat ik Nagios heb ingesteld met SNMP op schijven kreeg ik vage getallen in de vorm van "*SNMP [nummer]*", ipv "/ 4 GB (80%)" oid.

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • Blokker_1999
  • Registratie: Februari 2003
  • Laatst online: 13:50

Blokker_1999

Full steam ahead

nice, kende nrpe zelf ook nog niet. Interessant om mee te spelen.

No keyboard detected. Press F1 to continue.


Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 30-09 22:30

Hero of Time

Moderator LNX

There is only one Legend

NRPE is heel krachtig. Je kan zelf scripts schrijven en via NRPE aanroepen. De return waarde van dat script kan je dan gebruiken om de status van je service of server te controleren. Denk aan het wel of niet kunnen schrijven in een bepaalde locatie, bijvoorbeeld als je een niet zo stabiele netwerkverbinding hebt naar een NFS server toe, of als die verbindingen dropt bij te hoge belasting.

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • CAPSLOCK2000
  • Registratie: Februari 2003
  • Laatst online: 12:22

CAPSLOCK2000

zie teletekst pagina 888

NRPE is vooral leuk als je Nagios gebruikt maar is eigenlijk gericht op het detecteren van storingen en niet zo zeer op het verzamelen van performancedata. Het kan wel maar als je het op grote schaal doet (tientallen tot honderden informatiepunten) dan is SNMP een betere keuze.

Het commando free geeft alle info die je wil weten onder 'available':
              total          used        free         shared  buff/cache   available
Mem:      8199568   3723060   1911108  278204  2565400     3822400
Swap:     2048188   1023400   1024788


edit
Als je meer detail wil dan kun je in /proc/meminfo kijken.

NRPE is vooral leuk als je Nagios gebruikt maar is eigenlijk gericht op het detecteren van storingen en niet zo zeer op het verzamelen van performancedata. Het kan wel maar als je het op grote schaal doet (tientallen tot honderden informatiepunten) dan is SNMP een betere keuze.


Overdenk wel even goed wat je nu eigenlijk probeert te bereiken. De hoeveelheid "vrij" geheugen is eigenlijk helemaal niet interessant. Als je een systeem hebt met 1GB dan heb je op 90% nog maar 100MB vrij en dat is eigenlijk altijd te weinig maar op een server met 256GB RAM is het al 25GB en dat is wel erg veel om een alarm te krijgen.

Zelf monitor ik de hoeveelheid vrij geheugen dus niet met Nagios (al maak ik er wel grafiekjes van met Cacti). Ik heb een alarm voor swap. Als het geheugen bijna op is begint een Linux-systeem namelijk te swappen. Dat het geheugen tot de laatste byte vol zit is op zich geen probleem, daar is het voor. Als het geheugen zo ver op is dat er geswapt moet worden dan is dat wel een probleem want dat kost performance. Linux wacht niet tot het allerlaatste moment maar begint ruim op tijd met swappen. Zo werkt het prima als early-warning systeem.

Ten tweede monitor ik van bepaalde processen hoe groot ze zijn. Ik heb bv een applicatie die normaal 4GB RAM gebruikt maar soms in de war raakt en dan meer dan 8GB slikt. Mijn alarm gaat af als die applicatie boven de 5GB komt.

[ Voor 8% gewijzigd door CAPSLOCK2000 op 23-10-2015 17:05 ]

This post is warranted for the full amount you paid me for it.


Acties:
  • 0 Henk 'm!

  • Kees
  • Registratie: Juni 1999
  • Laatst online: 11:12

Kees

Serveradmin / BOFH / DoC
CAPSLOCK2000 schreef op vrijdag 23 oktober 2015 @ 14:54:
Zelf monitor ik de hoeveelheid vrij geheugen dus niet met Nagios (al maak ik er wel grafiekjes van met Cacti). Ik heb een alarm voor swap. Als het geheugen bijna op is begint een Linux-systeem namelijk te swappen. Dat het geheugen tot de laatste byte vol zit is op zich geen probleem, daar is het voor. Als het geheugen zo ver op is dat er geswapt moet worden dan is dat wel een probleem want dat kost performance. Linux wacht niet tot het allerlaatste moment maar begint ruim op tijd met swappen. Zo werkt het prima als early-warning systeem.

Ten tweede monitor ik van bepaalde processen hoe groot ze zijn. Ik heb bv een applicatie die normaal 4GB RAM gebruikt maar soms in de war raakt en dan meer dan 8GB slikt. Mijn alarm gaat af als die applicatie boven de 5GB komt.
Ik heb in mijn servers geen swap en/of heel erg weinig swap (~500MB) dus ik monitor mijn geheugen wel. Maar dan op bytes en niet op percentages. Bij minder dan 1GB _available_ krijg ik een melding (of als hij met meer dan 1% per uur daalt en onder de 15% zit).

Die applicatie monitoring is wel een goed idee. Die heb ik nog niet, maar ik heb dan ook nog geen probleem daarmee gehad ;)

"Een serveradmin, voluit een serveradministrator, is dan weer een slavenbeheerder oftewel een slavendrijver" - Rataplan


Acties:
  • 0 Henk 'm!

  • Bigs
  • Registratie: Mei 2000
  • Niet online
Alle gegevens zitten in UCD-SNMP-MIB::memory:
UCD-SNMP-MIB::memIndex.0 = INTEGER: 0
UCD-SNMP-MIB::memErrorName.0 = STRING: swap
UCD-SNMP-MIB::memTotalSwap.0 = INTEGER: 1023992 kB
UCD-SNMP-MIB::memAvailSwap.0 = INTEGER: 1023992 kB
UCD-SNMP-MIB::memTotalReal.0 = INTEGER: 1021588 kB
UCD-SNMP-MIB::memAvailReal.0 = INTEGER: 634260 kB
UCD-SNMP-MIB::memTotalFree.0 = INTEGER: 1658252 kB
UCD-SNMP-MIB::memMinimumSwap.0 = INTEGER: 16000 kB
UCD-SNMP-MIB::memBuffer.0 = INTEGER: 30760 kB
UCD-SNMP-MIB::memCached.0 = INTEGER: 216200 kB

UCD-SNMP-MIB::memSwapError.0 = INTEGER: noError(0)
UCD-SNMP-MIB::memSwapErrorMsg.0 = STRING:
Als je dus het vrije geheugen -/- buffers/cache wilt weten zul je dit zelf moeten uitrekenen. In Zabbix doe je dat met een calculated item, wellicht heeft Nagios ook zoiets.
Pagina: 1