Net-SNMP

From Frotmail Projects
Revision as of 09:35, 5 April 2022 by Eric (talk | contribs) (Created page with "=Pollen of Traps?= Ik heb in het verleden SNMP eigenlijk alleen gebruikt om met behulp van polling eenvoudig statistieken te verzamelen van verschillende hosts. Cacti ging dan iedere 5 minuten alle hosts af om informatie te verzamelen en dit komt dan in een leuk grafiekje. Het begrip SNMP TRAP had ik al verschillende malen voorbij zien komen maar het zei me niets. Ik had het niet nodig om Cacti werkend te krijgen dus wat maakt het uit??? Nu hadden we een paar weken gel...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Pollen of Traps?

Ik heb in het verleden SNMP eigenlijk alleen gebruikt om met behulp van polling eenvoudig statistieken te verzamelen van verschillende hosts. Cacti ging dan iedere 5 minuten alle hosts af om informatie te verzamelen en dit komt dan in een leuk grafiekje.

Het begrip SNMP TRAP had ik al verschillende malen voorbij zien komen maar het zei me niets. Ik had het niet nodig om Cacti werkend te krijgen dus wat maakt het uit???

Nu hadden we een paar weken geleden het probleem dat een proces niet meer draaide, hierdoor kwam mail niet door en kregen we ook geen alert. Dit probleem is lastig om te tackelen met een custom script, want hoe stuur je een alert uit als je mail plat ligt?

Het antwoord in deze situatie lag bij de SNMP Traps. Op deze manier laat je de SNMP daemon actief bepaalde zaken monitoren (daarvoor is hij tenslotte gemaakt) en indien er een ingestelde grens wordt overschreden stuurt hij via UDP een bericht naar de SNMP Trap HOST. In onze situatie laat ik de productie servers een Trap bericht genereren naar mijn server thuis. Deze draait een onafhankelijke mailserver waarop dan de alerts worden gemaild naar bijvoorbeeld mijn telefoon.

SNMPv3

Stop service

service snmpd stop

Create the SNMP user and password:

net-snmp-config --create-snmpv3-user -ro -a PASSWORD -X AES -A SHA USERNAME

This creates an SNMPv3 user called USERNAME that has read only access (-ro) authenticated (-a) access with a PASSWORD using AES for encryption (-X) and SHA for your hashes (-A).

Edit /etc/snmp/snmpd.conf and change rouser USERNAME to rouser USERNAME priv, this forces encryption for all traffic.

Start Service

service snmpd start

Test:

snmpwalk -v 3 -l authPriv -a sha -A PASSWORD -x AES -X PASSWORD -u USERNAME localhost

Configuatie SNMPD

De volgende extra regels heb ik aan de snmpd.conf toegevoegd:

rouser  public noauth
agentSecName public
authtrapenable 1
trapcommunity public
trap2sink home.trapsink.lan
defaultMonitors yes

load  15 10 7
proc amavisd
proc mysqld_safe
disk / 20%
disk /home 20%

monitor -r 60 -o prNames -o prErrMessage "procTable" prErrorFlag != 0

Op deze manier monitoren we 5 items, 2 gemounte partities, de load en 2 processen. Indien de load over de grens gaat (15 bij 1 min avg, 10 bij 5 min avg of 7 bij 15 min avg), de processen niet meer draaien, of 1 van de volumes minder dan 20% ruimte heeft zal hij een Trap sturen naar 'home.trapsink.lan'

De onderste regel beschrijft de monitor welke de processen in de gaten houd, door deze regel controleerd hij ze iedere 60 sec. De default is namelijk 10 minuten wat vrij lang is in mijn ogen...

Config snmptrapd