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ß 🙂