• Prometheus详解(六)——Prometheus使用Exporter监控Redis


    今天继续给大家介绍Linux运维相关知识,本文主要内容是Prometheus使用Exporter监控Redis。
    在上文Prometheus详解(五)——Prometheus Exporter简介中,我们介绍了Prometheus中Exporter的作用。今天,我们来使用Redis Exporter,实现在Kubernetes集群中Prometheus监控Redis。

    一、Redis部署

    首先,我们先来部署以下Redis监控,我们部署一个Deployment控制器和Service服务,其中Deployment控制器启动一个Pod,并且把Redis和Redis Exporter两个容器放入一个Pod中,Service服务主要作用是暴露端口。相关配置如下所示:

    apiVersion: extensions/v1beta1
    kind: Deployment
    metadata:
      name: redis
      namespace: pzz
    spec:
      template:
        metadata:
          labels:
            app: redis
        spec:
          containers:
          - name: redis
            image: redis:4
            resources:
              requests:
                cpu: 100m
                memory: 100Mi
            ports:
            - containerPort: 6379
          - name: redis-exporter
            image: oliver006/redis_exporter:latest
            resources:
              requests:
                cpu: 100m
                memory: 100Mi
            ports:
            - containerPort: 9121
    ---
    kind: Service
    apiVersion: v1
    metadata:
      name: redis
      namespace: pzz
    spec:
      selector:
        app: redis
      ports:
      - name: redis
        port: 6379
        targetPort: 6379
      - name: prom
        port: 9121
        targetPort: 9121
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44

    注意,在上述配置中,我们把相关的Pod和Service全部部署在了pzz的名称空间中,如果您在使用我的上述配置时,可以自行修改该项设置。
    配置完成后的Deployment如下所示:
    在这里插入图片描述
    配置完成后的Service如下所示:
    在这里插入图片描述
    接下来,我们首先创建pzz名称空间,执行命令:

    kubectl create namespace pzz
    
    • 1

    该命令执行结果如下所示:
    在这里插入图片描述
    之后,我们直接执行上述配置,创建Deployment和Service,执行命令:

    kubectl apply -f prometheus-redis-exporter.yaml
    
    • 1

    该命令执行结果如下:
    在这里插入图片描述
    等到我们的Pod成功运行(注意:由于设计到新的镜像拉取,因此时间可能会长一些,请耐心等到)后,结果如下:
    在这里插入图片描述
    我们可以访问以下其Service下的9121端口,即Prometheus的监控,结果如下:
    在这里插入图片描述
    从上图可以看出,我们的Redis和Redis Exporter运行正常,能够正常采集数据。

    二、Prometheus配置文件设置

    接下来,我们就需要来配置Prometheus的监控配置文件,以便于我们的Prometheus获取监控内容,监控项内容如下:

    - job_name: 'redis'
      static_configs:
      - targets: ['redis.pzz.svc.cluster.local:9121']
    
    • 1
    • 2
    • 3

    注意,我这里使用了pzz的namespace,其他配置请修改相关配置。配置完成后的Prometheus的configmap文件如下所示:
    在这里插入图片描述
    完成上述配置后,我们可以删除该配置文件,然后重新生成,如下所示:
    在这里插入图片描述
    之后,我们可以查看Prometheus对应的Service的端口号,如下所示:
    在这里插入图片描述

    三、效果查看

    最后,我们打开浏览器,尝试访问Prometheus的Targets,出现如下所示的页面表示Prometheus还没有收集完成数据。
    在这里插入图片描述
    等到一段时间后,出现如下页面,表示Prometheus已经工作正常。
    在这里插入图片描述
    原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

  • 相关阅读:
    财务管理-报支单提交中和付款申请被驳回解决措施
    QTableWidget 表格增删数据
    Qt的QChartView实现缩放和放大功能
    月度总结 | 2022年08月 | 第一段实习经历总结 | 技术栈学习总结
    只有开源才能拯救AI
    Docker部署
    STM32WB55开发(6)----FUS更新
    5.云原生-KubeSphere3.3.0安装Harbor仓库
    RootSIFT---SIFT图像特征的扩展
    Fritzing软件绘制Arduino面包板接线图传感器模块库文件223
  • 原文地址:https://blog.csdn.net/weixin_40228200/article/details/124677750