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:
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:
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:
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:
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:
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
# 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:
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:
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:
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:
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:
- Đăng nhập vào Grafana.
- Nhấp vào biểu tượng "Bảng điều khiển" ở thanh bên trái.
- Chọn "Duyệt".
- 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:
helm uninstall redis-exporter -n database-monitoring
- Xóa Redis nếu bạn đã triển khai:
kubectl delete -f redis/ -n database-monitoring
- Xóa bảng điều khiển Grafana:
kubectl delete -f grafana -n monitoring
- Xóa kho lưu trữ Helm nếu không còn cần thiết:
helm repo remove prometheus-community
- Cuối cùng, xóa không gian tên:
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