icinga2 / nsclient++ / telegraf / Grafana

  • Hallo,


    ich habe da mal einen Frage zum richtigen anwenden der Monitoring Tools.


    Bislang habe ich immer icinga2 mit dem NSClient++ für die Überwachung der Windows Hosts eingesetzt. Dann habe noch die Influxdb für ICINGA2 installiert damit alle Perfomancedaten die ICINGA sammelt auch darin schreibt damit ich per Grafana die Daten schön darstellen konnte.


    Später habe ich dann das Tool "Telegraf" entdeckt, welches die PerformanceDaten direkt in eine INFLUXDB schreibt. Damit konnte ich schnell viele Werte vom WIndows/Linux Host loggen.


    Nun habe ich aber auch entdeckt dass es einen ICINGA2 Client gibt. Diesen habe ich mal getest und geht natürlich auch.


    Was ist denn nun Richtig?


    Telegraf schreibt ja alle 10 Sekunden die Werte von einem Host in die DB. Diese Werte habe ich dann ja natürlich nicht in ICINGA sonder nur in Grafana.

    Wenn ich per NSCLIENT++ die Performancewerte loggen will, müsste ich ja alle 10 Sekunden einen check ausführen - das gibt doch sicherlich gut Last auf dem Nagiosserver - und dem zu prüfenden Host.

    Ist da der ICINGA2 CLient besser dafür geeignet? Kann der dann auch Powershellscripte ausführen?


    Ich weiß - es gibt viele Wege...aber welcher ist aus Expertensicht der Bessere?


    Vielen Dank für Tips und Hinweise.

    Gruß

    Hermann

  • Telegraf hab ich mir noch nie angesehen, aber wenn man weiss dass InfluxDB ein reiner Metrik-Sammler ist, geht dir hier die Geschichte mit Thresholds und States komplett verloren (und nachgelagert dann die Alarmierung).


    InfluxDB sehe ich als Metrik-Backend für Icinga 2, wo du mit Grafana schöne Dashboards erzeugen kannst. Weiterhin kann man hier dagegen auch Checks für Trend-Berechnung usw fahren (sollte die HTTP-API und Query-Language hergeben, hab ich noch ned gemacht).


    NSClient++ kann auch Powershell-Scripts ausführen, ebenso wie der Icinga 2 Client.


    https://docs.nsclient.org/howt…_scripts/#ps1-power-shell 


    Aus meiner Sicht solltest du das Monitoring mit Alerting in Icinga belassen, und InfluxDB als Integration mit Metriken sehen. Dort auch dann vielleicht erweiterte Metriken.


    Was auch noch hinzukommt - Telegraf läuft dann auch auf dem Client-System. Neben der von dir erwähnten 10-Sekunden hast du dann auch noch das Problem, dass diese Applikation ja eine Verbindung zu InfluxDB braucht. Das heisst dein Client redet nicht nur via TLS mit Icinga 2, sondern benötigt einen weiteren Port und Verbindung zur InfluxDB API.

  • Danke für die Info,


    Wird es denn in der Praxis gemacht, z.B. für WindowsPerfCounter einen check alle 10 oder 20 sec. laufen zu lassen?

    Kommen die System damit klar (MonitorServer und Client)


    Wenn man einen Check für WindowsPerfCounter nur alle 3 bzw. 5 Minuten laufen lässt kann man ja einige Spitzen nicht erkennen.

  • Das ist die Frage der Granularität, die du dir selbst stellen musst. Da die Daten in TSDBs sowieso verdichtet werden, siehst du diese Spitzen etwa nach 3 Monaten nicht mehr.


    Welche PerfCounter interessieren dich denn im speziellen?


    Ob die Systeme damit klarkommen, musst du testen. Manche Windows-Clients benötigen ihre Ressourcen voll für die Applikationen die drauf laufen. Was du etwa nicht willst, sind Timeouts oder Last-Spitzen die durch dein Monitoring verursacht werden.

  • Stimmt, das soll natürlich nicht passieren dass timeouts durch das Monitoring verursacht werden.


    ABer z.B die Netzwerkschnittstelle des Windows Servers...wenn man dies alle 3 Minuten abfragt bringt das ja nicht viel.


    WIe gesagt, telegraf hat ein CONFIG File wo die PerfCounter eingetragen sind und schickt diese alle 10s zur INFLUXDB. Dort sind mir keine TimeOuts aufgefallen.