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 18:30] – [Eigene Checks einbinden] adi | linux:icinga:docker-stack [2025/03/21 19: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 " | ||