<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Icinga2 – teqqy</title><link>https://www.teqqy.de/tags/icinga2/</link><description>Ein Blog über Technik und mehr</description><language>de</language><managingEditor>teqqy</managingEditor><lastBuildDate>Fri, 31 Jul 2026 22:33:33 +0000</lastBuildDate><generator>Hugo 0.164.0</generator><atom:link href="https://www.teqqy.de/tags/icinga2/index.xml" rel="self" type="application/rss+xml"/><item><title>Homelab Monitoring mit Icinga2, InfluxDB &amp; Grafana – Mein Setup</title><link>https://www.teqqy.de/homelab-monitoring-wie-siehts-bei-mir-aus/</link><pubDate>Mon, 28 Dec 2020 02:15:39 +0100</pubDate><lastBuildDate>Mon, 28 Dec 2020 02:15:39 +0100</lastBuildDate><guid isPermaLink="true">https://www.teqqy.de/homelab-monitoring-wie-siehts-bei-mir-aus/</guid><description>Viele meiner Leser wissen es bereits: Ich nutze sehr gerne ICINGA2 (externer Link) als meine Monitoring Software. Vor vielen Jahren bin ich von Nagios damals zu ICINGA 1 gewechselt und sehr zeitnah zu Version 2. Entsprechend ist klar, dass mein Homelab Monitoring primär von ICINGA2 durchgeführt wird.</description><content:encoded>&lt;![CDATA[<p>Viele meiner Leser wissen es bereits: Ich nutze sehr gerne<a href="https://www.icinga.com" target="_blank" rel="noopener noreferrer">ICINGA2<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
als meine Monitoring Software. Vor vielen Jahren bin ich von Nagios damals zu ICINGA 1 gewechselt und sehr zeitnah zu Version 2. Entsprechend ist klar, dass mein Homelab Monitoring primär von ICINGA2 durchgeführt wird.</p><h2 id="wie-sieht-für-mich-monitoring-aus">Wie sieht für mich Monitoring aus?<a href="#wie-sieht-f%c3%bcr-mich-monitoring-aus" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h2><p>Bevor ich dir mein Homelab Monitoring zeige, möchte ich erst mal auf die Frage eingehen, wie das ganze überhaupt für mich aussehen soll, bzw. was für mich der Sinn und Zweck eines Monitoring ist.</p><p>Privat als auch im beruflichen Leben weiß ich gern vor meinen Kunden (Partner:in, Kolleg:innen, externe Kund:innen) ob etwas nicht funktioniert. Realistisch betrachtet gibt es Dinge die man nicht vor anderen wissen kann: zum Beispiel ob das Internet noch funktioniert. 🤷‍♂️ Allerdings ist es im Rahmen der Kommunikation immer ein wesentlicher Vorteil schon zu wissen ob/was nicht richtig funktioniert. Die Kunst ist es hier eine Balance zu finden zwischen Dingen die sinnvoll überwacht werden können und welche einfach nur interessant sind zu wissen. Entsprechend versuche ich viele Dinge zu überwachen und mit sauberen Schwellwerten zu versehen um möglichst frühzeitig ein Problem zu sehen oder gar vor einem Problem eingreifen zu können.</p><p>Das gerade angesprochene Beispiel mit der Internetleitung ist so ein Thema. Das Monitoringsystem kann ein Ping auf einen externen Dienst absetzen der quasi immer Verfügbar ist, z. B. Google oder Cloudflare. Auf Grund der Auslastung des Monitoringservers wird der Ping nur nicht durchgehend abgesetzt wie wir es z. B. unter Windows mit dem Parameter<em>-t</em> kennen. Stattdessen wird alle paar Sekunden (oder Minuten) eine Reihe von Pings abgesetzt und hieraus dann ermittelt ob die Internetleitung (bzw. wird ja der Service überprüft) verfügbar ist.</p><p><img src="/homelab-monitoring-wie-siehts-bei-mir-aus/images/homelab-monitoring-icinga2_hu_6cbe5ee53ffe437b.webp" srcset="/homelab-monitoring-wie-siehts-bei-mir-aus/images/homelab-monitoring-icinga2_hu_9897abf97e704faf.webp 384w, /homelab-monitoring-wie-siehts-bei-mir-aus/images/homelab-monitoring-icinga2_hu_6cbe5ee53ffe437b.webp 768w, /homelab-monitoring-wie-siehts-bei-mir-aus/images/homelab-monitoring-icinga2_hu_b9a4a72c379fa20d.webp 1536w" sizes="(max-width: 768px) 100vw, 768px" alt="homelab monitoring mit icinga2" loading="eager" fetchpriority="high" decoding="async" width="768" height="487"/><h2 id="was-monitore-ich-im-homelab">Was monitore ich im Homelab?<a href="#was-monitore-ich-im-homelab" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h2><p>Nun kommen wir zur spannenden Frage was ich denn im Homelab überwache. Wie oben bereits geschrieben gibt es für mich kein Grund die Verfügbarkeit der Internetleitung zu überwachen. Es ist immer jemand im Haus der das vor mir erkennen würde. Zudem müsste ich für eine entsprechende Benachrichtigung eine zweite Internetleitung bereit stellen oder ein SMS Gateway anschaffen. Beides für daheim zu großer overhead.</p><p>Ansonsten versuche ich alle Infrastrukturdienste zu überwachen, sofern sie durch die jeweilige Software überwachbar sind. Mein DHCP Server ist z. B. in der<a href="https://www.amazon.de/shop/teqqyde/list/3M2TIB7XEB7CS?ref_=aip_sf_list_spv_ons_mixed_d" target="_blank" rel="noopener noreferrer">Unifi<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
USG integriert, hier kann ich den Dienst nicht sauber überwachen, da die Firmware ein geschlossenes System ist.</p><p>Anders sieht es z. B. beim Thema Smart Home aus. Hier überwache ich sämtliche Dienste (Home Assistant, zwave to mqtt, zigbee to mqtt, etc) auf deren Ausführung. Ausführung heißt in diesem Falle aber nicht ob die ausführbare Datei gestartet ist, sondern ob der Service wirklich läuft. Ist z. B. das Webfrontend erreichbar oder nimmt der Service auf einem bestimmten Port auch Daten entgegen. Ob das relevante Daten sind, ist hier uninteressant, es geht schließlich einzig und allein um die Verfügbarkeit.</p><p>Dazu kommen natürlich noch alle anderen Bereitstellungen wie DMS, Netzwerkspeicher und so weiter. Überall werden, sofern es Sinn macht, natürlich auch Metriken wie CPU oder RAM Auslastung mit protokolliert und grafisch dargestellt.</p><h2 id="homelab-monitoring--die-software">Homelab Monitoring – Die Software<a href="#homelab-monitoring--die-software" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h2><p>Wie bereits geschrieben nutze ich<a href="https://amzn.to/2GTma2L" target="_blank" rel="noopener noreferrer">ICINGA2<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
als Software. Diese setzt zum Betrieb eine SQL Datenbank voraus. Ich für meinen Teil nutze wo immer es auch geht MariaDB, einfach als persönliche Präferenz.</p><p>Alle Metriken bzw. Performancedaten werden in eine<a href="/synology-nas-mit-icinga2-ueberwachen/">InfluxDB</a>
Datenbank gespeichert. Die Grafen in ICINGA Web 2 sowohl als auch eigenständige Dashboard werden mittels Grafana realisiert. Dieses greift auf die Influx Datenbank zu und stellt nach meinen Wünschen die Werte grafisch dar.</p>
]]></content:encoded><category>selfhosted</category><category>monitoring</category><category>icinga2</category><category>grafana</category><category>homelab</category></item><item><title>ICINGAWEB2 FreeIPA Konfiguration</title><link>https://www.teqqy.de/icingaweb2-freeipa-konfiguration/</link><pubDate>Fri, 02 Aug 2019 00:01:12 +0200</pubDate><lastBuildDate>Fri, 02 Aug 2019 00:01:12 +0200</lastBuildDate><guid isPermaLink="true">https://www.teqqy.de/icingaweb2-freeipa-konfiguration/</guid><description>Wenn du mir schon länger folgst weißt du, dass ich mein Homelab mit ICINGA2 monitore und damit alles im Blick behalte. Seit kurzem setze ich auch FreeIPA als Identity Management ein, also musste ich noch ICINGAWEB2 mit FreeIPA (externer Link) verbinden. Anfangs kein so leichtes unterfangen. Dieses Tutorial hilft dir aber bei deiner ICINGAWEB2 FreeIPA Konfiguration.</description><content:encoded>&lt;![CDATA[<p>Wenn du mir schon länger folgst weißt du, dass ich mein Homelab mit ICINGA2 monitore und damit alles im Blick behalte. Seit kurzem setze ich auch FreeIPA als Identity Management ein, also musste ich noch ICINGAWEB2 mit<a href="https://www.freeipa.org/page/Main_Page" target="_blank" rel="noopener noreferrer">FreeIPA<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
verbinden. Anfangs kein so leichtes unterfangen. Dieses Tutorial hilft dir aber bei deiner ICINGAWEB2 FreeIPA Konfiguration.</p><p>Die Installation von<a href="https://github.com/Icinga/icingaweb2" target="_blank" rel="noopener noreferrer">ICINGAWEB2<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
kann ganz regulär nach<a href="https://icinga.com/docs/icingaweb2/latest/" target="_blank" rel="noopener noreferrer">offizieller Anleitung<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
durchgeführt werden. Spannend wird es erst, wenn wir das Frontend einrichten möchten. Als Backend nehmen wir entsprechend LDAP und lassen im nächsten Schritt auch schon über Eingabe der Domäne alle Einstellungen suchen.</p><p><img src="/icingaweb2-freeipa-konfiguration/images/homelab-monitoring-icinga2_hu_a2bf32042e3dfb58.webp" srcset="/icingaweb2-freeipa-konfiguration/images/homelab-monitoring-icinga2_hu_6138cf7de6d30b6a.webp 384w, /icingaweb2-freeipa-konfiguration/images/homelab-monitoring-icinga2_hu_a2bf32042e3dfb58.webp 768w, /icingaweb2-freeipa-konfiguration/images/homelab-monitoring-icinga2_hu_ce6421b679649607.webp 1536w" sizes="(max-width: 768px) 100vw, 768px" alt="ICINGAWEB2 mit FreeIPA verbinden" loading="lazy" fetchpriority="auto" decoding="async" width="768" height="487"/><p>Eines noch Vorweg: Das ICINGA2 Buch hat mir immer sehr geholfen das System besser zu verstehen und viele Konfigurationen und Anpassungen leicht zu meistern. Solltest du frisch in das Thema einsteigen empfehle ich dir das Buch zu kaufen.</p><p>Dies funktioniert natürlich am Besten, wenn man FreeIPA auch direkt als DNS Server einsetzt. Andernfalls kann es sein, dass die Daten nicht korrekt gezogen werden. Eine Anpassung des<a href="/2019-01-adguard-home-vs-pihole/">DNS</a>
am ICINGA2 Host ist anschließend notwenig.</p><p>Die Einrichtung kann man sogar, wenn man nichts besonderes konfigurieren möchte, einfach immer weiter klicken. Die Konfiguration erfolgt mit dem neuen ICINGAWEB2 Installer fast automatisch.</p><p>Nach komplett abgeschlossener Einrichtung müssen wir allerdings noch die<em>roles.ini</em> Datei anpassen.</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label"/><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang=""><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><pre tabindex="0"><code>[Administrators]
users = "username@domain.tld"
permissions = "*"</code></pre></div><p>Wer möchte passt natürlich noch die Berechtigungen an. In diesem Beispiel ist das mein Administrator-Benutzer, der soll natürlich alle Berechtigungen haben.</p><p>Nun können wir über das Frontend bei ICINGAWEB2 anmelden. Als Benutzername müsst ihr den vollqualifizierten Nutzername verwenden. Wie oben in der roles.ini also z. B.</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label"/><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang=""><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><pre tabindex="0"><code>username@domain.tld</code></pre></div><p>Mit dem entsprechenden Passwort zusätzlich eingegeben, habt ihr ein erfolgreichen Login bestritten. Zum Vergleich zeige ich euch noch meine anderen Konfigurationsdateien.</p><h2 id="meine-icingaweb2-freeipa-konfiguration">Meine ICINGAWEB2 FreeIPA Konfiguration<a href="#meine-icingaweb2-freeipa-konfiguration" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h2><p>Zum Vergleich zeige ich euch noch meine anderen Konfigurationsdateien. Damit sollte es für dich auch möglich sein eine korrekte Verbindung zu FreeIPA durchzuführen.</p><h4 id="authenticationini">authentication.ini<a href="#authenticationini" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h4><div class="code-block"><div class="code-block-header"><span class="code-lang-label"/><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang=""><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><pre tabindex="0"><code>[icingaweb2]
user_class = "inetOrgPerson"
filter = ""
user_name_attribute = "uid"
backend = "ldap"
base_dn = "dc=example,dc=com"
domain = "example.com"
resource = "icingaweb_ldap"</code></pre></div><h4 id="groupsini">groups.ini<a href="#groupsini" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h4><div class="code-block"><div class="code-block-header"><span class="code-lang-label"/><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang=""><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><pre tabindex="0"><code>[icingaweb2]
resource = "icingaweb_ldap"
user_backend = "icingaweb2"
group_class = "group"
group_filter = ""
group_name_attribute = "gid"
group_member_attribute = "
member"base_dn = ""
backend = "ldap"</code></pre></div><h4 id="ressourcesini">ressources.ini<a href="#ressourcesini" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h4><div class="code-block"><div class="code-block-header"><span class="code-lang-label"/><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang=""><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><pre tabindex="0"><code>[icingaweb_ldap]
type = "ldap"
hostname = "dc.example.com"
port = "389"
encryption = "none"
root_dn = "dc=example,dc=com"
bind_dn = ""
bind_pw = ""
timeout = "5"</code></pre></div><p>Anschließend sollte der Login problemlos klappen.</p>
]]></content:encoded><category>selfhosted</category><category>icinga2</category><category>ldap</category><category>monitoring</category></item><item><title>SYNOLOGY NAS mit ICINGA2 überwachen</title><link>https://www.teqqy.de/synology-nas-mit-icinga2-ueberwachen/</link><pubDate>Sun, 06 Jan 2019 14:33:59 +0100</pubDate><lastBuildDate>Sun, 06 Jan 2019 14:33:59 +0100</lastBuildDate><guid isPermaLink="true">https://www.teqqy.de/synology-nas-mit-icinga2-ueberwachen/</guid><description>Ein SYNOLOGY (externer Link) NAS mit ICINGA2 (externer Link) überwachen erfordert nicht unbedingt ein gesondertes Plugin, da die Systeme auch ohne Probleme direkt via SNMP überwacht werden können. Fertige Plugins haben allerdings den Vorteil, dass sie schneller zum Einrichten und zum anderen übersichtlicher sind.</description><content:encoded>&lt;![CDATA[<p>Ein<a href="https://www.amazon.de/shop/teqqyde/list/3N2DZNYBV6VGD?ref_=aip_sf_list_spv_ons_mixed_d" target="_blank" rel="noopener noreferrer">SYNOLOGY<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
NAS mit<a href="https://icinga.com" target="_blank" rel="noopener noreferrer">ICINGA2<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
überwachen erfordert nicht unbedingt ein gesondertes Plugin, da die Systeme auch ohne Probleme direkt via SNMP überwacht werden können. Fertige Plugins haben allerdings den Vorteil, dass sie schneller zum Einrichten und zum anderen übersichtlicher sind.</p><p>Bis vor kurzem habe ich immer mit dem Plugin check_synology gearbeitet. Allerdings hatte das bei mir unter verschiedenen Systemen immer mal wieder zu aussetzern geführt. Aus diesem Grund habe ich mich vor ein paar Tagen auf die Suche nach einem neuen CheckPlugins gemacht und bin natürlich fündig geworden.</p><h2 id="synology-nas-mit-icinga2-überwachen">SYNOLOGY NAS MIT ICINGA2 ÜBERWACHEN<a href="#synology-nas-mit-icinga2-%c3%bcberwachen" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h2><p><a href="https://github.com/wernerfred/check_synology" target="_blank" rel="noopener noreferrer">check_synology.py<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
funktioniert ausschließlich mit SNMPv3, bietet also noch mehr Sicherheit als lediglich über SNMPv2 oder gar v1.</p><p>Nach dem herunterladen des Plugins und einfügen des CheckCommands (Pluginersteller liefert das glücklicherweise mit), kann man schon anfangen die Service Checks zu schreiben. Meine sehen derzeit so aus:</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label"/><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang=""><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><pre tabindex="0"><code>apply Service "syno-load" {
check_command = "check_synology"
vars.synology_mode = "load"
vars.synology_host = "$address$"
vars.synology_warning = "$synology_load_w$"
vars.synology_critical = "$synology_load_c$"
assign where host.vars.os_type == "DSM"
}
apply Service "syno-memory" {
check_command = "check_synology"
vars.synology_mode = "memory"
vars.synology_host = "$address$"
vars.synology_warning = "$synology_load_w$"
vars.synology_critical = "$synology_load_c$"
assign where host.vars.os_type == "DSM"
}
apply Service "syno-status" {
check_command = "check_synology"
vars.synology_mode = "status"
vars.synology_host = "$address$"
vars.synology_warning = "$synology_load_w$"
vars.synology_critical = "$synology_load_c$"
assign where host.vars.os_type == "DSM"
}
apply Service "syno-disks" {
check_command = "check_synology"
vars.synology_mode = "disk"
vars.synology_host = "$address$"
vars.synology_warning = "$synology_load_w$"
vars.synology_critical = "$synology_load_c$"
assign where host.vars.os_type == "DSM"
}</code></pre></div><p>Anschließend noch die Host Definition</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label"/><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang=""><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><pre tabindex="0"><code>object Host "synology.int.casalani.de" {
check_command = "hostalive"
address = "10.0.1.21"
vars.os_type = "DSM"
vars.synology_snmp_user = "icinga2"
vars.synology_snmp_authkey = "strenggeheim"
vars.synology_snmp_privkey = "strenggeheim"
}</code></pre></div><p>Anschließend noch die config validieren und<a href="/synology-cloud-backup-anbieter-im-vergleich/">ICINGA2</a>
neu laden. In<a href="https://amzn.to/2GTma2L" target="_blank" rel="noopener noreferrer">ICINGA<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
Web 2 sieht es dann so aus:</p><p>Nach jetzt mehreren Tagen Test, kann ich sagen, dass das Plugin hervorragend funktioniert. Entsprechend meine Weiterempfehlung.</p>
]]></content:encoded><category>synology</category><category>icinga2</category><category>monitoring</category></item></channel></rss>