首頁 > 後端開發 > Golang > 主體

無法取得配置 toml 檔案以將資訊載入到 telegraf 輸入插件

WBOY
發布: 2024-02-08 21:10:19
轉載
1100 人瀏覽過

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

php小編小新今天為大家介紹如何解決無法取得配置 toml 檔案以將資訊載入到 telegraf 輸入外掛程式的問題。在使用 telegraf 進行資料收集時,有時會遇到無法讀取設定檔的情況,導致無法正確載入資訊。這個問題可能是由於檔案路徑錯誤、權限問題或設定檔格式錯誤等所引起的。下面我們將逐步解決這個問題,確保 telegraf 輸入插件能夠正常載入設定檔中的資訊。

問題內容


我建立了一個輸入插件,它有兩個從設定檔中取得的參數,如結構中指定的。由於某種未知的原因,該插件拒絕運行:

結構:

type plugin struct {
    address       string `toml:"address"`
    lines_to_read string `toml:"lines_to_read"`
}
登入後複製

這是配置 toml 檔案 plugin.conf 的輸入外掛部分:

[[inputs.plugin]]
  address = "the/filepath.txt"
  lines_to_read = "20"
登入後複製

每次更改 go 檔案時,我都會對檔案執行 make,然後執行以下命令:

./telegraf -config plugin.conf -test
登入後複製

我收到此錯誤:

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

載入位址沒有問題,但「lines_to_read」值不斷拋出此錯誤。你知道發生了什麼事嗎?

嘗試刪除“lines_to_read”,運作良好。 嘗試刪除底線。不用找了。 嘗試再次執行 make 並檢查錯誤。使運作良好。


解決方法


telegraf 使用套件 github.com/influxdata/toml 來解組 toml 資料。此套件要求必須導出用於映射的結構體欄位(請參閱https://www.php.cn/link/520bae6649b42ff5a3c8c58b7fcfc5a9)。

嘗試透過將欄位從 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"`
}
登入後複製

以上是無法取得配置 toml 檔案以將資訊載入到 telegraf 輸入插件的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:stackoverflow.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!