Op algemeen verzoek, een korte uitleg hoe ik snmp en cyrus aan de praat kreeg:
Nodige pakketjes:
apt-get install libsnmp4.2-dev snmpd
Tijdens de compilatie heb ik bij de configure stap niets speciaals opgegeven, maar werden de libs wel correct gedetecteerd (checken dat hij snmp incompileert). Compilatie deed ik gewoon met make, en niets speciaals gedaan verder.
Eens mijn cyrus werkte, heb ik het volgende gedaan om de snmp in gang te krijgen:
In snmpd.conf heb ik zoals altijd de security settings aangepast (van paranoid naar readonly gegaan, en andere community string):
# sec.name source community
#com2sec paranoid default public
com2sec readonly default foo
#com2sec readwrite default private
En de subagent aangezet:
master agentx
Daarna gewoon via /etc/init.d/snmpd restart de server een stamp gegeven, zodat die op de hoogte was van mijn voorkeuren.
Snel even controleren als dit werkt (ja, ik heb net die machine gestart, dus dit is correct):
cyrus02:~/cyrus-imapd-2.3.7# snmpwalk -v2c -c foo localhost SNMPv2-MIB::sysUpTime
SNMPv2-MIB::sysUpTime.0 = Timeticks: (43100) 0:07:11.00
We krijgen dus antwoord van de snmpd service, wat goed is.
Ik heb niets aangepast aan mijn cyrus.conf of mijn imap.conf, en deze gewoon herstart (ik heb wel op verschillende plaatsen gelezen dat je erop moet toezien dat de snmpd gestart is voordat cyrus gestart wordt, aangezien die een connectie moet kunnen maken naar de snmpd subagent, en dit slechts één keer probeert).
Volgens de summiere cyrus documentatie is de info te vinden op enterprises.3.6:
cyrus02:/etc# snmpwalk -v2c -c omro localhost enterprises.3.6
SNMPv2-SMI::enterprises.3.6 = No Such Object available on this agent at this OID
cyrus02:/etc# /usr/cyrus/bin/master &
[1] 1167
cyrus02:/etc# snmpwalk -v2c -c omro localhost enterprises.3.6
SNMPv2-SMI::enterprises.3.6.1.1.1.0 = STRING: "Cyrus IMAP server master process"
SNMPv2-SMI::enterprises.3.6.1.1.2.0 = STRING: "v2.3.7"
SNMPv2-SMI::enterprises.3.6.1.1.3.0 = Timeticks: (500) 0:00:05.00
SNMPv2-SMI::enterprises.3.6.1.2.1.1.1 = Counter32: 5
SNMPv2-SMI::enterprises.3.6.1.2.1.1.2 = Counter32: 5
SNMPv2-SMI::enterprises.3.6.1.2.1.1.3 = Counter32: 0
SNMPv2-SMI::enterprises.3.6.1.2.1.1.4 = Counter32: 1
SNMPv2-SMI::enterprises.3.6.1.2.1.1.5 = Counter32: 5
SNMPv2-SMI::enterprises.3.6.1.2.1.1.6 = Counter32: 5
SNMPv2-SMI::enterprises.3.6.1.2.1.1.7 = Counter32: 0
SNMPv2-SMI::enterprises.3.6.1.2.1.1.8 = Counter32: 1
SNMPv2-SMI::enterprises.3.6.1.2.1.2.1 = Gauge32: 5
SNMPv2-SMI::enterprises.3.6.1.2.1.2.2 = Gauge32: 5
SNMPv2-SMI::enterprises.3.6.1.2.1.2.3 = Gauge32: 0
SNMPv2-SMI::enterprises.3.6.1.2.1.2.4 = Gauge32: 1
SNMPv2-SMI::enterprises.3.6.1.2.1.2.5 = Gauge32: 5
SNMPv2-SMI::enterprises.3.6.1.2.1.2.6 = Gauge32: 5
SNMPv2-SMI::enterprises.3.6.1.2.1.2.7 = Gauge32: 0
SNMPv2-SMI::enterprises.3.6.1.2.1.2.8 = Gauge32: 1
SNMPv2-SMI::enterprises.3.6.1.2.1.3.1 = STRING: "imap[v6]"
SNMPv2-SMI::enterprises.3.6.1.2.1.3.2 = STRING: "pop3[v6]"
SNMPv2-SMI::enterprises.3.6.1.2.1.3.3 = STRING: "sieve[v6]"
SNMPv2-SMI::enterprises.3.6.1.2.1.3.4 = STRING: "lmtp[v6]"
SNMPv2-SMI::enterprises.3.6.1.2.1.3.5 = STRING: "imap"
SNMPv2-SMI::enterprises.3.6.1.2.1.3.6 = STRING: "pop3"
SNMPv2-SMI::enterprises.3.6.1.2.1.3.7 = STRING: "sieve"
SNMPv2-SMI::enterprises.3.6.1.2.1.3.8 = STRING: "lmtp"
SNMPv2-SMI::enterprises.3.6.1.2.1.4.1 = INTEGER: 1
SNMPv2-SMI::enterprises.3.6.1.2.1.4.2 = INTEGER: 2
SNMPv2-SMI::enterprises.3.6.1.2.1.4.3 = INTEGER: 3
SNMPv2-SMI::enterprises.3.6.1.2.1.4.4 = INTEGER: 4
SNMPv2-SMI::enterprises.3.6.1.2.1.4.5 = INTEGER: 5
SNMPv2-SMI::enterprises.3.6.1.2.1.4.6 = INTEGER: 6
SNMPv2-SMI::enterprises.3.6.1.2.1.4.7 = INTEGER: 7
SNMPv2-SMI::enterprises.3.6.1.2.1.4.8 = INTEGER: 8
SNMPv2-SMI::enterprises.3.6.1.2.1.5.1 = Counter32: 0
SNMPv2-SMI::enterprises.3.6.1.2.1.5.2 = Counter32: 0
SNMPv2-SMI::enterprises.3.6.1.2.1.5.3 = Counter32: 0
SNMPv2-SMI::enterprises.3.6.1.2.1.5.4 = Counter32: 0
SNMPv2-SMI::enterprises.3.6.1.2.1.5.5 = Counter32: 0
SNMPv2-SMI::enterprises.3.6.1.2.1.5.6 = Counter32: 0
SNMPv2-SMI::enterprises.3.6.1.2.1.5.7 = Counter32: 0
SNMPv2-SMI::enterprises.3.6.1.2.1.5.8 = Counter32: 0
En de gouden raad: Als je hier veel moet mee liggen klooien, installeer dan “mbrowse” op je desktop, en leg je een colletie van mibs aan.
Voor Cyrus kan je de cyrus specifieke mib vinden in de directory “master” van de source. Je hebt echter wel nog de cmu.mib nodig, die je hier kan vinden: http://ftp.andrew.cmu.edu/pub/mibs/cmu/cmu.mib
Start mbrowse op, doe “file”, “open mib”, en kies de cmu.mib. Doe dan exact hetzelfde, en laad de cyrus-master.mib. Vul bovenaan het juiste IP/hostname in, vul je read community string in, en daal nu de tree af… Zie screenshot voor details. Highlight de subtree die je wil zien, en druk op “walk” (links). Als je een enkel object wil zien, druk je op “Get”. Handig is de optie op enkel de suffix te zien (zie opties).