Какие знаешь способы сбора информации с сервисов, кроме Prometheus

«Какие знаешь способы сбора информации с сервисов, кроме Prometheus» — вопрос из категории DevOps, который задают на 23% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

  • StatsD — легковесный протокол для сбора метрик через UDP/TCP.
    import "github.com/cactus/go-statsd-client/statsd"
    client, _ := statsd.NewClient("127.0.0.1:8125", "prefix")
    client.Inc("requests", 1, 1.0)
  • OpenTelemetry — универсальный инструмент для сбора метрик, трейсов и логов. Поддерживает экспорт в разные бэкенды.
    import "go.opentelemetry.io/otel/exporters/prometheus"
    exporter, _ := prometheus.New()
  • InfluxDB — временные ряды с SQL-like запросами. Есть клиент для Go.
    import "github.com/influxdata/influxdb-client-go/v2"
    client := influxdb2.NewClient("http://localhost:8086", "token")
  • Grafana Agent — сбор и агрегация метрик с возможностью отправки в Prometheus/Loki.

  • ELK Stack (Elasticsearch, Logstash, Kibana) — для логов и их визуализации.

  • Zabbix — мониторинг с триггерами и гибкими оповещениями.

  • Datadog/New Relic — SaaS-решения с агентами для сбора метрик и APM.

Короткие паузы между отправкой данных (StatsD) или push/pull модели (Prometheus) — ключевые различия.