Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Tidak dapat mendapatkan fail toml konfigurasi untuk memuatkan maklumat ke dalam pemalam input telegraf

Tidak dapat mendapatkan fail toml konfigurasi untuk memuatkan maklumat ke dalam pemalam input telegraf

WBOY
WBOYke hadapan
2024-02-08 21:10:191075semak imbas

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

Editor PHP Xiaoxin akan memperkenalkan kepada anda hari ini cara menyelesaikan masalah tidak dapat mendapatkan fail toml konfigurasi untuk memuatkan maklumat ke dalam pemalam input telegraf. Apabila menggunakan telegraf untuk pengumpulan data, kadangkala fail konfigurasi tidak boleh dibaca, mengakibatkan ketidakupayaan untuk memuatkan maklumat dengan betul. Masalah ini mungkin disebabkan oleh laluan fail yang salah, isu kebenaran atau ralat format fail konfigurasi. Di bawah ini kami akan menyelesaikan masalah ini langkah demi langkah untuk memastikan bahawa pemalam input telegraf boleh memuatkan maklumat dalam fail konfigurasi seperti biasa.

Kandungan soalan


Saya telah mencipta pemalam input yang mempunyai dua parameter yang diambil daripada fail konfigurasi seperti yang dinyatakan dalam struktur. Atas sebab yang tidak diketahui, pemalam enggan dijalankan:

Struktur:

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

Ini ialah bahagian pemalam input bagi fail toml konfigurasi plugin.conf:

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

Setiap kali saya menukar fail go, saya menjalankan make pada fail dan kemudian menjalankan yang berikut:

./telegraf -config plugin.conf -test

Saya mendapat ralat ini:

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

Memuatkan alamat tiada masalah, tetapi nilai "lines_to_read" terus membuang ralat ini. Adakah anda tahu apa yang berlaku?

Cuba mengalih keluar "lines_to_read", berfungsi dengan baik. Cuba alih keluar garis bawah. Tolong simpan perubahan itu. Cuba jalankan make sekali lagi dan semak ralat. Jadikan ia berjalan dengan baik.


Penyelesaian


telegraf 使用包 github.com/influxdata/toml untuk unmarshal toml data. Pakej ini memerlukan medan struct untuk pemetaan mesti dieksport (lihat https://www.php.cn/link/520bae6649b42ff5a3c8c58b7fcfc5a9).

Cuba eksport medan dengan menukarnya daripada

: 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"`
}

Atas ialah kandungan terperinci Tidak dapat mendapatkan fail toml konfigurasi untuk memuatkan maklumat ke dalam pemalam input telegraf. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam