ebpf_exporter
Репозиторий: ebpf_exporter
Документация: Доступна в репозитории (по использованию экспортера и настройке eBPF-программ)
Экспортер для мониторинга системы через eBPF (extended Berkeley Packet Filter). Может быть запущен как процесс или как сервис.
Описание работы
eBPF_exporter собирает низкоуровневые метрики ядра Linux с помощью eBPF-программ.
Это стандартный Prometheus экспортер с HTTP-сервером для отображения метрик.
Он содержит
Эндпойнт /metrics
со стандартными метриками (go, proc, promhttp)
Возможность загрузки пользовательских eBPF-программ
Метрики:
Системных вызовов
Сетевых событий
Производительности ядра
Пользовательских событий
Запуск экспортёра
Возможна настройка через конфигурационный файл агента.
Требуется в ручную скомпилировать eBPF-программ и передать на хост.
Через конфигурационный файл агента
exporters:
- name: ebpf_exporter
start_type: args
args: "--config.file=/etc/ebpf_exporter.yaml"
address: 127.0.0.1:9435
labels:
component: ebpf
hostname: my-hostname-vm
name - должно совпадать с именем бинарного файла (ebpf_exporter)
start_type - тип запуска экспортёра
args - основные аргументы:
address - адрес для проверки здоровья
labels - дополнительные метки:
component - идентификатор компонента
monitoring_type - тип мониторинга
Конфигурационный файл экспортера
Пример конфигурации:
programs:
- name: "syscall_count"
metrics:
counters:
- name: "syscall_total"
help: "Total number of syscalls"
table: "counts"
labels:
- name: "syscall"
size: 8
decoders:
- name: "ksym"
Важно
Для запуска требуются права root, поддержка eBPF в ядре и собранные eBPF-программы, подробнее в примерах запуска.
Проверка работы
После запуска метрики будут доступны по адресу:
Примечание
Замените localhost на IP-адрес хоста с конфигурируемым агентом.