Back openDesk Edu for a sovereign, open-source education — every vote counts.
Vote nowSave products you love by clicking the heart icon.
Im Eifer, KI und cloud-native Tools zu adoptieren, werden oft die Grundlagen vernachlässigt. Dieser Artikel erklärt, warum die Beherrschung der Linux-Kommandozeile, Container-Grundlagen und Basiswissen über Infrastruktur das Fundament für jeden modernen DevOps- und KI-Workload bilden. KI generiert Code – sie ersetzt nicht das Verständnis.
Nagios Core bleibt eines der am weitesten verbreiteten Monitoring-Frameworks in Produktionsumgebungen. Seine Plugin-Architektur, die Unterstützung für passive Checks und die Möglichkeiten für verteiltes Monitoring machen es zu einer soliden Wahl für Organisationen, die die volle Kontrolle über ihren Monitoring-Stack benötigen, ohne sich an einen bestimmten Anbieter zu binden (Vendor Lock-in).
Ein typisches Nagios-Deployment besteht aus:
Installieren Sie Nagios Core und die Standard-Plugins:
apt install nagios4 nagios-plugins-contrib nagios-nrpe-plugin
Die Hauptkonfiguration befindet sich in /etc/nagios4/:
| Datei | Zweck |
|---|---|
nagios.cfg | Hauptkonfiguration des Daemons |
conf.d/hosts.cfg | Host-Definitionen |
conf.d/services.cfg | Service-Definitionen |
conf.d/contacts.cfg | Alarm-Empfänger |
objects/commands.cfg | Definitionen der Check-Befehle |
Definieren Sie jeden zu überwachenden Server in conf.d/hosts.cfg:
define host {
use linux-server
host_name web-01
alias Production Web Server
address 10.0.1.10
check_command check-host-alive
max_check_attempts 3
notification_interval 120
}
Definieren Sie in conf.d/services.cfg, welche Services auf diesem Host geprüft werden sollen:
define service {
use generic-service
host_name web-01
service_description HTTP Response
check_command check_http!-H 10.0.1.10 -u /health -w 3 -c 5
check_interval 5
retry_interval 1
}
Nagios versendet Benachrichtigungen über die Befehle notify-host-by-email und notify-service-by-email. Konfigurieren Sie die Empfänger in contacts.cfg:
define contact {
contact_name ops-team
alias Operations Team
email ops@example.com
service_notification_commands notify-service-by-email
host_notification_commands notify-host-by-email
}
Für die Slack-Integration ersetzen Sie den Benachrichtigungsbefehl durch einen Webhook-POST:
#!/bin/bash
WEBHOOK_URL="https://hooks.slack.com/services/YOUR/WEBHOOK"
MESSAGE="Nagios: $NOTIFICATIONTYPE - $HOSTALIAS/$SERVICEDESC is $SERVICESTATE"
curl -s -X POST -H 'Content-type: application/json' \
--data "{\"text\":\"$MESSAGE\"}" "$WEBHOOK_URL"
Verwenden Sie für große Umgebungen ein verteiltes Setup: Satelliten-Nagios-Instanzen führen lokale Checks durch und leiten die Ergebnisse via NSCA an einen zentralen Server weiter.
Auf dem zentralen Server (Receiver):
apt install nsca
# configure /etc/nsca.cfg with server_address and password
Auf jedem Remote-Satelliten:
# After local check completes, send result to central
/usr/bin/send_nsca -H central.example.com -c /etc/send_nsca.cfg <<EOF
web-01\tHTTP Response\t0\tHTTP OK - 0.142s response
EOF