Heim > Backend-Entwicklung > Golang > Die Konfigurations-TOML-Datei konnte nicht abgerufen werden, um Informationen in das Telegraf-Eingabe-Plugin zu laden

Die Konfigurations-TOML-Datei konnte nicht abgerufen werden, um Informationen in das Telegraf-Eingabe-Plugin zu laden

WBOY
Freigeben: 2024-02-08 21:10:19
nach vorne
1165 Leute haben es durchsucht

无法获取配置 toml 文件以将信息加载到 telegraf 输入插件

Der PHP-Editor Xiaoxin stellt Ihnen heute vor, wie Sie das Problem lösen können, dass Sie die Konfigurations-Toml-Datei nicht abrufen können, um Informationen in das Telegraf-Eingabe-Plug-In zu laden. Bei Verwendung von Telegraf zur Datenerfassung kann es vorkommen, dass die Konfigurationsdatei nicht gelesen werden kann, was dazu führt, dass die Informationen nicht korrekt geladen werden können. Dieses Problem kann durch falsche Dateipfade, Berechtigungsprobleme oder Fehler im Konfigurationsdateiformat verursacht werden. Im Folgenden werden wir dieses Problem Schritt für Schritt lösen, um sicherzustellen, dass das Telegraf-Eingabe-Plug-in die Informationen in der Konfigurationsdatei normal laden kann.

Frageninhalt


Ich habe ein Eingabe-Plugin erstellt, das zwei Parameter enthält, die aus einer Konfigurationsdatei stammen, wie in der Struktur angegeben. Aus einem unbekannten Grund lässt sich das Plugin nicht ausführen:

Struktur:

type plugin struct {
    address       string `toml:"address"`
    lines_to_read string `toml:"lines_to_read"`
}
Nach dem Login kopieren

Dies ist der Eingabe-Plugin-Abschnitt der Konfigurations-TOML-Datei plugin.conf:

[[inputs.plugin]]
  address = "the/filepath.txt"
  lines_to_read = "20"
Nach dem Login kopieren

Jedes Mal, wenn ich eine Go-Datei ändere, führe ich make für die Datei aus und führe dann Folgendes aus:

./telegraf -config plugin.conf -test
Nach dem Login kopieren

Ich erhalte diese Fehlermeldung:

E! error loading config file plugin.conf: plugin inputs.plugin: line 1156: configuration specified the fields ["lines_to_read"], but they weren't used
Nach dem Login kopieren

Das Laden der Adresse ist kein Problem, aber der Wert „lines_to_read“ löst immer wieder diesen Fehler aus. Weißt du was passiert ist?

Ich habe versucht, „lines_to_read“ zu entfernen, hat gut funktioniert. Versuchen Sie, den Unterstrich zu entfernen. Stimmt so, danke. Versuchen Sie erneut, make auszuführen, und prüfen Sie, ob Fehler vorliegen. Sorgen Sie dafür, dass es gut läuft.


Lösung


telegraf 使用包 github.com/influxdata/toml zum Unmarshalieren von Toml-Daten. Dieses Paket erfordert, dass Strukturfelder für die Zuordnung exportiert werden müssen (siehe https://www.php.cn/link/520bae6649b42ff5a3c8c58b7fcfc5a9).

Versuchen Sie, das Feld zu exportieren, indem Sie es von

: lines_to_read 重命名为 linestoread ändern

type Plugin struct {
     Address       string `toml:"address"`
-    lines_to_read string `toml:"lines_to_read"`
+    LinesToRead   string `toml:"lines_to_read"`
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonDie Konfigurations-TOML-Datei konnte nicht abgerufen werden, um Informationen in das Telegraf-Eingabe-Plugin zu laden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:stackoverflow.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage