Наблюдаемость
Netgap предоставляет набор функций наблюдаемости, которые помогают контролировать работу gateway, executor и связанных с ними компонентов: события, аудит, распределенную трассировку, метрики, проверку готовности и выгрузку событий в SIEM.
Примеры ниже показывают фрагменты YAML-конфигурации. Как передать такую конфигурацию в компонент Netgap при запуске, описано в статье Конфигурирование приложения.
Все функции настраиваются в секции observability конфигурационного файла приложения. Общие поля секции:
| Поле | Назначение |
|---|---|
service_name | Имя сервиса Netgap для логов и внешних систем наблюдаемости. Минимальная длина — 5 символов. |
labels | Дополнительные метки, которые добавляются к поддерживаемым направлениям доставки, например к Loki. |
event_targets | Список целей для технологических и audit-событий. Минимум одна цель обязательна. |
tracing | Настройки распределенной трассировки. Если секция отсутствует, экспорт спанов не включается. |
metrics | Настройки HTTP endpoint для метрик Prometheus. Если секция отсутствует, endpoint метрик не запускается. |
health | Настройки HTTP endpoint проверки готовности. |
siem | Настройки отправки событий в SIEM по UDP. |
Минимальный пример:
observability:
service_name: netgap-gateway
event_targets:
- level: info
target_id: Tech
target_destination: Console
target_args: ""
format: ColorizedANSI
Поддерживаемые функции
- События (
event) — технологические и audit-логи в консоль, файл или Loki. - Трассировка (
tracing) — OpenTelemetry-спаны с доставкой в Jaeger/OTLP endpoint. - Метрики (
metrics) — HTTP endpoint/metricsв формате Prometheus; для Grafana поставляется готовый дашборд метрик. - Проверка готовности (
health) — HTTP endpoint/healthдля оркестраторов и балансировщиков. - SIEM (
siem) — отправка выбранных типов событий в SIEM или syslog-совместимый приемник по UDP.
Общая схема применения
Обычно в production включают несколько функций одновременно:
observability:
service_name: netgap-gateway
labels:
env: production
app: netgap
event_targets:
- level: info
target_id: Tech
target_destination: Loki
target_args: http://loki.example.local:3100
format: Json
- level: info
target_id: Audit
target_destination: File
target_args: /var/log/netgap/audit.log
format: Json
tracing:
destination: Jaeger
destination_args: http://otel-collector.example.local:4317
service_name: netgap-gateway
metrics:
destination: Prometheus
destination_args: 0.0.0.0:9090
service_name: netgap-gateway
health:
enabled: true
bind_ip: 0.0.0.0
port: 8080
siem:
endpoint: 192.0.2.10:514
log_types: [Audit]
level: info
Такая конфигурация позволяет:
- видеть техническое состояние приложения по логам, метрикам и readiness endpoint;
- расследовать отдельные запросы через трассировку;
- выгружать audit-события в внешнюю систему мониторинга безопасности;
- связывать данные в разных системах по имени сервиса и меткам окружения.
Конечный пользователь должен заранее подготовить приемники данных: Loki, Jaeger или OpenTelemetry Collector, Prometheus, Grafana и SIEM/syslog-инфраструктуру.