Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
linux:icinga:docker-stack [2025/03/14 19:30] – [Eigene Checks einbinden] adi | linux:icinga:docker-stack [2025/03/21 20:05] (aktuell) – [Graphite] adi | ||
---|---|---|---|
Zeile 667: | Zeile 667: | ||
- **Host**: die Host Vorlage die zuvor angelegt wurde | - **Host**: die Host Vorlage die zuvor angelegt wurde | ||
- **qnap_argument**: | - **qnap_argument**: | ||
+ | |||
+ | ===== Notifications ===== | ||
+ | Damit Icinga Benachrichtungen per Mail senden kann muss man sich eine '' | ||
+ | Diese steuert den lokalen Mailbefehl '' | ||
+ | <code bash>cd / | ||
+ | mkdir -p etc_data/ | ||
+ | vi etc_data/ | ||
+ | |||
+ | Hier diesen Inhalt einfügen und nach belieben anpassen. | ||
+ | < | ||
+ | # On this port, TLS is activated via STARTTLS. | ||
+ | defaults | ||
+ | tls on | ||
+ | # | ||
+ | tls_trust_file | ||
+ | logfile | ||
+ | # | ||
+ | |||
+ | # Define a mail account | ||
+ | account | ||
+ | # Host name of the SMTP server | ||
+ | host < | ||
+ | port < | ||
+ | tls_starttls | ||
+ | # Envelope-from address | ||
+ | from < | ||
+ | # Authentication | ||
+ | auth on | ||
+ | user < | ||
+ | # | ||
+ | passwordeval | ||
+ | |||
+ | account default: < | ||
+ | |||
+ | Dann erstellt man sich die verschlüsslete Datei mit dem Passwort. | ||
+ | <code bash>vi etc_data/ | ||
+ | Hier das Passwort einfügen und danach verschlüsseln. | ||
+ | <code bash>gpg -c .msmtp-cred.txt</ | ||
+ | Die Passphrase merken, wird im Container jedes mal wenn er neu gestartet wurde abgefragt. | ||
+ | Möchte man gpg nicht verwenden, dann einfach wie oben beschrieben das Passwort als Plaintext einfügen. | ||
+ | |||
+ | Den Inhalt kann man so prüfen. | ||
+ | <cocde bash>gpg -d --no-tty -q .msmtp-cred.txt.gpg</ | ||
+ | |||
+ | Die beiden Dateien '' | ||
+ | Dazu in der " | ||
+ | < | ||
+ | - ./ | ||
+ | |||
+ | Jetzt noch die Konfiguration bekannt machen. | ||
+ | <code bash> | ||
+ | |||
+ | Die Grundlage zum Senden von Mails ist nun vorhanden. | ||
+ | Man kann im " | ||
+ | <code bash> | ||
+ | |||
+ | Jetzt noch IcingaWeb konfigurieren. | ||
+ | - Felder erstellen | ||
+ | - notification_from | ||
+ | - **Datentyp**: | ||
+ | - Zeitperiode erstellen | ||
+ | - im Reiter " | ||
+ | - Benutzer erstellen | ||
+ | - **Zeitraum**: | ||
+ | - **Benachrichtigungen senden**: ja | ||
+ | - **E-Mail**: Mailadresse des Benutzers | ||
+ | - **Zustände**: | ||
+ | - **Änderungsstypen**: | ||
+ | - Benachrichtigungsvorlage für Hosts und Services erstellen | ||
+ | - **Felder hinzufügen**: | ||
+ | - **Benutzer**: | ||
+ | - **Benachrichtigungskommando**: | ||
+ | - **Benachrichtigungsintervall**: | ||
+ | - **Zeitraum**: | ||
+ | - **notification_from**: | ||
+ | - **Zustände**: | ||
+ | - **Änderungsstypen**: | ||
+ | - Benachrichtigung für Hosts und Services erstellen | ||
+ | - **Importe**: | ||
+ | - **Benutzer**: | ||
+ | - **Anwenden auf**: Hosts bzw. Services | ||
+ | - **Zuweisen wo**: 1. Textfeld: " | ||
+ | |||
+ | Wenn nun noch der Host oder Service die Benachrichtigungen aktiviert hat, werden Mails gesendet. | ||
+ | Man kann in IcingaWeb an einem Host oder Server eine Benutzerdefinierte Benachrichtigung senden und dann im Log des Containers das senden der Mail sehen. | ||
+ | Dazu müssen Benutzerdefinierte Benachrichtigungen oben überall als Änderungsstypen angegeben werden. | ||
+ | Die Logs des Containers kann man sich so anzeigen. | ||
+ | <code bash>cd / | ||
+ | docker compose logs -f icinga2</ | ||
+ | ===== Graphite ===== | ||
+ | Mit Graphite kann man Performancedaten der einzelnen Checks grafisch darstellen. | ||
+ | Zum einbinden von Graphite folgendes tun. | ||
+ | - Docker Container erstellen <code bash>cd / | ||
+ | vi docker-compose.yml</ | ||
+ | - hier beim Service " | ||
+ | - danach folgendes unter den letzten Service einfügen < | ||
+ | container_name: | ||
+ | image: graphiteapp/ | ||
+ | restart: always | ||
+ | ports: | ||
+ | - " | ||
+ | - " | ||
+ | - " | ||
+ | - " | ||
+ | - " | ||
+ | hostname: graphite | ||
+ | volumes: | ||
+ | #- ./ | ||
+ | #- ./ | ||
+ | - ./ | ||
+ | #- ./ | ||
+ | #- ./ | ||
+ | #- ./ | ||
+ | #- ./ | ||
+ | #- ./ | ||
+ | #- ./ | ||
+ | environment: | ||
+ | - GRAPHITE_TIME_ZONE=Europe/ | ||
+ | - GRAPHITE_DATE_FORMAT=%m/ | ||
+ | - COLLECTD=1</ | ||
+ | - Volumeordner für Graphite erstellen <code bash> | ||
+ | - Icinga Konfiguration zum senden von Performancedaten erstellen <code bash> | ||
+ | - hier die Datei graphite.conf mit folgendem Inhalt erstellen < | ||
+ | * The GraphiteWriter type writes check result metrics and | ||
+ | * performance data to a graphite tcp socket. | ||
+ | */ | ||
+ | |||
+ | object GraphiteWriter " | ||
+ | host = " | ||
+ | port = 2003 | ||
+ | }</ | ||
+ | - Graphite Container starten <code bash> | ||
+ | - ggf. in IcingaWeb unter Einstellungen (Zahnrad) -> " | ||
+ | - im Reiter " | ||
+ | - In der Ansicht eines Hosts oder Service werden nun die Graphen angezeigt, vorausgesetzt die Performancedaten sind in den jew. Icinga-Objekten eingeschaltet | ||
+ | - Über die URL " |