Check_MK: Mit gespeicherten SNMP Walks Checks entwickeln

Es ist keine schlechte Idee seine Checks auf einer Testinstanz zu entwickeln, geht etwas schief wird das Produktionssystem davon nicht beeinflusst.

Check_MK bietet die Möglichkeit einen SNMP Walk zu exportieren und diesen für die Checkentwicklung zu verwenden.

Schritt 1: Export eines SNMP Walks in Check_MK

OMD[test1]:~$ cmk -v --snmpwalk router
router:
Walk on ".1.3.6.1.2.1"...2939 variables.
Walk on ".1.3.6.1.4.1"...1539 variables.
Successfully Wrote /omd/sites/test1/var/check_mk/snmpwalks/router.

Mit dem Befehl „cmk –snmpwalk <hostname>“ lässt sich auf dem Produktivsystem ein Check_MK kompatibler SNMP Walk erzeugen der in der Site unter ~/var/check_mk/snmpwalks/ abgelegt wird.

Schritt 2: Check_MK Testinstanz erzeugen

root@max:~# omd create dev
Adding /opt/omd/sites/dev/tmp to /etc/fstab.
Creating temporary filesystem /omd/sites/dev/tmp...OK
Restarting Apache...OK
Created new site dev with version 2017.07.11.cee.

  The site can be started with omd start dev.
  The default web UI is available at http://max/dev/

  The admin user for the web applications is cmkadmin with password: xxxxxxxxxxx
  (It can be changed with 'htpasswd -m ~/etc/htpasswd cmkadmin' as site user.
)
  Please do a su - dev for administration of this site.

root@max:~# omd start dev
Starting mkeventd...OK
Starting liveproxyd...OK
Starting mknotifyd...OK
Starting rrdcached...OK
Starting cmc...OK
Starting apache...OK
Initializing Crontab...OK
root@max:~#
  1. omd create dev
  2. omd start dev

Schritt 3: Kopieren des Walks

root@max:~# cp /omd/sites/prod/var/check_mk/snmpwalks/router /omd/sites/dev/var/check_mk/snmpwalks/router

Schritt 4: Host anlegen & SNMP walk Regel erstellen

Der Host muss genau so heissen wie das Walk-File, als IP-Adresse 127.0.0.1 angeben und bei Agent Type SNMP.

Anschließend noch eine Regel erstellen das die Walks verwendet werden für den Host.

Danach die Änderungen deployen.

Schritt 5: Inventory durchführen & Aktivieren

  1. Inventory: cmk -v -II router
  2. Aktivieren: cmk -v -O
  3. cmk -v -D router
OMD[dev]:~$ cmk -v -II router
Discovering services on router:
router:
    1 hr_cpu
    4 hr_fs
    1 hr_mem
    2 if64
    1 snmp_info
    1 snmp_uptime
    1 ucd_cpu_load

OMD[dev]:~$ cmk -v -O
Waiting for exclusive lock on /omd/sites/dev/etc/check_mk/main.mk.
Generating configuration for core (type cmc)...
Not importing state from Nagios, /omd/sites/dev/var/nagios/retention.dat not found.
/omd/sites/dev/var/check_mk/core/config written.
OK
Baking agents...VANILLA...linux_rpm:uptodate...linux_deb:uptodate...linux_tgz:uptodate...aix_tgz:uptodate...solaris_tgz:uptodate...solaris_pkg:uptodate...windows_msi:uptodate...OK
GENERIC...linux_rpm:uptodate...linux_deb:uptodate...linux_tgz:uptodate...aix_tgz:uptodate...solaris_tgz:uptodate...solaris_pkg:uptodate...windows_msi:uptodate...OK
router...does not use agent, skipping.
OK
Packing config...OK
Reloading monitoring core...OK
OMD[dev]:~$

OMD[dev]:~$ cmk -D router

router                                                                         
Addresses:              127.0.0.1
Tags:                   /wato/, ip-v4, ip-v4-only, lan, prod, site:dev, snmp, snmp-only, wato
Host groups:            
Contact groups:         all
Type of agent:          SNMP (use stored walk)
Services:
  checktype    item     params                                                                                                                                                                                                                        description         groups
  ------------ -------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------- ------
  ucd_cpu_load None     (5.0, 10.0)                                                                                                                                                                                                                   CPU load                  
  hr_cpu       None     {'levels': (80.0, 90.0)}                                                                                                                                                                                                      CPU utilization           
  hr_fs        /        {'trend_range': 24, 'show_levels': 'onmagic', 'inodes_levels': (10.0, 5.0), 'magic_normsize': 20, 'show_inodes': 'onlow', 'levels': (80.0, 90.0), 'show_reserved': False, 'levels_low': (50.0, 60.0), 'trend_perfdata': True} Filesystem /              
  hr_fs        /boot    {'trend_range': 24, 'show_levels': 'onmagic', 'inodes_levels': (10.0, 5.0), 'magic_normsize': 20, 'show_inodes': 'onlow', 'levels': (80.0, 90.0), 'show_reserved': False, 'levels_low': (50.0, 60.0), 'trend_perfdata': True} Filesystem /boot          
  hr_fs        /distros {'trend_range': 24, 'show_levels': 'onmagic', 'inodes_levels': (10.0, 5.0), 'magic_normsize': 20, 'show_inodes': 'onlow', 'levels': (80.0, 90.0), 'show_reserved': False, 'levels_low': (50.0, 60.0), 'trend_perfdata': True} Filesystem /distros       
  hr_fs        /opt/omd {'trend_range': 24, 'show_levels': 'onmagic', 'inodes_levels': (10.0, 5.0), 'magic_normsize': 20, 'show_inodes': 'onlow', 'levels': (80.0, 90.0), 'show_reserved': False, 'levels_low': (50.0, 60.0), 'trend_perfdata': True} Filesystem /opt/omd       
  if64         2        {'state': [u'1'], 'errors': (0.01, 0.1), 'speed': 1000000000}                                                                                                                                                                 Interface 2               
  if64         3        {'state': [u'1'], 'errors': (0.01, 0.1), 'speed': 100000000}                                                                                                                                                                  Interface 3               
  hr_mem       None     (150.0, 200.0)                                                                                                                                                                                                                Memory used               
  snmp_info    None     None                                                                                                                                                                                                                          SNMP Info                 
  snmp_uptime  None     {}                                                                                                                                                                                                                            Uptime                    
OMD[dev]:~$ 

Viel Spaß beim Entwickeln 😉

2 Gedanken zu „Check_MK: Mit gespeicherten SNMP Walks Checks entwickeln“

  1. Vielen Dank, für die Anleitung, es hat auch soweit geklappt. Aber:
    In meinem Walk File sind Seitenweise OID´s. Nachdem ich mit Deiner Anleitung durch bin, sehe ich aber nur 4 Services in Wato, wo eigentlich deutlich mehr auftauchen sollten.
    Die 4 Services hatte ich auch schon, als ich einfach in wato die snmp Credentials eingetragen und wato habe scannen lassen.
    Schon in Schritt 5 Deiner Anleitung wurden in der Console nur diese 4 Services angezeigt, die Check_MK von hause aus gefunden hat.

    Das einzige was ich aus Deiner Anleitung nicht befolgt habe, war die Testinstanz anzulegen.
    Ausgeführt habe ich alles als Site User

    mfg
    Thomas

    Antworten
  2. Die gleiche Frage stellt sich mir auch, wie lautet der einfachste Weg, eine Device per SNMP und OIDs ins Check MK zu implementieren. Bin aktuell auf MKP Files gestossen, gibt es da ein schnellst möglichen Weg oder ein Tool um die MKP files generieren zu können? Danke und Gruss. Eine Step by Step Anleitung wäre hilfreich, Prinzip ist mir schon seit längerem klar, die Umsetzung bereitet Mühe. Danke und Gruss.

    Antworten

Schreibe einen Kommentar zu Thomas Antworten abbrechen

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.