Перейти к основному содержимому

Наблюдаемость

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

Поддерживаемые функции

Общая схема применения

Обычно в 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-инфраструктуру.