Select Page

NETWAYS Blog

NETWAYS GitHub Update Juli 2023

This entry is part 6 of 14 in the series NETWAYS GitHub Update

Willkommen beim NETWAYS GitHub Update, unser monatlicher Überblick über unsere neuesten Releases.

Im Juli 2023 haben wir wieder einen ganzen Schwung spannender Updates an den Start gebracht. Dazu gehören unter anderem eine Aktualisierung der Golang Bibliothek für Check-Plugins, Version 1.2.5 unseres beliebten Icinga Installers sowie ein neuer Release des NETWAYS Support Collectors.

Zudem haben die Check-Plugins für Bareos, Elasticsearch und Logstash einige Änderungen spendiert bekommen!

Wenn du in Zukunft Updates direkt zu Release erhalten willst, folge uns einfach auf GitHub: https://github.com/NETWAYS/

check-bareos Release v2.0.0

Wir haben diesen Monat einen großen Refactor des Check Plugins durch, damit werden wir das Tool in Zukunft besser warten können. Gibt viele Änderungen, am besten die Release Notes lesen.

Changelog

  • Hinzugefügt: Viele neue Unittests!
  • Hinzugefügt: CLI Parameter unterstützen Thresholds
  • Ausgabe normalisiert und erweitert
  • Diverse Bugfixes

https://github.com/NETWAYS/check_bareos/releases/tag/v2.0.0

go-check Release v0.5.0

Ein etwas größeres Release unserer Golang Bibliothek für Check Plugins. Mit diesem Release haben wir einiges an Code aufgeräumt.

Changelog

  • Einige Abhängigkeiten entfernt
  • Breaking Change: metric und benchmark Pakete entfernt
  • Breaking Change: http/mock Paket entfernt
  • Breaking Change: Ältere Funktionen entfernt
  • Bugfix: Fehler in der Ausgabe von PartialResult gefixt
  • Viele kleine Fixes unter der Haube

https://github.com/NETWAYS/go-check/releases/tag/v0.5.0

check-elasticsearch Release v0.3.0

Changelog

  • Hinzugefügt: Neuer Subcheck für Ingest Pipelines
  • Refactor um teilweise kompatibel mit OpenSearch zu sein
  • Viele Optimierungen unter der Haube

https://github.com/NETWAYS/check_elasticsearch/releases/tag/v0.3.0

check-logstash Release v0.9.0

Changelog

  • Hinzugefügt: Neuer Subcheck für Logstash 8 Pipeline Metriken
  • Hinzugefügt: Neuer Subcheck für Logstash Pipeline Reload Fehler

https://github.com/NETWAYS/check_logstash/releases/tag/v0.9.0

support-collector Release v0.9.0

Changelog

  • Hinzugefügt: Viele neue Kollektoren (Elastic Stack, Prometheus, Graylog, MongoDB, Foreman, diverse Webserver)
  • Hinzugefügt: Neue CLI Option um sensitive Daten zu entfernen
  • Hinzugefügt: Das Tool sammelt jetzt auch teilweise Logdateien ein
  • Viele Abhängigkeiten unter der Haube aktualisiert

https://github.com/NETWAYS/support-collector/releases/tag/v0.9.0

icinga-installer Release v1.2.5

Changelog

  • Bugfix: Weitere PHP und Apache Konfiguration wird nun von Puppet verwaltet
  • Bugfix: Puppet Daemon auf Debian/Ubuntu deaktiviert

https://github.com/NETWAYS/icinga-installer/releases/tag/v1.2.5

Markus Opolka
Markus Opolka
Senior Consultant

Markus war nach seiner Ausbildung als Fachinformatiker mehrere Jahre als Systemadministrator tätig und hat währenddessen ein Master-Studium Linguistik an der FAU absolviert. Seit 2022 ist er bei NETWAYS als Consultant tätig. Hier kümmert er sich um die Themen Container, Kubernetes, Puppet und Ansible. Privat findet man ihn auf dem Fahrrad, dem Sofa oder auf GitHub.

check_prometheus ist jetzt öffentlich verfügbar!

Monitoring ist komplex, das wissen wir hier bei NETWAYS leider zu gut. Deswegen laufen in der Infrastruktur auch mal gerne mehrere Tools für die Überwachung. Zwei gern gesehene Kandidaten sind dabei Icinga und Prometheus. Icinga und Prometheus erfüllen unterschiedliche Rollen im Monitoring, daher besteht oft Bedarf für eine Integration beider Tools. Genau dafür haben wir check_prometheus geschrieben, was wir nun der Öffentlichkeit zur Verfügung stellen.

https://github.com/NETWAYS/check_prometheus

Mit check_prometheus lassen sich der Status deiner Prometheus Server ermitteln, Alarme aus Prometheus auslesen und sogar PromQL aus Icinga auswerten. Das Check Plugin haben wir in Golang geschrieben, das heißt, es werden keine weiteren Abhängigkeiten auf der Icinga Instanz benötigt. Hier einige Beispiele für die Nutzung:

Wir können grundlegend zunächst mal prüfen, ob unser Prometheus Server erreichbar und operativ ist. Dafür nutzen wir den health Unterbefehl:

$ check_prometheus health

[OK] - Prometheus Server is Healthy. | statuscode=200

Natürlich können wir hier Adresse oder TLS Konfiguration als Parameter angeben.

Mit dem alert Unterbefehl, lässt sich außerdem der Status von in Prometheus definierten Alarmen überprüfen. Entweder eines oder mehrerer spezifischen Alarme:

$ check_prometheus alert --name "MyVeryImportantAlert"

[CRITICAL] - 1 Alerts: 1 Firing - 0 Pending - 0 Inactive
\_[CRITICAL] [MyVeryImportantAlert] - Job: [example] is firing - value: 1.00
| firing=1 pending=0 inactive=0

Oder auch einfach alle bereits in Prometheus definierten Alarme und deren Status:

$ check_prometheus alert

[CRITICAL] - 6 Alerts: 3 Firing - 0 Pending - 3 Inactive
\_[OK] [PrometheusTargetMissing] is inactive
\_[CRITICAL] [PrometheusAlertmanagerJobMissing] - Job: [alertmanager] is firing - value: 1.00
\_[OK] [HostOutOfMemory] - Job: [alertmanager]
\_[OK] [HostHighCpuLoad] - Job: [alertmanager]
\_[CRITICAL] [HighResultLatency] - Job: [prometheus] on Instance: [node01] is firing - value: 11.00
| total=6 firing=3 pending=0 inactive=3

Wenn wir keine Alarme in Prometheus definieren wollen, können wir mit dem query Unterbefehl auch direkt PromQL auswerten lassen und gegen Schwellwerte prüfen:

$ check_prometheus query -q my_very_important_metric{job="prometheus"}[10s]' -c5 -w 10

[WARNING] - 1 Metrics: 1 Critical - 0 Warning - 0 Ok
\_[WARNING] my_very_important_metric{instance="node01", job="prometheus"} - value: 15
| my_very_important_metric_node01_prometheus=15

Persönlich empfehle ich jedoch, Alarme in Prometheus zu definieren da wir hier weitere Möglichkeiten haben, den jeweiligen Alarm zu definieren (beispielsweise das for Schlagwort in der Alarm Definition).

Jetzt da wir unsere Prometheus Instanzen mit Icinga integriert haben, können wir uns ansehen, wie wir den Prometheus Alertmanager aus Icinga ansprechen können. Die Integration mit dem Prometheus Alertmanager ist glücklicherweise kein großes Problem. Durch die Prometheus Alertmanager HTTP API, können wir relativ leicht benutzerdefinierte Alarme mittels JSON erzeugen. Alles was wir brauchen ist ein Notification Plugin, das uns die Statusmeldung in Icinga nach JSON transformiert und diese an den Alertmanager schickt.

Da jede Benachrichtigungsstrategie anders aussieht, können wir hier keine universelle Lösung implementieren. Das heißt aber nicht, dass wir nicht Beispiele zur Verfügung stellen können. Im Repository findet ihr ein kleines Python Skript, dass sich ohne Abhängigkeiten auf jeder Icinga Instanz einsetzen lässt:

notify-alertmanager-example.py --hostname mynode01 --service ping --state 2

Hast du einen Bug gefunden, oder brauchst ein neues Feature? Melde dich einfach auf GitHub!

Markus Opolka
Markus Opolka
Senior Consultant

Markus war nach seiner Ausbildung als Fachinformatiker mehrere Jahre als Systemadministrator tätig und hat währenddessen ein Master-Studium Linguistik an der FAU absolviert. Seit 2022 ist er bei NETWAYS als Consultant tätig. Hier kümmert er sich um die Themen Container, Kubernetes, Puppet und Ansible. Privat findet man ihn auf dem Fahrrad, dem Sofa oder auf GitHub.

NETWAYS GitHub Update Juni 2023

This entry is part 1 of 14 in the series NETWAYS GitHub Update

Willkommen beim NETWAYS GitHub Update, unser monatlicher Überblick über unsere neuesten Releases.

Unserer GitHub Projekte vom Juni 2023 ist diesmal ein wenig kürzer als du das bisher von uns gewohnt bist. Der Qualität unserer neuen Releases tut das jedoch keinen Abbruch.

Für weitere und schnellere Informationen kannst du uns auch auf GitHub folgen: https://github.com/NETWAYS/

go-check Release v0.4.2

Changelog

  • README um Beispiele erweitert
  • Bugfix: In PartualResult Verarbeitung

https://github.com/NETWAYS/go-check/releases/tag/v0.4.2

check-nano Release v1.0.0

Changelog

  • Hinzugefügt: Robustere Fehlerbehandlung
  • Diverse Optimierungen im Buildprozess

https://github.com/NETWAYS/check_nano/releases/tag/v1.0.0

Markus Opolka
Markus Opolka
Senior Consultant

Markus war nach seiner Ausbildung als Fachinformatiker mehrere Jahre als Systemadministrator tätig und hat währenddessen ein Master-Studium Linguistik an der FAU absolviert. Seit 2022 ist er bei NETWAYS als Consultant tätig. Hier kümmert er sich um die Themen Container, Kubernetes, Puppet und Ansible. Privat findet man ihn auf dem Fahrrad, dem Sofa oder auf GitHub.

NETWAYS GitHub Update Mai 2023

This entry is part 5 of 14 in the series NETWAYS GitHub Update

Willkommen beim NETWAYS GitHub Update, unser monatlicher Überblick über unsere neuesten Releases.

Unsere GitHub Projekte vom Mai 2023 umfassen unter anderem ein Update für Icinga-Powershell, den Icinga Installer und zwei aktualisierte Trainingsunterlagen!

Für weitere und schnellere Informationen kannst du uns auch auf GitHub folgen: https://github.com/NETWAYS/

icinga-powershell-connector Release v0.3.0

Changelog

  • Hinzugefügt: Bessere Fehlermeldung für Timeouts
  • Hinzugefügt: Timeout ist jetzt konfigurierbar
  • Performance Optimierungen des Parsers
  • Diverse Optimierungen im Buildprozess
  • Abhängigkeiten aktualisiert

https://github.com/NETWAYS/icinga-powershell-connector/releases/tag/v0.3.0

check-disk-btrfs Release v3.1.0

Changelog

  • Viele neue Tests für zukünftige Wartbarkeit
  • Hinzugefügt: Neue Optionen für Sub-Checks –missing und –error
  • Hinzugefügt: –no-sudo und –no-unallocated Optionen zum Deaktivieren der Funktionen

https://github.com/NETWAYS/check_disk_btrfs/releases/tag/v3.1.0

check-hp-ilo Release v0.1.0

Changelog

  • Großer Refactor für zukünftige Wartbarkeit
  • Hinzugefügt: –exclude Option kann nun mehrfach genutzt werden
  • Hinzugefügt: Nicht installierte Komponenten werden ignoriert.
  • Hinzugefügt: Gerätname in der Status Ausgabe
  • Bugfix: Sub-Checks zeigen jetzt nicht mehr die ILO Ausgabe als Status sondern Icinga-konforme Status
  • Perfdata Ausgabe optimiert

https://github.com/NETWAYS/check_hp_ilo/releases/tag/v0.1.0

icinga-installer Release v1.2.4

Changelog

  • Bugfix: Parameter in Server Manifest angepasst
  • Diverse Anpassungen in der Dokumentation

https://github.com/NETWAYS/icinga-installer/releases/tag/v1.2.4

Training Foreman Release v1.7

Changelog

  • Update auf Foreman 3.5 und Katello 4.7
  • Refactor: Katello als Basis
  • Update von Plugins, Screenshots und Grafiken

https://github.com/NETWAYS/foreman-training/releases/tag/v1.7

Training GitLab Release v4.0.0

Changelog

  • Leichterer Einstieg in Git
  • Refactor: mehr GitLab Themen und einige Git Themen entfernt
  • Formulierung auf vielen Folien optimiert

https://github.com/NETWAYS/gitlab-training/releases/tag/v4.0.0

Markus Opolka
Markus Opolka
Senior Consultant

Markus war nach seiner Ausbildung als Fachinformatiker mehrere Jahre als Systemadministrator tätig und hat währenddessen ein Master-Studium Linguistik an der FAU absolviert. Seit 2022 ist er bei NETWAYS als Consultant tätig. Hier kümmert er sich um die Themen Container, Kubernetes, Puppet und Ansible. Privat findet man ihn auf dem Fahrrad, dem Sofa oder auf GitHub.

NETWAYS GitHub Update – April 2023

This entry is part 3 of 14 in the series NETWAYS GitHub Update

Willkommen beim NETWAYS GitHub Update, unser monatlicher Überblick über unsere neuesten Releases. Und hier die aktuellen Veröffentlichungen unserer GitHub Projekte vom April!

Für weitere und schnellere Informationen kannst du uns auch auf GitHub folgen: https://github.com/NETWAYS/

icinga-installer Release v1.2.3

Changelog

  • Bugfix: Fehler in Apache Installation auf RHEL 8/9 behoben
  • Bugfix: falscher ido_db_type in server-db-mysql Szenario behoben
  • Bugfix: falscher Parametertyp für tls_option behoben
  • Bugfix: UTF-8 in IcingaDB Einstellungen gesetzt

https://github.com/NETWAYS/icinga-installer/releases/tag/v1.2.3

notify-brevisone Release v0.2.0

  • Fehlermeldung für HTTP Time-out verbessert
  • Hinzugefügt: Kompatibilität für Legacy API
  • Abhängigkeiten aktualisiert

https://github.com/NETWAYS/notify-brevisone/releases/tag/v0.2.0

check-sophos-central Release v0.3.0

  • Hinzugefügt: Filter Option für Alarme und Endpunkte
  • Optimierungen in Build Prozess
  • Abhängigkeiten aktualisiert

https://github.com/NETWAYS/check_sophos_central/releases/tag/v0.3.0

check-sar-perf Release v0.1.0

  • Großer Refactor für zukünftige Wartbarkeit
  • Bugfix: fehlerhafte Formatierung von perfdata Ausgabe behoben
  • Hinzugefügt: Plugin kann jetzt mit selbstdefiniertem sar Befehl laufen

https://github.com/NETWAYS/check-sar-perf/releases/tag/v0.1.0

Markus Opolka
Markus Opolka
Senior Consultant

Markus war nach seiner Ausbildung als Fachinformatiker mehrere Jahre als Systemadministrator tätig und hat währenddessen ein Master-Studium Linguistik an der FAU absolviert. Seit 2022 ist er bei NETWAYS als Consultant tätig. Hier kümmert er sich um die Themen Container, Kubernetes, Puppet und Ansible. Privat findet man ihn auf dem Fahrrad, dem Sofa oder auf GitHub.