Rumah > pembangunan bahagian belakang > Golang > 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
Lepaskan: 2024-02-08 21:10:19
ke hadapan
1133 orang telah melayarinya

无法获取配置 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"`
}
Salin selepas log masuk

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

[[inputs.plugin]]
  address = "the/filepath.txt"
  lines_to_read = "20"
Salin selepas log masuk

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

./telegraf -config plugin.conf -test
Salin selepas log masuk

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
Salin selepas log masuk

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"`
}
Salin selepas log masuk

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!

sumber:stackoverflow.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan