Check_MK: Cluster Checks bauen

Hier ein kleines Beispiel wie man einen Cluster Check implementieren kann.

Testumgebung:

3 Nodes node1,node2 und node3 welche als Clusterobjekt cluster zusammengefasst sind. Die Daten kommen von Piggybacks.

Clustercheck ist mycluster und ist ein Beispiel Check.

Schritt 1: Nodes anlegen

In WATO 3 Nodes anlegen mit der IP 127.0.0.1 (Testumgebung, Daten kommen von Piggybacks), Agent: No Agent 

Schritt 2: Clusterobjekt anlegen

Schritt 4: Clustercheck bauen, Piggybacks & Inventory

Unser eigener Check wird in ~/local/share/check_mk/checks/ abgelegt, er heisst mycluster.

#!/usr/bin/env python

def inventory_mycluster(info):
    for line in info:
        #pprint.pprint(line)
        if "CLUSTER" in line[0]:
            return [(None, None)]


def check_mycluster(item, params, info):
    active_nodes = 0
    for node in info:
        key, value = node
        if "CLUSTER" in key:
            if "ACTIVE" in value:
                active_nodes += 1

    if active_nodes <= 1:
        status = 2
    else:
        status = 0
    return status, "%d active nodes" % active_nodes


check_info['mycluster'] = {
    'inventory_function'    : inventory_mycluster,
    'check_function'        : check_mycluster,
    'service_description'   : 'MYCluster',
}

Piggybacks ablegen in /var/lib/check_mk_agent/spool/mycluster_test

<<<<node1>>>>
<<<mycluster>>>
CLUSTER	ACTIVE
<<<<>>>>
<<<<node2>>>>
<<<mycluster>>>
CLUSTER	ACTIVE
<<<<>>>>
<<<<node3>>>>
<<<mycluster>>>
CLUSTER	ACTIVE
<<<<>>>>
<<<<node4>>>>
<<<mycluster>>>
CLUSTER	ACTIVE
<<<<>>>>

Inventory durchführen:

OMD[dev1]:~/local/share/check_mk/checks$ cmk -v -II cluster
Discovering services on cluster:
node1:
Using piggyback information from host localhost.
    1 mycluster

node2:
Using piggyback information from host localhost.
    1 mycluster

node3:
Using piggyback information from host localhost.
    1 mycluster

Reload durchführen:

OMD[dev1]:~/local/share/check_mk/checks$ cmk -R
Generating configuration for core (type cmc)...OK
Packing config...OK
Restarting monitoring core...OK

Schritt 5: Service zum Cluster Service machen

Eine neue WATO Regel erstellen „Clustered services“:

WATO Änderung aktivieren, die Services verschwinden bei den Nodes und werden nur noch unter dem Cluster Objekt angezeigt.

 

 

Viel Spaß 🙂

Schreibe einen Kommentar

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

Wir benutzen Cookies um die Nutzerfreundlichkeit der Webseite zu verbessen. Durch Deinen Besuch stimmst Du dem zu.