Пользовательский такт Elastic Stack для взаимодействия с кубами eBPF на основе Polycube.
Убедитесь, что эта папка находится по следующему адресу: ${GOPATH}/src/gitlab.com/astrid-repositories/cubebeat
mkdir -p ${GOPATH}/src/gitlab.com/astrid-repositories/
cd ${GOPATH}/src/gitlab.com/astrid-repositories
git clone https://gitlab.com/astrid-repositories/cubebeat.git
Чтобы собрать двоичный файл для Cubebeat
выполните команду ниже. Это создаст в том же каталоге двоичный файл с именем Cubebeat.
chmod +x build.sh
build.sh
Чтобы запустить Cubebeat
с включенным выводом отладки, выполните:
./cubebeat -c cubebeat.yml -e -d "*"
Чтобы запустить Cubebeat
без включения вывода отладки, выполните:
./cubebeat -c cubebeat.yml -e
Cubebeat
считывает файл конфигурации (по умолчанию: cubebeat.yml
), который передается в качестве аргумента.
Этот файл принимает общие конфигурации ритмов, как описано в разделе «Формат файла конфигурации».
Кроме того, он принимает определенные конфигурации, как показано в следующем примере:
cubebeat :
config.inputs :
path : config/*.yml
reload :
enabled : true
period : 10s
Различные варианты будут описаны в следующих разделах.
Cubebeat
может загружать внешние файлы конфигурации для входных данных, что позволяет разделить вашу конфигурацию на несколько файлов конфигурации меньшего размера.
В системах с правами доступа к файлам
POSIX
все файлы конфигурации подлежат проверке владения и прав доступа к файлам.
Дополнительную информацию см. в разделе «Владение файлом конфигурации и разрешения» в справочнике по платформе Beats .
Вы указываете параметр path
в разделе cubebeat.config.inputs
файла cubebeat.yml
. Например:
cubebeat :
config.inputs :
path : config.d/*.yml
Каждый файл, найденный по path
Glob, должен содержать список из одного или нескольких входных определений.
Первая строка каждого внешнего файла конфигурации должна представлять собой входное определение, начинающееся с
- name
.
Например:
- name : synflood
enabled : true
period : 10s
polycube.api-url : " http://localhost:9000/polycube/v1/synflood/sf/stats/ "
- name : packetcapture
enabled : true
period : 5s
polycube.api-url : " http://localhost:9000/polycube/v1/packetcapture/pc "
Крайне важно, чтобы два работающих входа НЕ имели одинаковых
name
. Если одно и то жеname
, принимается только первое; в то время как другие отбрасываются.
Если enabled
параметр имеет значение true
, определенный входной куб периодически взаимодействует с конкретным кубом Polycube каждый интервал времени, определенный в period
отправляя HTTP-запрос к URL-адресу, определенному в polycube.api-url
.
Если куб недоступен или при получении данных возникла ошибка,
cubebeat
продолжит работу, пытаясь установить новое соединение через период времени, определенный вperiod
.
Каждый period
времени конкретный вход куба отправляет новое событие Elastic
на выход, как определено в файле cubebeat.yml
Вы можете настроить cubebeat
для динамической перезагрузки внешних файлов конфигурации при наличии изменений. Эта функция доступна для входных конфигураций, которые загружаются как внешние файлы конфигурации. Эту функцию нельзя использовать для перезагрузки основного файла конфигурации cubebeat.yml
.
Чтобы настроить эту функцию, вы указываете path
(Glob) для отслеживания изменений конфигурации. Когда файлы, найденные с помощью Glob, изменяются, новые входы запускаются и останавливаются в соответствии с изменениями в файлах конфигурации.
Эта функция особенно полезна в контейнерных средах, где один контейнер используется для отслеживания журналов служб, работающих в других контейнерах на том же хосте.
Чтобы включить динамическую перезагрузку конфигурации, вы указываете path
и параметры reload
в разделе cubebeat.config.inputs
. Например:
cubebeat :
config.inputs :
path : config/*.yml
reload :
enabled : true
period : 10s
Вариант | Описание |
---|---|
path | Glob, определяющий файлы для проверки изменений. |
reload.enabled | Если установлено значение true, включается динамическая перезагрузка конфигурации. |
reload.period | Указывает, как часто файлы проверяются на наличие изменений. Не устанавливайте period менее 1s , поскольку время изменения файлов часто хранится в секундах.Установка period менее 1s с приведет к ненужным накладным расходам . |
В системах с правами доступа к файлам
POSIX
все файлы конфигурации подлежат проверке владения и прав доступа к файлам.
Дополнительную информацию см. в разделе «Владение файлом конфигурации и разрешения» в справочнике по платформе Beats .