Grafana Agent (Flow mode)

Grafana Agent là agent có thể thu thập và push logs, metrics, traces lên Bizfly Cloud Observability.

Chuẩn bị

Để push logs, metrics, traces lên Bizfly Cloud Observability bạn cần có endpoint và bearer token để authen khi push.

Push logs

Dưới đây là cấu hình minh họa cho Grafana Agent để thu thập log từ file /log/gdnsd.log rồi push logs lên service Loki của Bizfly Cloud Observability.

Bước 1: Cấu hình

Tạo file config.river và paste nội dung config sau:

   local.file_match "local_files" {
      path_targets = [{"__path__" = "/log/gdnsd.log"}]
      sync_period = "5s"
  }
  loki.source.file "log_scrape" {
      targets    = local.file_match.local_files.targets
      forward_to = [loki.write.grafana_loki.receiver]
      tail_from_end = true
  }
  loki.write "grafana_loki" {
    endpoint {
      url = "https://obs-xxxxxxxx-xxxx-xxxx-xxxx.obs.bfcplatform.vn/loki/api/v1/push"
      bearer_token = "YOUR_LOGS_TOKEN"
    }

Bước 2: Run (Standalone)

grafana-agent run config.river

Bước 3. Xem kết quả trên Grafana dashboard

Để xem kết quả push logs trên Grafana dashboard của Bizfly Cloud Observability. Bạn có thể tham khảo hướng dẫn sau

Push metrics

Dưới đây là các bước và ví dụ cấu hình Grafana agent để thu thập metrics từ 127.0.0.1:8000/metrics rồi push metrics lên service Mimir của Bizfly Cloud Observability.

Bước 1: Cấu hình

Tạo file config.river và paste nội dung config sau:

  prometheus.scrape "log_exporter" {

    targets = [{
      __address__ = "127.0.0.1:8000",
    }]


    forward_to = [prometheus.remote_write.mimir.receiver]
  }


  prometheus.remote_write "mimir" {
  endpoint {
      url = "https://obs-xxxxxxxx-xxxx-xxxx-xxxx.obs.bfcplatform.vn/api/v1/push"
      bearer_token = "YOUR_METRICS_TOKEN"
      }
  }

Bước 2: Run (Standalone)

grafana-agent run config.river

Bước 3. Xem kết quả trên Grafana dashboard

Để xem kết quả push metrics trên Grafana dashboard của Bizfly Cloud Observability. Bạn có thể tham khảo hướng dẫn sau

Push traces

Dưới đây là các bước và ví dụ cấu hình Grafana agent để thu thập traces từ 1 application đã tích hợp opentelemetry (có thể thu thập thêm cả metrics, logs) nếu application có tạo ra.

Bước 1: Cấu hình

Tạo file config.river và paste nội dung config sau:

loki.write "grafana_loki" {
  endpoint {
    url = "https://obs-xxxxxxxx-xxxx-xxxx-xxxx.obs.bfcplatform.vn/loki/api/v1/push"
    bearer_token = "YOUR_LOGS_TOKEN"
  }
}
prometheus.remote_write "mimir" {
  endpoint {
    url = "https://obs-xxxxxxxx-xxxx-xxxx-xxxx.obs.bfcplatform.vn/api/v1/push"
    bearer_token = "YOUR_METRICS_TOKEN"
    }
  }

otelcol.receiver.otlp "example" {
  grpc {
    endpoint = "127.0.0.1:4317"
  }


  http {
    endpoint = "127.0.0.1:4318"
  }


  output {
    metrics = [otelcol.processor.batch.example.input]
    logs    = [otelcol.processor.batch.example.input]
    traces  = [otelcol.processor.batch.example.input]
  }
}


otelcol.processor.batch "example" {
  output {
    metrics = [otelcol.exporter.prometheus.oltp_mimir.input]
    logs    = [otelcol.exporter.loki.oltp_loki.input]
    traces  = [otelcol.exporter.otlp.oltp_tempo_grpc.input]
  }
}


otelcol.exporter.loki "oltp_loki" {
  forward_to = [loki.write.grafana_loki.receiver]
  }


otelcol.exporter.prometheus "oltp_mimir" {
    forward_to = [prometheus.remote_write.mimir.receiver]
}


otelcol.exporter.otlp "oltp_tempo_grpc" {
  client {
    endpoint = "obs-xxxxxxxx-xxxx-xxxx-xxxx.obs.bfcplatform.vn:443"
    auth     = otelcol.auth.bearer.token.handler
  }
}


otelcol.auth.bearer "token" {
  token = "YOUR_TRACES_TOKEN"
}

Bước 2: Run (Standalone)

grafana-agent run config.river

Bước 3. Xem kết quả trên Grafana dashboard

Để xem kết quả push traces trên Grafana dashboard của Bizfly Cloud Observability. Bạn có thể tham khảo hướng dẫn sau