check_ganglia_metric is 'n Nagios plugin wat kan jy kennisgewings op enige Ganglia metrieke te aktiveer.
check_ganglia_metric swaar geïnspireer deur Vladimir Vuksan se check_ganglia_metric.php, maar dit kom met 'n aantal verbeteringe.
Installasie
# PIP installeer check_ganglia_metric
... Of:
# Easy_install check_ganglia_metric
Ganglia Configuration
Tensy jou Nagios bediener en Ganglia Meta Daemon loop op dieselfde gasheer, het jy waarskynlik nodig het om jou gmetad.conf te wysig afgeleë verbindings van jou Nagios bediener te laat.
Te laat konneksies van nagios-server.example.com:
trusted_hosts nagios-server.example.com
Te laat konneksies van al die leërskare (waarskynlik 'n sekuriteit risiko):
all_trusted op
Toets op die Command Line
Eerstens, laat ons sien of check_ganglia_metric met die Ganglia Meta Daemon kan kommunikeer:
check_ganglia_metric.py --gmetad_host = gmetad-server.example.com
& Nbsp; - metric_host = host.example.com --metric_name = cpu_idle
Status Ok, CPU Idle = 99,3% | cpu_idle = 99,3% ;;;;
Die "Status Ok" boodskap dui daarop dat check_ganglia_metric werk. As jy probleme het om dit te werk, probeer weer met verbose meld enabled (--verbose) ten einde 'n beter insig te verkry in wat verkeerd gaan.
Laat ons probeer om die opstel van 'n waarskuwing drumpel nou:
check_ganglia_metric.py --gmetad_host = gmetad-server.example.com
& Nbsp; - metric_host = host.example.com --metric_name = cpu_idle --critical = 99
Status Kritieke, CPU Idle = 99,6% | cpu_idle = 99.6% ;; 99 ;;
Ons het check_ganglia_metric n "kritiese" status terug te keer indien die Idle CPU, was groter as 99. Die "Status Kritieke" boodskap dui daarop dat dit gewerk het. Let daarop dat check_ganglia_metric ontleed reekse en drempels volgens die amptelike Nagios plugin ontwikkeling riglyne.
'N volledige lys van command line opsies met kort verduidelikings, hardloop check_ganglia_metric met die help uit te voer opsie om te sien.
Nagios Configuration
Eerstens, 'n bevel definisie:
opdrag definieer {
& Nbsp; command_name check_ganglia_metric
& Nbsp; command_line /usr/bin/check_ganglia_metric.py --gmetad_host = gmetad-server.example.com --metric_host = $ HOSTADDRESS $ --metric_name = $ ARG1 $ --warning = $ ARG2 $ --critical = $ ARG3 $
}
Nou kan jy die bogenoemde opdrag in jou diens definisies:
diens {definieer
& Nbsp; service_description CPU ledig - Ganglia
& Nbsp; gebruik some_template
! & Nbsp; check_command check_ganglia_metric cpu_idle 0: 20 0: 0!
& Nbsp; host_name host.example.com
}
Dit sal werk boete totdat iets verkeerd met check_ganglia_metric gaan (bv die kas lêer kan nie gelees word / geskryf, die Ganglia Meta Daemon nie bereik kan word nie, ens.) Op daardie punt, sal elke diens wat staatmaak op check_ganglia_metric misluk, moontlik oorstroom jy met waarskuwings. Ons kan dit voorkom deur die gebruik van die diens afhanklikhede.
Die eerste ding wat ons nodig het, is 'n opdrag definisie vir die beheer van die ouderdom van 'n lêer:
opdrag definieer {
& Nbsp; command_name check_file_age
& Nbsp; command_line / usr / lib / Nagios / plugins / check_file_age f $ ARG1 $ w $ ARG2 $ c $ ARG3 $
}
Volgende, definieer ons 'n diens wat die ouderdom van check_ganglia_metric se kas lêer tjeks. Let daarop dat ten einde werklik doeltreffend te wees, om hierdie diens moet gekontroleer word ten minste as (maar verkieslik meer) gereeld as al die ander tjeks wat staatmaak op check_ganglia_metric:
diens {definieer
& Nbsp; service_description Cache vir check_ganglia_metric
& Nbsp; gebruik some_template
& Nbsp;! Check_command check_file_age /var/lib/nagios/.check_ganglia_metric.cache 60 120
& Nbsp; host_name localhost
& Nbsp; check_interval 1
& Nbsp; max_check_attempts 1
}
En ten slotte, ons die opstel van die werklike diens afhanklikheid. Let daarop dat ek use_regexp_matching in Nagios, wat toelaat dat my gereelde uitdrukkings te gebruik in my voorskrifte het aangeskakel. Deur vas "- Ganglia" aan die einde van elke diens wat staatmaak op check_ganglia_metric, kan ek myself red 'n baie moeite:
servicedependency {definieer
& Nbsp; host_name localhost
& Nbsp; service_description Cache vir check_ganglia_metric
& Nbsp; dependent_host_name *.
& Nbsp;. Dependent_service_description * - Ganglia $
& Nbsp; execution_failure_criteria c, p
}
Nou as iets verkeerd met check_ganglia_metric gaan, sal slegs een waarskuwing uitgestuur word oor die kas lêer, en al afhanklik diens tjeks sal gestop word totdat jy die probleem wat veroorsaak het dat check_ganglia_metric te misluk los. Sodra die probleem is opgelos, sal jy nodig het om die tyd stempel op die kas lêer te werk ten einde die "Cache vir check_ganglia_metric" te sit diens terug in 'n OK staat (wat sal toelaat dat afhanklik diens tjeks om voort te gaan):
& Nbsp; touch /var/lib/nagios/.check_ganglia_metric.cache
Wenke en truuks
Dit is moontlik om 'n volledige lys van beskikbare gashere en statistieke te kry deur gebruik te maak "meer verbose" meld (vv). Sedert die metric_host en metric_name opsies vereis word, moet jy 'n bietjie van 'n "hoender en die eier" probleem hier, maar dit is OK. Net lewer sommige dummy data. Die plugin sal fout aan die einde met 'n "gasheer / metrieke nie gevind nie" fout, maar nie voordat dit dumps sy kas:
& Nbsp; check_ganglia_metric.py --gmetad_host = gmetad-server.example.com
& Nbsp; - metric_host = dummy --metric_name = dummy vv
Wat is nuut in hierdie release:
- Voeg - -metrics_max_age opsie
- Merge CHANGELOG.rst in README.rst
Vereistes :
- Python
- Nagios
Beperkings :
- Maak nie werk met Python 2.4
Kommentaar nie gevind