DevOps AI
  • Home
  • Bảo mật
  • AI & Automation
  • DevOps & Cloud
  • Bộ đề luyện thi cloud
No Result
View All Result
DevOpsAI
  • Home
  • Bảo mật
  • AI & Automation
  • DevOps & Cloud
  • Bộ đề luyện thi cloud
No Result
View All Result
DevOpsAI
No Result
View All Result
Home DevOps & Cloud

Cài đặt Grafana – Loki – Promtail monitoring log Container

Hiếu Tạ by Hiếu Tạ
1 Tháng 5, 2025
in DevOps & Cloud
0
Cài đặt Grafana – Loki – Promtail monitoring log Container
Share on FacebookShare on Twitter

Trong bài này chúng ta sẽ được giới thiệu concept của việc trace log của các container thông qua bộ tool grafana-loki-promtail

Workflow của lab

Chuẩn bị container

Bạn có thể pull image từ dockerhub và run https://hub.docker.com/_/adminer/

Để ý lúc này CONTAINER_ID của mình là 4a2831508945, vậy là xong phần chuẩn bị

Cài đặt Promtail

Download version promtail

cd /usr/local/bin

Related Post

DevOpsify Check Tool – Công cụ dòng lệnh đa năng cho DevOps, IT và lập trình viên

DevOpsify Check Tool – Công cụ dòng lệnh đa năng cho DevOps, IT và lập trình viên

7 Tháng 6, 2025
Đổi MTU cho Calico trong Kubernetes

Đổi MTU cho Calico trong Kubernetes

30 Tháng 4, 2025

Tắt NLA trên Amazon EC2 Windows instance

30 Tháng 4, 2025

Demo Tích Hợp Vault trong Kubernetes

30 Tháng 4, 2025

curl -O -L "https://github.com/grafana/loki/releases/download/v2.4.1/promtail-linux-amd64.zip"

unzip "promtail-linux-amd64.zip"

Và cho phép quyền execute của Promtail binary

sudo chmod a+x "promtail-linux-amd64"

Kết quả được như hình

Tạo Promtail config

Đầu tiên tạo ra file Promtail config.

sudo nano promtail-local-config.yaml

Và copy paste nội dung này vào

server:
  http_listen_port: 9080
  grpc_listen_port: 0
positions:
  filename: /tmp/positions.yaml
clients:
  - url: 'http://10.121.46.41:8100/loki/api/v1/push'
scrape_configs:
  - job_name: system
    static_configs:
      - targets:
          - localhost
        labels:
          job: varlogs
          __path__: /var/log/*log
  - job_name: recargar_test
    static_configs:
      - targets:
          - localhost
        labels:
          job: recargar_test
          __path__: /var/lib/docker/containers/4a2831508945*/4a2831508945*.log
  - job_name: nginx
    static_configs:
      - targets:
          - localhost
        labels:
          job: nginx
          __path__: /var/lib/docker/containers/9f4846d87247*/9f4846d87247*.log

Trước đó chúng ta sẽ tạo sẵn 1 container Promtail sẽ đọc log ở container, để ý 4a2831508945 là CONTAINER_ID đã được chuẩn bị từ phần I ở trên.

Configure Promtail chạy dưới dạng Service

Bây giờ chúng tasẽ định cấu hình Promtail như một dịch vụ để chúng tacó thể giữ cho nó chạy trong nền.

Step 1: Tạo người dùng cụ thể cho dịch vụ Promtail

sudo useradd --system promtail

Step 2: Tạo một file tên là promtail.service

sudo nano /etc/systemd/system/promtail.service

Step 3: Copy nội dung sau vào file trên

[Unit]
Description=Promtail service
After=network.target
[Service]
Type=simple
User=root
ExecStart=/usr/local/bin/promtail-linux-amd64 -config.file /usr/local/bin/promtail-local-config.yaml
[Install]
WantedBy=multi-user.target

Step 4: Để start và kiểm tra tình trạng của nó, sử dụng 2 lệnh sau

sudo service promtail start sudo service promtail status

Bây giờ, vì ta dùng Promtail để đọc các tệp nhật ký hệ thống, container nên người dùng promtail sẽ không có quyền đọc chúng. Vì vậy ta cần add user promtail to the adm group

usermod -a -G adm promtail

Xác nhận đã add thành công vào adm group dùng lệnh

id promtail

Restart Promtail và kiểm tra status lần nữa

sudo service promtail restart sudo service promtail status

Ngoài ra, nếu bạn muốn stop Promtail

sudo service promtail stop
sudo service promtail status

Kiểm tra Promtail đã work ngoài việc xem status service bạn cũng có thể chạy lên

curl "127.0.0.1:9080/metrics”

Cài đặt Loki

Download version Loki

Ghé đường link này để check version Loki https://github.com/grafana/loki/releases/

cd /usr/local/bin

curl -O -L "https://github.com/grafana/loki/releases/download/v2.4.1/loki-linux-amd64.zip"

unzip "loki-linux-amd64.zip"

Và cho phép quyền execute của Loki binary

chmod a+x "loki-linux-amd64"

Khởi tạo Loki config

Tạo ra Loki config file.

sudo nano loki-local-config.yaml

Copy nội dung sau vào file vừa tạo

auth_enabled: false
server:
  http_listen_port: 8100
  grpc_listen_port: 9096
common:
  path_prefix: /tmp/loki
  storage:
    filesystem:
      chunks_directory: /tmp/loki/chunks
      rules_directory: /tmp/loki/rules
  replication_factor: 1
  ring:
    instance_addr: 127.0.0.1
    kvstore:
      store: inmemory
schema_config:
  configs:
    - from: 2020-10-24
      store: boltdb-shipper
      object_store: filesystem
      schema: v11
      index:
        prefix: index_
        period: 24h
ruler:
  alertmanager_url: http://localhost:9093
# By default, Loki will send anonymous, but uniquely-identifiable usage and configuration
# analytics to Grafana Labs. These statistics are sent to https://stats.grafana.org/
#
# Statistics help us better understand how Loki is used, and they show us performance
# levels for most users. This helps us prioritize features and documentation.
# For more information on what's sent, look at
# https://github.com/grafana/loki/blob/main/pkg/usagestats/stats.go
# Refer to the buildReport method to see what goes into a report.
#
# If you would like to disable reporting, uncomment the following lines:
#analytics:
#  reporting_enabled: false

Bạn có thể copy bản default ở đây https://raw.githubusercontent.com/grafana/loki/master/cmd/loki/loki-local-config.yaml.

Ở trên vì lý do mình đang dùng Centos7, port default là 3100 sẽ không work nên mình đổi thành 8100

Configure Loki chạy dưới dạng Service

Thao tác tương tự với Promtail nhé, ý nghĩa câu lệnh y chang nên khỏi giải thích lại ha

Step 1:

sudo useradd --system loki

Step 2:

sudo nano /etc/systemd/system/loki.service

Step 3: Nội dung của loki.service

[Unit]
Description=Loki service
[Service]
Type=simple
User=root
ExecStart=/usr/local/bin/loki-linux-amd64 -config.file /usr/local/bin/loki-local-config.yaml --frontend.instance-addr=127.0.0.1
[Install]
WantedBy=multi-user.target

Start/Stop và kiểm tra status

sudo service loki start
sudo service loki status
sudo service loki stop

Bạn có thể check Loki work hay chưa qua lệnh như hình sau, nhớ thay IP và PORT lại nhé

Thêm data source Loki vào Grafana

Vì mình đã có bài hướng dẫn cài đặt Grafana nên bỏ qua bước đó nhé. Giờ thì hãy login vào Grafana và vào Data Source, kiếm Loki

Điền URL của Loki vào

Click Save & Test nhé

Kiểm thử trace log từ container

Config query như hình sau

Lưu ý: job chọn là ‘recargar_test’ vì ở bước cài đặt Promtail trong file config mình để tên job của container này là vậy

Giờ bạn có thể làm mọi thứ bạn thích !!

Chúc các bạn thành công!

Tags: công cụcontainerhướng dẫn
Hiếu Tạ

Hiếu Tạ

Graduated as a Software Engineer. I have more than 3-year experience in developing software and DevOps, used to many services of AWS, and Azure, K8S, and using Windows or Linux on-premies proficiently to set up servers, proxy, build and deploy multiple programming languages (Java, GO, NET,...)..... Experience with CMS such SiteCore, ElasticPath, AEM... Implement CICD via Jenkins scripting, infrastructure as code via Terraform, and AWS Cloud Formation.

Related Posts

DevOpsify Check Tool – Công cụ dòng lệnh đa năng cho DevOps, IT và lập trình viên
Bảo mật

DevOpsify Check Tool – Công cụ dòng lệnh đa năng cho DevOps, IT và lập trình viên

by devopsify
7 Tháng 6, 2025
Đổi MTU cho Calico trong Kubernetes
DevOps & Cloud

Đổi MTU cho Calico trong Kubernetes

by Hiếu Tạ
30 Tháng 4, 2025
Tắt NLA trên Amazon EC2 Windows instance
DevOps & Cloud

Tắt NLA trên Amazon EC2 Windows instance

by Hiếu Tạ
30 Tháng 4, 2025
Next Post

Ebook DevOps Handbook

Để lại một bình luận Hủy

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Recommended

Các website demo hay được sử dụng cho thực hành Automation Test

Các website demo hay được sử dụng cho thực hành Automation Test

11 Tháng 6, 2025
Cài đặt Maven trên Windows

Cài đặt Maven trên Windows

11 Tháng 6, 2025
Tổng hợp các phiên bản Stable Diffusion: So sánh, tính năng và yêu cầu phần cứng

Tổng hợp các phiên bản Stable Diffusion: So sánh, tính năng và yêu cầu phần cứng

13 Tháng 6, 2025
Hướng dẫn cài đặt Kubernetes trên Ubuntu 22.04

Hướng dẫn cài đặt Kubernetes trên Ubuntu 22.04

1 Tháng 5, 2025
Sử dụng VS Code và Playwright MCP tự động test demo website Demoblaze thông qua GitHub Copilot Agent

Sử dụng VS Code và Playwright MCP tự động test demo website Demoblaze thông qua GitHub Copilot Agent

16 Tháng 6, 2025
MCP server 2025 tốt nhất : Hướng dẫn chọn & bảo mật

MCP server 2025 tốt nhất : Hướng dẫn chọn & bảo mật

16 Tháng 6, 2025
DevOpsify Check Tool hỗ trợ MCP – Tự động hóa kiểm tra qua AI Claude & VS Code

DevOpsify Check Tool hỗ trợ MCP – Tự động hóa kiểm tra qua AI Claude & VS Code

13 Tháng 6, 2025
GitHub Action DevOpsify Check Tool – Tự động kiểm tra bảo mật & hiệu suất

GitHub Action DevOpsify Check Tool – Tự động kiểm tra bảo mật & hiệu suất

11 Tháng 6, 2025
DevOpsify

Cộng đồng DevOps Việt Nam chia sẽ kiến thức giúp tăng tốc quá trình phát triển ứng dụng và tự động hóa trong lĩnh vực Cloud DevOps & AI.

Bài viết mới

  • Sử dụng VS Code và Playwright MCP tự động test demo website Demoblaze thông qua GitHub Copilot Agent
  • MCP server 2025 tốt nhất : Hướng dẫn chọn & bảo mật
  • DevOpsify Check Tool hỗ trợ MCP – Tự động hóa kiểm tra qua AI Claude & VS Code

Categories

  • AI & Automation
  • Bảo mật
  • Chưa phân loại
  • DevOps & Cloud
  • Tin tức
No Result
View All Result
  • Home
  • Bảo mật
  • AI & Automation
  • DevOps & Cloud
  • Bộ đề luyện thi cloud

© 2025 DevOpsify