eBPF для контейнеров в Kubernetes. Возможности:1. Сетевой мониторинг (Network Tracing)
• Отслеживание
TCP: мониторинг задержек (RTT) и ошибок соединений, анализ переповторов (retransmissions), отслеживание состояний соединений (SYN, ESTABLISHED, FIN) и ошибок сетевых устройств.• Мониторинг
UDP: отслеживание операций отправки и получения данных с метриками задержки и пропускной способности.• Анализ полосы пропускания: мониторинг объема переданных байт для операций
TCP/UDP.2. Мониторинг уровня приложения (Application Layer)
•
HTTP и DNS: отслеживание HTTP-запросов/ответов через uprobes и мониторинг DNS-запросов с фиксацией задержек и ошибок.• Базы данных: трассировка запросов
PostgreSQL и MySQL с извлечением паттернов запросов и анализом времени их выполнения.•
TLS/SSL и пулы: мониторинг рукопожатий TLS/SSL, а также отслеживание использования пулов соединений (истощение, повторное использование).3. Файловая система и системные события
• Операции с файлами: отслеживание операций чтения/записи
• Память: мониторинг ошибок страниц (
page faults) и обнаружение завершения процессов из-за нехватки памяти (OOM Kill)• Системные вызовы (
Syscalls): отслеживание жизненного цикла процессов через execve, fork, open и т.д.4. Производительность системы
•
CPU и планировщик: мониторинг блокировок потоков, событий планирования и потребления CPU конкретными процессами.• Стеки вызовов (
Stack Traces): захват стеков вызовов в пользовательском пространстве для медленных операций (I/O, DNS, блокировки CPU), превышающих заданные пороги.• Конкуренция блокировок: отслеживание ожидания
futex и pthread mutex для идентификации «горячих» блокировок.5. Распределенная трассировка (`Distributed Tracing`)
• Извлечение контекста: автоматическое извлечение данных трассировки из заголовков HTTP/HTTP2 и метаданных gRPC.
• Графы потоков: построение направленных графов взаимодействия сервисов с метриками задержек и ошибок.
• Экспорт данных: поддержка
OpenTelemetry (OTLP), Jaeger и Splunk HEC.6. Диагностика и оповещения
• Режим диагностики (
Diagnose Mode): сбор событий за определенный период • Алерты:
Slack, webhook или Splunk• Интеграция с
Prometheus и Grafana
