Server Monitoring-System aufsetzen

  • Dafür musst Du die graph_strategy auf CGI ändern. Das braucht aber auch einige Anpassungen beim Webserver. Falls kein Apache verwendet wird, brauchst Du dafür afaik auch noch spawn-fcgi. Dazu gibt es in der offiziellen Doku bzw. im Wiki einige Anleitungen.


    Edit: Siehe z.B. hier für Nginx. Wie aktuell das ist, weiß ich aber ehrlich gesagt nicht mehr… :D

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Auf meinem Ubuntu 18 Server habe ich es nun hinbekommen:


    In /etc/munin/munin.conf auskommentiert bzw eingefügt:

    cgitmpdir /var/lib/munin/cgi-tmp

    graph_strategy cgi

    html_strategy cgi


    und in /etc/munin/apache24.conf im entsprechenden Abschnitt Require local ersetzt durch

    Require all granted

    Options FollowSymLinks SymLinksIfOwnerMatch


    Auf dem meinen Ubuntu 20.04 Server (weiterer munin-Master) klappt es nicht. Da bekomme ich noch einen 404.

    Auf diesem Server lief es aber von Anfang an mit munin nicht rund. Da habe ich überall rumpfriemeln müssen, damit ich die nodes überhaupt reinbekommen habe.

    Kann also sein, dass ich da Dinge unnötigerweise verstellt habe.

  • Hallo Leute, da dieses eines der aktuelleren Topics zum Thema "Monitoring" ist, welches ich via Suche gefunden habe und auch kein neues Topic eröffnen wollte, stelle ich hier mal meine Frage.


    Das Programm "munin" scheint hier oft erwähnt zu werden und "Zabbix" habe ich ebenfalls schon gesehen. Meine Ansprüche / Anforderungen sind gar nicht so groß... ich habe zwei Server bei Netcup und einen bei einem anderen Anbieter.


    Ich würde gerne IMAP und SMTP sowie den SSH Port prüfen. Die SSH Port Prüfung ist eigentlich nur dafür da, um zu sehen ob der Server lebt. IMAP und SMTP wären wohl selbsterklärend. Der Webserver wäre noch interessant... da würde es mir aber reichen, wenn ich z.B. von einer der Domains schauen kann ob diese oder eine Unterseite der Domains erreichbar ist. Natürlich soll mich das Programm dann irgendwie informieren... E-Mail wäre z.B. eine Variante :)


    Das ganze sollte sinnigerweise von extern getestet werden und im "low budget" Bereich liegen, daher dachte ich an einen VPS 200 G8... wenn das reicht :)


    In einem anderen Topic hatte ich allerdings gesehen, dass "munin" wohl auf dem zu überwachenden Server installiert werden muss. Hab ich das richtig gelesen und verstanden, oder kann man damit doch von extern arbeiten?


    Gruß, Domi

  • In einem anderen Topic hatte ich allerdings gesehen, dass "munin" wohl auf dem zu überwachenden Server installiert werden muss. Hab ich das richtig gelesen und verstanden, oder kann man damit doch von extern arbeiten?

    "munin-node" auf dem zu überwachenden Host wertet den Status aus und übermittelt ihn auf Wunsch an einen externen Server.

    Ich selbst kombiniere "munin" übrigens bislang mit "monit", welcher auf dem zu überwachenden Host selbst läuft und dort Dienste erneut startet, wobei man das inzwischen auch alles mit "systemd" erledigen kann. Die Stärke von "munin" ist sicherlich die grafische Aufbereitung (mit "M/Monit" gibt es ein Pendant für die Überwachung mehrerer Rechner), die Stärke von "monit" ist die noch höhere "Leichtgewichtigkeit".

    VServer IOPS Comparison Sheet: https://docs.google.com/spreadsheets/d/1w38zM0Bwbd4VdDCQoi1buo2I-zpwg8e0wVzFGSPh3iE/edit?usp=sharing

  • Nabend und vielen Dank schon mal für die Rückmeldungen.


    Uptime Robot sieht auf den ersten Blick ganz OK aus... vor allem, weil sie ne App haben und man dort (soweit ich das vorhin gelesen habe) darüber auch Push Nachrichten erhalten könnte und als der Name "monit" gefallen war, musste ich erst einmal überlegen. Ich glaube dieser Dienst war das, den ich mal auf einem meiner Server drauf hatte der (wenn möglich) via 'systemd' wieder etwas starten soll.


    Beispiel, letsencrypt / certbot der durch prehook und posthook den Apache nicht mehr startet, wenn es Probleme beim "renew" von Zertifikaten gibt. Dafür hatte ich (glaube ich) mal Monit installiert, der dann schauen soll ob Apache aktiv ist und wenn nicht, den Dienst wieder starten soll.


    Ich hatte mal Bloonix im Einsatz, damit habe ich meine privaten Server sowie den der Firma (wo ich hauptberuflich arbeite) überwacht. Der Bloonix Server + Agent war auf einem ganz kleinen VPS installiert und prüfte dann regelmäßig ob das Impressum einer Domain erreichbar war, ob IMAP, POP sowie SMTP funktionieren und den von mir gewählten Port für SSH. Natürlich hätte ich auch via ICMP prüfen können, ob die Kiste lebt... aber die Prüfung des SSH Ports hat mir auch ausgereicht :)


    Was "Uptime Robot" angeht, natürlich könnte ich mir da jetzt einen Account erstellen und die testen... aber ich bin oftmals kein Freund von "stumpfen" registrieren mit all seinen Daten nur um etwas zu testen. Daher wäre noch eine Frage dazu... kann ich denn bei "Uptime Robot" und den 50 freien Monitors auch mehre Server prüfen, oder sind diese 50 Prüfungen auf einen einzigen Server beschränkt? Wenn mir das sogar zusagt, müsste ich mal bei uns in der Firma mit dem "Geldbeutel" quatschen und ihm das kostenpflichtige Paket aus den Rippen leiern. $21 pro Monat wäre vielleicht eine Investition wert und dann könnte ich am Ende auch meine drei Server dort mit unterbringen :)


    Aber erst einmal wäre interessant, ob ich meine drei Server alle bei Uptime Robot prüfen lassen kann, oder ob halt nur ein Server aber mit 50 Monitors geht?! :)


    Edit: Wobei man sich hier vor ein paar Jahren negativ zu Uptime Robot geäußert hatte.

  • Wobei man sich hier vor ein paar Jahren negativ zu Uptime Robot geäußert hatte.

    IPv6 und DynDNS sind (unabhängig voneinander) leider noch immer ein Glücksspiel bei UR. Je nach Host, auf dem der Monitoring-Task angelegt wird, hat man mehr oder weniger Probleme.


    Ich kann den Dienst aber trotzdem empfehlen. Ein paar False-Positives sind in meinen Augen kein Drama.

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Also was ich bei UR (Uptime Robot) interessant finde, sind die Push Benachrichtigungen von der App. Hab gestern erst einmal meine 10 Monitoring Dienste hinterlegt und als ich von Ubuntu 18 auf 20 aktualisiert habe, kam dann die Push Nachricht dass mein Apache gerade nicht erreichbar ist :D


    Was den Zabbix angeht, vielleicht werde ich für 3 Euro im Monat mal einen kleinen vServer buchen und auch das Teil testen. Es kann ja nicht schaden, sich auch noch einmal Alternativen anzusehen. Wobei das mit der App vom UR und den Nachrichten schon eine sehr coole Geschichte ist, was auch funktioniert :)

  • ich nutze auch munin auf einem vps50 der reicht da allemal


    aber wer mit uptime robot an die Grenze der 50 Dienste kommt, sollte sich mal php servermonitor ansehen das läuft auch auf einem kleinen Hosting

    It's me, only me, pure michi 🦆

    RS 1000 SAS G8 | Cyber Quack

    VPS: 50 G7 |B Ostern 2017|200 | Karneval | piko

    WH: SmallEi | Adv17 Family |4000 SE|1000 SE

  • Ohne den Diskussionsfaden kapern zu wollen – Nutzt auch jemand Routinen/Hilfswerkzeuge, um (unbeabsichtigte) Änderungen an DNS-Einträgen der eigenen Domäne(n) zu überwachen? Nach diesem Vorfall erscheint mir das wichtiger als vorher. Das ist beispielsweise mit der Netcup-DNS-API möglich, aber bevor ich das Rad neu erfinde…

    VServer IOPS Comparison Sheet: https://docs.google.com/spreadsheets/d/1w38zM0Bwbd4VdDCQoi1buo2I-zpwg8e0wVzFGSPh3iE/edit?usp=sharing

  • m_ueberall Ich würde einfach die API-Ausgabe irgendwo speichern und durch diff jagen. Allerdings würde ich zusätzlich auch noch die Records (extern) prüfen, ob sie wirklich auflösen. Gerade der letzte Punkt ist womöglich schwieriger, wenn man keine eigenen Listen mit allen relevanten Records pflegen möchte.


    Wenn Du eine Lösung gefunden hast, gerne /cc an mich…

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Hallo Leute :) Mir war gestern Abend ein wenig langweilig und ich sah, dass es von Zappix ne Appliance gibt. Dank VMware oder VirtualBox kann man dann ja mal gucken und schauen wie sich die Software so verhält etc.


    Für meine rudimentären Dinge bietet das Teil relativ schnelle und einfache Settings, generell werde ich aber wohl "nur" 10% von dem nutzen was das kann. Aber es würde mir einen Vorteil bieten. Entweder hole ich mir bei Netcup einen kleinen 3 Euro VPS und überwache wirklich alle Server die dieses ermöglichen und arbeite mich hinein, oder ich schaue mich noch weiter um.


    Was mir natürlich am Zabbix gefällt ist, dass der (je nach Einstellung) jede Minute, 30 Sekunden etc. meine Dienste überwachen kann. Er kann sogar gucken ob der Dienst nach drei Versuchen immer noch nicht da ist und erst dann ein "Problem" daraus machen. Uptime Robot ist gut, keine Frage... kann man auch empfehlen, allerdings... wenn z.B. ein Dienst in der 5. Minuten kurz offline ist, muss ich 5 Minuten warten um zu schauen ob es wieder OK ist, oder umgekehrt, es könnte jemand anderem schneller auffallen dass ein Dienst nicht geht bevor UR merkt dass es nicht klappt. Wobei man hier wieder sagen muss, dass kann natürlich auch bei Zabbix passieren ;) Aber die Optionen und Möglichkeiten sind doch sehr schick... Ich könnte sogar Windows Server bei Kunden (besitze auch eine Selbstständigkeit im Nebenerwerb in der IT) besser im Auge behalten. Alternativ könnte ich sogar die Access Points im LAN meines Kunden durch den auf dem Kundenserver installierten Agent im Auge behalten. Letztens sagte nämlich Kunde als ich da war... "wo du gerade hier bist, könntest du mal gucken hinten bei XY geht kein WLAN", aber gemeldet hatte sich dazu niemand.


    Kommen wir auf dieses DNS Thema zurück... meine "root-Server" sowie VPS sind bei Netcup als auch einem anderen Hoster verteilt und meine Domains liegen bei einem Domain Reseller... bis dato hatte ich dort noch keine DNS Probleme.


    Gruß, Domi

  • Ohne den Diskussionsfaden kapern zu wollen – Nutzt auch jemand Routinen/Hilfswerkzeuge, um (unbeabsichtigte) Änderungen an DNS-Einträgen der eigenen Domäne(n) zu überwachen? Nach diesem Vorfall erscheint mir das wichtiger als vorher. Das ist beispielsweise mit der Netcup-DNS-API möglich, aber bevor ich das Rad neu erfinde…

    Ich hab mir ein Skript gemacht, dass die Ausgabe des ncdapi.sh nach JSON konvertiert sortiert (ist ja bereits JSON, aber nicht so strikt). Die archiviere ich dann manuell in git, um die Änderungen zu protokollieren.

    Ich mach sonst nachher mal ein gist, wenn du willst.

    CentOS 7 / nginx / php-fpm / postfix / rspamd / clamav / dovecot / nextcloud running on RS 1000 SSDx4 G8 / VPS 500 G8 / VPS 2000 G8 Plus

  • Ok, das Skript macht noch weniger als ich mich erinnern konnte... 8)

    https://gist.github.com/sdellenb/299400b7aadc17c2a49d502ecc1f5d7d[


    Ist aber auf jeden Fall praktischer als einen Ordner voller timestamped .txt Files, wo ich ständig von Hand diffen musste wenn ich die Änderungen tracken wollte.

    CentOS 7 / nginx / php-fpm / postfix / rspamd / clamav / dovecot / nextcloud running on RS 1000 SSDx4 G8 / VPS 500 G8 / VPS 2000 G8 Plus

  • Moin Leute, nach längerer Zeit wollte ich mal zum Thema "Zabbix" etwas nachharken, falls den jemand hier aktiv / produktiv verwendet.


    So an sich ist alles bestens, ich bekomme rechtzeitig meine Infos, kann pünktlich darauf reagieren, kann mich im großen und ganzen nicht beklagen. Ich würde nun allerdings etwas "optimieren" oder mal horchen wie ihr das so gemacht habt. Erst einmal was zu meiner Basis...


    Kleiner Netcup vServer

    - Ubuntu als OS

    - Zabbix v5.0.14 (wegen LTS)


    Ich habe dort meine Server hinterlegt und dann z.B. bei diesen das "Template App SMTP Service" hinterlegt, welches mittels "net.tcp.service[smtp]" oder "net.tcp.service[smtp,,587]" den Dienst als "Simple check" alle zwei Minuten prüft. Dann hab ich mir noch den Trigger angeschaut der wie folgt aussieht,

    - {Template App SMTP Service:net.tcp.service[smtp].max(#3)}=0

    - {Template App SMTP Service:net.tcp.service[smtp,,587].max(#3)}=0 (bei Systemen wo ich Submission teste)


    Ab und an hab ich aber (gerade bei SMTP) den Fehlalarm, dass der Dienst nicht erreichbar ist. Macht es nun Sinn, die Prüfung nicht alle zwei Minuten durch zu führen, oder sollte man den Triggerwert (3) vielleicht auf 4 oder 5 anheben, gibt es da was sinnvolleres oder habt ihr das auch und ihr lebt einfach damit?


    Das wäre jetzt eigentlich nur noch so etwas wie "jammern auf hohem Niveau", denn die Basis funktioniert soweit. Ein paar Optimierungen bei den Mails gibt es noch, aber dass bekomme ich vielleicht auch noch hin und wäre jetzt nicht so trivial.


    Gruß, Domi

  • Moin, ja... fail2ban läuft auf all meinen root Servern, um für ein wenig Ruhe zu sorgen. Die jail.local sieht wie folgt aus,

    Ist aber primär nur einer von mehreren Servern. Meine privaten machen da keine Probleme, nur einer von den Servern von der Firma wo ich arbeite scheint da etwas "überlastet" zu sein. Bei dem Parameter "ignoreip" ist einmal die IP meines Zabbix Servers sowie die statische IPv4 unseres Büros hinterlegt. Und wenn ich bedenke wie lange ich die aussperre, dürfte Zabbix davon wesentlich länger betroffen sein. Aber es kommt einmal die Meldung "geht nicht" und sofort danach ist er dann wieder da.


    Aber ich werde ihn mal alle 5 Minuten checken lassen... könnte theoretisch auch ausreichend sein :)