Portál AbcLinuxu, 12. května 2025 18:22
define command { command_name my_papouch_teplota command_line /papouch.py '$HOSTADDRESS$' '$ARG1$' '$ARG2$': -w '$ARG2$': -c '$ARG3$': -l 'Vystup: ' -u $HOSTOUTPUT$ } define service { hostgroup_name papouchy service_description Teplota check_command my_papouch_teplota!15!45 use generic-service }Vse funguje jak ma s tim rozdilem ze kdyz si zobrazim webove rozhrani nagis-u tak v Service datail ve sloupci Status information vidim napsano (null), viz. prilozeny obrazek. Ja bych tam potreboval napsat neco jako Teplota je v poradku atd. nevite nekdo jak na to ?
Řešení dotazu:
print "Teplota v pořádku" sys.exit(0)
Mimo to, použití makra $HOSTOUTPUT$ bych si dovedl představit v definici příkazu pro odeslání mailu o stavu hosta. Snad by měl ten command_line skončit hned za '$ARG2$'.
Ukládat si plugin pro nagios do kořenového adresáře je poněkud netradiční.
#!/usr/bin/python import sys import os import commands host = sys.argv[1] warn_value = int(sys.argv[2]) crit_value = int(sys.argv[3]) ret = { 'OK' : 0 , 'WARNING' : 1, 'CRITICAL' : 2 , 'UNKNOWN' : 3} status, output = commands.getstatusoutput('/usr/bin/snmpwalk -Ov -c public -v 1 ' + host + ' .1.3.6.1.4.1.18248.20.1.2.1.1.2.1') if status != 0: print output sys.exit(ret["UNKNOWN"]) deftype, val = output.split(':') temp = float(val) / 10 if temp >= warn_value: if temp >= crit_value: print 'To je kriticke' sys.exit(ret["CRICITAL"]) else: print 'To je varovani' sys.exit(ret["WARNING"]) print 'No a to je ok' sys.exit(ret["OK"])Do korenoveho adresare sem jej prilozil jen kvuli testovani, pujde pak na spravne misto.
define command { command_name my_papouch_teplota command_line /papouch.py '$HOSTADDRESS$' '$ARG1$' '$ARG2$': -w '$ARG2$': -c '$ARG3$' }Problem vsak presto pretrvava.
command_line /papouch.py $HOSTADDRESS$ $ARG1$ $ARG2$
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.