Текущая версия разработки Fluent Bit интегрирует поддержку загрузки общих плагинов, написанных на Golang. Интерфейс все еще требует некоторых корректировок, но он функционален. Ожидается выпуск Fluent Bit v0.10 с полной поддержкой Go.
Скомпилируйте Fluent Bit с поддержкой Golang, например:
$ cd build/
$ cmake -DFLB_DEBUG=On -DFLB_PROXY_GO=On ../
$ make
После компиляции, можно заметить новую опцию в бинарном файле -e
, которая означает внешний плагин, например:
$ bin/fluent-bit -h
Использование: fluent-bit [OPTION]
Доступные опции
-c, --config=FILE укажите опциональный файл конфигурации
-d, --daemon запустите Fluent Bit в фоновом режиме
-f, --flush=SECONDS таймаут сброса в секундах (по умолчанию: 5)
-i, --input=INPUT укажите вход
-m, --match=MATCH укажите совпадение плагина, то же самое, что и '-p match=abc'
-o, --output=OUTPUT укажите выход
-p, --prop="A=B" укажите свойство конфигурации плагина
-e, --plugin=FILE загрузите внешний плагин (общая библиотека)
...
Чтобы упростить создание плагинов, мы опубликовали пакет fluent-bit-go:
http://github.com/fluent/fluent-bit-go
В том же репозитории опубликован пример плагина под названием out_multiinstance, который просто выводит записи в стандартный вывод:
https://github.com/fluent/fluent-bit-go/tree/master/examples/out_multiinstance
Минимальный Go-плагин выглядит следующим образом:
package main```md
Код выше является шаблоном для написания плагина вывода. Очень важно сохранить имя пакета как `main` и добавить явную функцию `main()`. Это требование, так как код будет собран как общая библиотека. Чтобы собрать код выше, используйте следующую команду:
```go
$ go build -buildmode=c-shared -o out_gstdout.so out_gstdout.go
После сборки будет доступна общедоступная библиотека под названием out_gstdout.so
. Очень важно удостовериться, что окончательный файл .so соответствует ожиданиям. Выполнив команду ldd
для библиотеки, вы должны увидеть что-то подобное:
$ ldd out_gstdout.so
linux-vdso.so.1 => (0x00007fff561dd000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fc4aeef0000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fc4aeb27000)
/lib64/ld-linux-x86-64.so.2 (0x000055751a4fd000)
$ bin/fluent-bit -e /path/to/out_gstdout.so -i cpu -o gstdout
Для получения дополнительной информации или помощи напишите на eduardo@treasure-data.com
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )