Ankündigung

Einklappen
Keine Ankündigung bisher.

Grafana und InfluxDB neben Edomi. Installation und Best Practice

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • jonofe
    antwortet
    Da kann ich bei LXC leider nix zu sagen. Bei normalem CentOS7 sollte die Installation funktionieren.
    vielleicht ist beim LXC Setup was schief gelaufen.

    Einen Kommentar schreiben:


  • BadWicky
    antwortet
    Und wie bekomme ich das zum laufen?
    ist das das was mit Fehler nicht installiert werden kann?

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Wenn mysql UDF nicht funktioniert, wird das automatische Sync nicht funktionieren.

    Einen Kommentar schreiben:


  • BadWicky
    antwortet
    Hi Andre
    Also sobald ich an die rot markierten Stelle komme mit ./install.sh kommt folgende Fehlermeldung.
    ICh muss aber auch dazusagen das ich das Proxmox Tamplate von starwarsfan verwende.

    Also nein ich kann nicht alles installiern was in deiner Anleitung das LBS steht
    image.png

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Ist denn überhaupt mysql UDF installiert?

    Einen Kommentar schreiben:


  • BadWicky
    antwortet
    Hallo jonofe , hier mal der Auszug aus dem Datenarchiv man sieht das was beschrieben wird.
    image.png




    image.png

    Zuletzt geändert von BadWicky; 28.01.2023, 21:37.

    Einen Kommentar schreiben:


  • BadWicky
    antwortet
    Habe jetzt mal ein anderes Datenarchiv versucht ist das gleiche im Influx EXEC Log steht nichts drin

    Einen Kommentar schreiben:


  • BadWicky
    antwortet

    So sieht es im InfluxDB ausimage.png

    Einen Kommentar schreiben:


  • BadWicky
    antwortet
    ich habe den Beitrag gerade bearbeitet sorry

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    da muss noch ein anderes Logfile sein (EXEC).
    Ist aber in deinem Screenshot jetzt wieder ein anderen Datenarchiv.
    Schreibst du denn da auch werte rein?
    Jedes Schreiben sollte einen Eintrag im Influx EXEC Log erzeugen.

    Einen Kommentar schreiben:


  • BadWicky
    antwortet
    Hi jonofe ,
    habe jetzt mal noch nichts unten in den LBS eingetragen nur oben, dann erscheint gar nichts im InfluxDB.
    Wenn ich unten das DataArchiv eintrage dann kopiert er es in InfluxDB aber aktuallisiert es nicht


    Hier DatenLog, hoffe es passt so, wenn nicht bitte sagen wie ich Ihn einfügen soll. das kommt nachdem ich das Datenarchiv kopiert habe

    LG Andreas

    image.png
    Log Influx_Data_Archives-LBS19002576.htm mit oben eingestelltem Wert im E10

    2023-01-28 21:01:095196084677debugLBS19002576 [v0.3b]: Query: DROP PROCEDURE IF EXISTS influx_update; (7963)2023-01-28 21:01:095204924677debugLBS19002576 [v0.3b]: Query: DROP TRIGGER IF EXISTS influx_insert_trigger; (7963)2023-01-28 21:01:095209584677debugLBS19002576 [v0.3b]: Query: DROP TRIGGER IF EXISTS influx_update_trigger; (7963)2023-01-28 21:01:095211674677debugLBS19002576 [v0.3b]: Query: DROP TRIGGER IF EXISTS influx_delete_trigger; (7963)2023-01-28 21:01:095213844677debugLBS19002576 [v0.3b]: Query: CREATE PROCEDURE influx_update(command VARCHAR(10), archiveId INT(20), archiveName VARCHAR(100), value VARCHAR(10000), timestamp DATETIME, ms INT(11)) BEGIN DECLARE cmd VARCHAR(1000); DECLARE result INT(10); DECLARE logresult INT(10); SET cmd = CONCAT('/usr/bin/bash -c "/usr/bin/php /usr/local/edomi/www/data/liveproject/lbs/EXE19002576.php ',command,' ',archiveId,' \'',archiveName,'\' \'',value,'\' \'',timestamp,'\' ',ms,' & "'); SET result = sys_exec(cmd); END (7963)2023-01-28 21:01:095281474677debugLBS19002576 [v0.3b]: Query: CREATE TRIGGER influx_insert_trigger AFTER INSERT ON archivKoData FOR EACH ROW BEGIN DECLARE archiveName VARCHAR(100); SELECT name INTO archiveName FROM edomiLive.archivKo WHERE id = NEW.targetid; CALL influx_update('INSERT', NEW.targetid, archiveName, NEW.gavalue, NEW.datetime, NEW.ms); END (7963)​
    Beim ersten kopieren sind im Log Influx_Data_Archives-EXEC
    Einträge Drin sobald ich den LBS dann wieder so einstelle und das Projekt aktiviere sind keine Daten mehr im Log zu sehen und er schriebt nichts mehr in den InfluxDB

    image.png
    Zuletzt geändert von BadWicky; 28.01.2023, 21:06.

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Am besten Loglevel auf 8 setzen und dann mal in die Logfiles schauen.

    Einen Kommentar schreiben:


  • BadWicky
    antwortet
    Hi, brauche mal eure Hilfe schaffe es nicht die Daten im InfluxDB kontinuierlich zu synchronisieren.

    Ich habe das edomi LXC von starwarsfan in Proxmox laufen.
    Bin nach der Anleitung von rdeckard vorgegangen und habe außer folgende Zeilen nichts in edomi installiert, also auch nicht die im LBS hinterlegten anweiseungen von jonofe

    cd /usr/local/edomi/www/admin/include/php/
    mkdir influx-client
    cd influx-client/
    composer require influxdata/influxdb-client-php​
    composer require php-http/guzzle7-adapter

    Auf dem Screenshot sieht man, das die Daten nicht synchronisiert werden.

    Unbenannt.png

    Einstellung des LBS nachdem ich das Datenarchiv hochgeladenen habe.

    1.png

    Wenn ich jetzt bei E10 106 eintrage und E1 erneut auf 1 setzte wird der Influx wieder beschrieben.
    Was mach ich falsch bzw was muss ich machen das der InfluxDB dauerhaft aktualisiert wird.

    Angehängte Dateien

    Einen Kommentar schreiben:


  • stonie2oo4
    antwortet
    Ich nutze es nicht im Docker sondern als normale Installation. Bzw. meinst du mit knxlistener = knx input plugin?
    Installieren musste ich nichts, ich bin einfach unter dem Reiter Sources auf das knx plugin und dann links auf "create new configuration".
    Bei mir erscheint die config dann im influxdb dashboard unter dem Reiter Telegraf?
    Meine sieht folgendermaßen aus:
    Code:
    # Configuration for telegraf agent
    [agent]
      ## Default data collection interval for all inputs
      interval = "10s"
      ## Rounds collection interval to 'interval'
      ## ie, if interval="10s" then always collect on :00, :10, :20, etc.
      round_interval = true
    
      ## Telegraf will send metrics to outputs in batches of at most
      ## metric_batch_size metrics.
      ## This controls the size of writes that Telegraf sends to output plugins.
      metric_batch_size = 1000
    
      ## Maximum number of unwritten metrics per output.  Increasing this value
      ## allows for longer periods of output downtime without dropping metrics at the
      ## cost of higher maximum memory usage.
      metric_buffer_limit = 10000
    
      ## Collection jitter is used to jitter the collection by a random amount.
      ## Each plugin will sleep for a random time within jitter before collecting.
      ## This can be used to avoid many plugins querying things like sysfs at the
      ## same time, which can have a measurable effect on the system.
      collection_jitter = "0s"
    
      ## Default flushing interval for all outputs. Maximum flush_interval will be
      ## flush_interval + flush_jitter
      flush_interval = "10s"
      ## Jitter the flush interval by a random amount. This is primarily to avoid
      ## large write spikes for users running a large number of telegraf instances.
      ## ie, a jitter of 5s and interval 10s means flushes will happen every 10-15s
      flush_jitter = "0s"
    
      ## By default or when set to "0s", precision will be set to the same
      ## timestamp order as the collection interval, with the maximum being 1s.
      ##   ie, when interval = "10s", precision will be "1s"
      ##       when interval = "250ms", precision will be "1ms"
      ## Precision will NOT be used for service inputs. It is up to each individual
      ## service input to set the timestamp at the appropriate precision.
      ## Valid time units are "ns", "us" (or "µs"), "ms", "s".
      precision = ""
    
      ## Log at debug level.
      # debug = false
      ## Log only error level messages.
      # quiet = false
    
      ## Log target controls the destination for logs and can be one of "file",
      ## "stderr" or, on Windows, "eventlog".  When set to "file", the output file
      ## is determined by the "logfile" setting.
      # logtarget = "file"
    
      ## Name of the file to be logged to when using the "file" logtarget.  If set to
      ## the empty string then logs are written to stderr.
      # logfile = ""
    
      ## The logfile will be rotated after the time interval specified.  When set
      ## to 0 no time based rotation is performed.  Logs are rotated only when
      ## written to, if there is no log activity rotation may be delayed.
      # logfile_rotation_interval = "0d"
    
      ## The logfile will be rotated when it becomes larger than the specified
      ## size.  When set to 0 no size based rotation is performed.
      # logfile_rotation_max_size = "0MB"
    
      ## Maximum number of rotated archives to keep, any older logs are deleted.
      ## If set to -1, no archives are removed.
      # logfile_rotation_max_archives = 5
    
      ## Pick a timezone to use when logging or type 'local' for local time.
      ## Example: America/Chicago
      # log_with_timezone = ""
    
      ## Override default hostname, if empty use os.Hostname()
      hostname = ""
      ## If set to true, do no set the "host" tag in the telegraf agent.
      omit_hostname = false
    [[outputs.influxdb_v2]]
      ## The URLs of the InfluxDB cluster nodes.
      ##
      ## Multiple URLs can be specified for a single cluster, only ONE of the
      ## urls will be written to each interval.
      ##   ex: urls = ["https://us-west-2-1.aws.cloud2.influxdata.com"]
      urls = ["http://thor.home.lan:8086"]
    
      ## Token for authentication.
      token = "yHaDgzb3ZKU_45UTMQLYnukD1qmjhkbfkjsbvfkjsbkjshfdsnwzi9Qlr1vwbMmjctYghZ16g=="
    
      ## Organization is the name of the organization you wish to write to; must exist.
      organization = "home"
    
      ## Destination bucket to write into.
      bucket = "knx"
    
      ## The value of this tag will be used to determine the bucket.  If this
      ## tag is not set the 'bucket' option is used as the default.
      # bucket_tag = ""
    
      ## If true, the bucket tag will not be added to the metric.
      # exclude_bucket_tag = false
    
      ## Timeout for HTTP messages.
      # timeout = "5s"
    
      ## Additional HTTP headers
      # http_headers = {"X-Special-Header" = "Special-Value"}
    
      ## HTTP Proxy override, if unset values the standard proxy environment
      ## variables are consulted to determine which proxy, if any, should be used.
      # http_proxy = "http://corporate.proxy:3128"
    
      ## HTTP User-Agent
      # user_agent = "telegraf"
    
      ## Content-Encoding for write request body, can be set to "gzip" to
      ## compress body or "identity" to apply no encoding.
      # content_encoding = "gzip"
    
      ## Enable or disable uint support for writing uints influxdb 2.0.
      # influx_uint_support = false
    
      ## Optional TLS Config for use on HTTP connections.
      # 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
    
    ## Drop other Measurements than KNX
       namedrop = ["cpu*","disk*","kernel","mem*","processes*","swap*","system*"]
     
    # Listener capable of handling KNX bus messages provided through a KNX-IP Interface.
    [[inputs.knx_listener]]
      ## Type of KNX-IP interface.
      ## Can be either "tunnel" or "router".
      service_type = "tunnel"
    
      ## Address of the KNX-IP interface.
      service_address = "10.10.45.4:3671"
    
      ## Measurement definition(s)
    [[inputs.knx_listener.measurement]]
      #   ## Name of the measurement
         name = "Temperatur EG"
      #   ## Datapoint-Type (DPT) of the KNX messages
         dpt = "9.001"
      #   ## List of Group-Addresses (GAs) assigned to the measurement
         addresses = ["6/3/0","6/3/1","6/3/2","6/3/3","6/3/4","6/3/6","11/0/1","11/0/6"]
    
    [[inputs.knx_listener.measurement]]
      #   ## Name of the measurement
         name = "Temperatur OG"
      #   ## Datapoint-Type (DPT) of the KNX messages
         dpt = "9.001"
      #   ## List of Group-Addresses (GAs) assigned to the measurement
         addresses = ["6/3/8","6/3/9","6/3/10","6/3/11","6/3/12","6/3/13","6/3/14","11/0/15","11/0/16","11/0/17","11/0/19","11/0/120"]​
    Zu ändern sind:
    urls
    token
    organization
    bucket

    (service typ)
    service_address

    Und unten dann nach "inputs.knx_listener.measurement" eben der Name, Datenpunkt und die Ga's aufs eigene Sytem anpassen.
    Bin mir nicht mehr sicher ob man telegraf danach neu starten muss, aber schaden wird es nicht.

    Einen Kommentar schreiben:


  • Ing-Dom
    antwortet
    Toll was hier geht, ich brauch das auch

    Ich möchte influx, telegraf und grafana als docker auf meinem Synology NAS laufen lassen und dann Grafiken ins edomi einbinden.

    influxdb läuft.
    Jetzt wollte ich mit Telegraf und knxlistener mal erste Daten einfüllen.
    Hier scheitere ich jedoch:

    nutze das offizielle docker image von telegraf und bekomme beim start des containers ein:
    Undefined but reuested input: knx_listener
    muss ich das input plugin irgendwie installieren? wenn ja - wie?

    Einen Kommentar schreiben:

Lädt...
X