Probleme mit Munin? Oder doch mit dem Crontab?

  • Ja ich bin es mal wieder mit meinem allseits beliebten Thema Munin ;)
    Oder ist das Thema doch der Crontab? Ich weiß es selbst nicht so wirklich...


    Also Munin habe ich ganz normal installiert

    Code
    aptitude install munin munin-node munin-common

    Funktioniert auch alles problemlos, die Konfigurationsdateien sind auf dem Standard nach der Installation.
    Problem ist: Grafiken werden keine automatisch erstellt.


    Logge ich mich als Benutzer munin ein und führe munin-check aus, erhalte ich nur zwei Meldungen:
    Einmal gehört ein Ordner dem Benutzer munin und der Gruppe munin, wobei er nobody bzw. nogroup gehören soll. Also habe ich das eben geändert.
    Des weiteren war der chmod für ein Plugin-Verzeichnis zu klein (700 statt 755), was ich auch geändert habe.


    Daraufhin lies ich munin-update im debug-Modus laufen, wo mir dann einiges aufgefallen ist. Normal werden ja unter /var/run/munin entsprechende lock-Dateien erstellt, z.B. munin-update.lock. Laut debug und auch laut den Log-Dateien wird das gemacht, allerdings sind nach dem Ausführen keinerlei lock-Dateien vorhanden.
    Einzig eine munin-node.pid ist in dem Ordner zu finden.


    Führe ich den munin-cron manuell aus, funktioniert das Ganze wunderbar. Das mache ich mit diesem Befehl:

    Code
    su munin -s /bin/bash -c 'time /usr/bin/munin-cron'

    Also dachte ich, ich bin einfach mal schlau und setze diesen Befehl in einen crontab mit crontab -e und führe ihn alle 5 Minuten aus, das sollte das Problem beheben.
    Allerdings tut sich da nichts, munin-cron wird per Cronjob einfach nicht ausgeführt, egal ob in der Standard-Version oder über meinen eigenen Befehl. Auch im syslog gibt es kein Anzeichen, dass der Cronjob ausgeführt wurde. Habe ihn testweise sogar auf jede Minute eingestellt, jedoch interessiert ihn das gar nicht.


    Gebe ich den Befehl manuell in der Konsole ein, erscheint das:

    Code
    su munin -s /bin/bash -c 'time /usr/bin/munin-cron'
    
    
    
    
    real    0m3.341s
    user    0m2.032s
    sys     0m0.340s

    Die Grafiken werden dabei aktualisiert, es funktioniert also problemlos.


    Auch die Log-Dateien sagen dann nichts aus, hier z.B. ein aktueller Ausschnitt nach manuellem Ausführen aus der munin-html.log:

    Code
    2011/07/07 11:45:39 Opened log file
    2011/07/07 11:45:39 [INFO] Starting munin-html, getting lock /var/run/munin/munin-html.lock
    2011/07/07 11:45:39 [INFO] Releasing lock file /var/run/munin/munin-html.lock
    2011/07/07 11:45:39 [INFO] munin-html finished (0.27 sec)

    Wie man sehen kann, wird also eine entsprechende lock-Datei geholt, es gibt dabei auch keinen Fehler, doch sie ist einfach nicht vorhanden...


    Ich bin mit meinem Latein vollkommen am Ende und weiß nicht mehr, was ich tun soll, damit das funktioniert. Es wäre super, wenn mir jemand helfen könnte...
    Falls weitere Informationen nötig sind, einfach fragen, ich liefere sie gerne ;)

  • Ich habe deinen Beitrag jetzt nur schnell überflogen, aber eine Frage stellt sich mir: Läuft Cron überhaupt?


    Eventuell wird er beim Start gar nicht gestartet, das Problem hatte ich bei einem neu aufgesetztem vServer von hier erst diese Woche. Ein update-rc.d cron defaults behob das Problem dann auf meinem Debian System.



    MfG Christian

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

  • Also andere Cronjobs (z.B. Froxlor oder mein eigener Backup-Cronjob) laufen problemlos durch, zumindest bekomme ich da das Ergebnis, das ich möchte ;)


    Werde das aber mal mit deinem Befehl versuchen.



    Edit:
    Bekomme da dann folgende Meldung:

    Code
    # update-rc.d cron defaults
    update-rc.d: using dependency based boot sequencing
    update-rc.d: warning: cron stop runlevel arguments (0 1 6) do not match LSB Default-Stop values (none)
  • Ok, dann fangen wir einmal ganz vorne an: Wo hast du den Cronjob aktuell überall eingetragen? Trage ihn dort einmal überall aus, oder setze ein Kommentarzeichen davor. Danach poste bitte einmal den Inhalt deiner /etc/cron.d/munin - die Einträge dort sollten ausreichend sein, damit Munin-Cron ausgeführt wird.



    MfG Christian


    PS: Welches Betriebssystem verwendest du? Meine Informationen beziehen sich nämlich alle nur auf Debian Lenny/Squeeze.

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

  • Habe den Cronjob nur über crontab -e eingetragen, das habe ich gerade entfernt. Der Inhalt des originalen Cronjobs ist dieser:

    Nutze Debian Squeeze ;)

  • Versuche eventuell einmal Cron neu zu starten und beobachte danach das Syslog: tail -n 100 -F /var/log/syslog | grep cron
    Dabei sollte mindestens eine Meldung über den Neustart des Cron-Daemons und nach einigen Minuten die abgearbeiteten Cronjobs auftauchen.


    Falls sich danach nichts tut, bitte einmal die Ausgabe von...

    Code
    ls -lisah /etc/cron.d/munin
    ls -lisah /usr/bin/munin-cron


    ...posten.


    Zum Thema Lockdateien: Diese sollten nach Beendigung des Scripts/Programms wieder entfernt werden, die können also nicht existieren, das ist Sinn der Sache einer Lockdatei.



    MfG Christian

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

  • Du bist der Beste :)
    Nach dem Neustarten des Crons zeigt mir Syslog mit deinem Befehl das an:

    Code
    Jul  7 14:59:46 v220101071654175 /usr/sbin/cron[9170]: (CRON) INFO (pidfile fd = 3)
    Jul  7 14:59:46 v220101071654175 /usr/sbin/cron[9171]: (CRON) STARTUP (fork ok)
    Jul  7 14:59:46 v220101071654175 /usr/sbin/cron[9171]: (CRON) INFO (Running @reboot jobs)
    Jul  7 15:00:01 v220101071654175 /USR/SBIN/CRON[10554]: (munin) CMD (if [ -x /usr/bin/munin-cron ]; then /usr/bin/munin-cron; fi)
    Jul  7 15:00:01 v220101071654175 /USR/SBIN/CRON[10564]: (root) CMD (/usr/bin/php5 -q /var/www/froxlor/scripts/froxlor_master_cronjob.php)
    Jul  7 15:00:01 v220101071654175 /USR/SBIN/CRON[10568]: (munin) CMD (  munin-cron)
    Jul  7 15:05:01 v220101071654175 /USR/SBIN/CRON[18748]: (munin) CMD (  munin-cron)
    Jul  7 15:05:01 v220101071654175 /USR/SBIN/CRON[18755]: (munin) CMD (if [ -x /usr/bin/munin-cron ]; then /usr/bin/munin-cron; fi)
    Jul  7 15:05:01 v220101071654175 /USR/SBIN/CRON[18759]: (root) CMD (/usr/bin/php5 -q /var/www/froxlor/scripts/froxlor_master_cronjob.php)

    Die Grafiken werden auch wieder erstellt und bisher (seit 20 Minuten) läuft alles!