Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
Ankündigung
Einklappen
Keine Ankündigung bisher.
Grafana und InfluxDB neben Edomi. Installation und Best Practice
Du siehst...keiner sagt was . Mach es nicht. Nimm eine extra Hardware oder eine VM (virtuelle Maschine) dafür her und mach dann Deine ersten Versuche mit ioBroker. Nicht auf EDOMI. Nicht unter centOS.
Es gibt unzählige Youtuber die Dir den Einstieg in ioBroker und die Installation erleichtern werden/können.
Moin,
das hätte ich auch vorgeschlagen...
Nach Möglichkeit alle Services einzeln virtualisierten.
Ob Proxmox, VMWare, Hyper-V und/oder Docker Container auf Alpine. Alles ist Möglich!
Denk aber bitte an das Backup und mach auf jeden Fall ein Recovery-Test, um dein Backupkonzept zu verifizieren!
Ohje. Dann werd ich mir wohl einen alten RPI aus der Kiste holen und mal anfangen zu üben bevor ich direkt ans live System gehe. Ich hab es fast befürchtet das so eine Antwort kommt. Hatte aber gehofft das nicht.
Ich danke für die Antworten durchs nicht antworten.
Ich möchte InfluxDB und Grafana auf Proxmox in einem eigenen Container erstellen, und wollte hier nach obiger Anleitung vorgehen.
Dafür habe ich Debian11 geladen und danach den Container "influx" erstellt, und Debian11 als Template ausgewählt.
Der Container läuft und ich wechsle in die Konsole um die oben verlinkten Befehle einzutragen.
Beim Befehl "sudo apt update" erscheint die Fehlermeldung "-bash: sudo: command not found"
Wenn ich sudo nicht davorschreibe: "E: Malformed entry 1 in list file /etc/apt/sources.list.d/influxdb.list (Component)
E: The list of sources could not be read".
Hab ich hier einen groben Denkfehler, und ich muss ganz anders vorgehen, also eine andere Installationsweise wählen?
Oder muss ich den Umweg über VM/darin Docker installieren/ und dort die Container für Influx und Grafana erstellen?
Du solltest einen Influx Container installieren, nicht einen Debian 11 Container und dann versuchen den als VM zu verwenden, um manuell Influx darein zu bringen..
Ich kenn mich mit Proxmox nicht aus, ggf. kann Proxmox nativ docker Container.
Ich habe bei mir in ESXi eine VM als Docker Host mit Debian. Darauf läuft docker und docker-compose.
Zur Verwaltung der Container verwende ich Portainer (auch als Container). Damit kann man problemlos einen Influx Container und einen Grafana Container installieren.
Schritte wären also:
- Docker Host als VM auf Basis von Debian aufsetzen
- In dieser VM docker + docker compose installieren
- Portatiner als Container aufsetzen
- Über das Portainer Webinterface
Es gibt ja immer verschiedene Wege. Also ich habe mit Proxmox ein Debian 11 LXC Container erstellt und dort dann InfluxDB und Grafana installiert. Da ich eh grad am Testen bin, habe ich mal die Schritte etwas dokumentiert. Ob es der "richtige" oder "bessere" Weg ist, kann ich nicht sagen.
Im Proxmox einen neuen Container erstellen. Falls das Debian 11 Template noch nicht installiert wurde, zuerst downloaden: grafik.png
Ich habe jetzt mal 15 GB für die Disk zugewiesen. (Grösser machen ist easy, kleiner manchmal nicht so ganz...) grafik.png
Beim Memory habe ich 2 GB zugewiesen, weil InfluxDB z.T. schon etwas RAM benötigt. (Zumindest bei meinem Test Import von Edomi Datenarchiven kam ich über 1 GB) grafik.png
Optional kann kann man noch folgende Optionen anpassen: grafik.png
Danach den Container starten und sich mit root anmelden (Passwort ist das, was man beim Erstellen des Containers definiert hat).
Da man nun mit root angemeldet ist, kann man auf SUDO verzichten.
Wie üblich als erstes Linux updaten:
Code:
apt update && apt upgrade -y
Danach ein paar weitere benötigte Pakete installieren:
Code:
apt install -y gnupg2 curl wget
Mit den folgenden Befehlen wird InfluxDB und InfluxDB Client installiert und am Ende die Erstkonfiguration gestartet. Die Versionsnummer muss man halt jeweils anpassen. Aktuell ist 2.6.1:
Code:
wget https://dl.influxdata.com/influxdb/releases/influxdb2-2.6.1-amd64.deb
sudo dpkg -i influxdb2-2.6.1-amd64.deb
sudo service influxdb start
sudo service influxdb status # Optional zum Prüfen, mit Q beenden
wget https://dl.influxdata.com/influxdb/releases/influxdb2-client-2.6.1-linux-amd64.tar.gz
tar xvzf ./influxdb2-client-2.6.1-linux-amd64.tar.gz
sudo cp influxdb2-client-2.6.1-linux-amd64/influx /usr/local/bin/
influx setup
Hier kann man einen Account für InfluxDB und ein erster "Bucket" (ähnlich einer DB) erstellen. Dies waren meine Test-Eingaben (Retention=0 heisst, dass der Bucket nie gelöscht/überschrieben wird): grafik.png
Damit später Edomi auf InfluxDB zugreifen kann, muss noch ein API-Token erstellt werden: grafik.png
Rechts auf "Generate API Token" klicken und "All Access API Token" auswählen: grafik.png
Dem API Token einen Namen vergeben (kann später geändert werden) und auf Save klicken: grafik.png
Es wird nun ein Token erzeugt und angezeigt. Achtung: Dieser Token wird nur jetzt einmal angezeigt und kann später nicht mehr angezeigt werden! Unbedingt den Token (Text) markieren und irgendwo sicher abspeichern. (Der Befehl "Copy to Clipboard" hat bei mir ein Screenshot und nicht den Token-Text gespeichert! Könnte ein Bug sein. Empfehle den Token zu markieren und ihn als Text mit CTRL+C zu kopieren.) grafik.png
Beim Proxmox LXC Rocky Linux Edomi Container von startwarsfan muss noch folgendes in der Edomi Container Konsole eingegeben werden (Achtung: dies gilt nur für diesen Edomi-Container. Bei anderen "normalen" Edomi-Installationen den Instruktionen des LBS folgen!)
Code:
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
In Edomi eine neue Logikseite erstellen und den InfluxDB LBS einfügen. Jetzt können wir den LBS konfigurieren: grafik.png
E2: Log-Level bei einem sehr grossen Full Copy evtl. auf 5 reduzieren (ist Default auf 8). Kann sonst u.U. sehr grosse Log-Dateien erzeugen!
E3: URL von InfluxDB eingeben (unseren vorher erzeugten Proxmox-Container)
E4: Den API-Token einfügen
E5: Die Influx Org (in meinem Beispiel homelab)
E6: Den Influx Bucket (in meinem Beispiel sensors_ever)
Achtung: Falls man zuerst einfach mal ALLE bestehenden Edomi-Datenarchive zu InfluxDB EINMALIG kopieren möchte, muss man den unteren Teil konfigurieren (hier "Full Copy" gekennzeichnet).
E10 kopiert alle Archive vom ersten möglichen Datum (E11 Default) bis zum letzten Eintrag (E12 leer lassen).
E10 sollte man nicht fix eintragen, da sonst bei jedem Edomi-Start wieder ALLES nach InfluxDB kopiert wird. Also entweder über ein iKO verknüpfen oder wenn man es (wie in meinem Fall) fix einträgt unbedingt nach dem erfolgreichen Export wieder löschen (E10).
E7 und E8 beziehen sich dann später auf den Sync von NEUEN Einträgen in Edomi Datenarchive. Das kann uns für den ersten Test noch egal sein. (Darauf achten, dass für diesen Test keine neuen Einträge in ein Edomi Datenarchiv geschrieben werden.)
Nun müssen wir noch das Edomi Projekt aktivieren, da wir ja vorher noch paar Befehle in der Konsole eingegeben haben.
In meinem Beispiel hatte ich übrigens 16 Mio. Edomi-Datenarchiveinträge.
In diesem Fall kann man als Workaround das Memory_Limit von PHP temporär erhöhen:
Code:
nano /etc/php.ini
Den Standardwert "memory_limit = 128M" auf "memory_limit = 1024M" erhöhen. (Diesen Wert nach dem erfolgreichen Export wieder zurücksetzen, da es im normalen Betrieb nicht notwendig ist.)
Edomi Server neu starten, damit dieser Wert übernommen wird.
Bei mir hat übrigens (auf meiner Proxmox Hardware mit Intel i3) das Ganze ca. 20 Min. gedauert.
In InfluxDB prüfen, ob der Edomi Export (Full Copy) funktioniert hat.
Nachdem der in meinem letzten Beitrag beschriebene Edomi Export (Full Copy aller Datenarchive) hoffentlich geklappt hat, möchte man natürlich mal sehen, ob das in InfluxDB angekommen ist.
Dazu meldet man sich in InfluxDB an und klickt links auf das "Data Explorer" Symbol. Da mich zu Beginn vorallem die Anzahl Datensätze und noch kein Diagramm interessiert, klicke ich rechts auf "Script Editor". grafik.png
Nun kann ich folgendes Flux Query Script eingeben:
Den Bucket-Namen (hier "sensors_ever") muss man natürlich anpassen. Als Datum wurde 1.1.1970 gewählt, da dies in Linux das älteste Datum darstellt. Somit ist gewährleistet, dass wirklich ALLE Datensätze berücksichtigt werden.
Unbedingt noch den "View Raw Data" Schalter aktivieren und danach rechts auf "Submit" klicken. grafik.png
Es sollte nun die Gesamtanzahl Datensätze in diesem Bucket (über alle möglichen Tabellen) angezeigt werden. Diese kann man z.B. mit der Anzahl Datensätze im Edomi Datenarchiv vergleichen. Somit hat man eine Kontrolle, ob wirklich alle Datensätze kopiert wurden.
Falls in einem Bucket mehrere Tabellen/ Measurements vorkommen (was meist der Fall sein dürfte), dann kann man optional mit diesem Flux Script ein Total pro Tabelle anzeigen lassen (es wird auf die group Funktion verzichtet):
Wer wieder normale Diagramme (grafisch) in InfluxDB anzeigen lassen möchte, deaktiviert den "View Raw Data" Schalter und wechselt rechts auf den "Query Builder".
Wen es übrigens interessiert, wieviel diese InfluxDB Daten eigentlich Platz auf der Disk verbrauchen, kann sich in der Konsole mit root anmelden (z.B. direkt im Proxmox) und folgenden Befehl eingeben:
Code:
du -sh /var/lib/influxdb/engine/data
(Dies ist üblicherweise das Verzeichnis, wo InfluxDB seine Daten speichert. Wer den Speicherbedarf nur für ein bestimmtes Bucket sehen möchte, muss den Befehl für die jeweilige Bucket-ID (ist in diesem data Verzeichnis ein Unterverzeichnis) erweitern.)
In meinem Beispiel existieren 2 Buckets (wobei einer davon ein kleiner System-Bucket ist). Beide Buckets zusammen (der System-Bucket und mein "sensors_ever" Bucket mit ca. 16 Mio. Einträgen) brauchen offenbar "nur" 160 MB Diskkapazität. Somit sollte man glaub keine Angst haben, dass die Datenbank die Disk füllt. Trotzdem kann man das etwas im Auge behalten, damit man ein Gefühl bekommt, wieviel man eigentlich so in InfluxDB reinschreiben bzw. vorhalten (Thema Retention!) möchte. grafik.png
Morgen werde ich noch bisschen auf Grafana eingehen und dann wäre diese kleine Serie abgeschlossen.
Installation Grafana in Debian 11 LCX Container (Proxmox)
Ich verwende hier den bereits für InfluxDB erstellten LCX Proxmox Container, da ich InfluxDB und Grafana nicht in zwei separaten VMs/Container laufen lassen möchte. (Wer will, kann das natürlich tun.) InfluxDB und Grafana gehören für mich thematisch zueinander und von den Ressourcen sollte Grafana locker auf einer bestehenden InfluxDB-Instanz laufen können.
Zuerst meldet man sich wieder mit root in der Container Konsole an (direkt in Proxmox). Somit müssen wir hier keine SUDO-Befehle eingeben.
Wie immer zuerst mal sicherheitshalber Linux updaten:
Code:
apt update && apt upgrade -y
Hier nun die Befehle, wie sie auch offiziell auf der Grafana Website angegeben sind. Die Versionsnummer muss man halt jeweils anpassen. Aktuell ist 9.3.2:
Code:
apt install -y adduser libfontconfig1
wget https://dl.grafana.com/enterprise/release/grafana-enterprise_9.3.2_amd64.deb
dpkg -i grafana-enterprise_9.3.2_amd64.deb
systemctl daemon-reload
systemctl enable grafana-server
systemctl start grafana-server
systemctl status grafana-server # Optional zum Prüfen, mit Q beenden
Als erstes erstellen wir unsere data source (InfluxDB in diesem Fall). Dazu klicken wir links unten auf das Zahnrad-Symbol und danach im "Data sources" Tab auf den grossen "Add data source" Button. grafik.png
Wir wählen nun "InfluxDB" aus der Liste aus und müssen das Ganze gemäss unserer InfluxDB Installation noch konfigurieren.
Wir wechseln oben die Query Language auf "Flux", weil dies bei InfluxDB 2 neu der Standard ist. Grafana schreibt zwar, dass Flux in Grafana noch im Beta-Stadium sei, aber ich denke, es sollte für unsere Zwecke funktionieren.
Bei der URL in der HTTP-Sektion geben wir unsere IP (inkl. Port 8086) des InfluxDB-Servers ein. In unserem Fall ist das ja der gleiche Server wie Grafana selber.
In der Auth-Sektion deaktivieren wir alle Optionen!
Und nun der wichtigste und etwas knifflige Teil: In der Custom HTTP Headers Sektion geben wir bei Header das Wort "Authorization" ein und als Value "token 55jW2vDawfAZIZjzxpJ-.......Mb9qy9Oezg==" Dies ist natürlich der API Token, den wir in InfluxDB bereits zu Beginn erzeugt haben und den man sich hoffentlich irgendwo gespeichert hat. Wichtig ist, dass im Value-Feld das Wort "token", gefolgt von einem Leerzeichen und dann der komplette Token eingefügt werden muss. Leider wird das Feld mit Sternchen ausgefüllt, sodass man nicht wirklich sieht, was man eingegeben hat. (Ich empfehle den kompletten Text zuerst in einem Texteditor zu erstellen und dann mit Copy/Paste einzufügen.)
Im unteren "InfluxDB Details"-Teil müssen wir noch zwingend die InfluxDB Organization eingeben. In meinem Fall war das "homelab". Den Default Bucket kann man angeben, aber auch leerlassen. grafik.png
Mit Klick auf den "Save & test" Button erkennen wir dann schnell, ob wir alles richtig eingegeben haben. Wenn ja, müsste dies mit einer entsprechenden Meldung bestätigt werden.
Somit hat Grafana nun eine Verbindung zu unserem InfluxDB Server!
Ich muss zuerst erwähnen, dass ich kein InfluxDB und kein Grafana-Experte bin. Gerade bei den Graphen (Diagrammen) gibt es unzählige Einstellungen und vermutlich auch verschiedene Wege, um ans Ziel zu kommen.
Die nachfolgende Beschreibung hat einfach das Ziel, ein Grafana Graph in Edomi anzeigen zu können. (Es entspricht meinem aktuellen Wissensstand, der noch sehr klein ist.)
Wir melden uns per Browser in Grafana an und klicken links im Dashboard Icon auf "+ New dashboard". (Falls wir schon ein Dashboard erstellt haben, können wir dies überspringen.): grafik.png
Danach klicken wir auf "Add a new panel".
Wir müssen nun unser Grafana Diagramm (Graph/Panel) erstellen. Leider habe ich noch keinen Weg gefunden, wir man dies interaktiv zusammenklicken kann. Ich kenne aktuell nur den Weg über ein Flux-Query. Da ich Flux jetzt nicht unbedingt auswendig kenne, gehe ich zuerst den Umweg über InfluxDB, da man dort ein Query interaktiv erstellen kann.
Also melden wir uns in einem zweiten Browser-Tab in InfluxDB an und gehen in den "Data Explorer". Dort klicken wir unsere Felder (Measurements) zusammen: grafik.png
In meinem Fall ist es wieder der "sensors_ever" Bucket, von dem ich jetzt die beiden Measurements "WP Temp Aussen" und "WP Temp Innen" und das Field "value" markiere. Bei euch werden natürlich die Measurements anders lauten.
Oben nicht vergessen, die Zeitperiode zu definieren. (Ich habe zum Test einfach mal 1.11.22 bis 1.12.22 genommen.) Am Schluss auf den "Submit" Button klicken, damit ihr seht, ob überhaupt ein Diagramm angezeigt wird. (Bei falschen Measurements oder einer falschen Zeitperiode kann u.U. nichts rauskommen.)
Das war jetzt der interaktive (und leichte) Teil. Uns interessiert nun, was da überhaupt für ein Flux-Query im Hintergrund steckt.
Also klicken wir auf den "Script Editor" Button, um in den Script Editor zu wechseln: grafik.png
Das sieht bei mir so aus. Die rot markierten Bereiche sind meine Measurements. Man könnte diese hier direkt im Flux-Query ändern, sofern man die genauen Bezeichnungen kennt. Auf Zeile 2 (range) wird die Zeitperiode definiert. In diesem Fall ist sie nicht fix im Query hinterlegt (das könnte man auch machen!), sondern wird jeweils von den Werten übernommen, die man in InfluxDB (später auch Grafana) per Maus angibt.
Da Grafana dieses InfluxDB Flux-Query versteht, können wir das Query markieren und in Grafana einfügen. Hier noch der Text meines Queries, falls es jemanden was bringt. (Muss natürlich angepasst werden.)
Nun wechseln wir wieder in unser Grafana Tab und fügen dieses Flux-Query 1:1 ein: grafik.png
Auch hier nicht vergessen, die gewünschte Zeitperiode zu definieren, da sie ja nicht im Query selber gesetzt ist.
Einfach oben auf das Uhrsymbol (bzw. die Zeitangabe rechts daneben) klicken und dann eine Zeitperiode definieren. Ich habe hier wieder 1.11.22 bis 1.12.22 zum Testen ausgewählt. Anschliessend auf "Apply time range" klicken. grafik.png
Gebt dem Graphen/Panel unter "Panel options > Title" am besten auch einen passenden Namen: grafik.png
Wenn alles richtig gemacht wurde, sollte nun in Grafana schon der Graph erscheinen (ungefähr gleich wie der Graph, den wir vorhin in InfluxDB zusammengeklickt haben.) grafik.png
Sieht gar nicht mal so übel aus. Nur die Legende ist nicht so schön. (Vorallem "value 11" bzw. "value 14" in meinem Fall.) Dies kann man aber mit sogenannten Overrides korrigieren.
Dazu klicken wir rechts oben auf "Overrides" und danach auf "+ Add field override": grafik.png
Anschliessend muss man via "+ Add override property" einige Optionen aus Listen raussuchen. Ich zeige hier nur das Endergebnis: grafik.png
Wichtig ist, dass ihr "Standard options > Display name" wählt und dort dann den gewünschten Legenden-Text für das jeweilige Feld eingibt.
Da wir in meinem Beispiel zwei Datenreihen im Graph haben, müssen wir das "+ Add field override" zweimal durchführen. (Was dann eben ein Override 1 und ein Override 2 erzeugt.)
Mit "Save" wird das Dashboard gespeichert. Mit "Apply" wird (noch) nicht gespeichert, aber zumindest übernommen: grafik.png
Und so sieht es nun fertig in Grafana aus: grafik.png
So, jetzt möchten wir das Ganze aber natürlich gerne in Edomi abbilden. Zuerst klicken wir auf das Kontextmenü im Titel des Grafana-Panels und wählen dort "Share" aus: grafik.png
Im Share Panel klicken wir auf das "Embed" Tab und sehen unten den HTML-Code, den wir anschliessend in Edomi benötigen. grafik.png
Wir brauchen nicht den ganzen Link, sondern nur den Teil zwischen den beiden Anführungszeichen (ohne das erste Anführungszeichen!).
Mit "Theme" kann man noch wählen, ob der Graph als Dark oder Light Mode erstellt werden soll. Je nach Visu-Design in Edomi passt das eine oder andere besser. Wichtig: Wie man hier sieht, ist in diesem Link eine fixe Zeitperiode ("from" "to") definiert. Die langen Zahlen sind Unix Timestamps, welche ein bestimmtes Datum als Zahl darstellen (kann man mit geeigneten Tools umwandeln). Dies bedeutet, dass dieser Graph später in Edomi immer die gleiche Zeitperiode abdeckt, was oft nicht erwünscht ist. Dieses Problem könnte man in Edomi mit Variablen anstatt dieser fixen Zahlen lösen. Leider habe ich dazu noch keine Erfahrung, wie man das umsetzt.
Nun wechseln wir zu Edomi und fügen in einer Visuseite ein "Bild-URL/Webseite"-Element hinzu. In dieses Element geben wir in das URL-Feld den oben markierten Link-Text (ohne iframe Tag) ein. grafik.png
Bei URL-Typ wählen wir "Webseite" und bei "Webseite: Hintergrund" = kein Hintergrund (transparent). (Der letzte Punkt wird leider nicht von Grafana unterstützt. Zumindest nicht ohne CSS-Hacks.)
Nachdem nun das Edomi-Projekt aktiviert wurde, erscheint leider auf der Visuseite nicht das gewünschte Diagramm, sondern eine Fehlermeldung (...hat die Verbindung abgelehnt.): grafik.png
Das hat damit zu tun, dass Grafana standardmässig keinen externen Zugriff von anderen Programmen/Webseiten erlaubt. Das müssen wir zuerst aktivieren.
Melde dich dazu mit dem root Account in der Grafana Container Konsole an (z.B. via Proxmox) und editiere mit dem folgenden Befehl die Grafana Config-Datei:
Code:
nano /etc/grafana/grafana.ini
In der grafana.ini müssen folgende Stellen gesucht und entsprechend geändert werden. (Meist nur das Semikolon am Zeilenanfang entfernen, z.T. aber auch false auf true setzen)
Code:
#################################### Security #################################>
[security]
# set to true if you want to allow browsers to render Grafana in a <frame>, <if>
allow_embedding = true
#################################### Anonymous Auth ######################
[auth.anonymous]
# enable anonymous access
enabled = true
# specify role for unauthenticated users
org_role = Viewer
# mask the Grafana version number for unauthenticated users
hide_version = true
Hier nochmals zusammengefasst alle notwendigen Anpassungen:
Besten Dank für die Anleitung und die detaillieren Schritte. Das hat mir das Einbinden sehr einfach gemacht.
Als Alternative zu den Overrides kann man auch in "Transform" und dann "Organize Fields" die Kurven umbenennen oder ausblenden, wenn sie nur zum berechnen verwendet worden sind: (Es ist auch noch eine Berechnung zu sehen, die braucht es natürlich nicht) 230115 22_39_14-Window000033.png
Als Alternative zu den Overrides kann man auch in "Transform" und dann "Organize Fields" die Kurven umbenennen oder ausblenden, wenn sie nur zum berechnen verwendet worden sind: (Es ist auch noch eine Berechnung zu sehen, die braucht es natürlich nicht)
Oder einfach ein
Code:
|> group(columns: ["_measurement"])
Im Flux Skript nach dem filter-Statement. Dann erscheint der Name den man in EDOMI dem Datenarchiv gegeben hat.
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?
NanoBCU and other OpenKNX Hardware now availible here!
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.
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar