Об этом проекте

Hubble — это полностью распределённая платформа наблюдаемости сетей и безопасности для облачных нативных рабочих нагрузок, построенная поверх Cilium и eBPF. Она обеспечивает глубокую видимость взаимодействия и поведения сервисов, а также сетевой инфраструктуры без необходимости изменять приложения. Ключевые возможности, описанные в README: - Построение карты зависимостей и взаимодействия сервисов: показывает, какие сервисы взаимодействуют, как часто, и формирует граф зависимостей сервисов. Может выявлять HTTP-вызовы и потребление/производство топиков Kafka. - Операционный мониторинг и оповещения: помогает определить, терпит ли сетевое взаимодействие сбой и почему, включая проблемы DNS, различие между проблемами приложения и сети, а также то, происходят ли сбои на уровне 4 (TCP) или уровне 7 (HTTP). Может сообщать о проблемах разрешения DNS, прерванных или завершившихся по тайм-ауту TCP-соединениях и частоте неотвеченных TCP SYN-запросов. - Мониторинг приложений: отслеживает частоту ответов HTTP 4xx/5xx для сервиса или между кластерами и сообщает процентили задержки (95-й и 99-й) между запросами и ответами, включая задержку между двумя сервисами. - Наблюдаемость безопасности: выявляет соединения, заблокированные сетевой политикой, сервисы, к которым обращаются извне кластера, и то, какие сервисы разрешили конкретное DNS-имя. Проект использует eBPF для программируемой, динамической видимости, которая стремится минимизировать накладные расходы, обеспечивая при этом детальную информацию там, где это необходимо. В README отмечается, что Hubble CLI обратно совместим со всеми поддерживаемыми выпусками Cilium и что поддерживается только последняя версия CLI. Стабильность компонентов описана следующим образом: Hubble CLI, Hubble Server и Hubble Metrics помечены как Stable; Hubble Relay — Stable; Hubble UI — Beta. Среди выделенных возможностей — автоматическое построение графа зависимостей сервисов без дополнительных усилий на уровнях L3/L4 и L7 с визуализацией Service Map, метрики и мониторинг сетевого поведения, наблюдение сетевых политик, частота и задержка HTTP-запросов/ответов, а также мониторинг DNS-запросов/ответов. Видимость потоков охватывает отдельные TCP-соединения, DNS-запросы, HTTP-запросы, взаимодействие Kafka и многое другое. В README также описаны фильтры необработанных потоков с семантикой allowlist и denylist, JSON-кодированные FlowFilters, переменные окружения HUBBLE_ALLOWLIST и HUBBLE_DENYLIST, а также флаги --print-raw-filters и --config для сохранения и повторного использования конфигураций фильтров. Hubble — это открытый проект под лицензией Apache 2.0, следующий правилам управления проекта Cilium, с поддержкой сообщества через канал #hubble в Cilium Slack.