SSL Abfrage über openssl gibt falsche CN aus, Webabfrage (Nginx) geht

  • Vielen Dank. Mit der Version 5.5.7 sieht es bei mir etwas anders aus. Wenn ich aber die Parameter um --SNI erweitere, so funktioniert es nun. Danke.

    Ich bin mal am schauen wie dies mit check_MK gehen würde. Dort hat es die Hostlimitierung glaub nicht, und ich kann direkt Pushover als Benachrichtigung verwenden was ich in Nagios bisher nicht gefunden habe. Zusätzlich ist mir noch nicht klar wie ich die Zertifikateinstellung als Warnung ausgeben lassen kann. Ich bekomme nur eine Grüne Anzeige mit der Information das mein Zertifikat in X Tagen abläuft :)

    Aber da muss ich mich mehr einarbeiten.

  • Guten Morgen


    Nach dem ich nun sehr lange an älteren Servern mit den Monitoring Tools getestet habe, möchte ich euch natürlich auch die bisherigen "vielleicht für dein ein oder anderen magere" Ergebnissen auf dem laufenden halten.


    Nagios: Läuft auch auf einem kleinen VPS ohne Probleme und Stabil. Die Abfrage der SSL Zertifikate läuft mit SNI und -H Parameter ohne Probleme. Für mich fällt das Tool jedoch vorläufig weg, da ich erst der Meinung war mit 7 Hosts seien 7 Server gemeint. Wenn ich jedoch 4 Homepages überwachen möchte sind 4 Hosts schon weg :)


    Check_MK: Für mich ist das Tool in der Bedienung sehr undurchsichtig. Die SSL Prüfung funktioniert bei mir nicht, da das Tool Standardmässig zwar --sni in den Befehl einfügt, das gnaze jedoch mit den -I Parameter nach IP auflöst und ich so das falsche Zertifikat erhalte. Nach längerem erfolglosem suchen in der Konfiguration habe ich mich nun nach Alternativen Umgesehen.


    Zufälligerweise ist mir nun noch Zabbix ins Auge gefallen. Bisher muss ich sagen finde ich das Tool sehr gut. Der Aufbau gefällt mir und es ist sogar Open Source. Die SSL Überwachung funktioniert ohne jegliche Probleme. Ich habe sogar eine Pushover Anbindung gefunden mit der ich jedoch noch in der Konfiguration Kämpfe. Aber auch das kommt sicherlich noch. Ebenfalls habe ich die Agenten für die einzelnen Server noch nicht getestet. Aber fürs erste werde ich mal mit Zabbix als Monitoring Tool weiter spielen.


    Gruss


    Oliver

  • Zabbix ist top. Zwar nicht so leichtgewichtig, aber sehr funktional. Habe ich auch für meine Server im Einsatz.

    Ich habe es jetzt mal auf einem kleinen VPS und es läuft sehr rund. Da kann ich nicht klagen. Heute teste ich mal das Monitoring für SMTP und IMAP, und möchte mal auf einem zweiten server einen Agenten Installieren um mal zu sehen was Zabbix da alles ausgibt.

  • Falls ihr Fragen zu Zabbix habt, nur her damit

    Vielen Dank für dein Angebot. Da ich mit Zabbix immer mehr freude habe da es geht wie ich möchte sage ich da nicht nein. Ich denke da kommen schon noch fragen :)


    Pauschal wäre es sicherlich mal für alle Interessant was so sinnvolles Überwacht werden kann. Ich bin noch bei Zabbix Share am schauen, aber da gibt es ja extrem viele möglichkeiten.

    Was ich bereits getestet habe für meinen Einsatz:

    • Benachrichtigung mit Pushover.
    • SSL Zertifikate auf allen Seiten
    • Ist die Seite erreichbar
    • IMAP/SMTP Service überprüfen

    Was ich noch nicht getestet habe, aber nocoh Umsetzen möchte falls es lösungen gibt:

    Gerne würde ich eigentlich nextcloud überwachen mit carddav/caldav.

    • bei einer seite möchte ich den Inhalt prüfen, da ich vor kurzem bei
      nextcloud das Problem hatte das die PHP Version nicht unterstützt wurde. Die seite war dann zwar erreichbar, aber Caldav/Carddav ging nicht mehr
    • Gerne würde ich den E-Mail server überwachen damit ich Meldungen erhalte wenn Postfächer voll laufen.
    • Sind die beiden Datenbanken (MariaDB) erreichbar
    • Natürlich ob alle Server erreichbar sind. Hier habe ich nun mal auf einem zweiten Server den Agenten Installiert. Hier kämpfe ich noch etwas mit dem Server da er mir sagt der Agent ist nicht erreichbar. Ein nmap -p 10050 IP/DNS vom Zabbix Server sagt jedoch das der Agent erreichbar ist und der Port offen ist. Eine status abfrage des Agenten auf dem zweiten server zeigt auch das er läuft.
  • Och nö ich darf schon wieder nicht bearbeiten weil ich zu spät war. Sorry. Ich habe mich da wohl zu früh gefreut. Zwei Tests ändern immer ihre Meinung :D

    • Ist die Seite erreichbar (Zabbix ändert die Meinung all paar Minuten obwohl alles erreichbar zu sein scheint hat er das gefühl es ist nicht so. Der Trigger zu dem: {WebSite:web.test.fail[tig-sale.ch].last(#2,30)}<>0. Davor hatte ich {WebSite:web.test.fail[tig-sale.ch].last(0)}<>0 getestet
    • IMAP/SMTP Service überprüfen (Auch hier ändert Zabbix immer seine Meinung. Ich habe jedoch nur den Port im Template angepasst)
    • caldav/cardav: webcheck mit eigenem Benutzer auf die remote.php/dav und einer String Suche
    • Postfächer: Hast du viele? Dann scripte das. Die Postfächer erkennst du per Autodiscover.
    • MariaDB: Willst du nur den Port monitoren oder geoeuvu etwas mehr? Ich gucke noch nach welches Template von https://share.zabbix.com/databases/mysql ich im Einsatz habe.
    • Agent erreichbar: Server bzw ServerActive auf dem Agent ist korrekt gesetzt?
    • Webcheck Trigger: Wieso prüfst du nicht auf Zeit bzw. Summe?
    • Port im Template angepasst: Der elegante weg ist das per Macro zu machen.

    "Security is like an onion - the more you dig in the more you want to cry"

    • MySQL: Das Template für MySQL ist bei Zabbix schon dabei. Vorteil von "Template App MySQL": Du brauchst keine extra Binaries oder Perl-Skripte. Du musst bei den Agenten nur die "userparameter_mysql.conf" beachten, d.h. in die ~/.my.cnf die Daten vom Monitorung-Benutzer eintragen.

    Tip: Templates für quasi alles findest du unter: https://share.zabbix.com/

    "Security is like an onion - the more you dig in the more you want to cry"

  • Wow vielen Dank für deine Antwort auf alle meine Punkte vmk

    Ich bin mich noch an den einzelnen Punkten am durchhangeln, möchte dir aber versuchen alle Antworten hier einzufügen was ich bisher gefunden/gemacht habe.

    caldav/cardav: webcheck mit eigenem Benutzer auf die remote.php/dav und einer String Suche

    Super Idee. Ich habe mal den ersten Test gemacht, erhalte aber mit der Basic Authentifizierung noch Fehler. Ich habe den Status Code entfernt, seit dem erhalte ich immer OK auch wenn das Kennwort falsch ist. Hier muss ich nochmals testen.

    Postfächer: Hast du viele? Dann scripte das. Die Postfächer erkennst du per Autodiscover.

    Nein es sind vielleicht 10 Postfächer. Wie ich das Scripten könnte weiss ich ehrlich gesagt noch nicht. Aber ich suche dann mal ob ich da was finde.

    MariaDB: Willst du nur den Port monitoren oder geoeuvu etwas mehr? Ich gucke noch nach welches Template von https://share.zabbix.com/databases/mysql ich im Einsatz habe.


    • MySQL: Das Template für MySQL ist bei Zabbix schon dabei. Vorteil von "Template App MySQL": Du brauchst keine extra Binaries oder Perl-Skripte. Du musst bei den Agenten nur die "userparameter_mysql.conf" beachten, d.h. in die ~/.my.cnf die Daten vom Monitorung-Benutzer eintragen.

    Tip: Templates für quasi alles findest du unter: https://share.zabbix.co

    Danke. Ich möchte vorallem wissen ob er erreichbar ist. Das wäre mal das wichtigste. Ich werde mal schauen ob ich das heute noch testen kann. Erst gehe ich die anderen "Probleme" an :)

    Agent erreichbar: Server bzw ServerActive auf dem Agent ist korrekt gesetzt?

    Ich habe mich an eine Anleitung gehalten in der da nichts stand. Ich habe nun mal ServerActive auf die IP gesetzt und habe den Agenten Neugestartet. Aber vom Server aus erhalte ich noch immer das:

    Code
    #zabbix_get -s XX.XX.XX.XX -p 10050 -k agent.ping
    zabbix_get [14034]: Get value error: cannot connect to [[XX.XX.XX.XX]:10050]: [111] Connection refused

    Im zabbix_agentd.log erhalte ich dies:

    Code
    active check configuration update from [XX.XX.XX.XX:10051] started to fail (cannot connect to [[XX.XX.XX.XX]:10051]: [4] Interrupted system call)

    Ich weiss nicht ob mit dem Port was nicht passt.

    Webcheck Trigger: Wieso prüfst du nicht auf Zeit bzw. Summe?

    Auch hier: Ich bin nach dem gegangen was ich in den meisten Anleitungen und Forenthemen gefunden habe. Ich habe das mit dem Fail gefunden, und noch folgendes: {WebSite:web.test.rspcode[XXX,XXX].last(#5)}<>200 was aber weniger funktionierte. Magst du mir mal dein Vorschlag posten wie du das mit Zeit/Summe meinst?

    Port im Template angepasst: Der elegante weg ist das per Macro zu machen.

    Wie geht das? Ich habe bisher in allen Anleitungen und Forenbeiträgen nur mit dem gefunden:

    net.tcp.service[pop,,993]
    net.tcp.service[imap,,995]

    Bei der SSL Überprüfung habe ich MACRO Namen gefunden mit dem ich den Port angeben kann. Nicht aber bei dem. Auch wenn ich das Template hier herunterlade https://share.zabbix.com/offic…applications/imap-service sind keine Macros vermerkt.


    Gruss


    Oliver

  • Hast du die Firewall auf dem Zabbix Host für Port 10051 offen? Auf den Clients muss 10050 offen sein.


    Der Agent liefert grundsätzlich schon viele Infos, wie z. B. free Memory, free Disk space etc. Aber das richtig gute ist: du kannst selbst Skripte schreiben, die der Agent ausführt und das Ergebnis an deinen Zabbix Host zur Auswertung sendet. Damit kannst du so ziemlich alles auf deinen Clients überwachen.

  • Hast du die Firewall auf dem Zabbix Host für Port 10051 offen? Auf den Clients muss 10050 offen sein.

    10 Sekunden vor deinem post musste ich mir an den Kopf fassen. Natürlich war es iptables. Nun wird der Agent sauber erkannt und angezeigt. Ich vermisse noch die anzeige des verwendeten/freien Festplattenspeichers aber der geistert sicher noch irgendwo rum :)

  • Magst du mir noch verraten wie man bei Template App SMTP Service und Template App IMAP Service den Port und den Hostnamen per MACRO anpasst? Auch nach längerem suchen habe ich die Möglichkeit noch nicht gefunden diese nur für einen Host anzupassen. Bisher habe ich es erst gefunden um im Template anzupassen dann übernimmt er das aber für jeden Host

  • Den Hostnamen kannst du nicht anpassen, der Check läuft gegen das was im Host eingetragen ist.


    Den Port bekommst du wie gefolgt geändert:

    1. Im Template unter Macros ein Template Macro hinzufügen {$SMTP_PORT} => 25.

    2. Im Item ersetzt du dann smtp durch das Macro, d.h. aus net.tcp.service[smtp] wird net.tcp.service[{$SMTP_PORT}]

    3. Die Trigger musst du dann eventuell auch anapssen (wenn du dort den Port drin stehen hast)

    4. Am Host selbst setzt du dann ein Host Macro mit dem abweichendem Port. Was es alles an Macros gibt, siehst du unter Inherited and host macros.

    "Security is like an onion - the more you dig in the more you want to cry"

  • Ok. Langsam verstehe ich es etwas mehr. Ich bin da glaube ich was falsch angegangen.


    Zur SMTP/IMAP abfrage:

    Dies ist ja sehr einfach. Vielen Dank.

    Was ich mich jedoch frage. Ich habe nun Testweise noch das Macro {$SMTP_HOST} eingefügt damit ich den SMTP Server angeben kann. Dies wäre ja vermutlich nach deiner Beschreibung nicht möglich. Aber wo im Host gebe ich dann die Adresse ein? In den meisten Anleitungen die ich gefunden habe steht das im Feld "Host name" wenn ein Host angelegt wird alles eingegeben werden kann, gängige Praxis sei jedoch die Adresse "smtp.domain.tld". Wenn man nun jedoch dort ggf einfach "SMTP Test" einfügt, woher weiss Zabbix welchen Host(Adresse) er wirklich abfragen muss?


    PS. Magst du mir wenn du Zeit hast ggf noch dein Beispiel für deinen oberen Satz nennen was du vorschlagen würdest? Dann teste ich das gerne auch.

    Zitat

    Webcheck Trigger: Wieso prüfst du nicht auf Zeit bzw. Summe?

  • - net.tcp ist sehr rudimentär, vgl: https://www.zabbix.com/documen…ems/service_check_details . Die Verbindung wird nach auf Agent interfaces auf "Connect to" gemacht.


    - trigger: Folgendes finde ich eleganter. Je nach Umgebung solltest du hierbei noch eine Abhängigkeit auf ICMP bzw. den Zabbix Agent setzen. Damit unterdrückst mehrfache Meldungen, wenn der Host nicht mehr erreichbar sein sollte.


    Code
    "expression":   "{X_HOST:web.test.fail[X_NAME].sum(#20)}>2 and {X_HOST:web.test.error[X_NAME].strlen()}>0",
    "priority":     "2",
    "comments":     "The site is not stable. At least 2 of the last 20 checks failed.",
    
    
    "expression":   "{X_HOST:web.test.fail[X_NAME].sum(#5)}>3 and {X_HOST:web.test.error[X_NAME].strlen()}>0",
    "priority":     "4",
    "comments":     "The site is down from the perspective of monitoring. At least 3 of 5 of the last checks failed.",

    "Security is like an onion - the more you dig in the more you want to cry"