date: 2020-10-09title: Prometheus监控redis #标题
tags: 监控 #标签
categories: 监控 # 分类

记录下Prometheus监控redis,由于Prometheus没有提供redis_exporter,所以此处使用第三方提供的exporter,项目地址:Github

配置redis

  1. $ cat redis.yaml # 编写redis配置文件如下
  2. apiVersion: apps/v1
  3. kind: Deployment
  4. metadata:
  5. name: redis
  6. spec:
  7. replicas: 1
  8. selector:
  9. matchLabels:
  10. app: redis
  11. template:
  12. metadata:
  13. labels:
  14. app: redis
  15. spec:
  16. containers:
  17. - name: redis
  18. image: redis:4
  19. imagePullPolicy: IfNotPresent
  20. resources:
  21. requests:
  22. cpu: 100m
  23. memory: 100Mi
  24. ports:
  25. - containerPort: 6379
  26. - name: redis-exporter
  27. image: oliver006/redis_exporter:latest
  28. imagePullPolicy: IfNotPresent
  29. #args: ["-redis.addr", "redis://192.168.122.7:6379", "-redis.password", "123456"]
  30. resources:
  31. requests:
  32. cpu: 100m
  33. memory: 100Mi
  34. ports:
  35. - containerPort: 9121
  36. ---
  37. apiVersion: v1
  38. kind: Service
  39. metadata:
  40. annotations:
  41. prometheus.io/scrape: "true"
  42. prometheus.io/port: "9121"
  43. name: redis
  44. spec:
  45. ports:
  46. - name: redis
  47. port: 6379
  48. protocol: TCP
  49. targetPort: 6379
  50. - name: prom
  51. port: 9121
  52. protocol: TCP
  53. targetPort: 9121
  54. selector:
  55. app: redis

在上述配置文件中,将redis_exporter以容器的方式和redis部署在了同一个pod中,如果你的redis不是以容器的方式部署的,可以在GitHub下载二进制的redis_exporter,然后自行琢磨部署。

验证Prometheus采集到redis信息

当上述容器运行正常后,访问Prometheus的target列表,可以看到如下,即表示redis被监控到了:

Prometheus监控redis - 图1