
Cập nhật lần cuối: 23/01/2026 17:00
Tài liệu hướng dẫn cấu hình Alloy để thu thập Metrics từ ứng dụng MongoDB
Thực hiện cài đặt Alloy Agent trên máy chủ Linux bằng lệnh sau:
/bin/sh -c "$(curl -fsSL https://s3hn.smartcloud.vn/agent/alloy/linux/releases/v1.8.3/install-linux.sh)"use admin
db.createUser({
user: "mongodb-exporter",
pwd: "password_mongodb",
roles: [
{ role: "clusterMonitor", db: "admin" }
]
})Thay các trường trong cấu hình trên, trong đó:
| Trường | Ý nghĩa | Giá trị mẫu |
| mongodb-exporter | User name mongodb | mongodb-exporter |
| password | Password user mongodb | vnpt2o26MongoDB |
Lưu ý
Tại đường dẫn /etc/alloy/config.alloy, chỉnh sửa cấu hình Alloy để tích hợp thu thập dữ liệu MySQL:
sudo vi /etc/alloy/config.alloy| Trường | Ý nghĩa | Giá trị mẫu |
| url | Endpoint của dịch vụ APM trên giao diện Console | https://metrics-0qcs3dsvvva.apm.vnptplatform.vn/api/v1/push |
| Authorization | Token của dịch vụ APM trên giao diện Console | a5130b91-ff9b-41ef-8722-9d923a574123 |
| mongodb-exporter | Tên user đã tạo ở mục I | mongodb-exporter |
| password_mongodb | Password của user đã tạo | bXlzcWxwYXNzd29yZA== |
| HOST_IP | IP của VM đang chạy MongoDB | 10.168.17.30 |
Thay các trường trong cấu hình sau, trong đó:
prometheus.remote_write "metrics_integrations_mongodb" {
endpoint {
url = "<endpoint dịch vụ APM>"
headers = {
"Authorization" = "<token dịch vụ APM>",
}
}
}
prometheus.exporter.mongodb "metrics_integrations_mongodb" {
mongodb_uri = "mongodb://mongodb-exporter:password_mongodb@HOST_IP:27017"
direct_connect = true
}
discovery.relabel "metrics_integrations_mongodb" {
targets = prometheus.exporter.mongodb.metrics_integrations_mongodb.targets
rule {
source_labels = ["instance"]
regex = "([^:]+)(?::[0-9]+)?"
target_label = "instance"
replacement = "$1"
}
}
prometheus.relabel "metrics_integrations_mongodb" {
forward_to = [prometheus.remote_write.metrics_integrations_mongodb.receiver]
rule {
source_labels = ["__name__"]
regex = "up|mongodb_asserts_total|mongodb_connections|mongodb_mongod_wiredtiger_cache_overhead_percent|mongodb_mongod_db_data_size_bytes|mongodb_extra_info_page_faults_total|mongodb_instance_uptime_seconds|mongodb_memory|mongodb_mongod_asserts_total|mongodb_mongod_connections|mongodb_mongod_cursors|mongodb_mongod_extra_info_page_faults_total|mongodb_mongod_global_lock_current_queue|mongodb_mongod_metrics_cursor_open|mongodb_mongod_metrics_cursor_timed_out_total|mongodb_mongod_metrics_document_total|mongodb_mongod_metrics_get_last_error_wtime_num_total|mongodb_mongod_metrics_get_last_error_wtime_total_milliseconds|mongodb_mongod_metrics_get_last_error_wtimeouts_total|mongodb_mongod_metrics_query_executor_total|mongodb_mongod_metrics_record_moves_total|mongodb_mongod_metrics_repl_apply_batches_total_milliseconds|mongodb_mongod_metrics_repl_apply_ops_total|mongodb_mongod_metrics_repl_buffer_count|mongodb_mongod_metrics_repl_network_getmores_total_milliseconds|mongodb_mongod_metrics_repl_preload_docs_num_total|mongodb_mongod_metrics_repl_preload_docs_total_milliseconds|mongodb_mongod_metrics_repl_preload_indexes_num_total|mongodb_mongod_metrics_repl_preload_indexes_total_milliseconds|mongodb_mongod_metrics_ttl_deleted_documents_total|mongodb_mongod_op_counters_repl_total|mongodb_mongod_op_counters_total|mongodb_mongod_op_latencies_latency_total|mongodb_mongod_op_latencies_ops_total|mongodb_mongod_replset_member_election_date|mongodb_mongod_replset_member_last_heartbeat|mongodb_mongod_replset_member_optime_date|mongodb_mongod_replset_member_ping_ms|mongodb_mongod_replset_member_replication_lag|mongodb_mongod_replset_my_name|mongodb_mongod_replset_my_state|mongodb_mongod_replset_number_of_members|mongodb_mongod_replset_oplog_head_timestamp|mongodb_mongod_replset_oplog_tail_timestamp|mongodb_mongos_asserts_total|mongodb_mongos_connections|mongodb_mongos_cursors|mongodb_mongos_db_collections_total|mongodb_mongos_db_data_size_bytes|mongodb_mongos_db_index_size_bytes|mongodb_mongos_db_indexes_total|mongodb_mongos_extra_info_page_faults_total|mongodb_mongos_metrics_cursor_open|mongodb_mongos_metrics_get_last_error_wtime_num_total|mongodb_mongos_metrics_get_last_error_wtime_total_milliseconds|mongodb_mongos_metrics_get_last_error_wtimeouts_total|mongodb_mongos_metrics_ttl_deleted_documents_total|mongodb_mongos_op_counters_repl_total|mongodb_mongos_op_counters_total|mongodb_mongos_sharding_balancer_enabled|mongodb_mongos_sharding_changelog_10min_total|mongodb_mongos_sharding_chunks_is_balanced|mongodb_mongos_sharding_chunks_total|mongodb_mongos_sharding_collections_total|mongodb_mongos_sharding_databases_total|mongodb_mongos_sharding_shard_chunks_total|mongodb_mongos_sharding_shards_draining_total|mongodb_mongos_sharding_shards_total|mongodb_op_counters_repl_total|mongodb_op_counters_total|mongodb_rs_members_pingMs|mongodb_up|mongodb_version_info"
action = "keep"
}
}
prometheus.scrape "metrics_integrations_mongodb" {
targets = discovery.relabel.metrics_integrations_mongodb.output
forward_to = [prometheus.relabel.metrics_integrations_mongodb.receiver]
job_name = "integrations/mongodb"
scrape_interval = "15s"
scrape_timeout = "10s"
}Thực hiện lệnh sau để khởi động Alloy:
sudo systemctl status alloy Thực hiện lệnh sau:
sudo systemctl status alloy Hệ thống trả về như sau nếu thành công:
● alloy.service - Vendor-agnostic OpenTelemetry Collector distribution with programmable pipelines
Loaded: loaded (/lib/systemd/system/alloy.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2025-04-24 18:25:30 +07; 14h ago
Docs: https://grafana.com/docs/alloy
Process: 312064 ExecReload=/usr/bin/env kill -HUP $MAINPID (code=exited, status=0/SUCCESS)
Main PID: 4041003 (alloy)
Tasks: 18 (limit: 9385)
Memory: 80.3M
CPU: 38min 6.739s
CGroup: /system.slice/alloy.service
└─4041003 /usr/bin/alloy run --server.http.listen-addr=0.0.0.0:30000 --storage.path=/var/lib/alloy/data /e>Nếu không thành công, xem log Alloy:
sudo journalctl -u alloy -ex Sau đó chỉnh sửa cấu hình nếu cần và khởi động lại:
sudo systemctl restart alloy Tham khảo hướng dẫn tích hợp dashboard, kiểm tra metrics MongoDB trên giao diện Dashboard:
Một số dashboard mẫu khi tích hợp thành công: