Maison  >  Article  >  développement back-end  >  Impossible d'obtenir le fichier de configuration toml pour charger les informations dans le plugin d'entrée Telegraf

Impossible d'obtenir le fichier de configuration toml pour charger les informations dans le plugin d'entrée Telegraf

WBOY
WBOYavant
2024-02-08 21:10:191077parcourir

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

L'éditeur PHP Xiaoxin vous présentera aujourd'hui comment résoudre le problème de l'impossibilité d'obtenir le fichier de configuration toml pour charger les informations dans le plug-in d'entrée Telegraf. Lors de l'utilisation de Telegraf pour la collecte de données, il arrive parfois que le fichier de configuration ne puisse pas être lu, ce qui entraîne l'impossibilité de charger correctement les informations. Ce problème peut être dû à des chemins de fichiers incorrects, à des problèmes d'autorisation ou à des erreurs de format de fichier de configuration. Ci-dessous, nous allons résoudre ce problème étape par étape pour garantir que le plug-in d'entrée Telegraf peut charger normalement les informations dans le fichier de configuration.

Contenu de la question


J'ai créé un plugin d'entrée qui a deux paramètres tirés d'un fichier de configuration comme spécifié dans la structure. Pour une raison inconnue, le plugin refuse de s'exécuter :

Structure :

type plugin struct {
    address       string `toml:"address"`
    lines_to_read string `toml:"lines_to_read"`
}

Voici la section du plugin d'entrée du fichier de configuration toml plugin.conf :

[[inputs.plugin]]
  address = "the/filepath.txt"
  lines_to_read = "20"

Chaque fois que je modifie un fichier go, j'exécute make sur le fichier, puis j'exécute ce qui suit :

./telegraf -config plugin.conf -test

J'obtiens cette erreur :

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

Le chargement de l'adresse ne pose aucun problème, mais la valeur "lines_to_read" continue de générer cette erreur. Sais tu ce qu'il s'est passé?

J'ai essayé de supprimer "lines_to_read", cela a bien fonctionné. Essayez de supprimer le trait de soulignement. Gardez la monnaie, s'il vous plaît. Essayez d'exécuter à nouveau make et recherchez les erreurs. Faites-le bien fonctionner.


Solution


telegraf 使用包 github.com/influxdata/toml pour désorganiser les données toml. Ce package nécessite que les champs de structure pour le mappage soient exportés (voir https://www.php.cn/link/520bae6649b42ff5a3c8c58b7fcfc5a9).

Essayez d'exporter le champ en le changeant de

 : lines_to_read 重命名为 linestoread

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer