Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Off Topic
  4. Cron-Jobs überwachen: Wie macht ihr das?

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.9k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

Cron-Jobs überwachen: Wie macht ihr das?

Geplant Angeheftet Gesperrt Verschoben Off Topic
7 Beiträge 4 Kommentatoren 1.1k Aufrufe 7 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • AcguaA Offline
    AcguaA Offline
    Acgua
    schrieb am zuletzt editiert von Acgua
    #1

    Hi,

    wie stellt ihr denn sicher, dass eingerichtete Cron-Jobs ihre Arbeit verrichtet haben?

    Meine Umgebung: Proxmox, mehrere VMs/CTs auf denen auch Cronjobs (Aufruf von .sh-Dateien) laufen.

    Idee: Aktivitäten der cronjobs loggen in einer log-Datei auf einem share, und diese Datei dann regelmäßig mit ioBroker prüfen.
    Mir geht es auch darum, zeitnah zu wissen, wenn z.B. der Backup-Job xy am Dienstag um 4:00 Uhr Fehler hatte. Das könnte in der Datei entsprechend geloggt werden.

    Auch könnte ein ioBroker Script feststellen, dass etwa ein Cronjob schon seit x Tagen nicht mehr gelaufen ist und dann einen Datenpunkt "cron.xyz" auf "false" setzen.
    Dachte also an ein Script, welches das ganze überwacht, und entsprechend Datenpunkte setzt.

    Wie macht ihr das?

    BananaJoeB 1 Antwort Letzte Antwort
    0
    • AcguaA Acgua

      Hi,

      wie stellt ihr denn sicher, dass eingerichtete Cron-Jobs ihre Arbeit verrichtet haben?

      Meine Umgebung: Proxmox, mehrere VMs/CTs auf denen auch Cronjobs (Aufruf von .sh-Dateien) laufen.

      Idee: Aktivitäten der cronjobs loggen in einer log-Datei auf einem share, und diese Datei dann regelmäßig mit ioBroker prüfen.
      Mir geht es auch darum, zeitnah zu wissen, wenn z.B. der Backup-Job xy am Dienstag um 4:00 Uhr Fehler hatte. Das könnte in der Datei entsprechend geloggt werden.

      Auch könnte ein ioBroker Script feststellen, dass etwa ein Cronjob schon seit x Tagen nicht mehr gelaufen ist und dann einen Datenpunkt "cron.xyz" auf "false" setzen.
      Dachte also an ein Script, welches das ganze überwacht, und entsprechend Datenpunkte setzt.

      Wie macht ihr das?

      BananaJoeB Online
      BananaJoeB Online
      BananaJoe
      Most Active
      schrieb am zuletzt editiert von
      #2

      @acgua also, mal unabhängig von ioBroker, ist es beim Monitoring am einfachsten den Status dort zu erfassen wo er entsteht.

      Also, in deinen .sh Scripten gleich die Prüfung mit einbauen ob es Erfolg oder Fehler hatte und das an das Monitoring-System melden.
      Ok, hier ist ioBroker dein Monitoring-System. Ergo also z.B. immer wenn es gelaufen ist einen oder mehrere entsprechende Datenpunkte aktualisieren. z.B. wann der letzte Start war, Laufzeit oder andere Informationen.
      In ioBroker wiederum kannst du diese Datenpunkte auswerten und entsprechende Meldungen oder Darstellungen machen.

      Der Test ob ein Skript nicht lief kannst du auch an den Datenpunkten machen. Entweder indem du überprüfst wann ein Datenpunkt das letzte mal aktualisiert wurde. Oder ich nutze gerne einen Datenpunkt in ich die letzte Startzeit als UNIX-Zeit hinterlege ( https://de.wikipedia.org/wiki/Unixzeit ), das sind die Sekunden seit dem 1.1.1970
      Damit kann man nämlich prima rechnen und z.B. Zeitdifferenzen ermitteln.

      Logs auswerten ... ok, ist aber ziemlich mühsam. Lieber im Script selbst eine Entscheidung über oder Gut oder Schlecht treffen. Das Log ist dann natürlich für die Fehlersuche gut.

      ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

      1 Antwort Letzte Antwort
      0
      • SBorgS Offline
        SBorgS Offline
        SBorg
        Forum Testing Most Active
        schrieb am zuletzt editiert von
        #3

        Jupp, so mache ich das auch:
        Bild 1.png

        Jedes Script hat einen Datenpunkt mit der Anzahl der Durchläufe. Jedes Script, egal ob JS, Blockly, bash... reduziert dann bei Erfolg diesen Zähler. In der VIS wird anhand des Zählers dann die Textfarbe entsprechend geändert.

        5 Minuten nach Mitternacht werden dann alle Zähler wieder auf ihren Ursprungswert gesetzt, vorher aber geprüft ob die Gesamtzahl = 0 ist (also alle Jobs liefen --> sonst Fehlermledung) bzw. ein Zähler nicht auf "0" steht --> hier lasse ich mir nur einen Text ausgeben.

        LG SBorg ( SBorg auf GitHub)
        Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

        AcguaA 1 Antwort Letzte Antwort
        0
        • SBorgS SBorg

          Jupp, so mache ich das auch:
          Bild 1.png

          Jedes Script hat einen Datenpunkt mit der Anzahl der Durchläufe. Jedes Script, egal ob JS, Blockly, bash... reduziert dann bei Erfolg diesen Zähler. In der VIS wird anhand des Zählers dann die Textfarbe entsprechend geändert.

          5 Minuten nach Mitternacht werden dann alle Zähler wieder auf ihren Ursprungswert gesetzt, vorher aber geprüft ob die Gesamtzahl = 0 ist (also alle Jobs liefen --> sonst Fehlermledung) bzw. ein Zähler nicht auf "0" steht --> hier lasse ich mir nur einen Text ausgeben.

          AcguaA Offline
          AcguaA Offline
          Acgua
          schrieb am zuletzt editiert von Acgua
          #4

          @BananaJoe
          @sborg

          Vielen Dank für eure Antworten und Ausführungen! Wirklich sehr hilfreich... :+1:

          @bananajoe said in Cron-Jobs überwachen: Wie macht ihr das?:

          Logs auswerten ... ok, ist aber ziemlich mühsam. Lieber im Script selbst eine Entscheidung über oder Gut oder Schlecht treffen. Das Log ist dann natürlich für die Fehlersuche gut.

          Hier dachte ich, dass ein bash Logfile zuverlässiger ist, als ioBroker per curl (simple-api Adapter) im Moment der Skriptausführung zu füttern, und sich darauf zu verlassen, dass der Adapter wirklich läuft, usw.
          Das ioBroker-Script hingegen würde nur das Logfile vom Server regelmäßig auslesen, parsen und damit die Infos in Datenpunkte schreiben.
          Das "Logfile" könnte man dabei auch JavaScript-freundlicher erstellen, also etwa als JSON.
          Nur so eine Idee...

          BananaJoeB 1 Antwort Letzte Antwort
          0
          • AcguaA Acgua

            @BananaJoe
            @sborg

            Vielen Dank für eure Antworten und Ausführungen! Wirklich sehr hilfreich... :+1:

            @bananajoe said in Cron-Jobs überwachen: Wie macht ihr das?:

            Logs auswerten ... ok, ist aber ziemlich mühsam. Lieber im Script selbst eine Entscheidung über oder Gut oder Schlecht treffen. Das Log ist dann natürlich für die Fehlersuche gut.

            Hier dachte ich, dass ein bash Logfile zuverlässiger ist, als ioBroker per curl (simple-api Adapter) im Moment der Skriptausführung zu füttern, und sich darauf zu verlassen, dass der Adapter wirklich läuft, usw.
            Das ioBroker-Script hingegen würde nur das Logfile vom Server regelmäßig auslesen, parsen und damit die Infos in Datenpunkte schreiben.
            Das "Logfile" könnte man dabei auch JavaScript-freundlicher erstellen, also etwa als JSON.
            Nur so eine Idee...

            BananaJoeB Online
            BananaJoeB Online
            BananaJoe
            Most Active
            schrieb am zuletzt editiert von BananaJoe
            #5

            @acgua Naja, Idealerweise hast du für den Fall eines gescheiterten Curl-Aufruf auch noch eine Fehlerbehandlung in deinem Skript.

            Meine persönlichen Programmierregeln:

            • Verlasse dich auf nichts, prüfe vorher alles. Quelle, Ziel, benötigte Befehle
            • Baue ein umfangreiches Logging und Debugging ein. Wenn es läuft kann man das ja abschalten
            • Prüfe nach jeder Aktion deren Erfolg und melde dies

            Gescheiterte Curl-Aufrufe könntest du zum Beispiel sammeln und später absenden oder auf andere Art Benachrichtigen (Log das nur dann genutzt wird)

            Monitoring ist durchaus komplex, sonst gäbe es die extra Software nicht dafür.
            Ich nutze deshalb Zabbix, da kann ich meine Daten abladen (Item) und durch mehrer parallele Prüfungen (Trigger) prüfen ob ein Fall vorliegt der eine Benachrichtigung notwendig macht (in 5 Abstufungen).
            Ob meine Waschmaschine aus, im Standby, wäscht oder fertig ist werte ich deshalb mit Zabbix statt mit ioBroker aus. Da kann ich mal eben den Stromverbauch der letzten 10 Minuten im Bezug zu den letzten 10 Minuten davor überwachen und das sind nur 2 Ausdrücke die ich mir eben zusammenklicke.

            Hier im Forum wurde neulich über CheckMK diskutiert. Kenne ich von einem Kunden der damit die Steuerungssystem seiner Satelliten überwacht. CheckMK wie ich es gezeigt bekommen habe reagiert aber z.B. immer nur auf den lezten Wert und hat keine Historie.

            Das mit dem Senden der Zustände und einem Fehler wäre aber auch in allen mir bekannten Systemen ein Problem. Bei Zabbix könnte man einen lokalen Proxy einsetzen, der Puffert per Default die Werte 1h zwischen (lässt sich erhöhen).

            Aber auf ioBroker Ebene reagierst du ja dann auch darauf wenn Werte ausbleiben (noData) oder gar der ganze Host nicht erreichbar ist (Heartbeat + Ping) oder dort Dienste laufen (Prozess/Dienstüberwachung + Prüfung ob die Ports antworten + Check ob auf den Ports die richtigen Antworten kommen), neben den Kinderkram wie CPU, RAM und Festplattenplatz.

            Monitoring ist halt ein riesiges Feld, wenn man ersteinmal anfängt kann es passieren das man kein Maß dafür findet. (im Sinne von Maß halten)

            ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

            SegwayS 1 Antwort Letzte Antwort
            1
            • BananaJoeB BananaJoe

              @acgua Naja, Idealerweise hast du für den Fall eines gescheiterten Curl-Aufruf auch noch eine Fehlerbehandlung in deinem Skript.

              Meine persönlichen Programmierregeln:

              • Verlasse dich auf nichts, prüfe vorher alles. Quelle, Ziel, benötigte Befehle
              • Baue ein umfangreiches Logging und Debugging ein. Wenn es läuft kann man das ja abschalten
              • Prüfe nach jeder Aktion deren Erfolg und melde dies

              Gescheiterte Curl-Aufrufe könntest du zum Beispiel sammeln und später absenden oder auf andere Art Benachrichtigen (Log das nur dann genutzt wird)

              Monitoring ist durchaus komplex, sonst gäbe es die extra Software nicht dafür.
              Ich nutze deshalb Zabbix, da kann ich meine Daten abladen (Item) und durch mehrer parallele Prüfungen (Trigger) prüfen ob ein Fall vorliegt der eine Benachrichtigung notwendig macht (in 5 Abstufungen).
              Ob meine Waschmaschine aus, im Standby, wäscht oder fertig ist werte ich deshalb mit Zabbix statt mit ioBroker aus. Da kann ich mal eben den Stromverbauch der letzten 10 Minuten im Bezug zu den letzten 10 Minuten davor überwachen und das sind nur 2 Ausdrücke die ich mir eben zusammenklicke.

              Hier im Forum wurde neulich über CheckMK diskutiert. Kenne ich von einem Kunden der damit die Steuerungssystem seiner Satelliten überwacht. CheckMK wie ich es gezeigt bekommen habe reagiert aber z.B. immer nur auf den lezten Wert und hat keine Historie.

              Das mit dem Senden der Zustände und einem Fehler wäre aber auch in allen mir bekannten Systemen ein Problem. Bei Zabbix könnte man einen lokalen Proxy einsetzen, der Puffert per Default die Werte 1h zwischen (lässt sich erhöhen).

              Aber auf ioBroker Ebene reagierst du ja dann auch darauf wenn Werte ausbleiben (noData) oder gar der ganze Host nicht erreichbar ist (Heartbeat + Ping) oder dort Dienste laufen (Prozess/Dienstüberwachung + Prüfung ob die Ports antworten + Check ob auf den Ports die richtigen Antworten kommen), neben den Kinderkram wie CPU, RAM und Festplattenplatz.

              Monitoring ist halt ein riesiges Feld, wenn man ersteinmal anfängt kann es passieren das man kein Maß dafür findet. (im Sinne von Maß halten)

              SegwayS Offline
              SegwayS Offline
              Segway
              schrieb am zuletzt editiert von
              #6

              @bananajoe
              Hallöchen !
              Da sprichst du gerade mein nächstes todo auf meiner Liste an --> Logging & Co monitoren.

              Du sprichst da von Zabbix - ich hatte eigentlich CheckMK ins Auge gefasst. Aber die Frage ist welches ist denn zu empfehlen deiner Meinung nach ? Sind ja beide sehr umfangreich und komplex.

              Gruß Dirk
              Intel Proxmox Cluster (3x NUC) mit Debian & Proxmox / IoB als VM unter Debian / 60+ Adapter installiert

              BananaJoeB 1 Antwort Letzte Antwort
              0
              • SegwayS Segway

                @bananajoe
                Hallöchen !
                Da sprichst du gerade mein nächstes todo auf meiner Liste an --> Logging & Co monitoren.

                Du sprichst da von Zabbix - ich hatte eigentlich CheckMK ins Auge gefasst. Aber die Frage ist welches ist denn zu empfehlen deiner Meinung nach ? Sind ja beide sehr umfangreich und komplex.

                BananaJoeB Online
                BananaJoeB Online
                BananaJoe
                Most Active
                schrieb am zuletzt editiert von BananaJoe
                #7

                @segway ich bin voreingenommen: Zabbix weil du da fast alles über das Webinterface machen kannst.

                Sonst nimm dir Zeit und schaue dir die Tools deiner Wahl mal je ein paar Stunden an (so bin ich bei ioBroker statt Home Assistent gelandet)

                Installation Zabbix Server unter Debian/Ubuntu (damit schaffen es auch unsere Azubis): https://znil.net/index.php?title=Zabbix_Server_%2B_Agent_unter_Ubuntu_20.04_LTS_installieren

                Ansonsten auf der Webseite von Zabbix / Download zu deiner Linux Version durchklicken, Kurzanleitung steht dann da.
                Oder per Docker etc.

                ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

                1 Antwort Letzte Antwort
                0
                Antworten
                • In einem neuen Thema antworten
                Anmelden zum Antworten
                • Älteste zuerst
                • Neuste zuerst
                • Meiste Stimmen


                Support us

                ioBroker
                Community Adapters
                Donate

                435

                Online

                32.6k

                Benutzer

                82.3k

                Themen

                1.3m

                Beiträge
                Community
                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                ioBroker Community 2014-2025
                logo
                • Anmelden

                • Du hast noch kein Konto? Registrieren

                • Anmelden oder registrieren, um zu suchen
                • Erster Beitrag
                  Letzter Beitrag
                0
                • Home
                • Aktuell
                • Tags
                • Ungelesen 0
                • Kategorien
                • Unreplied
                • Beliebt
                • GitHub
                • Docu
                • Hilfe