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

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*