- vừa được xem lúc

Giám sát Redis với Prometheus Exporter và Grafana

0 0 1

Người đăng: Vũ Tuấn

Theo Viblo Asia

Prometheus exporter là một công cụ thu thập các số liệu từ một hệ thống cụ thể và hiển thị chúng ở định dạng mà Prometheus có thể thu thập. Redis Prometheus Exporter đặc biệt thu thập các số liệu từ cơ sở dữ liệu Redis.

Trong bài viết này, bạn sẽ triển khai Redis cùng với Redis Prometheus Exporter để thu thập các số liệu từ cơ sở dữ liệu. Sau đó, bạn sẽ trực quan hóa các số liệu này bằng bảng điều khiển Grafana.

Sao chép kho lưu trữ

Đầu tiên, hãy sao chép kho lưu trữ chứa các tài nguyên Redis, cấu hình trình xuất và bảng điều khiển cần thiết:

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

Triển khai tài nguyên Redis

Tạo không gian tên database-monitoring nếu nó chưa tồn tại:

kubectl create namespace database-monitoring

Triển khai các tài nguyên Redis (Secret, Service và StatefulSet) bằng cách sử dụng lệnh sau:

kubectl apply -f redis/

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

Cài đặt Redis Exporter

Thêm kho lưu trữ Helm Cộng đồng Prometheus và cập nhật nó:

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

Bây giờ, hãy cài đặt Redis Exporter bằng cách sử dụng 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

Hãy xem xét các giá trị tùy chỉnh trong redis-exporter-values.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: Chỉ định chi tiết kết nối Redis.
  • auth: Định cấu hình xác thực cho Redis. - enabled: true: Kích hoạt xác thực. - secret: Chỉ định bí mật Kubernetes chứa mật khẩu Redis.
  • serviceMonitor: Cấu hình cho Prometheus để tự động khám phá và thu thập các số liệu từ trình xuất Redis. - enabled: true: Kích hoạt việc tạo tài nguyên ServiceMonitor. - labels: Đảm bảo rằng phiên bản Prometheus chính xác chọn ServiceMonitor này.
  • service: Định cấu hình dịch vụ Kubernetes cho trình xuất.
  • resources: Đặt giới hạn tài nguyên và yêu cầu cho trình xuất.

Xác minh số liệu

Chuyển tiếp cổng 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, hãy dừng chuyển tiếp cổng:

kill %1

Triển khai bảng điều khiển Grafana

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

kubectl apply -f grafana -n monitoring

Thao tác này sẽ tạo ConfigMap với nhãn grafana_dashboard: "1", Grafana sẽ tự động phát hiện và nhập.

Truy cập Grafana

Chuyển tiếp cổng dịch vụ Grafana:

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

Truy cập Grafana tại http://localhost:3000 bằng thông tin đăng nhập mặc định (thường là admin/prom-operator).

Bảng điều khiển Redis hiện có sẵn trong phiên bản Grafana của bạn. Để tìm thấy nó, hãy làm theo các bước sau:

  • Đăng nhập vào Grafana
  • Nhấp vào biểu tượng "Bảng điều khiển" trong thanh bên trái
  • Chọn "Duyệt"
  • Tìm kiế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 sẽ cung cấp thông tin chi tiết về hiệu suất và sức khỏe của Redis, bao gồm các số liệu về kết nối, mức sử dụng bộ nhớ, thao tác mỗi giây, v.v.

Dọn dẹp tài nguyên

Nếu bạn đã triển khai thiết lập này cho mục đích thử nghiệm hoặc học tập, bạn có thể muốn dọn dẹp các tài nguyên sau đó để tránh chi phí không cần thiết hoặc lộn tập tin cụm.

Dưới đây là các bước để loại bỏ các tài nguyên đã triển khai:

Xóa Redis Exporter:

 helm uninstall redis-exporter -n database-monitoring

Nếu bạn đã triển khai Redis như một phần của hướng dẫn này:

 kubectl delete -f redis/ -n database-monitoring

Xóa bảng điều khiển Grafana:

 kubectl delete -f grafana -n monitoring

Nếu bạn không còn cần kho lưu trữ Helm Cộng đồng Prometheus:

 helm repo remove prometheus-community

Cuối cùng, xóa không gian tên:

 kubectl delete namespace database-monitoring

Hy vọng các bạn thấy bài viết này hữu ích!

Bình luận

Bài viết tương tự

- vừa được xem lúc

Caching đại pháp 2: Cache thế nào cho hợp lý?

Caching rất dễ. Mình không nói đùa đâu, caching rất là dễ. Ai cũng có thể làm được chỉ sau 10 phút đọc tutorial. Nó cũng giống như việc đứa trẻ lên 3 đã có thể cầm bút để vẽ vậy.

0 0 126

- vừa được xem lúc

Caching đại pháp 1: Nấc thang lên level của developer

Bí quyết thành công trong việc đáp ứng hệ thống triệu user của những công ty lớn (và cả công ty nhỏ). Tại sao caching lại là kỹ thuật tối quan trọng để phù phép ứng dụng rùa bò của chúng ta thành siêu phẩm vạn người mê.

0 0 82

- vừa được xem lúc

Cache dữ liệu Nodejs với Redis

Một tí gọi là lý thuyết để anh em tham khảo. Cache là gì. Lợi ích của việc cache data. .

0 0 111

- vừa được xem lúc

Nguyên tắc hoạt động của redis server

Sự ra đời của Redis. . Câu chuyện bắt đầu khi tác giả của Redis, Salvatore Sanfilippo. (nickname: antirez), cố gắng làm những công việc gần như là không.

0 0 97

- vừa được xem lúc

Viết ứng dụng chat realtime với Laravel, VueJS, Redis và Socket.IO, Laravel Echo

Xin chào tất cả các bạn, đây là một trong những bài post đầu tiên của mình. Sau bao năm toàn đi đọc các blog tích luỹ được chút kiến thức của các cao nhân trên mạng.

0 0 918

- vừa được xem lúc

Tìm hiểu tổng quan về Redis

1. Lời mở đầu.

0 0 368