Thứ Tư, 10 tháng 9, 2025

Bài 7: Monitoring & Logging với Prometheus + Grafana + Loki

1. Vì sao DevOps cần Monitoring & Logging?

  • Monitoring (giám sát): giúp theo dõi CPU, RAM, Disk, Network, DB, API.

  • Logging (ghi log): giúp phát hiện lỗi, tìm nguyên nhân, audit hệ thống.

  • Công cụ phổ biến:

    • Prometheus → thu thập metrics.

    • Grafana → hiển thị dashboard.

    • Loki → lưu trữ log (nhẹ hơn ELK).

    • Promtail → agent thu thập log gửi về Loki.

2. Cài Prometheus

Ubuntu / Debian

sudo useradd --no-create-home --shell /bin/false prometheus sudo mkdir /etc/prometheus /var/lib/prometheus wget https://github.com/prometheus/prometheus/releases/download/v2.45.0/prometheus-2.45.0.linux-amd64.tar.gz tar xvf prometheus-2.45.0.linux-amd64.tar.gz cd prometheus-2.45.0.linux-amd64 sudo cp prometheus promtool /usr/local/bin/ sudo cp -r consoles/ console_libraries/ /etc/prometheus/

RHEL / CentOS / Oracle Linux

sudo useradd --no-create-home --shell /bin/false prometheus sudo mkdir /etc/prometheus /var/lib/prometheus wget https://github.com/prometheus/prometheus/releases/download/v2.45.0/prometheus-2.45.0.linux-amd64.tar.gz tar xvf prometheus-2.45.0.linux-amd64.tar.gz cd prometheus-2.45.0.linux-amd64 sudo cp prometheus promtool /usr/local/bin/ sudo cp -r consoles/ console_libraries/ /etc/prometheus/

Cấu hình Prometheus

File /etc/prometheus/prometheus.yml:

global: scrape_interval: 15s scrape_configs: - job_name: "prometheus" static_configs: - targets: ["localhost:9090"]

Chạy Prometheus:

prometheus --config.file=/etc/prometheus/prometheus.yml

👉 Truy cập: http://<server_ip>:9090


3. Cài Grafana

Ubuntu / Debian

sudo apt-get install -y apt-transport-https software-properties-common sudo apt-get install -y grafana sudo systemctl enable --now grafana-server

RHEL / CentOS / Oracle Linux

sudo tee /etc/yum.repos.d/grafana.repo<<EOF [grafana] name=grafana baseurl=https://packages.grafana.com/oss/rpm repo_gpgcheck=1 enabled=1 gpgcheck=1 gpgkey=https://packages.grafana.com/gpg.key EOF sudo dnf install -y grafana sudo systemctl enable --now grafana-server

👉 Truy cập Grafana: http://<server_ip>:3000 (user/pass mặc định: admin/admin).


4. Cài Loki

Ubuntu / Debian

wget https://github.com/grafana/loki/releases/download/v2.9.0/loki-linux-amd64.zip unzip loki-linux-amd64.zip chmod +x loki-linux-amd64 sudo mv loki-linux-amd64 /usr/local/bin/loki

RHEL / CentOS / Oracle Linux

wget https://github.com/grafana/loki/releases/download/v2.9.0/loki-linux-amd64.zip unzip loki-linux-amd64.zip chmod +x loki-linux-amd64 sudo mv loki-linux-amd64 /usr/local/bin/loki

Cấu hình loki-config.yml:

auth_enabled: false server: http_listen_port: 3100 ingester: lifecycler: ring: kvstore: store: inmemory replication_factor: 1 chunk_idle_period: 5m chunk_retain_period: 30s

Chạy Loki:

loki -config.file=loki-config.yml

5. Cài Promtail

Ubuntu / Debian

wget https://github.com/grafana/loki/releases/download/v2.9.0/promtail-linux-amd64.zip unzip promtail-linux-amd64.zip chmod +x promtail-linux-amd64 sudo mv promtail-linux-amd64 /usr/local/bin/promtail

RHEL / CentOS / Oracle Linux

wget https://github.com/grafana/loki/releases/download/v2.9.0/promtail-linux-amd64.zip unzip promtail-linux-amd64.zip chmod +x promtail-linux-amd64 sudo mv promtail-linux-amd64 /usr/local/bin/promtail

Cấu hình promtail-config.yml:

server: http_listen_port: 9080 grpc_listen_port: 0 positions: filename: /tmp/positions.yaml clients: - url: http://localhost:3100/loki/api/v1/push scrape_configs: - job_name: system static_configs: - targets: - localhost labels: job: varlogs __path__: /var/log/*.log

Chạy Promtail:

promtail -config.file=promtail-config.yml

6. Kết nối Grafana với Prometheus & Loki

  1. Vào Grafana → Configuration → Data Sources.

  2. Thêm Prometheus: http://localhost:9090.

  3. Thêm Loki: http://localhost:3100.

  4. Vào Dashboards → tạo biểu đồ CPU, RAM, log.


7. Bài tập thực hành + Lời giải


🔹 Bài tập 1: Alert CPU > 80% trong Prometheus

Yêu cầu: Tạo rule cảnh báo nếu CPU > 80%.

Lời giải alert.rules.yml:

groups: - name: example rules: - alert: HighCPUUsage expr: 100 - (avg by(instance)(irate(node_cpu_seconds_total{mode="idle"}[5m])) * 100) > 80 for: 2m labels: severity: warning annotations: summary: "High CPU usage" description: "CPU > 80% for 2 minutes"

👉 Khi CPU cao, Prometheus sẽ sinh cảnh báo → gửi Alertmanager → Email/Zalo/Slack.


🔹 Bài tập 2: Truy vấn log lỗi trong Loki

Yêu cầu: Lấy tất cả log có chứa "error" từ /var/log/syslog.

Lời giải (Grafana Explore → chọn Loki):

{job="varlogs"} |= "error"

👉 Kết quả mẫu:

Sep 09 11:30:15 server1 sshd[3001]: error: PAM: Authentication failure

🔹 Bài tập 3: Dashboard cơ bản trong Grafana

Yêu cầu: Tạo dashboard hiển thị CPU, RAM, Disk.

Lời giải:

  • CPU: query Prometheus → 100 - (avg by(instance)(irate(node_cpu_seconds_total{mode="idle"}[5m])) * 100)

  • RAM: query → node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes * 100

  • Disk: query → node_filesystem_avail_bytes{mountpoint="/"} / node_filesystem_size_bytes{mountpoint="/"} * 100

👉 Kết quả: Dashboard trực quan, có cảnh báo khi vượt ngưỡng.


✅ Sau Bài 7, bạn đã biết:

  • Cài Prometheus, Grafana, Loki, Promtail.

  • Kết nối Prometheus + Grafana để giám sát.

  • Kết nối Loki để phân tích log.

  • Tạo cảnh báo và dashboard cơ bản.

=============================
Website không chứa bất kỳ quảng cáo nào, mọi đóng góp để duy trì phát triển cho website (donation) xin vui lòng gửi về STK 90.2142.8888 - Ngân hàng Vietcombank Thăng Long - TRAN VAN BINH
=============================
Nếu bạn không muốn bị AI thay thế và tiết kiệm 3-5 NĂM trên con đường trở thành DBA chuyên nghiệp hay làm chủ Database thì hãy đăng ký ngay KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE, được Coaching trực tiếp từ tôi với toàn bộ bí kíp thực chiến, thủ tục, quy trình của gần 20 năm kinh nghiệm (mà bạn sẽ KHÔNG THỂ tìm kiếm trên Internet/Google) từ đó giúp bạn dễ dàng quản trị mọi hệ thống Core tại Việt Nam và trên thế giới, đỗ OCP.
- CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
- Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
2 khóa học online qua video giúp bạn nhanh chóng có những kiến thức nền tảng về Linux, Oracle, học mọi nơi, chỉ cần có Internet/4G:
- Oracle cơ bản: https://bit.ly/admin_1200
- Linux: https://bit.ly/linux_1200
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

=============================
cơ sở dữ liệu, cơ sở dữ liệu quốc gia, database, AI, trí tuệ nhân tạo, artificial intelligence, machine learning, deep learning, LLM, ChatGPT, DeepSeek, Grok, oracle tutorial, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,sql tutorial, khóa học pl/sql tutorial, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c/21c/23c/23ai, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, ms sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, docker, k8s, micro service, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master