Inhaltsverzeichnis
Nagios - RPMForge Installation
Nagios „Enterprise-Class Open Source Monitoring“ - bezeichnet sich selbst als das führende System in der Überwachung von Systemen, Netzwerken und Anwendungen. Nagios ist ein sogenanntes „Monitoring-System“, welches mit verschiedenen Möglichkeiten diverse Netzwerke und deren verschiedenste Komponenten zu überwachen vermag. Es ist allerdings nicht nur eine reine Überwachung möglich, sondern Nagios birgt auch ein ausgeklügeltes „Alerting-System“ - zur Benachrichtigung und Eskalation von Ereignissen.
Voraussetzungen
Als Voraussetzung für die Installation von Nagios ist folgende Komponente erforderlich:
- Lauffähiger Web-Server z.B. Apache HTTP Server
Herunterladen
Nagios kann unter folgendem Link heruntergeladen werden, dabei sollte ein RPM-Paket bevorzugt werden, deshalb soll hier auch ein Repository als Quelle eines RPM-Paktes gewählt werden und nicht die Quell-Sourcen zum selbst kompilieren!
- nagios - Dag Wieers Repository - Open Source host, service and network monitoring program.
- nagios-plugins - Dag Wieers Repository - Host/service/network monitoring program plugins for Nagios.
Zusätzlich sind folgende sogenannte „Core Addons“ für einen erweiterten Betrieb von Bedeutung:
- nagios-nrpe - Dag Wieers Repository - Nagios Remote Plug-ins Execution daemon.
- nagios-nsca - Dag Wieers Repository - Nagios Service Check Acceptor.
- ndoutils - Dag Wieers Repository - Nagios plugin to store Nagios data in a relational database.
Optional können auch folgende weitere Pakete, je nach Ansprüche und Bedarf installiert werden:
- nagios-plugins-setuid - Dag Wieers Repository - Host/service/network monitoring program plugins for Nagios requiring setuid
- nagios-plugins-nrpe - Dag Wieers Repository - Nagios plug-in for NRPE.
- nagios-nsca-client - Dag Wieers Repository - nagios send_nsca.
- nsc - Dag Wieers Repository - Console monitor for Nagios.
- rss4nagios - Dag Wieers Repository - Authenticated RSS alerts for nagios.
WICHTIG - Da zur Installation von Nagios einige Abhängigkeiten zu erfüllen sind, wäre es ratsam das RPMforge-Repository in den
yum
-Paketmanager einzubinden!
WICHTIG - Ein detaillierte Anleitung, wie das RPMforge-Repository in CentOS eingebunden werden kann, kann unter Repository einbinden CentOS 6 nachgelesen werden!
Installation
Ab hier werden root
-Rechte zur Ausführung der nachfolgenden Befehle benötigt. Um root
zu werden geben Sie bitte folgenden Befehl ein:
$ su - Password:
Folgender Befehl kann (nach Einbindung des RPMforge-Repository) zu Installation von Nagios angewendet werden:
# yum install nagios Loading "priorities" plugin Loading "fastestmirror" plugin Loading mirror speeds from cached hostfile * rpmforge: ftp-stud.fht-esslingen.de * base: ftp.halifax.rwth-aachen.de * updates: ftp.halifax.rwth-aachen.de * addons: ftp.halifax.rwth-aachen.de * extras: ftp.halifax.rwth-aachen.de 352 packages excluded due to repository priority protections Setting up Install Process Parsing package install arguments Resolving Dependencies --> Running transaction check ---> Package nagios.i386 0:3.0.6-1.el5.rf set to be updated --> Finished Dependency Resolution Dependencies Resolved ============================================================================= Package Arch Version Repository Size ============================================================================= Installing: nagios i386 3.0.6-1.el5.rf rpmforge 3.6 M Transaction Summary ============================================================================= Install 1 Package(s) Update 0 Package(s) Remove 0 Package(s) Total download size: 3.6 M Is this ok [y/N]: y Downloading Packages: (1/1): nagios-3.0.6-1.el5 100% |=========================| 3.6 MB 00:02 Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Installing: nagios ######################### [1/1] Installed: nagios.i386 0:3.0.6-1.el5.rf Complete!
Folgender Inhalt befindet sich im RPM-Paket nagios.i386
, welcher mit nachfolgendem Befehl aufgelistet werden kann:
# rpm -qil nagios | more Name : nagios Relocations: (not relocatable) Version : 3.0.6 Vendor: Dag Apt Repository, http://dag.wieers.com/apt/ Release : 1.el5.rf Build Date: Tue 02 Dec 2008 06:05:25 PM CET Install Date: Thu 12 Feb 2009 03:56:11 PM CET Build Host: lisse.hasselt.wieers.com Group : Applications/System Source RPM: nagios-3.0.6-1.el5.rf.src.rpm Size : 7593994 License: GPL Signature : DSA/SHA1, Tue 02 Dec 2008 06:23:01 PM CET, Key ID a20e52146b8d79e6 Packager : Dag Wieers <dag@wieers.com> URL : http://www.nagios.org/ Summary : Open Source host, service and network monitoring program Description : Nagios is an application, system and network monitoring application. It can escalate problems by email, pager or any other medium. It is also useful for incident or SLA reporting. Nagios is written in C and is designed as a background process, intermittently running checks on various services that you specify. The actual service checks are performed by separate "plugin" programs which return the status of the checks to Nagios. The plugins are located in the nagios-plugins package. /etc/httpd/conf.d/nagios.conf /etc/nagios /etc/nagios/cgi.cfg /etc/nagios/nagios.cfg /etc/nagios/objects /etc/nagios/objects/commands.cfg /etc/nagios/objects/contacts.cfg /etc/nagios/objects/localhost.cfg /etc/nagios/objects/printer.cfg /etc/nagios/objects/switch.cfg /etc/nagios/objects/templates.cfg /etc/nagios/objects/timeperiods.cfg /etc/nagios/objects/windows.cfg /etc/nagios/resource.cfg /etc/rc.d/init.d/nagios /usr/bin/convertcfg /usr/bin/mini_epn /usr/bin/nagios /usr/bin/nagiostats /usr/bin/new_mini_epn /usr/bin/p1.pl /usr/lib/nagios /usr/lib/nagios/cgi /usr/lib/nagios/cgi/avail.cgi /usr/lib/nagios/cgi/cmd.cgi /usr/lib/nagios/cgi/config.cgi /usr/lib/nagios/cgi/extinfo.cgi /usr/lib/nagios/cgi/histogram.cgi /usr/lib/nagios/cgi/history.cgi /usr/lib/nagios/cgi/notifications.cgi /usr/lib/nagios/cgi/outages.cgi /usr/lib/nagios/cgi/showlog.cgi /usr/lib/nagios/cgi/status.cgi /usr/lib/nagios/cgi/statusmap.cgi /usr/lib/nagios/cgi/statuswml.cgi /usr/lib/nagios/cgi/statuswrl.cgi /usr/lib/nagios/cgi/summary.cgi /usr/lib/nagios/cgi/tac.cgi /usr/lib/nagios/cgi/traceroute.cgi /usr/lib/nagios/cgi/trends.cgi /usr/lib/nagios/plugins /usr/lib/nagios/plugins/eventhandlers /usr/lib/nagios/plugins/eventhandlers/disable_active_service_checks /usr/lib/nagios/plugins/eventhandlers/disable_notifications /usr/lib/nagios/plugins/eventhandlers/distributed-monitoring /usr/lib/nagios/plugins/eventhandlers/distributed-monitoring/obsessive_svc_handler /usr/lib/nagios/plugins/eventhandlers/distributed-monitoring/submit_check_result_via_nsca /usr/lib/nagios/plugins/eventhandlers/enable_active_service_checks /usr/lib/nagios/plugins/eventhandlers/enable_notifications /usr/lib/nagios/plugins/eventhandlers/redundancy-scenario1 /usr/lib/nagios/plugins/eventhandlers/redundancy-scenario1/handle-master-host-event /usr/lib/nagios/plugins/eventhandlers/redundancy-scenario1/handle-master-proc-event /usr/lib/nagios/plugins/eventhandlers/submit_check_result /usr/lib/nagios/plugins/eventhandlers/submit_check_result.orig /usr/share/doc/nagios-3.0.6 /usr/share/doc/nagios-3.0.6/Changelog /usr/share/doc/nagios-3.0.6/INSTALLING /usr/share/doc/nagios-3.0.6/LICENSE /usr/share/doc/nagios-3.0.6/README /usr/share/doc/nagios-3.0.6/UPGRADING /usr/share/nagios /usr/share/nagios/contexthelp /usr/share/nagios/contexthelp/A1.html /usr/share/nagios/contexthelp/A2.html /usr/share/nagios/contexthelp/A3.html /usr/share/nagios/contexthelp/A4.html /usr/share/nagios/contexthelp/A5.html /usr/share/nagios/contexthelp/A6.html /usr/share/nagios/contexthelp/A7.html /usr/share/nagios/contexthelp/B1.html /usr/share/nagios/contexthelp/C1.html /usr/share/nagios/contexthelp/D1.html /usr/share/nagios/contexthelp/E1.html /usr/share/nagios/contexthelp/F1.html /usr/share/nagios/contexthelp/G1.html /usr/share/nagios/contexthelp/G2.html /usr/share/nagios/contexthelp/G3.html /usr/share/nagios/contexthelp/G4.html /usr/share/nagios/contexthelp/G5.html /usr/share/nagios/contexthelp/G6.html /usr/share/nagios/contexthelp/H1.html /usr/share/nagios/contexthelp/H2.html /usr/share/nagios/contexthelp/H3.html /usr/share/nagios/contexthelp/H4.html /usr/share/nagios/contexthelp/H5.html /usr/share/nagios/contexthelp/H6.html /usr/share/nagios/contexthelp/H7.html /usr/share/nagios/contexthelp/H8.html /usr/share/nagios/contexthelp/I1.html /usr/share/nagios/contexthelp/I2.html /usr/share/nagios/contexthelp/I3.html /usr/share/nagios/contexthelp/I4.html /usr/share/nagios/contexthelp/I5.html /usr/share/nagios/contexthelp/I6.html /usr/share/nagios/contexthelp/I7.html /usr/share/nagios/contexthelp/I8.html /usr/share/nagios/contexthelp/I9.html /usr/share/nagios/contexthelp/J1.html /usr/share/nagios/contexthelp/K1.html /usr/share/nagios/contexthelp/L1.html /usr/share/nagios/contexthelp/L10.html /usr/share/nagios/contexthelp/L11.html /usr/share/nagios/contexthelp/L12.html /usr/share/nagios/contexthelp/L13.html /usr/share/nagios/contexthelp/L2.html /usr/share/nagios/contexthelp/L3.html /usr/share/nagios/contexthelp/L4.html /usr/share/nagios/contexthelp/L5.html /usr/share/nagios/contexthelp/L6.html /usr/share/nagios/contexthelp/L7.html /usr/share/nagios/contexthelp/L8.html /usr/share/nagios/contexthelp/L9.html /usr/share/nagios/contexthelp/M1.html /usr/share/nagios/contexthelp/M2.html /usr/share/nagios/contexthelp/M3.html /usr/share/nagios/contexthelp/M4.html /usr/share/nagios/contexthelp/M5.html /usr/share/nagios/contexthelp/M6.html /usr/share/nagios/contexthelp/N1.html /usr/share/nagios/contexthelp/N2.html /usr/share/nagios/contexthelp/N3.html /usr/share/nagios/contexthelp/N4.html /usr/share/nagios/contexthelp/N5.html /usr/share/nagios/contexthelp/N6.html /usr/share/nagios/contexthelp/N7.html /usr/share/nagios/docs /usr/share/nagios/docs/about.html /usr/share/nagios/docs/activechecks.html /usr/share/nagios/docs/adaptive.html /usr/share/nagios/docs/addons.html /usr/share/nagios/docs/beginners.html /usr/share/nagios/docs/cachedchecks.html /usr/share/nagios/docs/cgiauth.html /usr/share/nagios/docs/cgiincludes.html /usr/share/nagios/docs/cgis.html /usr/share/nagios/docs/cgisecurity.html /usr/share/nagios/docs/checkscheduling.html /usr/share/nagios/docs/clusters.html /usr/share/nagios/docs/config.html /usr/share/nagios/docs/configcgi.html /usr/share/nagios/docs/configmain.html /usr/share/nagios/docs/configobject.html /usr/share/nagios/docs/customobjectvars.html /usr/share/nagios/docs/dependencies.html /usr/share/nagios/docs/dependencychecks.html /usr/share/nagios/docs/distributed.html /usr/share/nagios/docs/downtime.html /usr/share/nagios/docs/embeddedperl.html /usr/share/nagios/docs/epnplugins.html /usr/share/nagios/docs/escalations.html /usr/share/nagios/docs/eventhandlers.html /usr/share/nagios/docs/extcommands.html /usr/share/nagios/docs/faststartup.html /usr/share/nagios/docs/flapping.html /usr/share/nagios/docs/freshness.html /usr/share/nagios/docs/funstuff.html /usr/share/nagios/docs/hostchecks.html /usr/share/nagios/docs/images /usr/share/nagios/docs/images/activechecks.png /usr/share/nagios/docs/images/cachedcheckgraphs.png /usr/share/nagios/docs/images/cachedchecks.png /usr/share/nagios/docs/images/cachedchecks1.png /usr/share/nagios/docs/images/cgi-avail-a.png /usr/share/nagios/docs/images/cgi-avail-b.png /usr/share/nagios/docs/images/cgi-cmd.png /usr/share/nagios/docs/images/cgi-config.png /usr/share/nagios/docs/images/cgi-extinfo-a.png /usr/share/nagios/docs/images/cgi-extinfo-b.png /usr/share/nagios/docs/images/cgi-extinfo-c.png /usr/share/nagios/docs/images/cgi-extinfo-d.png /usr/share/nagios/docs/images/cgi-histogram.png /usr/share/nagios/docs/images/cgi-history.png /usr/share/nagios/docs/images/cgi-notifications.png /usr/share/nagios/docs/images/cgi-outages.png /usr/share/nagios/docs/images/cgi-showlog.png /usr/share/nagios/docs/images/cgi-status-a.png /usr/share/nagios/docs/images/cgi-status-b.png /usr/share/nagios/docs/images/cgi-status-c.png /usr/share/nagios/docs/images/cgi-status-d.png /usr/share/nagios/docs/images/cgi-statusmap.png /usr/share/nagios/docs/images/cgi-statuswml.png /usr/share/nagios/docs/images/cgi-statuswrl.png /usr/share/nagios/docs/images/cgi-summary.png /usr/share/nagios/docs/images/cgi-tac.png /usr/share/nagios/docs/images/cgi-trends.png /usr/share/nagios/docs/images/checkmark.png /usr/share/nagios/docs/images/checktiming.png /usr/share/nagios/docs/images/configoverview.png /usr/share/nagios/docs/images/distributed.png /usr/share/nagios/docs/images/downtime.png /usr/share/nagios/docs/images/epn.png /usr/share/nagios/docs/images/eventhandlers.png /usr/share/nagios/docs/images/externalcommands.png /usr/share/nagios/docs/images/fast-startup.png /usr/share/nagios/docs/images/fast-startup1.png /usr/share/nagios/docs/images/fast-startup2.png /usr/share/nagios/docs/images/freshness.png /usr/share/nagios/docs/images/host-dependencies.png /usr/share/nagios/docs/images/important.gif /usr/share/nagios/docs/images/integrationoverview.png /usr/share/nagios/docs/images/interleaved1.png /usr/share/nagios/docs/images/interleaved2.png /usr/share/nagios/docs/images/interleaved3.png /usr/share/nagios/docs/images/logofullsize.png /usr/share/nagios/docs/images/monitoring-printers.png /usr/share/nagios/docs/images/monitoring-routers.png /usr/share/nagios/docs/images/monitoring-windows.png /usr/share/nagios/docs/images/mrtg-activehostchecks.png /usr/share/nagios/docs/images/mrtg-activelychecked.png /usr/share/nagios/docs/images/mrtg-activeservicechecks.png /usr/share/nagios/docs/images/mrtg-cachedchecks.png /usr/share/nagios/docs/images/mrtg-commandbuffers.png /usr/share/nagios/docs/images/mrtg-externalcommands.png /usr/share/nagios/docs/images/mrtg-hostperfstats.png /usr/share/nagios/docs/images/mrtg-hoststatechange.png /usr/share/nagios/docs/images/mrtg-passivechecks.png /usr/share/nagios/docs/images/mrtg-passivelychecked.png /usr/share/nagios/docs/images/mrtg-serviceperfstats.png /usr/share/nagios/docs/images/mrtg-servicestatechange.png /usr/share/nagios/docs/images/multiple-templates1.png /usr/share/nagios/docs/images/multiple-templates2.png /usr/share/nagios/docs/images/nagios.jpg /usr/share/nagios/docs/images/ndoutils.png /usr/share/nagios/docs/images/network-outage1.png /usr/share/nagios/docs/images/network-outage2.png /usr/share/nagios/docs/images/noninterleaved1.png /usr/share/nagios/docs/images/noninterleaved2.png /usr/share/nagios/docs/images/note.gif /usr/share/nagios/docs/images/nrpe.png /usr/share/nagios/docs/images/nsca.png /usr/share/nagios/docs/images/nscpp.png /usr/share/nagios/docs/images/objects-commands.png /usr/share/nagios/docs/images/objects-contacts.png /usr/share/nagios/docs/images/objects-hosts.png /usr/share/nagios/docs/images/objects-services.png /usr/share/nagios/docs/images/objects-timeperiods.png /usr/share/nagios/docs/images/passivechecks.png /usr/share/nagios/docs/images/passivehosttranslation.png /usr/share/nagios/docs/images/plugins.png /usr/share/nagios/docs/images/predictive-dependency-checks.png /usr/share/nagios/docs/images/printer.png /usr/share/nagios/docs/images/reachability1.png /usr/share/nagios/docs/images/reachability2.png /usr/share/nagios/docs/images/reachability3.png /usr/share/nagios/docs/images/reachability4.png /usr/share/nagios/docs/images/redudancy.png /usr/share/nagios/docs/images/redundancy.png /usr/share/nagios/docs/images/security.png /usr/share/nagios/docs/images/security1.png /usr/share/nagios/docs/images/security2.png /usr/share/nagios/docs/images/security3.png /usr/share/nagios/docs/images/seealso.gif /usr/share/nagios/docs/images/service-dependencies.png /usr/share/nagios/docs/images/statetransitions.png /usr/share/nagios/docs/images/statetransitions2.png /usr/share/nagios/docs/images/stoprestart.png /usr/share/nagios/docs/images/switch.png /usr/share/nagios/docs/images/tcpwrappers.png /usr/share/nagios/docs/images/tip.gif /usr/share/nagios/docs/images/tuning.png /usr/share/nagios/docs/images/upto.gif /usr/share/nagios/docs/index.html /usr/share/nagios/docs/int-snmptrap.html /usr/share/nagios/docs/int-tcpwrappers.html /usr/share/nagios/docs/integration.html /usr/share/nagios/docs/largeinstalltweaks.html /usr/share/nagios/docs/macrolist.html /usr/share/nagios/docs/macros.html /usr/share/nagios/docs/monitoring-linux.html /usr/share/nagios/docs/monitoring-netware.html /usr/share/nagios/docs/monitoring-printers.html /usr/share/nagios/docs/monitoring-publicservices.html /usr/share/nagios/docs/monitoring-routers.html /usr/share/nagios/docs/monitoring-windows.html /usr/share/nagios/docs/mrtggraphs.html /usr/share/nagios/docs/nagiostats.html /usr/share/nagios/docs/networkreachability.html /usr/share/nagios/docs/notifications.html /usr/share/nagios/docs/objectdefinitions.html /usr/share/nagios/docs/objectinheritance.html /usr/share/nagios/docs/objecttricks.html /usr/share/nagios/docs/oncallrotation.html /usr/share/nagios/docs/passivechecks.html /usr/share/nagios/docs/passivestatetranslation.html /usr/share/nagios/docs/perfdata.html /usr/share/nagios/docs/pluginapi.html /usr/share/nagios/docs/plugins.html /usr/share/nagios/docs/quickstart-fedora.html /usr/share/nagios/docs/quickstart-opensuse.html /usr/share/nagios/docs/quickstart-ubuntu.html /usr/share/nagios/docs/quickstart.html /usr/share/nagios/docs/redundancy.html /usr/share/nagios/docs/robots.txt /usr/share/nagios/docs/security.html /usr/share/nagios/docs/servicechecks.html /usr/share/nagios/docs/stalking.html /usr/share/nagios/docs/startstop.html /usr/share/nagios/docs/statetypes.html /usr/share/nagios/docs/timeperiods.html /usr/share/nagios/docs/toc.html /usr/share/nagios/docs/tuning.html /usr/share/nagios/docs/upgrading.html /usr/share/nagios/docs/verifyconfig.html /usr/share/nagios/docs/volatileservices.html /usr/share/nagios/docs/whatsnew.html /usr/share/nagios/images /usr/share/nagios/images/NagiosEnterprises-whitebg-112x46.png /usr/share/nagios/images/ack.gif /usr/share/nagios/images/action.gif /usr/share/nagios/images/command.png /usr/share/nagios/images/comment.gif /usr/share/nagios/images/contexthelp1.gif /usr/share/nagios/images/contexthelp2.gif /usr/share/nagios/images/critical.png /usr/share/nagios/images/delay.gif /usr/share/nagios/images/delete.gif /usr/share/nagios/images/detail.gif /usr/share/nagios/images/disabled.gif /usr/share/nagios/images/down.gif /usr/share/nagios/images/downtime.gif /usr/share/nagios/images/empty.gif /usr/share/nagios/images/enabled.gif /usr/share/nagios/images/extinfo.gif /usr/share/nagios/images/favicon.ico /usr/share/nagios/images/flapping.gif /usr/share/nagios/images/globe-support-150x150.png /usr/share/nagios/images/greendot.gif /usr/share/nagios/images/histogram.png /usr/share/nagios/images/history.gif /usr/share/nagios/images/hostevent.gif /usr/share/nagios/images/info.png /usr/share/nagios/images/left.gif /usr/share/nagios/images/logofullsize.png /usr/share/nagios/images/logos /usr/share/nagios/images/logos/base /usr/share/nagios/images/logos/base/aix.gd2 /usr/share/nagios/images/logos/base/aix.gif /usr/share/nagios/images/logos/base/aix.jpg /usr/share/nagios/images/logos/base/aix.png /usr/share/nagios/images/logos/base/amiga.gd2 /usr/share/nagios/images/logos/base/amiga.gif /usr/share/nagios/images/logos/base/amiga.jpg /usr/share/nagios/images/logos/base/amiga.png /usr/share/nagios/images/logos/base/apple.gd2 /usr/share/nagios/images/logos/base/apple.gif /usr/share/nagios/images/logos/base/apple.jpg /usr/share/nagios/images/logos/base/apple.png /usr/share/nagios/images/logos/base/beos.gd2 /usr/share/nagios/images/logos/base/beos.gif /usr/share/nagios/images/logos/base/beos.jpg /usr/share/nagios/images/logos/base/beos.png /usr/share/nagios/images/logos/base/caldera.gd2 /usr/share/nagios/images/logos/base/caldera.gif /usr/share/nagios/images/logos/base/caldera.jpg /usr/share/nagios/images/logos/base/caldera.png /usr/share/nagios/images/logos/base/cat1900.gd2 /usr/share/nagios/images/logos/base/cat2900.gd2 /usr/share/nagios/images/logos/base/cat5000.gd2 /usr/share/nagios/images/logos/base/debian.gd2 /usr/share/nagios/images/logos/base/debian.gif /usr/share/nagios/images/logos/base/debian.jpg /usr/share/nagios/images/logos/base/debian.png /usr/share/nagios/images/logos/base/freebsd40.gd2 /usr/share/nagios/images/logos/base/freebsd40.gif /usr/share/nagios/images/logos/base/freebsd40.jpg /usr/share/nagios/images/logos/base/freebsd40.png /usr/share/nagios/images/logos/base/hp-printer40.gd2 /usr/share/nagios/images/logos/base/hp-printer40.gif /usr/share/nagios/images/logos/base/hp-printer40.jpg /usr/share/nagios/images/logos/base/hp-printer40.png /usr/share/nagios/images/logos/base/hpux.gd2 /usr/share/nagios/images/logos/base/hpux.gif /usr/share/nagios/images/logos/base/hpux.jpg /usr/share/nagios/images/logos/base/hpux.png /usr/share/nagios/images/logos/base/irix.gd2 /usr/share/nagios/images/logos/base/irix.gif /usr/share/nagios/images/logos/base/irix.jpg /usr/share/nagios/images/logos/base/irix.png /usr/share/nagios/images/logos/base/linux40.gd2 /usr/share/nagios/images/logos/base/linux40.gif /usr/share/nagios/images/logos/base/linux40.jpg /usr/share/nagios/images/logos/base/linux40.png /usr/share/nagios/images/logos/base/logo.gd2 /usr/share/nagios/images/logos/base/mac40.gd2 /usr/share/nagios/images/logos/base/mac40.gif /usr/share/nagios/images/logos/base/mac40.jpg /usr/share/nagios/images/logos/base/mac40.png /usr/share/nagios/images/logos/base/mandrake.gd2 /usr/share/nagios/images/logos/base/mandrake.gif /usr/share/nagios/images/logos/base/mandrake.jpg /usr/share/nagios/images/logos/base/mandrake.png /usr/share/nagios/images/logos/base/nagios.gd2 /usr/share/nagios/images/logos/base/next.gd2 /usr/share/nagios/images/logos/base/next.gif /usr/share/nagios/images/logos/base/next.jpg /usr/share/nagios/images/logos/base/next.png /usr/share/nagios/images/logos/base/ng-switch40.gd2 /usr/share/nagios/images/logos/base/ng-switch40.gif /usr/share/nagios/images/logos/base/ng-switch40.jpg /usr/share/nagios/images/logos/base/ng-switch40.png /usr/share/nagios/images/logos/base/novell40.gd2 /usr/share/nagios/images/logos/base/novell40.gif /usr/share/nagios/images/logos/base/novell40.jpg /usr/share/nagios/images/logos/base/novell40.png /usr/share/nagios/images/logos/base/openbsd.gd2 /usr/share/nagios/images/logos/base/openbsd.gif /usr/share/nagios/images/logos/base/openbsd.jpg /usr/share/nagios/images/logos/base/openbsd.png /usr/share/nagios/images/logos/base/redhat.gd2 /usr/share/nagios/images/logos/base/redhat.gif /usr/share/nagios/images/logos/base/redhat.jpg /usr/share/nagios/images/logos/base/redhat.png /usr/share/nagios/images/logos/base/router40.gd2 /usr/share/nagios/images/logos/base/router40.gif /usr/share/nagios/images/logos/base/router40.jpg /usr/share/nagios/images/logos/base/router40.png /usr/share/nagios/images/logos/base/slackware.gd2 /usr/share/nagios/images/logos/base/slackware.gif /usr/share/nagios/images/logos/base/slackware.jpg /usr/share/nagios/images/logos/base/slackware.png /usr/share/nagios/images/logos/base/stampede.gd2 /usr/share/nagios/images/logos/base/stampede.gif /usr/share/nagios/images/logos/base/stampede.jpg /usr/share/nagios/images/logos/base/stampede.png /usr/share/nagios/images/logos/base/station.gd2 /usr/share/nagios/images/logos/base/storm.gd2 /usr/share/nagios/images/logos/base/storm.gif /usr/share/nagios/images/logos/base/storm.jpg /usr/share/nagios/images/logos/base/storm.png /usr/share/nagios/images/logos/base/sun40.gd2 /usr/share/nagios/images/logos/base/sun40.gif /usr/share/nagios/images/logos/base/sun40.jpg /usr/share/nagios/images/logos/base/sun40.png /usr/share/nagios/images/logos/base/sunlogo.gd2 /usr/share/nagios/images/logos/base/sunlogo.gif /usr/share/nagios/images/logos/base/sunlogo.jpg /usr/share/nagios/images/logos/base/sunlogo.png /usr/share/nagios/images/logos/base/switch40.gd2 /usr/share/nagios/images/logos/base/switch40.gif /usr/share/nagios/images/logos/base/switch40.jpg /usr/share/nagios/images/logos/base/switch40.png /usr/share/nagios/images/logos/base/turbolinux.gd2 /usr/share/nagios/images/logos/base/turbolinux.gif /usr/share/nagios/images/logos/base/turbolinux.jpg /usr/share/nagios/images/logos/base/turbolinux.png /usr/share/nagios/images/logos/base/ultrapenguin.gd2 /usr/share/nagios/images/logos/base/ultrapenguin.gif /usr/share/nagios/images/logos/base/ultrapenguin.jpg /usr/share/nagios/images/logos/base/ultrapenguin.png /usr/share/nagios/images/logos/base/unicos.gd2 /usr/share/nagios/images/logos/base/unicos.gif /usr/share/nagios/images/logos/base/unicos.jpg /usr/share/nagios/images/logos/base/unicos.png /usr/share/nagios/images/logos/base/win40.gd2 /usr/share/nagios/images/logos/base/win40.gif /usr/share/nagios/images/logos/base/win40.jpg /usr/share/nagios/images/logos/base/win40.png /usr/share/nagios/images/logos/base/yellowdog.gd2 /usr/share/nagios/images/logos/base/yellowdog.gif /usr/share/nagios/images/logos/base/yellowdog.jpg /usr/share/nagios/images/logos/base/yellowdog.png /usr/share/nagios/images/logos/nagios.gd2 /usr/share/nagios/images/logos/nagios.gif /usr/share/nagios/images/logos/nagiosvrml.png /usr/share/nagios/images/logos/unknown.gd2 /usr/share/nagios/images/logos/unknown.gif /usr/share/nagios/images/logrotate.png /usr/share/nagios/images/ndisabled.gif /usr/share/nagios/images/noack.gif /usr/share/nagios/images/notes.gif /usr/share/nagios/images/notify.gif /usr/share/nagios/images/orangedot.gif /usr/share/nagios/images/passiveonly.gif /usr/share/nagios/images/recovery.png /usr/share/nagios/images/redudancy.png /usr/share/nagios/images/redundancy.png /usr/share/nagios/images/restart.gif /usr/share/nagios/images/right.gif /usr/share/nagios/images/sblogo.jpg /usr/share/nagios/images/serviceevent.gif /usr/share/nagios/images/splunk1.gif /usr/share/nagios/images/splunk2.gif /usr/share/nagios/images/start.gif /usr/share/nagios/images/status.gif /usr/share/nagios/images/status2.gif /usr/share/nagios/images/status3.gif /usr/share/nagios/images/status4.gif /usr/share/nagios/images/stop.gif /usr/share/nagios/images/tacdisabled.jpg /usr/share/nagios/images/tacenabled.jpg /usr/share/nagios/images/tacenabled.png /usr/share/nagios/images/thermcrit.png /usr/share/nagios/images/thermok.png /usr/share/nagios/images/thermwarn.png /usr/share/nagios/images/trends.gif /usr/share/nagios/images/trendshost.png /usr/share/nagios/images/trendssvc.png /usr/share/nagios/images/unknown.png /usr/share/nagios/images/up.gif /usr/share/nagios/images/warning.png /usr/share/nagios/images/weblogo1.png /usr/share/nagios/images/zoom1.gif /usr/share/nagios/images/zoom2.gif /usr/share/nagios/index.html /usr/share/nagios/main.html /usr/share/nagios/media /usr/share/nagios/robots.txt /usr/share/nagios/side.html /usr/share/nagios/ssi /usr/share/nagios/stylesheets /usr/share/nagios/stylesheets/avail.css /usr/share/nagios/stylesheets/checksanity.css /usr/share/nagios/stylesheets/cmd.css /usr/share/nagios/stylesheets/common.css /usr/share/nagios/stylesheets/config.css /usr/share/nagios/stylesheets/extinfo.css /usr/share/nagios/stylesheets/histogram.css /usr/share/nagios/stylesheets/history.css /usr/share/nagios/stylesheets/ministatus.css /usr/share/nagios/stylesheets/notifications.css /usr/share/nagios/stylesheets/outages.css /usr/share/nagios/stylesheets/showlog.css /usr/share/nagios/stylesheets/status.css /usr/share/nagios/stylesheets/statusmap.css /usr/share/nagios/stylesheets/summary.css /usr/share/nagios/stylesheets/tac.css /usr/share/nagios/stylesheets/trends.css /var/log/nagios /var/log/nagios/archives /var/nagios /var/nagios/archives /var/nagios/rw /var/nagios/spool /var/nagios/spool/checkresults
Folgender Benutzer wurde ebenfalls angelegt, was mit folgende Befehl überprüft werden kann:
# cat /etc/passwd | grep nagios nagios:x:106:109:nagios:/var/log/nagios:/bin/sh
Desweiteren wurden auch folgende Gruppen angelegt, was mit folgendem Befehl überprüft werden kann:
# cat /etc/group | grep nagio nagios:x:109:apache nagiocmd:x:110:apache
Desweiteren ist nachfolgendes RPM-Paket zum erfolgreichen Betrieb von Nagios erforderlich und wird mit folgendem Befehl installiert:
# yum install nagios-plugins Loading "priorities" plugin Loading "fastestmirror" plugin Loading mirror speeds from cached hostfile * rpmforge: ftp-stud.fht-esslingen.de * base: ftp.halifax.rwth-aachen.de * updates: ftp.halifax.rwth-aachen.de * addons: ftp.halifax.rwth-aachen.de * extras: ftp.halifax.rwth-aachen.de 352 packages excluded due to repository priority protections Setting up Install Process Parsing package install arguments Resolving Dependencies --> Running transaction check ---> Package nagios-plugins.i386 0:1.4.13-1.el5.rf set to be updated --> Processing Dependency: fping for package: nagios-plugins --> Processing Dependency: perl(Net::SNMP) for package: nagios-plugins --> Running transaction check ---> Package fping.i386 0:2.4-1.b2.2.el5.rf set to be updated ---> Package perl-Net-SNMP.noarch 0:5.2.0-1.2.el5.rf set to be updated --> Processing Dependency: perl(Crypt::DES) for package: perl-Net-SNMP --> Running transaction check ---> Package perl-Crypt-DES.i386 0:2.05-3.2.el5.rf set to be updated --> Finished Dependency Resolution Dependencies Resolved ============================================================================= Package Arch Version Repository Size ============================================================================= Installing: nagios-plugins i386 1.4.13-1.el5.rf rpmforge 1.1 M Installing for dependencies: fping i386 2.4-1.b2.2.el5.rf rpmforge 46 k perl-Crypt-DES i386 2.05-3.2.el5.rf rpmforge 37 k perl-Net-SNMP noarch 5.2.0-1.2.el5.rf rpmforge 96 k Transaction Summary ============================================================================= Install 4 Package(s) Update 0 Package(s) Remove 0 Package(s) Total download size: 1.3 M Is this ok [y/N]: y Downloading Packages: (1/4): perl-Net-SNMP-5.2. 100% |=========================| 96 kB 00:00 (2/4): nagios-plugins-1.4 100% |=========================| 1.1 MB 00:00 (3/4): fping-2.4-1.b2.2.e 100% |=========================| 46 kB 00:00 (4/4): perl-Crypt-DES-2.0 100% |=========================| 37 kB 00:00 Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Installing: fping ######################### [1/4] Installing: perl-Crypt-DES ######################### [2/4] Installing: perl-Net-SNMP ######################### [3/4] Installing: nagios-plugins ######################### [4/4] Installed: nagios-plugins.i386 0:1.4.13-1.el5.rf Dependency Installed: fping.i386 0:2.4-1.b2.2.el5.rf perl-Crypt-DES.i386 0:2.05-3.2.el5.rf perl-Net-SNMP.noarch 0:5.2.0-1.2.el5.rf Complete!
Folgender Inhalt befindet sich im RPM-Paket nagios-plugins.i386
, welcher mit nachfolgendem Befehl aufgelistet werden kann:
# rpm -qil nagios-plugins | more Name : nagios-plugins Relocations: (not relocatable) Version : 1.4.13 Vendor: Dag Apt Repository, http://dag.wieers.com/apt/ Release : 1.el5.rf Build Date: Mon 29 Dec 2008 04:51:32 PM CET Install Date: Fri 13 Feb 2009 02:21:16 PM CET Build Host: lisse.hasselt.wieers.com Group : Applications/System Source RPM: nagios-plugins-1.4.13-1.el5.rf.src.rpm Size : 3145584 License: GPL Signature : DSA/SHA1, Tue 30 Dec 2008 05:42:24 AM CET, Key ID a20e52146b8d79e6 Packager : Dag Wieers <dag@wieers.com> URL : http://nagiosplug.sourceforge.net/ Summary : Host/service/network monitoring program plugins for Nagios Description : This package contains the basic plugins necessary for use with the Nagios package. This package should install cleanly on almost any RPM-based system. But you may need additional packages. Depending on what plugins you use, the following packages may be required: bind-utils, mysql, net-snmp-utils, ntp, openldap, openssh-clients, openssl, postgresql-libs qstat, radiusclient, samba-client, sendmail /etc/nagios /etc/nagios/command-plugins.cfg /usr/lib/nagios /usr/lib/nagios/plugins /usr/lib/nagios/plugins/check_apt /usr/lib/nagios/plugins/check_breeze /usr/lib/nagios/plugins/check_by_ssh /usr/lib/nagios/plugins/check_clamd /usr/lib/nagios/plugins/check_cluster /usr/lib/nagios/plugins/check_dig /usr/lib/nagios/plugins/check_disk /usr/lib/nagios/plugins/check_disk_smb /usr/lib/nagios/plugins/check_dns /usr/lib/nagios/plugins/check_dummy /usr/lib/nagios/plugins/check_file_age /usr/lib/nagios/plugins/check_flexlm /usr/lib/nagios/plugins/check_fping /usr/lib/nagios/plugins/check_ftp /usr/lib/nagios/plugins/check_game /usr/lib/nagios/plugins/check_hpjd /usr/lib/nagios/plugins/check_http /usr/lib/nagios/plugins/check_ide_smart /usr/lib/nagios/plugins/check_ifoperstatus /usr/lib/nagios/plugins/check_ifstatus /usr/lib/nagios/plugins/check_imap /usr/lib/nagios/plugins/check_ircd /usr/lib/nagios/plugins/check_jabber /usr/lib/nagios/plugins/check_ldap /usr/lib/nagios/plugins/check_ldaps /usr/lib/nagios/plugins/check_load /usr/lib/nagios/plugins/check_log /usr/lib/nagios/plugins/check_mailq /usr/lib/nagios/plugins/check_mrtg /usr/lib/nagios/plugins/check_mrtgtraf /usr/lib/nagios/plugins/check_mysql /usr/lib/nagios/plugins/check_mysql_query /usr/lib/nagios/plugins/check_nagios /usr/lib/nagios/plugins/check_nntp /usr/lib/nagios/plugins/check_nntps /usr/lib/nagios/plugins/check_nt /usr/lib/nagios/plugins/check_ntp /usr/lib/nagios/plugins/check_ntp_peer /usr/lib/nagios/plugins/check_ntp_time /usr/lib/nagios/plugins/check_nwstat /usr/lib/nagios/plugins/check_oracle /usr/lib/nagios/plugins/check_overcr /usr/lib/nagios/plugins/check_pgsql /usr/lib/nagios/plugins/check_ping /usr/lib/nagios/plugins/check_pop /usr/lib/nagios/plugins/check_procs /usr/lib/nagios/plugins/check_radius /usr/lib/nagios/plugins/check_real /usr/lib/nagios/plugins/check_rpc /usr/lib/nagios/plugins/check_sensors /usr/lib/nagios/plugins/check_simap /usr/lib/nagios/plugins/check_smtp /usr/lib/nagios/plugins/check_snmp /usr/lib/nagios/plugins/check_spop /usr/lib/nagios/plugins/check_ssh /usr/lib/nagios/plugins/check_ssmtp /usr/lib/nagios/plugins/check_swap /usr/lib/nagios/plugins/check_tcp /usr/lib/nagios/plugins/check_time /usr/lib/nagios/plugins/check_udp /usr/lib/nagios/plugins/check_ups /usr/lib/nagios/plugins/check_users /usr/lib/nagios/plugins/check_wave /usr/lib/nagios/plugins/contrib /usr/lib/nagios/plugins/contrib/check_adptraid.sh /usr/lib/nagios/plugins/contrib/check_apache.pl /usr/lib/nagios/plugins/contrib/check_apc_ups.pl /usr/lib/nagios/plugins/contrib/check_appletalk.pl /usr/lib/nagios/plugins/contrib/check_arping.pl /usr/lib/nagios/plugins/contrib/check_asterisk.pl /usr/lib/nagios/plugins/contrib/check_axis.sh /usr/lib/nagios/plugins/contrib/check_backup.pl /usr/lib/nagios/plugins/contrib/check_bgpstate.pl /usr/lib/nagios/plugins/contrib/check_breeze.pl /usr/lib/nagios/plugins/contrib/check_cluster /usr/lib/nagios/plugins/contrib/check_cluster.c /usr/lib/nagios/plugins/contrib/check_cluster2 /usr/lib/nagios/plugins/contrib/check_cluster2.README /usr/lib/nagios/plugins/contrib/check_cluster2.c /usr/lib/nagios/plugins/contrib/check_compaq_insight.pl /usr/lib/nagios/plugins/contrib/check_cpqarray.c /usr/lib/nagios/plugins/contrib/check_digitemp.pl /usr/lib/nagios/plugins/contrib/check_dlswcircuit.pl /usr/lib/nagios/plugins/contrib/check_dns_random.pl /usr/lib/nagios/plugins/contrib/check_email_loop.pl /usr/lib/nagios/plugins/contrib/check_fan_cpq_present /usr/lib/nagios/plugins/contrib/check_fan_fsc_present /usr/lib/nagios/plugins/contrib/check_flexlm.pl /usr/lib/nagios/plugins/contrib/check_frontpage /usr/lib/nagios/plugins/contrib/check_hltherm.c /usr/lib/nagios/plugins/contrib/check_hprsc.pl /usr/lib/nagios/plugins/contrib/check_http-with-client-certificate.c /usr/lib/nagios/plugins/contrib/check_hw.sh /usr/lib/nagios/plugins/contrib/check_ica_master_browser.pl /usr/lib/nagios/plugins/contrib/check_ica_metaframe_pub_apps.pl /usr/lib/nagios/plugins/contrib/check_ica_program_neigbourhood.pl /usr/lib/nagios/plugins/contrib/check_inodes-freebsd.pl /usr/lib/nagios/plugins/contrib/check_inodes.pl /usr/lib/nagios/plugins/contrib/check_ipxping.c /usr/lib/nagios/plugins/contrib/check_javaproc.pl /usr/lib/nagios/plugins/contrib/check_joy.sh /usr/lib/nagios/plugins/contrib/check_linux_raid.pl /usr/lib/nagios/plugins/contrib/check_lmmon.pl /usr/lib/nagios/plugins/contrib/check_log2.pl /usr/lib/nagios/plugins/contrib/check_lotus.pl /usr/lib/nagios/plugins/contrib/check_maxchannels.pl /usr/lib/nagios/plugins/contrib/check_maxwanstate.pl /usr/lib/nagios/plugins/contrib/check_mem.pl /usr/lib/nagios/plugins/contrib/check_ms_spooler.pl /usr/lib/nagios/plugins/contrib/check_mssql.sh /usr/lib/nagios/plugins/contrib/check_nagios.pl /usr/lib/nagios/plugins/contrib/check_nagios_db.pl /usr/lib/nagios/plugins/contrib/check_nagios_db_pg.pl /usr/lib/nagios/plugins/contrib/check_netapp.pl /usr/lib/nagios/plugins/contrib/check_nmap.py /usr/lib/nagios/plugins/contrib/check_nmap.pyc /usr/lib/nagios/plugins/contrib/check_ora_table_space.pl /usr/lib/nagios/plugins/contrib/check_oracle_instance.pl /usr/lib/nagios/plugins/contrib/check_oracle_tbs /usr/lib/nagios/plugins/contrib/check_pcpmetric.py /usr/lib/nagios/plugins/contrib/check_pcpmetric.pyc /usr/lib/nagios/plugins/contrib/check_pfstate /usr/lib/nagios/plugins/contrib/check_qmailq.pl /usr/lib/nagios/plugins/contrib/check_rbl.c /usr/lib/nagios/plugins/contrib/check_remote_nagios_status.pl /usr/lib/nagios/plugins/contrib/check_rrd_data.pl /usr/lib/nagios/plugins/contrib/check_sap.sh /usr/lib/nagios/plugins/contrib/check_smart.pl /usr/lib/nagios/plugins/contrib/check_smb.sh /usr/lib/nagios/plugins/contrib/check_snmp_disk_monitor.pl /usr/lib/nagios/plugins/contrib/check_snmp_printer.pl /usr/lib/nagios/plugins/contrib/check_snmp_process_monitor.pl /usr/lib/nagios/plugins/contrib/check_snmp_procs.pl /usr/lib/nagios/plugins/contrib/check_sockets.pl /usr/lib/nagios/plugins/contrib/check_temp_cpq /usr/lib/nagios/plugins/contrib/check_temp_fsc /usr/lib/nagios/plugins/contrib/check_timeout /usr/lib/nagios/plugins/contrib/check_timeout.c /usr/lib/nagios/plugins/contrib/check_traceroute-pure_perl.pl /usr/lib/nagios/plugins/contrib/check_traceroute.pl /usr/lib/nagios/plugins/contrib/check_uptime.c /usr/lib/nagios/plugins/contrib/check_vcs.pl /usr/lib/nagios/plugins/contrib/check_wave.pl /usr/lib/nagios/plugins/contrib/check_wins.pl /usr/lib/nagios/plugins/negate /usr/lib/nagios/plugins/plugins.pm /usr/lib/nagios/plugins/urlize /usr/lib/nagios/plugins/utils.pm /usr/lib/nagios/plugins/utils.py /usr/lib/nagios/plugins/utils.pyc /usr/lib/nagios/plugins/utils.sh /usr/lib/perl5/vendor_perl/5.8.8/utils.pm /usr/share/doc/nagios-plugins-1.4.13 /usr/share/doc/nagios-plugins-1.4.13/ACKNOWLEDGEMENTS /usr/share/doc/nagios-plugins-1.4.13/AUTHORS /usr/share/doc/nagios-plugins-1.4.13/BUGS /usr/share/doc/nagios-plugins-1.4.13/CODING /usr/share/doc/nagios-plugins-1.4.13/COPYING /usr/share/doc/nagios-plugins-1.4.13/ChangeLog /usr/share/doc/nagios-plugins-1.4.13/FAQ /usr/share/doc/nagios-plugins-1.4.13/INSTALL /usr/share/doc/nagios-plugins-1.4.13/LEGAL /usr/share/doc/nagios-plugins-1.4.13/NEWS /usr/share/doc/nagios-plugins-1.4.13/README /usr/share/doc/nagios-plugins-1.4.13/REQUIREMENTS /usr/share/doc/nagios-plugins-1.4.13/SUPPORT /usr/share/doc/nagios-plugins-1.4.13/THANKS /usr/share/doc/nagios-plugins-1.4.13/command.cfg /usr/share/locale/de/LC_MESSAGES/nagios-plugins.mo /usr/share/locale/fr/LC_MESSAGES/nagios-plugins.mo
WICHTIG - Nach der Installation von
nagios-plugins
sollte folgende Korrektur der Besitzrechte an der Konfigurationsdatei /etc/nagios/command-plugins.cfg
mit nachfolgendem Befehl durchgeführt werden um die Besitzrechte auf nagios.nagios
zu ändern:
# chown nagios.nagios /etc/nagios/command-plugins.cfg
Konfiguration
Die Konfiguration von Nagios unterteilt sich in verschiedene Konfigurationsdateien. Die drei „Hauptkonfigurationsdateien“ sind:
/etc/nagios/nagios.cfg
/etc/nagios/cgi.cfg
/etc/nagios/resource.cfg
Weitere Konfigurationsdateien sind Dateien die die sogenannten Objektdefinitionen enthalten. Standardmäßig werden hier folgende Vorlagen/Beispieldateien zur Verfügung gestellt:
/etc/nagios/objects/commands.cfg
/etc/nagios/objects/contacts.cfg
/etc/nagios/objects/localhost.cfg
/etc/nagios/objects/printer.cfg
/etc/nagios/objects/switch.cfg
/etc/nagios/objects/templates.cfg
/etc/nagios/objects/timeperiods.cfg
/etc/nagios/objects/windows.cfg
Eine zusätzliche Konfigurationsdatei mit Aufrufkonfigurationen für die nagios-plugins
ist als Vorlage/Beispieldatei in nachfolgender Datei enthalten:
/etc/nagios/command-plugins.cfg
Konfiguration Webserver
HINWEIS - Bevor mit der eigentlichen Konfiguration von Nagios begonnen werden soll, soll die Einrichtung des Webservers, hier der Apache HTTP Server, statt finden, da sonst evtl. Konfigurationen nicht im Web-Interface von Nagios dargestellt werden können!
Hier soll die Konfiguration eines virtuellen Host für den Apache HTTP Server beschrieben werden. Der Aufruf von Nagios soll über die URL
ermöglicht werden.
Falls Sie noch keine Erfahrungen mit virtuellen Hosts in Verbindung mit dem Apache HTTP Server haben sollten, lesen Sie bitte die Dokumentation des Apache HTTP Server Projektes, da hier nur die grundlegenden Schritte erläutert werden.
Falls noch nicht geschehen wird im Verzeichnis /etc/httpd/conf.d
eine Datei mit dem Namen vhosts.conf
erstellt. Der Inhalt dieser Datei sollte minimal für einen virtuellen Host für Nagios wie folgt aussehen:
# This configuration file enables the vhosts to this # Server # NameVirtualHost *:80 # # nagios.tachtler.net # <VirtualHost *:80> ServerAdmin webmaster@tachtler.net ServerName nagios.tachtler.net ServerAlias www.nagios.tachtler.net ServerPath / DocumentRoot "/var/www/html/nagios" <Directory "/var/www/html/nagios"> Options FollowSymLinks AllowOverride AuthConfig Order allow,deny Allow from all </Directory> ScriptAlias /nagios/cgi-bin "/usr/lib/nagios/cgi" <Directory "/usr/lib/nagios/cgi"> # SSLRequireSSL Options ExecCGI AllowOverride None Order allow,deny Allow from all # Order deny,allow # Deny from all # Allow from 127.0.0.1 AuthName "Nagios Access" AuthType Basic AuthUserFile /etc/nagios/htpasswd.users Require valid-user </Directory> Alias /nagios "/usr/share/nagios" <Directory "/usr/share/nagios"> # SSLRequireSSL Options None AllowOverride None Order allow,deny Allow from all # Order deny,allow # Deny from all # Allow from 127.0.0.1 AuthName "Nagios Access" AuthType Basic AuthUserFile /etc/nagios/htpasswd.users Require valid-user </Directory> DirectoryIndex index.htm index.html ErrorLog logs/nagios_error.log CustomLog logs/nagios_access.log combined </VirtualHost>
WICHTIG - Die mit der Installation mitgelieferte Konfigurationsdatei
/etc/httpd/conf.d/nagios.conf
kann entweder gelöscht, oder besser deren Inhalt „auskommentiert“ werden, damit es mit diesem neuen virtuellen Host nicht zu Überschneidungen kommen kann!
WICHTIG - Um bei der Standard-Pfadvergabe von Nagios zu bleiben, jedoch trotzdem einen virtuellen Host zu nutzen sind noch einige Angaben notwendig!
Zuerst muss das Verzeichnis /var/www/html/nagios
mit folgendem Befehl angelegt werden:
# mkdir /var/www/html/nagios
Anschließend wird eine Datei mit dem Namen /var/www/html/nagios/index.htm
mit folgendem Befehl und nachfolgendem Inhalt angelegt:
# touch /var/www/html/nagios/index.htm
Inhalt der Datei /var/www/html/nagios/index.htm
sollte folgender sein:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="de" xml:lang="de"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <meta http-equiv="refresh" content="0; url=http://www.nagios.tachtler.net/nagios/" /> </head> </html>
Zum Abschluss müssen die Besitzrechte für das entstandene Verzeichnis mit folgendem Befehl korrigiert werden:
# chown -R root.apache /var/www/html/nagios
WICHTIG - Die Passwortdatei
/etc/nagios/htpasswd.users
existiert nach der Installation nicht!
Um die Passwortdatei /etc/nagios/htpasswd.users
anzulegen und einen Administrator mit Namen nagiosadmin
und einem dazugehörigen Passwort anzulegen, sind folgende Schritte notwendig:
# htpasswd -c /etc/nagios/htpasswd.users nagiosadmin New password: Re-type new password: Adding password for user nagiosadmin
Der Inhalt der Passwortdatei /etc/nagios/htpasswd.users
kann mit folgendem Befehl ausgegeben werden:
# cat /etc/nagios/htpasswd.users nagiosadmin:Eixr/UDGftUst
Abschließend sollten noch die Besitz- und Zugriffsrechte nur auf den Benutzernamen des Web-Servers hier des Apache HTTP Server der den Benutzernamen apache
hat mit folgenden Befehlen gesetzt werden, zuerst die Besitzrechte:
# chown apache.apache /etc/nagios/htpasswd.users
und noch die Zugriffsrechte mit folgendem Befehl:
# chmod 600 /etc/nagios/htpasswd.users
Ein erneuter oder erster Start des Apache HTTP Server mit folgenden Befehl für eine erstmaligen Start
# service httpd start
oder einen erneuten Start des Apache HTTP Server mit folgendem Befehl
# service httpd restart
macht die oben beschriebenen Konfigurationen für den Apache HTTP Server wirksam.
Nach dem Erfolgreichen Aufruf des Links http://www.nagios.tachtler.net sollte folgende Standard-Startseite erscheinen:
/etc/nagios/nagios.cfg
Um Nagios auch für größere Installationen konfigurierbar zu halten, ist es durchaus sinnvoll von der Standard-Aufteilung der Speicherorte der Konfigurationsdateien etwas abzuweichen und auch die einzelnen Konfigurationsdateien nicht als einzelne Konfigurationsdateien einzubinden, sondern als Konfiguratiosnsverzeichnisse. Zum besseren Verständnis eine Übersicht über die Standardkonfiguration und eine etwas komfortablere Variante:
Standardkonfigurationsdateien und Verzeichnisse (Der Befehl für diese Anzeige lautet tree)
# tree /etc/nagios . |-- cgi.cfg |-- command-plugins.cfg |-- htpasswd.users |-- nagios.cfg |-- objects | |-- commands.cfg | |-- contacts.cfg | |-- localhost.cfg | |-- printer.cfg | |-- switch.cfg | |-- templates.cfg | |-- timeperiods.cfg | `-- windows.cfg `-- resource.cfg 1 directory, 13 files
Erweiterte Konfigurationsdateien und Verzeichnisse (Nach Anpassungen !!!) - Beispiel
# tree /etc/nagios . |-- cgi.cfg |-- command-plugins.cfg |-- htpasswd.users |-- nagios.cfg |-- objects | |-- commands.cfg | |-- contacts.cfg | |-- localhost.cfg | |-- printer.cfg | |-- switch.cfg | |-- templates.cfg | |-- timeperiods.cfg | `-- windows.cfg |-- tachtler | |-- global | | |-- commands | | |-- contacts | | |-- templates | | |-- timeperiods | |-- tachtler.net | | |-- localhost | | |-- printer | | |-- switch | | |-- windows | | | |-- services | | | |-- hosts | | `-- linux | | | |-- services | | | |-- hosts | | | | `-- nss.tachtler.net.cfg `-- resource.cfg 17 directory, 14 files
Um diese Erweiterte Konfigurationsdateien und Verzeichnisse nutzen zu können, müssen einmal die Verzeichnisse angelegt werden und die Konfigurationsdatei von Nagios - /etc/nagios/nagios.cfg
wie folgt eingetragen werden.
Als ersten Schritt, werden die Verzeichnisse
/etc/nagios/tachtler
/etc/nagios/tachtler/global
/etc/nagios/tachtler/tachtler.net
mit nachfolgenden Befehlen erstellt:
# mkdir /etc/nagios/tachtler # mkdir /etc/nagios/tachtler/global # mkdir /etc/nagios/tachtler/tachtler.net
Als nächsten Schritt müssen noch die Besitzrechte mit nachfolgendem Befehl wie folgt angepasst werden:
# chown -R nagios.nagios /etc/nagios/tachtler
Als nächsten Schritt werden dann die gerade angelegten und noch leeren Verzeichnisse in die Konfigurationsdatei von Nagios - /etc/nagios/nagios.cfg
wie folgt eingetragen und die Standard-Eintragungen auskommentiert - (nur relevanter Ausschnitt):
... # OBJECT CONFIGURATION FILE(S) # These are the object configuration files in which you define hosts, # host groups, contacts, contact groups, services, etc. # You can split your object definitions across several config files # if you wish (as shown below), or keep them all in a single config file. # You can specify individual object config files as shown below: # Tachtler #cfg_file=/etc/nagios/objects/commands.cfg # Tachtler #cfg_file=/etc/nagios/objects/contacts.cfg # Tachtler #cfg_file=/etc/nagios/objects/timeperiods.cfg # Tachtler #cfg_file=/etc/nagios/objects/templates.cfg # Definitions for monitoring the local (Linux) host # Tachtler #cfg_file=/etc/nagios/objects/localhost.cfg # Definitions for monitoring a Windows machine #cfg_file=/etc/nagios/objects/windows.cfg # Definitions for monitoring a router/switch #cfg_file=/etc/nagios/objects/switch.cfg # Definitions for monitoring a network printer #cfg_file=/etc/nagios/objects/printer.cfg # You can also tell Nagios to process all config files (with a .cfg # extension) in a particular directory by using the cfg_dir # directive as shown below: #cfg_dir=/etc/nagios/servers #cfg_dir=/etc/nagios/printers #cfg_dir=/etc/nagios/switches #cfg_dir=/etc/nagios/routers # Tachtler cfg_dir=/etc/nagios/tachtler/global cfg_dir=/etc/nagios/tachtler/tachtler.net ...
Abschließend sollte auch noch, für den Anfang, das Datums-Format von us auf europäisches oder iso8601 mit folgenden Änderung der Konfigurationsdatei von Nagios - /etc/nagios/nagios.cfg
geändert werden (nur relevanter Ausschnitt):
... # DATE FORMAT OPTION # This option determines how short dates are displayed. Valid options # include: # us (MM-DD-YYYY HH:MM:SS) # euro (DD-MM-YYYY HH:MM:SS) # iso8601 (YYYY-MM-DD HH:MM:SS) # strict-iso8601 (YYYY-MM-DDTHH:MM:SS) # # Tachtler # default: date_format=us date_format=iso8601 ...
/etc/aliases
Die Konfigurationsdatei /etc/aliases
ist eine Konfigurationsdatei für den jeweils eingesetzten Mail Transport Agent (MTA) wie z.B.
Damit Nagios jedoch in der Lage ist e-Mails zu versenden bzw. ggf. auch e-Mails zu empfangen, ist es sinnvoll eine e-Mail-Adresse für Nagios einzurichten. Dazu ist es erforderlich folgende Ergänzung in der Konfigurationsdatei /etc/aliases
durchzuführen (nur relevanter Ausschnitt):
... # Nagios - new entry nagios: root ...
Dadurch würden alle Nachrichten an Nagios dem Benutzer
root
in dessen Postfach zugestellt werden!
Um diese Änderung wirksam werden zu lassen, ist die Ausführung folgenden Befehls notwendig:
# newaliases
Objekte anlegen
Ein Nagios-Objekt beschreibt eine bestimmte Einheit: einen Host, Service, Kontakt, aber auch die dazugehörigen Gruppen. Selbst Kommandos werden in Nagios als Objekte definiert!
Hier eine Übersicht der Objekte in Nagios:
Objekt | Beschreibung |
---|---|
host | Beschreibt den zu überwachenden Netzwerkknoten |
hostgroup | Gruppe der zu überwachenden Netzwerkknoten |
service | Beschreibt die zu überwachenden Dienste |
servicegroup | Gruppe der zu überwachenden Dienste |
contact | Person, welche von Nagios über bestimmte Ereignisse informiert werden soll |
contactgroup | Gruppe von Personen, welche von Nagios über bestimmte Ereignisse informiert werden sollen |
timeperiod | Beschreibt eine Zeitfenster, in dem Nagios contactgroup benachrichtigen soll |
command | Externe Programme, welche über Kommando-Objekte aufgerufen werden |
servicedependency | Beschreibt Abhängigkeiten zwischen verschiedenen service |
serviceescalation | Beschreibt eine Definition eines richtigen Eskalationsmanagements für service |
hostdependency | Beschreibt Abhängigkeiten zwischen verschiedenen host |
hostescalation | Beschreibt eine Definition eines richtigen Eskalationsmanagements für host |
serviceextinfo (Nagios 2.x) | Zusätzliche Informationen zu service in der grafischen Ausgabe |
hostextinfo (Nagios 2.x) | Zusätzliche Informationen zu host in der grafischen Ausgabe |
templates | Teil aller Objekte mit vordefinierten immer gleichbleibenden Definitionen des Objekts |
Eine Detailliere Übersicht über alle Direktiven der einzelnen Objekte ist in der Dokumentation zu Nagios, welche mit installiert wurde unter folgendem Link aufgelistet:
Beispielzielsetzung
Das Ziel wird sein,
- den HOST auf dem Nagios selbst läuft zu überwachen (Selbstüberwachung) zu realisieren!
- Die Überwachung eines intern zu erreichenden Netzwerks [192.168.0.0/24]
- Die Überwachung eines extern zu erreichenden Netzwerks [88.217.171.167/32]
Im ersten Schritt, soll die Verzeichnisstruktur von Nagios in der die Konfigurationen liegen, sprich /etc/nagios
entsprechend erweitert werden, wie dies schon in der Konfigurationsdatei /etc/nagios/nagios.cfg
begonnen wurde.
templates
Die Anlage von Templates erleichtert das Verwalten der Objekte dadurch, das die gebräuchlichsten Einstellungen für die überwiegende Anzahl von Objekten gleich sind und ggf. sehr schnell für alle Objekte welche ein bestimmtes Template verwenden geändert werden können!
Dazu wird mit nachfolgendem Befehl ein neues Verzeichnis mit dem Namen templates
im Unterverzeichnis von /etc/nagios/tachtler/global
angelegt:
# mkdir /etc/nagios/tachtler/global/templates
generic_contact.cfg
Innerhalb des Verzeichnisses /etc/nagios/tachtler/global/templates
wird mit nachfolgendem Befehl eine Konfigurationsdatei mit dem Namen generic_contact.cfg
angelegt:
# touch /etc/nagios/tachtler/global/templates/generic_contact.cfg
Der Inhalt des Tenplates - generic_contact.cfg
sollte wie folgt aussehen:
ACHTUNG - Hier werden die Commands -
notify-host-by-email
und notify-service-by-email
- welche in /etc/nagios/tachtler/global/commands/notify-host-by-email.cfg
und /etc/nagios/tachtler/global/commands/notify-service-by-email
definiert sind verwendet, siehe notify-host-by-email.cfg und notify-service-by-email.cfg
ACHTUNG - Hier wird die Timeperiod -
24×7
- welche in /etc/nagios/tachtler/global/timeperiods/24×7.cfg
definiert ist verwendet, siehe 24x7.cfg
define contact{ name generic-contact ; The name of this contact template register 0 ; DONT REGISTER THIS DEFINITION, JUST A TEMPLATE! host_notification_period 24x7 service_notification_period 24x7 host_notification_options d,u,r,f,s ; d=down, u=unreachable, r=recoveries, f=flapping, s=scheduled, n=none service_notification_options w,u,c,r,f,s ; w=warning, u=unknown, c=critical, r=recoveries, f=flapping, s=scheduled, n=none host_notification_commands notify-host-by-email service_notification_commands notify-service-by-email }
Abschließend müssen die Benutzerrechte mit nachfolgendem Befehl noch wie folgt korrigiert werden:
# chown -R nagios.nagios /etc/nagios/tachtler/global/templates
generic_host.cfg
Innerhalb des Verzeichnisses /etc/nagios/tachtler/global/templates
wird mit nachfolgendem Befehl eine Konfigurationsdatei mit dem Namen generic_host.cfg
angelegt:
# touch /etc/nagios/tachtler/global/templates/generic_host.cfg
Der Inhalt des Tenplates - generic_host.cfg
sollte wie folgt aussehen:
ACHTUNG - Hier wird das Command -
check-host-alive
- welches in /etc/nagios/tachtler/global/commands/check-host-alive.cfg
definiert ist verwendet, siehe check-host-alive.cfg
ACHTUNG - Hier wird die Timeperiod -
24×7
- welche in /etc/nagios/tachtler/global/timeperiods/24×7.cfg
definiert ist verwendet, siehe 24x7.cfg
define host{ name generic-host ; The name of this host template register 0 ; DONT REGISTER THIS DEFINITION, JUST A TEMPLATE! notifications_enabled 1 event_handler_enabled 1 flap_detection_enabled 1 failure_prediction_enabled 1 process_perf_data 1 retain_status_information 1 retain_nonstatus_information 1 notification_period 24x7 } define host{ name linux-server ; The name of this host template register 0 ; DONT REGISTER THIS DEFINITION, JUST A TEMPLATE! use generic-host ; This template inherits other values from the generic-host template check_period 24x7 check_interval 5 ; Check interval every 5 minutes retry_interval 1 ; Retry interval every 1 minute max_check_attempts 10 check_command check-host-alive notification_interval 60 ; Resend notifications every 1 hour notification_options d,u,r,f,s ; d=down, u=unreachable, r=recoveries, f=flapping, s=scheduled, n=none }
Abschließend müssen die Benutzerrechte mit nachfolgendem Befehl noch wie folgt korrigiert werden:
# chown -R nagios.nagios /etc/nagios/tachtler/global/templates
generic_service.cfg
Innerhalb des Verzeichnisses /etc/nagios/tachtler/global/templates
wird mit nachfolgendem Befehl eine Konfigurationsdatei mit dem Namen generic_service.cfg
angelegt:
# touch /etc/nagios/tachtler/global/templates/generic_service.cfg
Der Inhalt des Tenplates - generic_service.cfg
sollte wie folgt aussehen:
ACHTUNG - Hier wird die Timeperiod -
24×7
- welche in /etc/nagios/tachtler/global/timeperiods/24×7.cfg
definiert ist verwendet, siehe 24x7.cfg
define service{ name generic-service ; The name of this service template register 0 ; DONT REGISTER THIS DEFINITION, JUST A TEMPLATE! active_checks_enabled 1 passive_checks_enabled 1 parallelize_check 1 obsess_over_service 1 check_freshness 0 notifications_enabled 1 event_handler_enabled 1 flap_detection_enabled 1 failure_prediction_enabled 1 process_perf_data 1 retain_status_information 1 retain_nonstatus_information 1 is_volatile 0 check_period 24x7 max_check_attempts 3 normal_check_interval 10 retry_check_interval 2 notification_options w,u,c,r,f,s ; w=warning, u=unknown, c=critical, r=recoveries, f=flapping, s=scheduled, n=none notification_interval 60 notification_period 24x7 } define service{ name local-service ; The name of this service template register 0 ; DONT REGISTER THIS DEFINITION, JUST A TEMPLATE! use generic-service ; Inherit default values from the generic-service definition max_check_attempts 4 ; Re-check the service up to 4 times in order to determine its final (hard) state normal_check_interval 5 ; Check the service every 5 minutes under normal conditions retry_check_interval 1 ; Re-check the service every minute until a hard state can be determined }
Abschließend müssen die Benutzerrechte mit nachfolgendem Befehl noch wie folgt korrigiert werden:
# chown -R nagios.nagios /etc/nagios/tachtler/global/templates
timeperiods
Die Anlage von Timeperiods ist zwingend erforderlich, da hier die Zeiten definiert werden, wann Personen oder Gruppen zu benachrichtigen sind bzw. benarchtigt werden dürfen!
Dazu wird mit nachfolgendem Befehl ein neues Verzeichnis mit dem Namen timeperiods
im Unterverzeichnis von /etc/nagios/tachtler/global
angelegt:
# mkdir /etc/nagios/tachtler/global/timeperiods
24x7.cfg
Innerhalb des Verzeichnisses /etc/nagios/tachtler/global/timeperiods
wird mit nachfolgendem Befehl eine Konfigurationsdatei mit dem Namen 24×7.cfg
angelegt:
# touch /etc/nagios/tachtler/global/timeperiods/24x7.cfg
Der Inhalt des Timeperiods - 24×7.cfg
sollte wie folgt aussehen:
define timeperiod{ timeperiod_name 24x7 alias 24 Hours A Day, 7 Days A Week sunday 00:00-24:00 monday 00:00-24:00 tuesday 00:00-24:00 wednesday 00:00-24:00 thursday 00:00-24:00 friday 00:00-24:00 saturday 00:00-24:00 }
Abschließend müssen die Benutzerrechte mit nachfolgendem Befehl noch wie folgt korrigiert werden:
# chown -R nagios.nagios /etc/nagios/tachtler/global/timeperiods
businesshours.cfg
Innerhalb des Verzeichnisses /etc/nagios/tachtler/global/timeperiods
wird mit nachfolgendem Befehl eine Konfigurationsdatei mit dem Namen businesshours.cfg
angelegt:
# touch /etc/nagios/tachtler/global/timeperiods/businesshours.cfg
Der Inhalt des Timeperiods - businesshours.cfg
sollte wie folgt aussehen:
define timeperiod{ timeperiod_name businesshours alias 10 Hours A Day, 5 Days A Week monday 07:30-19:00 tuesday 07:30-19:00 wednesday 07:30-19:00 thursday 07:30-19:00 friday 07:30-19:00 }
Abschließend müssen die Benutzerrechte mit nachfolgendem Befehl noch wie folgt korrigiert werden:
# chown -R nagios.nagios /etc/nagios/tachtler/global/timeperiods
leisuredhours.cfg
Innerhalb des Verzeichnisses /etc/nagios/tachtler/global/timeperiods
wird mit nachfolgendem Befehl eine Konfigurationsdatei mit dem Namen leisuredhours.cfg
angelegt:
# touch /etc/nagios/tachtler/global/timeperiods/leisuredhours.cfg
Der Inhalt des Timeperiods - leisuredhours.cfg
sollte wie folgt aussehen:
define timeperiod{ timeperiod_name leisuredhours alias 12 Hours A Day, 7 Days A Week sunday 00:00-24:00 monday 00:00-07:30,19:00-24:00 tuesday 00:00-07:30,19:00-24:00 wednesday 00:00-07:30,19:00-24:00 thursday 00:00-07:30,20:00-24:00 friday 00:00-07:30,19:00-24:00 saturday 00:00-24:00 }
Abschließend müssen die Benutzerrechte mit nachfolgendem Befehl noch wie folgt korrigiert werden:
# chown -R nagios.nagios /etc/nagios/tachtler/global/timeperiods
contacts
Die Anlage von Contacts ist zwingend erforderlich, da hier die Personen oder Gruppen definiert werden, die zu benachrichtigen sind!
Dazu wird mit nachfolgendem Befehl ein neues Verzeichnis mit dem Namen contacts
im Unterverzeichnis von /etc/nagios/tachtler/global
angelegt:
# mkdir /etc/nagios/tachtler/global/contacts
tachtler.cfg
Innerhalb des Verzeichnisses /etc/nagios/tachtler/global/contacts
wird mit nachfolgendem Befehl eine Konfigurationsdatei mit dem Namen tachtler.cfg
angelegt:
# touch /etc/nagios/tachtler/global/contacts/tachtler.cfg
Der Inhalt des Contacts - tachtler.cfg
sollte wie folgt aussehen:
ACHTUNG - Hier wird das Template -
generic-contact
- welches in /etc/nagios/tachtler/global/templates/generic_contact.cfg
definiert ist verwendet, siehe generic_contact.cfg
define contact{ contact_name tachtler use generic-contact ; Inherit default values from generic-contact template alias Nagios Admin tachtler.net contactgroups tachtleradmins ; host_notifications_enabled [0/1] ; service_notifications_enabled [0/1] email nagios@localhost ; pager address1 sms@example.com ; addressx - User for sending e-Mail to SMS-Gateyway address2 49179123456 ; addressx - User for sending direkt to Mobile-Phone can_submit_commands 1 ; retain_status_information [0/1] ; retain_nonstatus_information [0/1] }
Abschließend müssen die Benutzerrechte mit nachfolgendem Befehl noch wie folgt korrigiert werden:
# chown -R nagios.nagios /etc/nagios/tachtler/global/contacts
tachtleradmins.cfg
Innerhalb des Verzeichnisses /etc/nagios/tachtler/global/contacts
wird mit nachfolgendem Befehl eine Konfigurationsdatei mit dem Namen tachtleradmins.cfg
angelegt:
# touch /etc/nagios/tachtler/global/contacts/tachtleradmins.cfg
Der Inhalt des Contacts - tachtleradmins.cfg
sollte wie folgt aussehen:
define contactgroup{ contactgroup_name tachtleradmins alias Nagios Administration tachtler.net members tachtler ; comma separation possible ; contactgroup_members ; contactgroups }
Abschließend müssen die Benutzerrechte mit nachfolgendem Befehl noch wie folgt korrigiert werden:
# chown -R nagios.nagios /etc/nagios/tachtler/global/contacts
commands
Alles was Nagios durchführt, ist in
commands
definiert!
Die bereits mitgelieferte Konfigurationsdatei commands.cfg
im Verzeichnis /etc/nagios/objects/
liefert bereits ein sehr umfangreiche Sammlung von commands
. Die hier erwähnten und ausführlich beschriebenen commands
sind aus dieser Beispieldatei, oder aus anderen Quellen:
Dazu wird mit nachfolgendem Befehl ein neues Verzeichnis mit dem Namen commands
im Unterverzeichnis von /etc/nagios/tachtler/global
angelegt:
# mkdir /etc/nagios/tachtler/global/commands
check-host-alive.cfg
Innerhalb des Verzeichnisses /etc/nagios/tachtler/global/commands
wird mit nachfolgendem Befehl eine Konfigurationsdatei mit dem Namen check-host-alive.cfg
angelegt:
# touch /etc/nagios/tachtler/global/commands/check-host-alive.cfg
Der Inhalt des Commands - check-host-alive.cfg
sollte wie folgt aussehen:
Wird für den Versand von e-Mails von
host
-Nachrichten benötigt und wird z.B. vom Objekt /etc/nagios/tachtler/global/contacts/tachtler.cfg
verwendet!
define command{ command_name check-host-alive command_line $USER1$/check_ping -H $HOSTADDRESS$ -w 3000.0,80% -c 5000.0,100% -p 5 }
Abschließend müssen die Benutzerrechte mit nachfolgendem Befehl noch wie folgt korrigiert werden:
# chown -R nagios.nagios /etc/nagios/tachtler/global/commands
ZUR ERKLÄRUNG
Die Parameter hinter command_line
sollen hier kurz skizziert werden:
$USER1$/check_ping
- aufgelöst steht hinter diesem Parameter/usr/lib/nagios/plugins/check_ping
Der Parameter $USER1$
ist in der Konfigurationsdatei /etc/nagios/resource.cfg
definiert.
Die komplette Konfigurationsdatei /etc/nagios/resource.cfg
sieht wie folgt aus:
########################################################################### # # RESOURCE.CFG - Sample Resource File for Nagios 3.0.6 # # Last Modified: 09-10-2003 # # You can define $USERx$ macros in this file, which can in turn be used # in command definitions in your host config file(s). $USERx$ macros are # useful for storing sensitive information such as usernames, passwords, # etc. They are also handy for specifying the path to plugins and # event handlers - if you decide to move the plugins or event handlers to # a different directory in the future, you can just update one or two # $USERx$ macros, instead of modifying a lot of command definitions. # # The CGIs will not attempt to read the contents of resource files, so # you can set restrictive permissions (600 or 660) on them. # # Nagios supports up to 32 $USERx$ macros ($USER1$ through $USER32$) # # Resource files may also be used to store configuration directives for # external data sources like MySQL... # ########################################################################### # Sets $USER1$ to be the path to the plugins $USER1$=/usr/lib/nagios/plugins # Sets $USER2$ to be the path to event handlers #$USER2$=/usr/lib/nagios/plugins/eventhandlers # Store some usernames and passwords (hidden from the CGIs) #$USER3$=someuser #$USER4$=somepassword
-H
- ist ein Macro der Gruppe 2 und dient als Aufruf-Parameter für das Kommando check_ping$HOSTADDRESS$
- ist ein Macro der Gruppe 3 und dient als Zusatz-Parameter für das Macro -H
Ebenso verhält es sich für
-w
- -w = Macro Gruppe 2 in diesem Falls (warning)3000.0,80%
bedeutet bei 3.000 Millisekunden 80% Pakete gehen verlohren (warning)
und auch für
-c
- -c = Macro Gruppe 2 in diesem Falls (critical)5000.0,100%
bedeutet bei 5.000 Millisekunden 100% Pakete gehen verlohren (critical)
und auch für
-p
- -p = Macro Gruppe 2 in diesem Falls (ping/icmp-packets)5
bedeutet die Durchführung von 5 Ping-Versuchen
check_ping.cfg
Innerhalb des Verzeichnisses /etc/nagios/tachtler/global/commands
wird mit nachfolgendem Befehl eine Konfigurationsdatei mit dem Namen check_ping.cfg
angelegt:
# touch /etc/nagios/tachtler/global/commands/check_ping.cfg
Der Inhalt des Commands - check_ping.cfg
sollte wie folgt aussehen:
define command{ command_name check_ping command_line $USER1$/check_ping -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ -p 5 }
Abschließend müssen die Benutzerrechte mit nachfolgendem Befehl noch wie folgt korrigiert werden:
# chown -R nagios.nagios /etc/nagios/tachtler/global/commands
notify-host-by-email.cfg
Innerhalb des Verzeichnisses /etc/nagios/tachtler/global/commands
wird mit nachfolgendem Befehl eine Konfigurationsdatei mit dem Namen notify-host-by-email.cfg
angelegt:
# touch /etc/nagios/tachtler/global/commands/notify-host-by-email.cfg
Der Inhalt des Commands - notify-host-by-email.cfg
sollte wie folgt aussehen:
Wird für den Versand von e-Mails von
host
-Nachrichten benötigt und wird z.B. vom Objekt /etc/nagios/tachtler/global/contacts/tachtler.cfg
verwendet!
define command{ command_name notify-host-by-email command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /bin/mail -s "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" $CONTACTEMAIL$ }
Abschließend müssen die Benutzerrechte mit nachfolgendem Befehl noch wie folgt korrigiert werden:
# chown -R nagios.nagios /etc/nagios/tachtler/global/commands
notify-service-by-email.cfg
Innerhalb des Verzeichnisses /etc/nagios/tachtler/global/commands
wird mit nachfolgendem Befehl eine Konfigurationsdatei mit dem Namen notify-service-by-email.cfg
angelegt:
# touch /etc/nagios/tachtler/global/commands/notify-service-by-email.cfg
Der Inhalt des Commands - notify-service-by-email.cfg
sollte wie folgt aussehen:
Wird für den Versand von e-Mails von
service
-Nachrichten benötigt und wird z.B. vom Objekt /etc/nagios/tachtler/global/contacts/tachtler.cfg
verwendet!
define command{ command_name notify-service-by-email command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$" | /bin/mail -s "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$ }
Abschließend müssen die Benutzerrechte mit nachfolgendem Befehl noch wie folgt korrigiert werden:
# chown -R nagios.nagios /etc/nagios/tachtler/global/commands
hosts
Dazu wird mit nachfolgendem Befehl ein neues Verzeichnis mit dem Namen hosts
im Unterverzeichnis von /etc/nagios/tachtler/tachtler.net
angelegt:
# mkdir /etc/nagios/tachtler/tachtler.net/hosts
localhost.cfg
Innerhalb des Verzeichnisses /etc/nagios/tachtler/tachtler.net/hosts
wird mit nachfolgendem Befehl eine Konfigurationsdatei mit dem Namen localhost.cfg
angelegt:
# touch /etc/nagios/tachtler/tachtler.net/hosts/localhost.cfg
Der Inhalt des Hosts - localhost.cfg
sollte wie folgt aussehen:
ACHTUNG - Hier wird das Template -
linux-server
- welches in /etc/nagios/tachtler/global/templates/generic_host.cfg
definiert ist verwendet, siehe generic_host.cfg
define host{ use linux-server ; Inherit default values from generic-host template host_name localhost alias localhost.tachtler.net display_name localhost.tachtler.net address 127.0.0.1 ; parents host_names hostgroups linux-servers ; initial_state [o,d,u] ; active_checks_enabled [0/1] ; passive_checks_enabled [0/1] ; obsess_over_host [0/1] ; check_freshness [0/1] ; freshness_threshold [0/1] ; event_handler command_name ; low_flap_threshold # ; high_flap_threshold # ; flap_detection_options [o,d,u] ; o=up, d=down, u=unreachable ; contacts contacts contact_groups tachtleradmins ; first_notification_delay # ; stalking_options [o,d,u] ; o=up, d=down, u=unreachable ; notes note_string ; notes_url url ; action_url url ; icon_image image_file ; icon_image_alt alt_string ; vrml_image image_file ; statusmap_image image_file ; 2d_coords x_coord,y_coord ; 3d_coords x_coord,y_coord,z_coord }
nss.cfg
Innerhalb des Verzeichnisses /etc/nagios/tachtler/tachtler.net/hosts
wird mit nachfolgendem Befehl eine Konfigurationsdatei mit dem Namen nss.cfg
angelegt:
# touch /etc/nagios/tachtler/tachtler.net/hosts/nss.cfg
Der Inhalt des Hosts - nss.cfg
sollte wie folgt aussehen:
ACHTUNG - Hier wird das Template -
linux-server
- welches in /etc/nagios/tachtler/global/templates/generic_host.cfg
definiert ist verwendet, siehe generic_host.cfg
define host{ use linux-server ; Inherit default values from generic-host template host_name nss alias nss.tachtler.net display_name nss.tachtler.net address 192.168.0.1 ; parents host_names hostgroups linux-servers ; initial_state [o,d,u] ; active_checks_enabled [0/1] ; passive_checks_enabled [0/1] ; obsess_over_host [0/1] ; check_freshness [0/1] ; freshness_threshold [0/1] ; event_handler command_name ; low_flap_threshold # ; high_flap_threshold # ; flap_detection_options [o,d,u] ; o=up, d=down, u=unreachable ; contacts contacts contact_groups tachtleradmins ; first_notification_delay # ; stalking_options [o,d,u] ; o=up, d=down, u=unreachable ; notes note_string ; notes_url url ; action_url url ; icon_image image_file ; icon_image_alt alt_string ; vrml_image image_file ; statusmap_image image_file ; 2d_coords x_coord,y_coord ; 3d_coords x_coord,y_coord,z_coord }
tachtler.net.cfg
Innerhalb des Verzeichnisses /etc/nagios/tachtler/tachtler.net/hosts
wird mit nachfolgendem Befehl eine Konfigurationsdatei mit dem Namen tachtler.net.cfg
angelegt:
# touch /etc/nagios/tachtler/tachtler.net/hosts/tachtler.net.cfg
Der Inhalt des Hosts - tachtler.net.cfg
sollte wie folgt aussehen:
ACHTUNG - Hier wird das Template -
linux-server
- welches in /etc/nagios/tachtler/global/templates/generic_host.cfg
definiert ist verwendet, siehe generic_host.cfg
define host{ use linux-server ; Inherit default values from generic-host template host_name tachtler.net alias tachtler.net display_name tachtler.net address 88.217.171.167 ; parents host_names hostgroups linux-servers ; initial_state [o,d,u] ; active_checks_enabled [0/1] ; passive_checks_enabled [0/1] ; obsess_over_host [0/1] ; check_freshness [0/1] ; freshness_threshold [0/1] ; event_handler command_name ; low_flap_threshold # ; high_flap_threshold # ; flap_detection_options [o,d,u] ; o=up, d=down, u=unreachable ; contacts contacts contact_groups tachtleradmins ; first_notification_delay # ; stalking_options [o,d,u] ; o=up, d=down, u=unreachable ; notes note_string ; notes_url url ; action_url url ; icon_image image_file ; icon_image_alt alt_string ; vrml_image image_file ; statusmap_image image_file ; 2d_coords x_coord,y_coord ; 3d_coords x_coord,y_coord,z_coord }
Abschließend müssen die Benutzerrechte mit nachfolgendem Befehl noch wie folgt korrigiert werden:
# chown -R nagios.nagios /etc/nagios/tachtler/tachtler.net/hosts
hostgroups
Dazu wird mit nachfolgendem Befehl ein neues Verzeichnis mit dem Namen hostgroups
im Unterverzeichnis von /etc/nagios/tachtler/tachtler.net
angelegt:
# mkdir /etc/nagios/tachtler/tachtler.net/hostgroups
linux-servers.cfg
Innerhalb des Verzeichnisses /etc/nagios/tachtler/tachtler.net/hostgroups
wird mit nachfolgendem Befehl eine Konfigurationsdatei mit dem Namen linux-servers.cfg
angelegt:
# touch /etc/nagios/tachtler/tachtler.net/hostgroups/linux-servers.cfg
Der Inhalt der Hostgroups - linux-servers.cfg
sollte wie folgt aussehen:
define hostgroup{ hostgroup_name linux-servers alias Linux Servers tachtler.net members localhost,nss,tachtler.net ; hostgroup_members hostgroups ; notes note_string ; notes_url url ; action_url url }
Abschließend müssen die Benutzerrechte mit nachfolgendem Befehl noch wie folgt korrigiert werden:
# chown -R nagios.nagios /etc/nagios/tachtler/tachtler.net/hostgroups
services
Dazu wird mit nachfolgendem Befehl ein neues Verzeichnis mit dem Namen services
im Unterverzeichnis von /etc/nagios/tachtler/tachtler.net
angelegt:
# mkdir /etc/nagios/tachtler/tachtler.net/services
ping_localhost.cfg
Innerhalb des Verzeichnisses /etc/nagios/tachtler/tachtler.net/services
wird mit nachfolgendem Befehl eine Konfigurationsdatei mit dem Namen ping_localhost.cfg
angelegt:
# touch /etc/nagios/tachtler/tachtler.net/services/ping_localhost.cfg
Der Inhalt des Services - ping_localhost.cfg
sollte wie folgt aussehen:
ACHTUNG - Hier wird das Command -
check_ping
- welches in /etc/nagios/tachtler/global/commands/check_ping.cfg
definiert ist verwendet, siehe check_ping.cfg
ACHTUNG - Hier wird das Template -
local-service
- welches in /etc/nagios/tachtler/global/templates/generic_service.cfg
definiert ist verwendet, siehe generic_service.cfg
define service{ use local-service ; Inherit default values from generic-service template host_name localhost ; hostgroup_name hostgroup_name service_description PING_localhost display_name Ping Check localhost tachtler.net servicegroups ping_group check_command check_ping!100.0,20%!500.0,60% ; initial_state [o,w,u,c] ; o=ok, w=warning, u=unknown, c=critical ; freshness_threshold # ; event_handler command_name ; low_flap_threshold # ; high_flap_threshold # ; flap_detection_options [o,w,c,u] ; o=ok, w=warning, u=unknown, c=critical ; first_notification_delay # ; contacts contacts contact_groups tachtleradmins ; stalking_options [o,w,u,c] ; o=ok, w=warning, u=unknown, c=critical ; notes note_string ; notes_url url ; action_url url ; icon_image image_file ; icon_image_alt alt_string }
ping_nss.cfg
Innerhalb des Verzeichnisses /etc/nagios/tachtler/tachtler.net/services
wird mit nachfolgendem Befehl eine Konfigurationsdatei mit dem Namen ping_nss.cfg
angelegt:
# touch /etc/nagios/tachtler/tachtler.net/services/ping_nss.cfg
Der Inhalt des Services - ping_nss.cfg
sollte wie folgt aussehen:
ACHTUNG - Hier wird das Command -
check_ping
- welches in /etc/nagios/tachtler/global/commands/check_ping.cfg
definiert ist verwendet, siehe check_ping.cfg
ACHTUNG - Hier wird das Template -
local-service
- welches in /etc/nagios/tachtler/global/templates/generic_service.cfg
definiert ist verwendet, siehe generic_service.cfg
define service{ use local-service ; Inherit default values from generic-service template host_name nss ; hostgroup_name hostgroup_name service_description PING_nss display_name Ping Check nss tachtler.net servicegroups ping_group check_command check_ping!100.0,20%!500.0,60% ; initial_state [o,w,u,c] ; o=ok, w=warning, u=unknown, c=critical ; freshness_threshold # ; event_handler command_name ; low_flap_threshold # ; high_flap_threshold # ; flap_detection_options [o,w,c,u] ; o=ok, w=warning, u=unknown, c=critical ; first_notification_delay # ; contacts contacts contact_groups tachtleradmins ; stalking_options [o,w,u,c] ; o=ok, w=warning, u=unknown, c=critical ; notes note_string ; notes_url url ; action_url url ; icon_image image_file ; icon_image_alt alt_string }
ping_tachtler.net.cfg
Innerhalb des Verzeichnisses /etc/nagios/tachtler/tachtler.net/services
wird mit nachfolgendem Befehl eine Konfigurationsdatei mit dem Namen ping_tachtler.net.cfg
angelegt:
# touch /etc/nagios/tachtler/tachtler.net/services/ping_tachtler.net.cfg
Der Inhalt des Services - ping_tactler.net.cfg
sollte wie folgt aussehen:
ACHTUNG - Hier wird das Command -
check_ping
- welches in /etc/nagios/tachtler/global/commands/check_ping.cfg
definiert ist verwendet, siehe check_ping.cfg
ACHTUNG - Hier wird das Template -
local-service
- welches in /etc/nagios/tachtler/global/templates/generic_service.cfg
definiert ist verwendet, siehe generic_service.cfg
define service{ use local-service ; Inherit default values from generic-service template host_name tachtler.net ; hostgroup_name hostgroup_name service_description PING_tachtler.net display_name Ping Check tachtler.net tachtler.net servicegroups ping_group check_command check_ping!100.0,20%!500.0,60% ; initial_state [o,w,u,c] ; o=ok, w=warning, u=unknown, c=critical ; freshness_threshold # ; event_handler command_name ; low_flap_threshold # ; high_flap_threshold # ; flap_detection_options [o,w,c,u] ; o=ok, w=warning, u=unknown, c=critical ; first_notification_delay # ; contacts contacts contact_groups tachtleradmins ; stalking_options [o,w,u,c] ; o=ok, w=warning, u=unknown, c=critical ; notes note_string ; notes_url url ; action_url url ; icon_image image_file ; icon_image_alt alt_string }
ALTERNATIVE: ping.cfg
WICHITG - Bitte nur die Definitionen
ping_localhost.cfg
, ping_nss.cfg
und ping_tachtler.net.cfg
ODER ping.cfg
verwenden !!!
Innerhalb des Verzeichnisses /etc/nagios/tachtler/tachtler.net/services
wird mit nachfolgendem Befehl eine Konfigurationsdatei mit dem Namen ping.cfg
angelegt:
# touch /etc/nagios/tachtler/tachtler.net/services/ping.cfg
Der Inhalt des Services - ping.cfg
sollte wie folgt aussehen:
ACHTUNG - Hier wird das Command -
check_ping
- welches in /etc/nagios/tachtler/global/commands/check_ping.cfg
definiert ist verwendet, siehe check_ping.cfg
ACHTUNG - Hier wird das Template -
local-service
- welches in /etc/nagios/tachtler/global/templates/generic_service.cfg
definiert ist verwendet, siehe generic_service.cfg
define service{ use local-service ; Inherit default values from generic-service template ; host_name host_name hostgroup_name linux-servers service_description PING_nss display_name Ping Check tachtler.net servicegroups ping_group check_command check_ping!100.0,20%!500.0,60% ; initial_state [o,w,u,c] ; o=ok, w=warning, u=unknown, c=critical ; freshness_threshold # ; event_handler command_name ; low_flap_threshold # ; high_flap_threshold # ; flap_detection_options [o,w,c,u] ; o=ok, w=warning, u=unknown, c=critical ; first_notification_delay # ; contacts contacts contact_groups tachtleradmins ; stalking_options [o,w,u,c] ; o=ok, w=warning, u=unknown, c=critical ; notes note_string ; notes_url url ; action_url url ; icon_image image_file ; icon_image_alt alt_string }
Abschließend müssen die Benutzerrechte mit nachfolgendem Befehl noch wie folgt korrigiert werden:
# chown -R nagios.nagios /etc/nagios/tachtler/tachtler.net/services
servicegroups
Dazu wird mit nachfolgendem Befehl ein neues Verzeichnis mit dem Namen servicegroups
im Unterverzeichnis von /etc/nagios/tachtler/tachtler.net
angelegt:
# mkdir /etc/nagios/tachtler/tachtler.net/servicegroups
ping_group.cfg
Innerhalb des Verzeichnisses /etc/nagios/tachtler/tachtler.net/servicegroups
wird mit nachfolgendem Befehl eine Konfigurationsdatei mit dem Namen ping_group.cfg
angelegt:
# touch /etc/nagios/tachtler/tachtler.net/servicegroups/ping_group.cfg
Der Inhalt der Servicegroups - ping_group.cfg
sollte wie folgt aussehen:
define servicegroup{ servicegroup_name ping_group alias Ping group tachtler.net members localhost,PING_localhost,nss,PING_nss,tachtler.net,PING_tachtler.net ; servicegroup_members servicegroups ; notes note_string ; notes_url url ; action_url url }
WICHITG - Bitte nur die nachfolgende Definition verwenden, wenn auch
ping.cfg
verwendet wurde !!!
Der Inhalt der Servicegroups - ping_group.cfg
sollte wie folgt aussehen:
define servicegroup{ servicegroup_name ping_group alias Ping group tachtler.net members localhost,PING,nss,PING,tachtler.net,PING ; servicegroup_members servicegroups ; notes note_string ; notes_url url ; action_url url }
Abschließend müssen die Benutzerrechte mit nachfolgendem Befehl noch wie folgt korrigiert werden:
# chown -R nagios.nagios /etc/nagios/tachtler/tachtler.net/servicegroups
Überprüfen der Konfiguration
Das Programm /usr/bin/nagios
welches normalerweise als Daemon
läuft, kann auch zur Überprüfung bzw. den Test der Konfiguration(en) mit folgdendem parameterisierten Aufruf verwendet werden.
# /usr/bin/nagios -v /etc/nagios/nagios.cfg
Das Ergebnis sollte bei den Konfigurationen die bisher erstellt worden sind wie folgt aussehen:
Nagios 3.0.6 Copyright (c) 1999-2008 Ethan Galstad (http://www.nagios.org) Last Modified: 12-01-2008 License: GPL Reading configuration data... Running pre-flight check on configuration data... Checking services... Checked 3 services. Checking hosts... Checked 3 hosts. Checking host groups... Checked 1 host groups. Checking service groups... Checked 1 service groups. Checking contacts... Checked 1 contacts. Checking contact groups... Checked 1 contact groups. Checking service escalations... Checked 0 service escalations. Checking service dependencies... Checked 0 service dependencies. Checking host escalations... Checked 0 host escalations. Checking host dependencies... Checked 0 host dependencies. Checking commands... Checked 4 commands. Checking time periods... Checked 3 time periods. Checking for circular paths between hosts... Checking for circular host and service dependencies... Checking global event handlers... Checking obsessive compulsive processor commands... Checking misc settings... Total Warnings: 0 Total Errors: 0 Things look okay - No serious problems were detected during the pre-flight check
Nagios starten
Um das Starten von Nagios auch nach einem System-(re)-start auch in Zukunft dauerhaft zu realisieren, kann folgender Befehl genutzt werden. Hier wird Nagios zu den Start-Scripten der einzelnen Runlevel des Betriebssystem hinzugefügt:
# chkconfig nagios on
Ein Überprüfung, ob Nagios in den einzelnen Runlevel des Betriebssystems bei einem system-(re)-start mit gestartet wird, kann mit folgenden Befehlen abgefragt werden:
# chkconfig --list | grep nagios nagios 0:off 1:off 2:on 3:on 4:on 5:on 6:off
Um Nagios zu starten, kann folgender Befehl ausgeführt werden:
# service nagios start Starting nagios: done.
nagios-plugins-setuid
Einer der großen Stärken von Nagios ist die Modularität und der dadurch bedingte Einsatz von sogenannten Plugins. Die quasi Standard-Plugins sind bei Nagios im Paket nagios-plugins
bereits enthalten. Zusätzliche Plugins die die besondere Ausführungsrechte benötigen sind im Paket nagios-plugins-setuid
enthalten.
nagios-plugins-setuid: Installation
Ab hier werden root
-Rechte zur Ausführung der nachfolgenden Befehle benötigt. Um root
zu werden geben Sie bitte folgenden Befehl ein:
$ su - Password:
Folgender Befehl kann (nach Einbindung des RPMforge-Repository) zu Installation von Nagios angewendet werden:
# yum install nagios-plugins-setuid Loaded plugins: fastestmirror, priorities Loading mirror speeds from cached hostfile * rpmforge: ftp-stud.fht-esslingen.de * base: ftp.hosteurope.de * updates: ftp.hosteurope.de * addons: ftp.hosteurope.de * extras: ftp.hosteurope.de 390 packages excluded due to repository priority protections Setting up Install Process Parsing package install arguments Resolving Dependencies --> Running transaction check ---> Package nagios-plugins-setuid.i386 0:1.4.13-1.el5.rf set to be updated --> Finished Dependency Resolution Dependencies Resolved ============================================================================================================================================================= Package Arch Version Repository Size ============================================================================================================================================================= Installing: nagios-plugins-setuid i386 1.4.13-1.el5.rf rpmforge 82 k Transaction Summary ============================================================================================================================================================= Install 1 Package(s) Update 0 Package(s) Remove 0 Package(s) Total download size: 82 k Is this ok [y/N]: y Downloading Packages: nagios-plugins-setuid-1.4.13-1.el5.rf.i386.rpm | 82 kB 00:00 Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Installing : nagios-plugins-setuid [1/1] Installed: nagios-plugins-setuid.i386 0:1.4.13-1.el5.rf Complete!
Folgender Inhalt befindet sich im RPM-Paket nagios-plugins-setuid.i386
, welcher mit nachfolgendem Befehl aufgelistet werden kann:
# rpm -qil nagios-plugins-setuid | more Name : nagios-plugins-setuid Relocations: (not relocatable) Version : 1.4.13 Vendor: Dag Apt Repository, http://dag.wieers.com/apt/ Release : 1.el5.rf Build Date: Mon 29 Dec 2008 04:51:32 PM CET Install Date: Thu 28 May 2009 10:32:53 AM CEST Build Host: lisse.hasselt.wieers.com Group : Applications/System Source RPM: nagios-plugins-1.4.13-1.el5.rf.src.rpm Size : 180036 License: GPL Signature : DSA/SHA1, Tue 30 Dec 2008 05:42:23 AM CET, Key ID a20e52146b8d79e6 Packager : Dag Wieers <dag@wieers.com> URL : http://nagiosplug.sourceforge.net/ Summary : Host/service/network monitoring program plugins for Nagios requiring setuid Description : This package contains the setuid plugins necessary for use with the Nagios package. /usr/lib/nagios /usr/lib/nagios/plugins /usr/lib/nagios/plugins/check_dhcp /usr/lib/nagios/plugins/check_icmp
Einsatz von check_icmp
Wie schon erwähnt gibt es unter Nagios die Möglichkeit Plugins einzusetzen welche erweitere Ausführungsrechte benötigen. Eines dieser Plugins ist check_icmp
welches oft das „veraltete“ Plugin - check_ping
in vielen Installationen ablöst.
Die Gründe für den Einsatz von check_icmp
sind
- mehr Effizienz - keine Zeitverzögerung zwischen
ping
-Versuchen - Unabhängigkeit vom Programm
/bin/ping
- Auswertung von Fehlernachrichten z.B. ICMP Host Unreachable
- Abwärtskompatibilität zu
check_ping
WICHTIG -
check_icmp
ist Bestandteil des Paketes nagios-plugins-setuid
, welches installiert sein muss!
Ein Test, ob check_icmp
verfügbar ist und korrekt arbeitet, kann mit folgendem Aufruf in durchgeführt werden (Die Ausgabe solle im etwa der gezeigten entsprechen):
# /usr/lib/nagios/plugins/check_icmp -H 127.0.0.1 -w 100.0,20% -c 200.0,40% OK - 127.0.0.1: rta 0.321ms, lost 0%|rta=0.321ms;100.000;200.000;0; pl=0%;20;40;;
Zum Abschluss noch ein kleiner Effizienzvergleichen mit den nachfolgenden zwei Befehlen, nacheinander ausgeführt:
Zuerst check_ping
# /usr/lib/nagios/plugins/check_ping -H 127.0.0.1 -w 3000.0,80% -c 5000.0,100% -p 5 PING OK - Packet loss = 0%, RTA = 0.25 ms|rta=0.254000ms;3000.000000;5000.000000;0.000000 pl=0%;80;100;0
und nachfolgende check_icmp
[root@nss plugins]# /usr/lib/nagios/plugins/check_icmp -H 127.0.0.1 -w 3000.0,80% -c 5000.0,100% -n 5 OK - 127.0.0.1: rta 0.331ms, lost 0%|rta=0.331ms;3000.000;5000.000;0; pl=0%;80;100;;
Hinweis - Bitte beachten Sie die gefühlte Dauer des Test, vor dem Bildschirm!
Host-Checks mit check_icmp
Innerhalb des Verzeichnisses /etc/nagios/tachtler/global/commands
befindet sich die Konfigurationsdatei mit dem Namen check-host-alive.cfg
. Der Inhalt des Commands - check-host-alive.cfg
sollte wie folgt aussehen:
define command{ command_name check-host-alive command_line $USER1$/check_ping -H $HOSTADDRESS$ -w 3000.0,80% -c 5000.0,100% -p 5 }
Folgende Veränderungen sind notwendig um
check_icmp
einzusetzen:
define command{ command_name check-host-alive command_line $USER1$/check_icmp -H $HOSTADDRESS$ -w 3000.0,80% -c 5000.0,100% }
Service-Checks mit check_icmp
Innerhalb des Verzeichnisses /etc/nagios/tachtler/global/commands
befindet sich die Konfigurationsdatei mit dem Namen check_ping.cfg
. Der Inhalt des Commands - check_ping.cfg
sollte wie folgt aussehen:
define command{ command_name check_ping command_line $USER1$/check_ping -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ -p 5 }
Folgende Veränderungen sind notwendig um
check_icmp
einzusetzen:
define command{ command_name check_ping command_line $USER1$/check_icmp -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ }
Plugins: Beispielkonfigurationen
Hier eine paar Beispielkonfigurationen von Plugins.
check_smtp
Überprüfung eines MailServers via SMTP.
command: check_smtp
############################################################################## # Plugin-Name : check_smtp # # Description : $USER1$/check_smtp # # -H HOSTADDRESS$ | IP-Address # # -p $ARG1$ | Port # # -e $ARG2$ | Expected answer after CONNECT, ex. # # | 220 mx1.tachtler.net ESMTP Postfix # # -f $ARG3$ | From-e-Mail-Address MAIL FROM: ... # # -C $ARG4$ | "RCPT TO: <postmaster@tachtler.net> # # -R $ARG5$ | "250" # ############################################################################## define command{ command_name check_smtp command_line $USER1$/check_smtp -H $HOSTADDRESS$ -p $ARG1$ -e $ARG2$ -f $ARG3$ -C $ARG4$ -R $ARG5$ }
service: SMTP
# cat net.tachtler_smtp.cfg define service{ use generic-service ; Inherit default values from generic-service template ; host_name host_name hostgroup_name linux-servers service_description SMTP display_name SMTP Check tachtler.net servicegroups smtp-all check_command check_smtp!25!"220 mx1.tachtler.net ESMTP Postfix"!"<email@example.com>"!"RCPT TO: <postmaster@tachtler.net>"!"250" ; initial_state [o,w,u,c] ; o=ok, w=warning, u=unknown, c=critical ; freshness_threshold # ; event_handler command_name ; low_flap_threshold # ; high_flap_threshold # ; flap_detection_options [o,w,c,u] ; o=ok, w=warning, u=unknown, c=critical ; first_notification_delay # ; contacts contacts contact_groups tachtleradmins ; stalking_options [o,w,u,c] ; o=ok, w=warning, u=unknown, c=critical ; notes note_string ; notes_url url ; action_url url ; icon_image image_file ; icon_image_alt alt_string }