Cách push metrics lên Bizfly Cloud Observability
Bizfly Cloud Observability dùng service Mimir để quản lý metrics, service này tương thích được với Prometheus Remote Write protocol nên bạn có thể push metrics bằng bất cứ agent nào có hỗ trợ Prometheus Remote Write protocol, chẳng hạn như Grafana Alloy, vector, Fluentbit…
Dưới đây là các bước và ví dụ cấu hình của một số agent để thu thập metrics từ 127.0.0.1:8000/metrics
rồi push metrics lên Bizfly Cloud Observability.
Bước 1. Chuẩn bị
Để push logs lên service Mimir của Bizfly Cloud Observability bạn cần có endpoint và bearer token để authen khi push metrics.
- 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.
Bước 2. Cấu hình agent push metrics
Ví dụ một số agent
Grafana agent(Flow mode)
Install
Tham khảo các cách install Grafana agent tại đây
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"
}
}
Run (Standalone)
Grafana-agent run config.river
Grafana Alloy
Install
Tham khảo các cách install Grafana Alloy tại đây
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"
}
}
Run (Standalone)
alloy run config.alloy
Vector
Cấu hình
Tạo file vector.yaml và paste nội dung config sau:
sources:
source_prometheus_scape:
type: prometheus_scrape
endpoints:
- http://127.0.0.1:8000/metrics
sinks:
prometheus_sink:
type: prometheus_remote_write
inputs:
- source_prometheus_scape
endpoint: https://obs-xxxxxxxx-xxxx-xxxx-xxxx.obs.bfcplatform.vn/api/v1/push
auth:
strategy: "bearer"
token: "YOUR_METRICS_TOKEN"
healthcheck:
enabled: false
Run
docker run -d -v $PWD/vector.yaml:/etc/vector/vector.yaml:ro -v /log/gdnsd.log:/log/gdnsd.log -p 8686:8686 --name vector --network host timberio/vector:0.39.0-debian
Fluentbit
Cấu hình
Tạo file config.conf và paste nội dung config sau:
[INPUT]
name prometheus_scrape
host 127.0.0.1
port 8000
tag node_metrics
metrics_path /metrics
scrape_interval 2
[OUTPUT]
Name prometheus_remote_write
Match node_metrics
Host obs-xxxxxxxx-xxxx-xxxx-xxxx.obs.bfcplatform.vn
Port 443
Uri /api/v1/push
header Authorization Bearer YOUR_METRICS_TOKEN
Log_response_payload True
Tls On
Tls.verify On
# add user-defined labels
add_label app fluent-bit
add_label color blue
Run
docker run -d -v $YOUR_FOLDER/:/config -v /log/gdnsd.log:/log/gdnsd.log --name fluentbit --network host cr.fluentbit.io/fluent/fluent-bit --config=/config/fluentbit-config.conf
Bước 3. Xem kết quả trên Grafana dashboard
Truy cập dashboard rồi chọn Explore, nếu chưa biết cách truy cập dashboard bạn có thể tham khảo hướng dẫn này
Chọn Mimir datasource
Nhập metric muốn filter rồi click Run query
Kết quả đã thấy metrics được push lên mimir