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.
- Bạn có thể có token bằng cách tạo hoặc reset token.
- Để lấy endpoint cho việc push logs, bạn có thể tham khảo hướng dẫn sau.
- Đã tạo Grafana user và có thể truy cập Grafana dashboard.
- Đã cài đặt Grafana Alloy
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