Grafana Alloy

Grafana Alloy 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 logs.

Push logs

Dưới đây là cấu hình minh họa cho Grafana Alloy để 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.alloy 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)

alloy run config.alloy

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 Alloy để 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.alloy 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)

alloy run config.alloy

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 Alloy để 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.alloy 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 = "https://obs-30199fb2-e61f-441a-b7ce.staging.obs.bfcplatform.vn"
        auth     = otelcol.auth.bearer.token.handler
    }
  }

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

Bước 2: Run (Standalone)

alloy run config.alloy

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