Tài liệu này hướng dẫn cấu hình Alloy để thu thập Metrics, Logs từ ứng dụng Oracle

1. Chuẩn bị

-- Tạo User có tên "grafanau"
CREATE USER grafanau IDENTIFIED BY <YOUR-PASSWORD>;
-- Cấp quyền cho User "grafanau"
GRANT CONNECT TO grafanau;
GRANT SELECT ON SYS.GV_$RESOURCE_LIMIT TO grafanau;
GRANT SELECT ON SYS.V_$SESSION TO grafanau;
GRANT SELECT ON SYS.V_$WAITCLASSMETRIC TO grafanau;
GRANT SELECT ON SYS.GV_$PROCESS TO grafanau;
GRANT SELECT ON SYS.GV_$SYSSTAT TO grafanau;
GRANT SELECT ON SYS.V_$DATAFILE TO grafanau;
GRANT SELECT ON SYS.V_$ASM_DISKGROUP_STAT TO grafanau;
GRANT SELECT ON SYS.V_$SYSTEM_WAIT_CLASS TO grafanau;
GRANT SELECT ON SYS.DBA_TABLESPACE_USAGE_METRICS TO grafanau;
GRANT SELECT ON SYS.DBA_TABLESPACES TO grafanau;
GRANT SELECT ON SYS.GLOBAL_NAME TO grafanau;

Lưu ý: Sau khi cấp quyền xong, cần thoát khỏi database và đăng nhập lại bằng user “grafanau” vừa tạo ở trên.

2. Cấu hình tích hợp

Tại đường dẫn /etc/alloy/config.alloy, chỉnh sửa Alloy để tích hợp Oracle:

sudo vi /etc/alloy/config.alloy

2.1 Thu thập Metrics ứng dụng

TrườngÝ nghĩaGiá trị mẫu
urlEndpoint của dịch vụ APM trên giao diện Consolehttps://metrics-0qcs3dsvvva.apm.vnptplatform.vn/api/v1/push
AuthorizationToken của dịch vụ APM trên giao diện Consolea5130b91-ff9b-41ef-8722-9d923a574123
tenantTên dịch vụ APMTenant-IDC
userTên user Oracle đã tạografanau
passwordMật khẩu user Oracleabcxyz
IPIP của VM cài đặt Oracle10.168.17.30
serviceTên PDBXEPDB1

 

Thay các trường ở file cấu hình trên, trong đó:

logging {
 level  = "warn"
 format = "logfmt"
}
prometheus.remote_write "metrics_integrations_oracle" {
 endpoint {
   url = "<endpoint dịch vụ APM>"
   headers = {
     Authorization = "<token dịch vụ APM>",
   }
 }
 external_labels = {
   tenant = "<tên dịch vụ APM>",
 }
}
prometheus.exporter.oracledb "metrics_integrations_oracle" {
 connection_string = "oracle://user:password@IP:1521/service"
}
discovery.relabel "metrics_integrations_oracle" {
 targets = prometheus.exporter.oracledb.metrics_integrations_oracle.targets
 rule {
   source_labels = ["instance"]
   regex         = "([^:]+)(?::[0-9]+)?"
   target_label  = "instance"
   replacement   = "$1"
 }
 rule {
   target_label = "job"
   replacement  = "integrations/oracledb"
 }
}
prometheus.scrape "metrics_integrations_oracle" {
 targets         = discovery.relabel.metrics_integrations_oracle.output
 forward_to      = [prometheus.remote_write.metrics_integrations_oracle.receiver]
 job_name        = "integrations/oracledb"
 scrape_interval = "5m0s"
 scrape_timeout  = "1m0s"
}

3. Cài đặt

Thực hiện lệnh sau để khởi động Alloy:

sudo systemctl start alloy

4. Kiểm tra

4.1 Kiểm tra dịch vụ

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 08:56:32 +07; 2s ago
      Docs: https://grafana.com/docs/alloy
  Main PID: 3815363 (alloy)
     Tasks: 13 (limit: 9385)
    Memory: 54.9M
       CPU: 583ms
    CGroup: /system.slice/alloy.service
            └─3815363 /usr/bin/alloy run --server.http.listen-addr=0.0.0.0:30000 --storage.path=/var/lib/alloy/data /etc/alloy/config.alloy

Nếu không thành công, xem log Alloy:

sudo journalctl -u alloy

Sau đó chỉnh sửa cấu hình nếu cần và khởi động lại:

sudo systemctl restart alloy

4.2 Kiểm tra tích hợp

Tham khảo hướng dẫn tích hợp dashboard, kiểm tra metrics Oracle trên giao diện Dashboard: