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. ioBroker Allgemein
  4. iobroker und telegraf [gelöst]

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.8k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.3k

iobroker und telegraf [gelöst]

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
24 Beiträge 2 Kommentatoren 3.3k Aufrufe 2 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.
  • jahnbesJ jahnbes

    @liv-in-sky

    Vielen Dank, Du hast mich auf die richtige Spur gesetzt!
    Ich hatte nicht auf dem Radar, dass es im iobroker-blockly Funktionen gibt, um json-Strings zu parsen. Habe dann ein wenig geforscht und im Netz folgendes gefunden:

    https://www.machs-smart.de/json-blockly-einlesen-parsen-verarbeiten/

    Ich bin mir sicher, damit geht es und werde mich kommende Woche an die Arbeit machen.

    Ein schönes Wochenende, Gruß, Bert.

    liv-in-skyL Offline
    liv-in-skyL Offline
    liv-in-sky
    schrieb am zuletzt editiert von
    #4

    @jahnbes

    du kannst ja mal das json posten - das sollte kein großes thema sein, dass zu parsen und in die einzelnen dp zu schreiben

    nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

    jahnbesJ 1 Antwort Letzte Antwort
    0
    • liv-in-skyL liv-in-sky

      @jahnbes

      du kannst ja mal das json posten - das sollte kein großes thema sein, dass zu parsen und in die einzelnen dp zu schreiben

      jahnbesJ Offline
      jahnbesJ Offline
      jahnbes
      schrieb am zuletzt editiert von Homoran
      #5

      @liv-in-sky
      Hier das json, wie es in Firefox angezeigt wird. Es ist nur ein Teil der von Telegraf auf Windows über MQTT gesendeten Daten, nur die Daten des Memory.

      fields:	
               available:	24707244032
               available_percent:	72.03683693610549
               total:	34298068992
               used:	9590824960
               used_percent:	27.96316306389451
      name:	"mem"
      tags:
               host:	"PC-Bert"
      timestamp:	1636305330
      
      Und hier, wie es im String im iobroker gespeichert ist:
      
      {"fields":{"available":24707244032,"available_percent":72.03683693610549,"total":34298068992,"used":9590824960,"used_percent":27.96316306389451},"name":"mem","tags":{"host":"PC-Bert"},"timestamp":1636305330}
      

      MOD-Edit: Code in code-tags gesetzt!

      Es sieht gut aus, ich glaube, ich habe es verstanden. morgen geht es weiter. Gruß Bert.

      jahnbesJ 1 Antwort Letzte Antwort
      0
      • jahnbesJ jahnbes

        @liv-in-sky
        Hier das json, wie es in Firefox angezeigt wird. Es ist nur ein Teil der von Telegraf auf Windows über MQTT gesendeten Daten, nur die Daten des Memory.

        fields:	
                 available:	24707244032
                 available_percent:	72.03683693610549
                 total:	34298068992
                 used:	9590824960
                 used_percent:	27.96316306389451
        name:	"mem"
        tags:
                 host:	"PC-Bert"
        timestamp:	1636305330
        
        Und hier, wie es im String im iobroker gespeichert ist:
        
        {"fields":{"available":24707244032,"available_percent":72.03683693610549,"total":34298068992,"used":9590824960,"used_percent":27.96316306389451},"name":"mem","tags":{"host":"PC-Bert"},"timestamp":1636305330}
        

        MOD-Edit: Code in code-tags gesetzt!

        Es sieht gut aus, ich glaube, ich habe es verstanden. morgen geht es weiter. Gruß Bert.

        jahnbesJ Offline
        jahnbesJ Offline
        jahnbes
        schrieb am zuletzt editiert von jahnbes
        #6

        @jahnbes
        Es hat geklappt, das Problem
        Windows-Systemdaten -> Telegraf (Windows-PC) -> MQTT -> iobroker (Raspberry)
        ist gelöst!

        telegraf-iobroker.jpg

        Unter [1.] sind die json-Daten zu sehen, wie sie Telegraf auf dem Windows-PC sammelt und über MQTT an den iobroker schickt, hier nur die Memory-Daten.
        Unter [2.] das Testscript, mit dem der angekommene json-String im iobroker geparst und so in seine Bestandteile aufgeteilt wird.
        Unter [3.] steht das Ergebnis, die einzelnen Memory-Werte, wie sie nun im iobroker zur Verfügung stehen.

        Das weitere ist Handarbeit, die unter [3.] stehenden einzelnen Werte werden in zuvor angelegte Datenpunkte im ioboker geschrieben und stehen nun zur Verfügung, zum Beispiel zur Visualisierung.

        liv-in-skyL 3 Antworten Letzte Antwort
        0
        • jahnbesJ jahnbes

          @jahnbes
          Es hat geklappt, das Problem
          Windows-Systemdaten -> Telegraf (Windows-PC) -> MQTT -> iobroker (Raspberry)
          ist gelöst!

          telegraf-iobroker.jpg

          Unter [1.] sind die json-Daten zu sehen, wie sie Telegraf auf dem Windows-PC sammelt und über MQTT an den iobroker schickt, hier nur die Memory-Daten.
          Unter [2.] das Testscript, mit dem der angekommene json-String im iobroker geparst und so in seine Bestandteile aufgeteilt wird.
          Unter [3.] steht das Ergebnis, die einzelnen Memory-Werte, wie sie nun im iobroker zur Verfügung stehen.

          Das weitere ist Handarbeit, die unter [3.] stehenden einzelnen Werte werden in zuvor angelegte Datenpunkte im ioboker geschrieben und stehen nun zur Verfügung, zum Beispiel zur Visualisierung.

          liv-in-skyL Offline
          liv-in-skyL Offline
          liv-in-sky
          schrieb am zuletzt editiert von
          #7

          @jahnbes

          cool - arbeite gerade an einer version, die das einlesen und erstellen selbstständig macht - danke für den tipp mit telegraf - kannte ich nicht

          nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

          1 Antwort Letzte Antwort
          0
          • jahnbesJ jahnbes

            @jahnbes
            Es hat geklappt, das Problem
            Windows-Systemdaten -> Telegraf (Windows-PC) -> MQTT -> iobroker (Raspberry)
            ist gelöst!

            telegraf-iobroker.jpg

            Unter [1.] sind die json-Daten zu sehen, wie sie Telegraf auf dem Windows-PC sammelt und über MQTT an den iobroker schickt, hier nur die Memory-Daten.
            Unter [2.] das Testscript, mit dem der angekommene json-String im iobroker geparst und so in seine Bestandteile aufgeteilt wird.
            Unter [3.] steht das Ergebnis, die einzelnen Memory-Werte, wie sie nun im iobroker zur Verfügung stehen.

            Das weitere ist Handarbeit, die unter [3.] stehenden einzelnen Werte werden in zuvor angelegte Datenpunkte im ioboker geschrieben und stehen nun zur Verfügung, zum Beispiel zur Visualisierung.

            liv-in-skyL Offline
            liv-in-skyL Offline
            liv-in-sky
            schrieb am zuletzt editiert von
            #8

            @jahnbes

            sieht dann so aus:

            Image 2.png

            nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

            jahnbesJ 1 Antwort Letzte Antwort
            0
            • liv-in-skyL liv-in-sky

              @jahnbes

              sieht dann so aus:

              Image 2.png

              jahnbesJ Offline
              jahnbesJ Offline
              jahnbes
              schrieb am zuletzt editiert von jahnbes
              #9

              @liv-in-sky

              Hier der Vollständigkeit halber der Ausschnitt aus dem telegraf.conf-file, der die MQTT-Einstellungen betrifft:

              # # Configuration for MQTT server to send metrics to
               [[outputs.mqtt]]
                  servers = ["192.xxx.xxx.xx:1883"] # required.
              # Bert
              #   ## MQTT outputs send metrics to this topic format
              #   ##    "<topic_prefix>/<hostname>/<pluginname>/"
              #   ##   ex: prefix/web01.example.com/mem
                  topic_prefix = "Telegraf"
              #
              #   ## QoS policy for messages
              #   ##   0 = at most once
              #   ##   1 = at least once
              #   ##   2 = exactly once
                  qos = 1
              #
              #   ## username and password to connect MQTT server.
              #   # username = "telegraf"
              #   # password = "metricsmetricsmetricsmetrics"
              #
              #   ## client ID, if not set a random ID is generated
              #   # client_id = ""
              #
              #   ## Timeout for write operations. default: 5s
              #   # timeout = "5s"
              #
              #   ## Optional TLS Config
              #   # tls_ca = "/etc/telegraf/ca.pem"
              #   # tls_cert = "/etc/telegraf/cert.pem"
              #   # tls_key = "/etc/telegraf/key.pem"
              #   ## Use TLS but skip chain & host verification
              #   # insecure_skip_verify = false
              #
              #   ## When true, metrics will be sent in one MQTT message per flush.  Otherwise,
              #   ## metrics are written one metric per MQTT message.
              #    batch = false
              #
              #   ## When true, metric will have RETAIN flag set, making broker cache entries until someone
              #   ## actually reads it
                  retain = true
              #
              #   ## Defines the maximum length of time that the broker and client may not communicate.
              #   ## Defaults to 0 which turns the feature off. For version v2.0.12 of eclipse/mosquitto there is a
              #   ## [bug](https://github.com/eclipse/mosquitto/issues/2117) which requires keep_alive to be set.
              #   ## As a reference eclipse/paho.mqtt.golang v1.3.0 defaults to 30.
              #   # keep_alive = 0
              #
              #   ## Data format to output.
              #   ## Each data format has its own unique set of configuration options, read
              #   ## more about them here:
              #   ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md
                  data_format = "json"
              
              liv-in-skyL 2 Antworten Letzte Antwort
              0
              • jahnbesJ jahnbes

                @liv-in-sky

                Hier der Vollständigkeit halber der Ausschnitt aus dem telegraf.conf-file, der die MQTT-Einstellungen betrifft:

                # # Configuration for MQTT server to send metrics to
                 [[outputs.mqtt]]
                    servers = ["192.xxx.xxx.xx:1883"] # required.
                # Bert
                #   ## MQTT outputs send metrics to this topic format
                #   ##    "<topic_prefix>/<hostname>/<pluginname>/"
                #   ##   ex: prefix/web01.example.com/mem
                    topic_prefix = "Telegraf"
                #
                #   ## QoS policy for messages
                #   ##   0 = at most once
                #   ##   1 = at least once
                #   ##   2 = exactly once
                    qos = 1
                #
                #   ## username and password to connect MQTT server.
                #   # username = "telegraf"
                #   # password = "metricsmetricsmetricsmetrics"
                #
                #   ## client ID, if not set a random ID is generated
                #   # client_id = ""
                #
                #   ## Timeout for write operations. default: 5s
                #   # timeout = "5s"
                #
                #   ## Optional TLS Config
                #   # tls_ca = "/etc/telegraf/ca.pem"
                #   # tls_cert = "/etc/telegraf/cert.pem"
                #   # tls_key = "/etc/telegraf/key.pem"
                #   ## Use TLS but skip chain & host verification
                #   # insecure_skip_verify = false
                #
                #   ## When true, metrics will be sent in one MQTT message per flush.  Otherwise,
                #   ## metrics are written one metric per MQTT message.
                #    batch = false
                #
                #   ## When true, metric will have RETAIN flag set, making broker cache entries until someone
                #   ## actually reads it
                    retain = true
                #
                #   ## Defines the maximum length of time that the broker and client may not communicate.
                #   ## Defaults to 0 which turns the feature off. For version v2.0.12 of eclipse/mosquitto there is a
                #   ## [bug](https://github.com/eclipse/mosquitto/issues/2117) which requires keep_alive to be set.
                #   ## As a reference eclipse/paho.mqtt.golang v1.3.0 defaults to 30.
                #   # keep_alive = 0
                #
                #   ## Data format to output.
                #   ## Each data format has its own unique set of configuration options, read
                #   ## more about them here:
                #   ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md
                    data_format = "json"
                
                liv-in-skyL Offline
                liv-in-skyL Offline
                liv-in-sky
                schrieb am zuletzt editiert von
                #10

                @jahnbes wie gewußt :-) bin kein profi mit mqtt - die settings wollte ich noch bei dir fragen

                nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                1 Antwort Letzte Antwort
                0
                • jahnbesJ jahnbes

                  @liv-in-sky

                  Hier der Vollständigkeit halber der Ausschnitt aus dem telegraf.conf-file, der die MQTT-Einstellungen betrifft:

                  # # Configuration for MQTT server to send metrics to
                   [[outputs.mqtt]]
                      servers = ["192.xxx.xxx.xx:1883"] # required.
                  # Bert
                  #   ## MQTT outputs send metrics to this topic format
                  #   ##    "<topic_prefix>/<hostname>/<pluginname>/"
                  #   ##   ex: prefix/web01.example.com/mem
                      topic_prefix = "Telegraf"
                  #
                  #   ## QoS policy for messages
                  #   ##   0 = at most once
                  #   ##   1 = at least once
                  #   ##   2 = exactly once
                      qos = 1
                  #
                  #   ## username and password to connect MQTT server.
                  #   # username = "telegraf"
                  #   # password = "metricsmetricsmetricsmetrics"
                  #
                  #   ## client ID, if not set a random ID is generated
                  #   # client_id = ""
                  #
                  #   ## Timeout for write operations. default: 5s
                  #   # timeout = "5s"
                  #
                  #   ## Optional TLS Config
                  #   # tls_ca = "/etc/telegraf/ca.pem"
                  #   # tls_cert = "/etc/telegraf/cert.pem"
                  #   # tls_key = "/etc/telegraf/key.pem"
                  #   ## Use TLS but skip chain & host verification
                  #   # insecure_skip_verify = false
                  #
                  #   ## When true, metrics will be sent in one MQTT message per flush.  Otherwise,
                  #   ## metrics are written one metric per MQTT message.
                  #    batch = false
                  #
                  #   ## When true, metric will have RETAIN flag set, making broker cache entries until someone
                  #   ## actually reads it
                      retain = true
                  #
                  #   ## Defines the maximum length of time that the broker and client may not communicate.
                  #   ## Defaults to 0 which turns the feature off. For version v2.0.12 of eclipse/mosquitto there is a
                  #   ## [bug](https://github.com/eclipse/mosquitto/issues/2117) which requires keep_alive to be set.
                  #   ## As a reference eclipse/paho.mqtt.golang v1.3.0 defaults to 30.
                  #   # keep_alive = 0
                  #
                  #   ## Data format to output.
                  #   ## Each data format has its own unique set of configuration options, read
                  #   ## more about them here:
                  #   ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md
                      data_format = "json"
                  
                  liv-in-skyL Offline
                  liv-in-skyL Offline
                  liv-in-sky
                  schrieb am zuletzt editiert von liv-in-sky
                  #11

                  @jahnbes

                  falls es dich interessiert:

                  das script (evtl muss das angeglichen werden)

                  • erstellt ordner "0_userdata.0.TELEGRAF"
                  • holt alles was unter "mqtt.0.telegraf.." ist
                  • schreibt die werte daraus - jede minute

                  let myScheduleTelegraf='* * * * * '
                  
                  schedule(myScheduleTelegraf,  function () {
                  //iter(helper)
                  $('mqtt.0.telegraf.NUC7FX.*').each(function(id, i) { 
                  //log(helper.fields.MB_frei)
                  let helper=JSON.parse(getState(id).val)
                  //log(helper.name+"ID: "+id)
                  let derName=helper.name
                  let derHostname=helper.tags.host
                  var keys = Object.keys(helper.fields);
                   
                   //  log(keys.toString())
                  
                  
                  for(let u=0;u<keys.length;u++){
                    let theVal=helper.fields[keys[u]]
                    let einheit=""
                    if(keys[u].includes("ercent")  ) {theVal=Math.round(theVal);einheit="%"}
                    if(theVal>100 && derName=="mem" ) {theVal=Math.round(theVal/1024/1024/1024);einheit="GB"}
                    if(theVal>100 && derName.includes("disk") ) {theVal=Math.round(theVal/1024);einheit="GB"}
                    // log(helper.fields[keys[u]])
                     if(existsState('0_userdata.0.TELEGRAF.'+derHostname+'.'+derName+'.'+keys[u])) setState('0_userdata.0.TELEGRAF.'+derHostname+'.'+derName+'.'+keys[u],theVal);
                          else createState('0_userdata.0.TELEGRAF.'+derHostname+'.'+derName+'.'+keys[u], theVal, { name: derHostname+'-'+keys[u],unit: einheit}); // type: "mixed"
                  }
                  
                  
                  });
                  
                  });
                  

                  meine konfig für die festplatten (für jede festplatte ein eintrag, eintrag in Messurement erzeugt den dp):

                     [[inputs.win_perf_counters.object]]
                      #  Disk times and queues
                       ObjectName = "LogicalDisk"
                       Instances = ["E:"]
                       Counters = [
                         "% Idle Time",
                         "% Free Space",
                         "Free Megabytes",
                       ]
                       Measurement = "win_disk-E"	
                  

                  nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                  jahnbesJ 1 Antwort Letzte Antwort
                  1
                  • liv-in-skyL liv-in-sky

                    @jahnbes

                    falls es dich interessiert:

                    das script (evtl muss das angeglichen werden)

                    • erstellt ordner "0_userdata.0.TELEGRAF"
                    • holt alles was unter "mqtt.0.telegraf.." ist
                    • schreibt die werte daraus - jede minute

                    let myScheduleTelegraf='* * * * * '
                    
                    schedule(myScheduleTelegraf,  function () {
                    //iter(helper)
                    $('mqtt.0.telegraf.NUC7FX.*').each(function(id, i) { 
                    //log(helper.fields.MB_frei)
                    let helper=JSON.parse(getState(id).val)
                    //log(helper.name+"ID: "+id)
                    let derName=helper.name
                    let derHostname=helper.tags.host
                    var keys = Object.keys(helper.fields);
                     
                     //  log(keys.toString())
                    
                    
                    for(let u=0;u<keys.length;u++){
                      let theVal=helper.fields[keys[u]]
                      let einheit=""
                      if(keys[u].includes("ercent")  ) {theVal=Math.round(theVal);einheit="%"}
                      if(theVal>100 && derName=="mem" ) {theVal=Math.round(theVal/1024/1024/1024);einheit="GB"}
                      if(theVal>100 && derName.includes("disk") ) {theVal=Math.round(theVal/1024);einheit="GB"}
                      // log(helper.fields[keys[u]])
                       if(existsState('0_userdata.0.TELEGRAF.'+derHostname+'.'+derName+'.'+keys[u])) setState('0_userdata.0.TELEGRAF.'+derHostname+'.'+derName+'.'+keys[u],theVal);
                            else createState('0_userdata.0.TELEGRAF.'+derHostname+'.'+derName+'.'+keys[u], theVal, { name: derHostname+'-'+keys[u],unit: einheit}); // type: "mixed"
                    }
                    
                    
                    });
                    
                    });
                    

                    meine konfig für die festplatten (für jede festplatte ein eintrag, eintrag in Messurement erzeugt den dp):

                       [[inputs.win_perf_counters.object]]
                        #  Disk times and queues
                         ObjectName = "LogicalDisk"
                         Instances = ["E:"]
                         Counters = [
                           "% Idle Time",
                           "% Free Space",
                           "Free Megabytes",
                         ]
                         Measurement = "win_disk-E"	
                    
                    jahnbesJ Offline
                    jahnbesJ Offline
                    jahnbes
                    schrieb am zuletzt editiert von jahnbes
                    #12

                    @liv-in-sky

                    Danke für den Tipp mit den Platten, der hat mir sehr geholfen, die erste ist schon drin.

                    Weißt Du, was unter "cpu" die Felder "usage_idle" und insbesondere "usage_system" und "usage_user" bedeuten?

                    Viele Grüße, Bert.

                    liv-in-skyL 2 Antworten Letzte Antwort
                    0
                    • jahnbesJ jahnbes

                      @liv-in-sky

                      Danke für den Tipp mit den Platten, der hat mir sehr geholfen, die erste ist schon drin.

                      Weißt Du, was unter "cpu" die Felder "usage_idle" und insbesondere "usage_system" und "usage_user" bedeuten?

                      Viele Grüße, Bert.

                      liv-in-skyL Offline
                      liv-in-skyL Offline
                      liv-in-sky
                      schrieb am zuletzt editiert von
                      #13

                      @jahnbes

                      schau mal da:

                      https://bobcares.com/blog/perfmon-counters-for-cpu-usage/

                      nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                      1 Antwort Letzte Antwort
                      0
                      • jahnbesJ jahnbes

                        @liv-in-sky

                        Danke für den Tipp mit den Platten, der hat mir sehr geholfen, die erste ist schon drin.

                        Weißt Du, was unter "cpu" die Felder "usage_idle" und insbesondere "usage_system" und "usage_user" bedeuten?

                        Viele Grüße, Bert.

                        liv-in-skyL Offline
                        liv-in-skyL Offline
                        liv-in-sky
                        schrieb am zuletzt editiert von
                        #14

                        @jahnbes

                        in deutsch habe ich nur das gefunden

                        Prozessorauslastung messen und Vorlage speichern
                        Um die Auslastung des Prozessors zu messen, wird am besten der Menüpunkt „Performance Monitor“ aufgerufen. Mit „Blank workspace“ wird ein neuer Workspace zur Überwachung erstellt. Danach wird mit „Add Counter“ das Objekt „Prozessor“ ausgewählt, als „Instance“ wählt man idealerweise alle Prozessoren im System. Hier kann auch nach einzelnen Kernen gefiltert werden. Als „Counter“ wird „Prozessorzeit“ aktiviert.

                        Es sollte darauf geachtet werden, dass die Auslastung des Prozessors auf verschiedene Prozesse verteilt wird. Bei „Graphy Type“ kann zwischen grafischer Ansicht und einer Tabelle unterschieden werden. Der Prozessor sollte nur maximal bis 70% ausgelastet werden, idealerweise deutlich darunter.

                        Parallel lassen sich weitere Counter hinzufügen, zum Beispiel „Priviligerte Zeit (%)“. Hier wird die Gesamtzeit in Prozenten angezeigt, die der Prozessor benötigt, um Windows-Kernel-Befehle auszuführen. Auch hier sollten die Werte nicht zu hoch liegen.

                        Ebenfalls wichtig ist noch „Prozessor: Benutzerzeit (%)“. Dieser Wert gibt den prozentualen Zeitanteil an der Gesamtzeit an, die der Prozessor benötigt, um Benutzerprozesse auszuführen. Dabei kann es sich zum Beispiel um Prozesse für Microsoft SQL-Server handeln.

                        Über „System: Prozessor-Warteschlangenlänge“, beziehungsweise „Processor Queue Length“ lassen sich die Threads messen, die auf Prozessorzeit warten. Wenn die Threads eines Prozesses mehr Zyklen benötigen als zur Verfügung stehen, kann es zu Problemen kommen. Wenn bei dieser Messung viele Prozesse versuchen, Prozessorzeit zu beanspruchen, sollten schnellere Prozessoren verbaut werden.

                        nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                        jahnbesJ 1 Antwort Letzte Antwort
                        0
                        • liv-in-skyL liv-in-sky

                          @jahnbes

                          in deutsch habe ich nur das gefunden

                          Prozessorauslastung messen und Vorlage speichern
                          Um die Auslastung des Prozessors zu messen, wird am besten der Menüpunkt „Performance Monitor“ aufgerufen. Mit „Blank workspace“ wird ein neuer Workspace zur Überwachung erstellt. Danach wird mit „Add Counter“ das Objekt „Prozessor“ ausgewählt, als „Instance“ wählt man idealerweise alle Prozessoren im System. Hier kann auch nach einzelnen Kernen gefiltert werden. Als „Counter“ wird „Prozessorzeit“ aktiviert.

                          Es sollte darauf geachtet werden, dass die Auslastung des Prozessors auf verschiedene Prozesse verteilt wird. Bei „Graphy Type“ kann zwischen grafischer Ansicht und einer Tabelle unterschieden werden. Der Prozessor sollte nur maximal bis 70% ausgelastet werden, idealerweise deutlich darunter.

                          Parallel lassen sich weitere Counter hinzufügen, zum Beispiel „Priviligerte Zeit (%)“. Hier wird die Gesamtzeit in Prozenten angezeigt, die der Prozessor benötigt, um Windows-Kernel-Befehle auszuführen. Auch hier sollten die Werte nicht zu hoch liegen.

                          Ebenfalls wichtig ist noch „Prozessor: Benutzerzeit (%)“. Dieser Wert gibt den prozentualen Zeitanteil an der Gesamtzeit an, die der Prozessor benötigt, um Benutzerprozesse auszuführen. Dabei kann es sich zum Beispiel um Prozesse für Microsoft SQL-Server handeln.

                          Über „System: Prozessor-Warteschlangenlänge“, beziehungsweise „Processor Queue Length“ lassen sich die Threads messen, die auf Prozessorzeit warten. Wenn die Threads eines Prozesses mehr Zyklen benötigen als zur Verfügung stehen, kann es zu Problemen kommen. Wenn bei dieser Messung viele Prozesse versuchen, Prozessorzeit zu beanspruchen, sollten schnellere Prozessoren verbaut werden.

                          jahnbesJ Offline
                          jahnbesJ Offline
                          jahnbes
                          schrieb am zuletzt editiert von jahnbes
                          #15

                          @liv-in-sky

                          Nun ist es geschafft, die Systemdaten des Windows-PC werden auf diesem mittels Telegraf gesammelt und mit MQTT an den iobroker gesandt, der auf einem Raspberry Pi läuft.
                          Von dort aus erfolgt u.a. die Visualisierung mit HABpanel:

                          dashboard_PC.jpg

                          Die Daten der Netzwerkplatte, ein Synology-NAS, kommen über den Adapter "Synology NAS" in den iobroker.

                          Die Temperaturen im PC würde ich auch gern darstellen, da bin ich aber auch mit Telegraf noch nicht rangekommen.

                          liv-in-skyL 3 Antworten Letzte Antwort
                          1
                          • jahnbesJ jahnbes

                            @liv-in-sky

                            Nun ist es geschafft, die Systemdaten des Windows-PC werden auf diesem mittels Telegraf gesammelt und mit MQTT an den iobroker gesandt, der auf einem Raspberry Pi läuft.
                            Von dort aus erfolgt u.a. die Visualisierung mit HABpanel:

                            dashboard_PC.jpg

                            Die Daten der Netzwerkplatte, ein Synology-NAS, kommen über den Adapter "Synology NAS" in den iobroker.

                            Die Temperaturen im PC würde ich auch gern darstellen, da bin ich aber auch mit Telegraf noch nicht rangekommen.

                            liv-in-skyL Offline
                            liv-in-skyL Offline
                            liv-in-sky
                            schrieb am zuletzt editiert von
                            #16

                            @jahnbes die temp sache check ich auch nicht

                            mache das so (etwas umständlich):

                            https://forum.iobroker.net/topic/27520/cpu-temperatur-win-pc-in-iobroker-darstellen

                            nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                            1 Antwort Letzte Antwort
                            0
                            • jahnbesJ jahnbes

                              @liv-in-sky

                              Nun ist es geschafft, die Systemdaten des Windows-PC werden auf diesem mittels Telegraf gesammelt und mit MQTT an den iobroker gesandt, der auf einem Raspberry Pi läuft.
                              Von dort aus erfolgt u.a. die Visualisierung mit HABpanel:

                              dashboard_PC.jpg

                              Die Daten der Netzwerkplatte, ein Synology-NAS, kommen über den Adapter "Synology NAS" in den iobroker.

                              Die Temperaturen im PC würde ich auch gern darstellen, da bin ich aber auch mit Telegraf noch nicht rangekommen.

                              liv-in-skyL Offline
                              liv-in-skyL Offline
                              liv-in-sky
                              schrieb am zuletzt editiert von
                              #17

                              @jahnbes

                              bin etwas weiter mit temp in telegraf

                              Image 4.png

                              Image 5.png

                              nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                              1 Antwort Letzte Antwort
                              0
                              • jahnbesJ jahnbes

                                @liv-in-sky

                                Nun ist es geschafft, die Systemdaten des Windows-PC werden auf diesem mittels Telegraf gesammelt und mit MQTT an den iobroker gesandt, der auf einem Raspberry Pi läuft.
                                Von dort aus erfolgt u.a. die Visualisierung mit HABpanel:

                                dashboard_PC.jpg

                                Die Daten der Netzwerkplatte, ein Synology-NAS, kommen über den Adapter "Synology NAS" in den iobroker.

                                Die Temperaturen im PC würde ich auch gern darstellen, da bin ich aber auch mit Telegraf noch nicht rangekommen.

                                liv-in-skyL Offline
                                liv-in-skyL Offline
                                liv-in-sky
                                schrieb am zuletzt editiert von
                                #18

                                @jahnbes

                                das hier downloaden und laufen lassen - als service oder beim startup - zum testen einfach aufrufen

                                https://openhardwaremonitor.org/

                                das in conf:

                                
                                 
                                [[inputs.exec]]
                                   interval = "30s"
                                   commands = ['powershell -executionpolicy bypass -File "C:/Program Files/telegraf/ohm.ps1"']
                                   #data_format = "influx"
                                

                                das hier in den ordner, wo telegraf läuft - muss als file dort liegen:

                                ohm.ps1

                                im mqtt setting auf influx umstellen !

                                data_format = "influx"
                                
                                
                                

                                das hier enablen - darunter steht nix - nur diese zeile - ist die temp des motherboards

                                [[inputs.temp]]
                                

                                nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                                1 Antwort Letzte Antwort
                                0
                                • jahnbesJ jahnbes

                                  Kann mir jemand einen Tipp geben, in welche Richtung ich forschen und denken soll, für folgendes Problem, an dem ich schon seit einigen Stunden sitze:

                                  Telegraf läuft auf einem Windows-PC, der iobroker mit mqtt auf einem Raspberry.

                                  Ich will mit Telegraf auf dem Windows-PC Systemdaten sammeln und über mqtt an den iobroker senden, dort dann mit HaBPanel visualisieren. Das Ganze ohne InfluxDB.
                                  Es geht auch soweit alles, die Daten laufen, nur stimmt das Format der im iobroker ankommenden Daten nicht.

                                  Frage ist, welches Outputformat in telegraf ich für den iobroker einstellen muss. Ich habe in Telegraf alle vorgeschlagenen Formate ausprobiert laut
                                  https://docs.influxdata.com/telegraf/v1.20/data_formats/output/
                                  aber nichts hat geholfen.

                                  Ich erwarte z.B. im Feld [mem] des iobrokers auf dem Raspberry EINEN Wert für die Speicherauslastung, es steht aber ein Sammelsurium von Werten drin:

                                  "mem.available" 24441704448.000000 1636128710 source="PC-Bert"
                                  "mem.used" 9856364544.000000 1636128710 source="PC-Bert"
                                  "mem.used.percent" 28.737375 1636128710 source="PC-Bert"
                                  "mem.available.percent" 71.262625 1636128710 source="PC-Bert"
                                  "mem.total" 34298068992.000000 1636128710 source="PC-Bert"
                                  

                                  MOD-Edit: Code in code-tags gesetzt!

                                  Was tun?

                                  liv-in-skyL Offline
                                  liv-in-skyL Offline
                                  liv-in-sky
                                  schrieb am zuletzt editiert von
                                  #19

                                  @jahnbes

                                  falls du mit meinem script arbeitest: - alle dp löschen und dieses script starten

                                  update

                                  let myScheduleTelegraf='*/30 * * * * * '
                                  
                                  schedule(myScheduleTelegraf,  function () {
                                  //iter(helper)
                                  $('mqtt.0.telegraf.*.*').each(function(id, i) { 
                                  //log(helper.fields.MB_frei)
                                  let helper=JSON.parse(getState(id).val)
                                  //log(helper.name+"ID: "+id)
                                  let derName=helper.name
                                  let derHostname=helper.tags.host
                                  var keys = Object.keys(helper.fields);
                                   
                                   //  log(keys.toString())
                                  
                                  
                                  for(let u=0;u<keys.length;u++){
                                    let theVal=helper.fields[keys[u]]
                                    let einheit=""
                                    if(keys[u].includes("ercent")  ) {theVal=Math.round(theVal);einheit="%"}
                                    if(theVal>100 && derName=="mem" ) {theVal=Math.round(theVal/1024/1024/1024);einheit="GB"}
                                    if(theVal>100 && derName.includes("disk") ) {theVal=Math.round(theVal/1024);einheit="GB"}
                                     if(theVal<=100 && derName.includes("temp") ) {einheit="°C"}
                                    //log(helper.fields[keys[u]])
                                     if(existsState('0_userdata.0.TELEGRAF.'+derHostname+'.'+derName+'.'+keys[u])) setState('0_userdata.0.TELEGRAF.'+derHostname+'.'+derName+'.'+keys[u],theVal);
                                          else createState('0_userdata.0.TELEGRAF.'+derHostname+'.'+derName+'.'+keys[u], theVal, { name: derHostname+'-'+keys[u],unit: einheit}); // type: "mixed"
                                  }
                                  
                                  
                                  });
                                  
                                  });
                                  

                                  nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                                  jahnbesJ 1 Antwort Letzte Antwort
                                  0
                                  • liv-in-skyL liv-in-sky

                                    @jahnbes

                                    falls du mit meinem script arbeitest: - alle dp löschen und dieses script starten

                                    update

                                    let myScheduleTelegraf='*/30 * * * * * '
                                    
                                    schedule(myScheduleTelegraf,  function () {
                                    //iter(helper)
                                    $('mqtt.0.telegraf.*.*').each(function(id, i) { 
                                    //log(helper.fields.MB_frei)
                                    let helper=JSON.parse(getState(id).val)
                                    //log(helper.name+"ID: "+id)
                                    let derName=helper.name
                                    let derHostname=helper.tags.host
                                    var keys = Object.keys(helper.fields);
                                     
                                     //  log(keys.toString())
                                    
                                    
                                    for(let u=0;u<keys.length;u++){
                                      let theVal=helper.fields[keys[u]]
                                      let einheit=""
                                      if(keys[u].includes("ercent")  ) {theVal=Math.round(theVal);einheit="%"}
                                      if(theVal>100 && derName=="mem" ) {theVal=Math.round(theVal/1024/1024/1024);einheit="GB"}
                                      if(theVal>100 && derName.includes("disk") ) {theVal=Math.round(theVal/1024);einheit="GB"}
                                       if(theVal<=100 && derName.includes("temp") ) {einheit="°C"}
                                      //log(helper.fields[keys[u]])
                                       if(existsState('0_userdata.0.TELEGRAF.'+derHostname+'.'+derName+'.'+keys[u])) setState('0_userdata.0.TELEGRAF.'+derHostname+'.'+derName+'.'+keys[u],theVal);
                                            else createState('0_userdata.0.TELEGRAF.'+derHostname+'.'+derName+'.'+keys[u], theVal, { name: derHostname+'-'+keys[u],unit: einheit}); // type: "mixed"
                                    }
                                    
                                    
                                    });
                                    
                                    });
                                    

                                    jahnbesJ Offline
                                    jahnbesJ Offline
                                    jahnbes
                                    schrieb am zuletzt editiert von
                                    #20

                                    @liv-in-sky

                                    Ich habe es mir angesehen und eine Frage. Du setzt an einer Stelle

                                    data_format = "influx"
                                    

                                    Für meine Anwendung muss ich aber

                                    data_format = "json"
                                    

                                    setzen. Beißt sich das nicht, oder habe ich etwas falsch verstanden?

                                    Gruß Bert.

                                    liv-in-skyL 1 Antwort Letzte Antwort
                                    0
                                    • jahnbesJ jahnbes

                                      @liv-in-sky

                                      Ich habe es mir angesehen und eine Frage. Du setzt an einer Stelle

                                      data_format = "influx"
                                      

                                      Für meine Anwendung muss ich aber

                                      data_format = "json"
                                      

                                      setzen. Beißt sich das nicht, oder habe ich etwas falsch verstanden?

                                      Gruß Bert.

                                      liv-in-skyL Offline
                                      liv-in-skyL Offline
                                      liv-in-sky
                                      schrieb am zuletzt editiert von liv-in-sky
                                      #21

                                      @jahnbes ist verwirrend

                                      aber anders geht es nicht - sonst funkt. der hardware manager nicht - bzw die daten

                                      bei mir kommt trotzdem alles richtig an -
                                      Image 2.png

                                      nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                                      1 Antwort Letzte Antwort
                                      0
                                      • jahnbesJ jahnbes

                                        @jahnbes
                                        Es hat geklappt, das Problem
                                        Windows-Systemdaten -> Telegraf (Windows-PC) -> MQTT -> iobroker (Raspberry)
                                        ist gelöst!

                                        telegraf-iobroker.jpg

                                        Unter [1.] sind die json-Daten zu sehen, wie sie Telegraf auf dem Windows-PC sammelt und über MQTT an den iobroker schickt, hier nur die Memory-Daten.
                                        Unter [2.] das Testscript, mit dem der angekommene json-String im iobroker geparst und so in seine Bestandteile aufgeteilt wird.
                                        Unter [3.] steht das Ergebnis, die einzelnen Memory-Werte, wie sie nun im iobroker zur Verfügung stehen.

                                        Das weitere ist Handarbeit, die unter [3.] stehenden einzelnen Werte werden in zuvor angelegte Datenpunkte im ioboker geschrieben und stehen nun zur Verfügung, zum Beispiel zur Visualisierung.

                                        liv-in-skyL Offline
                                        liv-in-skyL Offline
                                        liv-in-sky
                                        schrieb am zuletzt editiert von
                                        #22

                                        @jahnbes nee - warte nochmal - überprüfe gerade

                                        nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                                        1 Antwort Letzte Antwort
                                        0
                                        • jahnbesJ jahnbes

                                          Kann mir jemand einen Tipp geben, in welche Richtung ich forschen und denken soll, für folgendes Problem, an dem ich schon seit einigen Stunden sitze:

                                          Telegraf läuft auf einem Windows-PC, der iobroker mit mqtt auf einem Raspberry.

                                          Ich will mit Telegraf auf dem Windows-PC Systemdaten sammeln und über mqtt an den iobroker senden, dort dann mit HaBPanel visualisieren. Das Ganze ohne InfluxDB.
                                          Es geht auch soweit alles, die Daten laufen, nur stimmt das Format der im iobroker ankommenden Daten nicht.

                                          Frage ist, welches Outputformat in telegraf ich für den iobroker einstellen muss. Ich habe in Telegraf alle vorgeschlagenen Formate ausprobiert laut
                                          https://docs.influxdata.com/telegraf/v1.20/data_formats/output/
                                          aber nichts hat geholfen.

                                          Ich erwarte z.B. im Feld [mem] des iobrokers auf dem Raspberry EINEN Wert für die Speicherauslastung, es steht aber ein Sammelsurium von Werten drin:

                                          "mem.available" 24441704448.000000 1636128710 source="PC-Bert"
                                          "mem.used" 9856364544.000000 1636128710 source="PC-Bert"
                                          "mem.used.percent" 28.737375 1636128710 source="PC-Bert"
                                          "mem.available.percent" 71.262625 1636128710 source="PC-Bert"
                                          "mem.total" 34298068992.000000 1636128710 source="PC-Bert"
                                          

                                          MOD-Edit: Code in code-tags gesetzt!

                                          Was tun?

                                          liv-in-skyL Offline
                                          liv-in-skyL Offline
                                          liv-in-sky
                                          schrieb am zuletzt editiert von
                                          #23

                                          @jahnbes

                                          bei mqtt setting - ist json
                                          bei dem

                                          [[inputs.exec]]
                                          
                                             interval = "30s"
                                          
                                             commands = ['powershell -executionpolicy bypass -File "C:/Program Files/telegraf/ohm.ps1"']
                                          
                                             #data_format = "influx"
                                          

                                          ist das dataformat auskommentiert

                                          nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                                          jahnbesJ 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
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          825

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          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