0
0
Lập trình
Sơn Tùng Lê
Sơn Tùng Lê103931498422911686980

Hướng Dẫn Giám Sát Cơ Sở Dữ Liệu Redis Sử Dụng Prometheus Exporter và Grafana

Đăng vào 3 tuần trước

• 3 phút đọc

Chủ đề:

DevelopmentRedis

Hướng Dẫn Giám Sát Cơ Sở Dữ Liệu Redis Sử Dụng Prometheus Exporter và Grafana

Prometheus exporter là một công cụ mạnh mẽ cho phép thu thập và hiển thị các chỉ số từ hệ thống Redis theo định dạng mà Prometheus có thể thu thập được. Trong bài viết này, chúng ta sẽ cùng nhau triển khai Redis cùng với Redis Prometheus Exporter, từ đó thực hiện việc thu thập và trực quan hóa số liệu bằng bảng điều khiển Grafana.

1. Sao Chép Kho Lưu Trữ

Để bắt đầu, chúng ta sẽ sao chép kho chứa tài nguyên của Redis cùng với cấu hình trình xuất (exporter) và bảng điều khiển (dashboard) cần thiết:

Copy
git clone https://github.com/rslim087a/redis-prometheus-sample

cd redis-prometheus-sample

2. Triển Khai Tài Nguyên Redis

Chúng ta cần tạo một không gian tên mới cho việc giám sát cơ sở dữ liệu nếu nó chưa tồn tại:

Copy
kubectl create namespace database-monitoring

Tiếp theo, hãy triển khai các tài nguyên Redis như Secret, Service và StatefulSet bằng lệnh sau:

Copy
kubectl apply -f redis/

Lệnh này sẽ áp dụng tất cả các tài nguyên Kubernetes trong thư mục redis/, giúp thiết lập phiên bản Redis của bạn.

3. Cài Đặt Redis Exporter

Bây giờ, chúng ta sẽ thêm kho lưu trữ Helm của Cộng đồng Prometheus và cập nhật danh sách kho:

Copy
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update

Tiến hành cài đặt Redis Exporter với tệp giá trị tùy chỉnh:

Copy
helm install redis-exporter prometheus-community/prometheus-redis-exporter \
  -f redis-exporter/redis-exporter-values.yaml \
  -n database-monitoring

4. Cấu Hình Redis Exporter

Dưới đây là nội dung tệp redis-exporter-values.yaml mà bạn cần xem xét:

yaml Copy
# Redis Exporter Helm Values

redisAddress: redis://redis:6379
auth:
  enabled: true
  secret:
    name: redis-secret
    key: REDIS_PASSWORD

serviceMonitor:
  enabled: true
  labels:
    release: prometheus

service:
  type: ClusterIP
  port: 9121

resources:
  limits:
    cpu: 100m
    memory: 128Mi
  requests:
    cpu: 100m
    memory: 128Mi

Giải Thích Các Trường Chính:

  • redisAddress: Địa chỉ kết nối tới Redis.
  • auth: Cấu hình xác thực Redis với secrets từ Kubernetes.
  • serviceMonitor: Cấu hình cho phép Prometheus tự động phát hiện và thu thập các số liệu từ Redis Exporter.
  • service: Định nghĩa dịch vụ Kubernetes cho Redis Exporter.
  • resources: Đặt giới hạn và yêu cầu về tài nguyên cho Redis Exporter.

5. Xác MinH Số Liệu

Sau khi cài đặt, bạn có thể chuyển tiếp cổng của pod Redis Exporter và kiểm tra các số liệu:

Copy
kubectl port-forward svc/redis-exporter-prometheus-redis-exporter 9121:9121 -n database-monitoring &

curl http://localhost:9121/metrics

Sau khi xác minh thành công, hãy dừng chuyển tiếp cổng:

Copy
kill %1

6. Triển Khai Bảng Điều Khiển Grafana

Áp dụng ConfigMap cho bảng điều khiển Grafana:

Copy
kubectl apply -f grafana -n monitoring

ConfigMap này sẽ được Grafana phát hiện và nhập tự động.

7. Truy Cập vào Grafana

Bạn có thể chuyển tiếp cổng cho dịch vụ Grafana:

Copy
kubectl port-forward svc/prometheus-grafana 3000:80 -n monitoring &

Truy cập Grafana tại http://localhost:3000 với thông tin đăng nhập mặc định (thường là admin/prom-operator). Bảng điều khiển Redis sẽ xuất hiện trong phiên bản Grafana của bạn. Để tìm bảng điều khiển này, hãy:

  1. Đăng nhập vào Grafana.
  2. Nhấp vào biểu tượng "Bảng điều khiển" ở thanh bên trái.
  3. Chọn "Duyệt".
  4. Tìm bảng điều khiển có tên "Bảng điều khiển Redis cho Prometheus".

Bảng điều khiển này cung cấp các thông tin chi tiết về hiệu suất và tình trạng của Redis, bao gồm các chỉ số như kết nối, mức sử dụng bộ nhớ, thao tác mỗi giây, và nhiều hơn nữa.

8. Dọn Dẹp Tài Nguyên

Nếu bạn đã triển khai hệ thống này chỉ để thử nghiệm hoặc học tập, bạn có thể muốn xóa các tài nguyên để tiết kiệm chi phí. Dưới đây là các bước để gỡ bỏ tài nguyên:

  • Xóa Redis Exporter:
Copy
helm uninstall redis-exporter -n database-monitoring
  • Xóa Redis nếu bạn đã triển khai:
Copy
kubectl delete -f redis/ -n database-monitoring
  • Xóa bảng điều khiển Grafana:
Copy
kubectl delete -f grafana -n monitoring
  • Xóa kho lưu trữ Helm nếu không còn cần thiết:
Copy
helm repo remove prometheus-community
  • Cuối cùng, xóa không gian tên:
Copy
kubectl delete namespace database-monitoring

Hy vọng rằng bài viết này sẽ giúp bạn dễ dàng giám sát và quản lý cơ sở dữ liệu Redis của mình bằng các công cụ mạnh mẽ như Prometheus Exporter và Grafana!
source: viblo

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào