Prometheus 云原生 - 监控 Linux、MySQL、Redis、RabbitMQ、Docker、SpringBoot 3.x

2024-07-19 1577阅读

 

目录

开始

Exporter 采集数据,Prometheus 拉取并监控

Linux

MySQL

Redis

RabbitMQ

Docker

SpringBoot 3.x


开始


Exporter 采集数据,Prometheus 拉取并监控

Note:Prometheus 和 Grafana 的部署已经在前面的章节中讲过了,不知道的胖友可以在这个专栏里找找~

Linux

 a)拉取镜像

docker pull prom/node-exporter

 b)运行

node_exporter 挂载的都是系统文件.

docker run -d -p 9100:9100 \
--name=node_exporter \
--restart=always \
-v "/proc:/host/proc:ro" \
-v "/sys:/host/sys:ro" \
-v "/:/rootfs:ro" \
--net="host" \
prom/node-exporter

c)浏览器中输入 env-base:9100 ,如下表示访问成功

Prometheus 云原生 - 监控 Linux、MySQL、Redis、RabbitMQ、Docker、SpringBoot 3.x

点击 “Metrics” 就是采集到的数据,由 Prometheus 负责拉取,监控.

Prometheus 云原生 - 监控 Linux、MySQL、Redis、RabbitMQ、Docker、SpringBoot 3.x

d)在  prometheus.yml 文件中添加配置如下:

  - job_name: node_exporter
    static_configs:
      - targets: ['env-base:9100']

docker restart 重启 Prometheus,接着在 Prometheus 的 Targets 就可以观察到

Prometheus 云原生 - 监控 Linux、MySQL、Redis、RabbitMQ、Docker、SpringBoot 3.x

e)在 Grafana 中监控.

打开 env-base:3000 Grafana 仪表盘.

Prometheus 云原生 - 监控 Linux、MySQL、Redis、RabbitMQ、Docker、SpringBoot 3.x

Prometheus 云原生 - 监控 Linux、MySQL、Redis、RabbitMQ、Docker、SpringBoot 3.x

在社区中找到喜欢的仪表盘(一定要是关于 node_exporter 的) 

Grafana dashboards | Grafana LabsBrowse a library of official and community-built dashboards.Prometheus 云原生 - 监控 Linux、MySQL、Redis、RabbitMQ、Docker、SpringBoot 3.xhttps://grafana.com/grafana/dashboards/

Prometheus 云原生 - 监控 Linux、MySQL、Redis、RabbitMQ、Docker、SpringBoot 3.xPrometheus 云原生 - 监控 Linux、MySQL、Redis、RabbitMQ、Docker、SpringBoot 3.xPrometheus 云原生 - 监控 Linux、MySQL、Redis、RabbitMQ、Docker、SpringBoot 3.x

MySQL

a)拉取镜像

docker pull prom/mysqld-exporter

b)运行容器

docker run -d --name=mysql-exporter \
  --restart=always \
  -p 9104:9104 \
  -e DATA_SOURCE_NAME="user:password@(mysql-server-ip:3306)/" \
  prom/mysqld-exporter
  • user 和 password 替换为连接 MySQL 时所需的用户名和密码.
  • mysql-server-ip 替换为 MySQL 服务器的 IP 地址.

    我的配置如下:

    docker run -d --name=mysql-exporter \
      --restart=always \
      -p 9104:9104 \
      -e DATA_SOURCE_NAME="root:1111@(env-base:3306)/" \
      prom/mysqld-exporter

    c)浏览器中输入 env-base:9104,如下表示访问成功:

    Prometheus 云原生 - 监控 Linux、MySQL、Redis、RabbitMQ、Docker、SpringBoot 3.x

    d)在  prometheus.yml 文件中添加配置如下:

      - job_name: mysql_exporter
        static_configs:
          - targets: ['env-base:9104']

    docker restart 重启 Prometheus,接着在 Prometheus 的 Targets 就可以观察到

    Prometheus 云原生 - 监控 Linux、MySQL、Redis、RabbitMQ、Docker、SpringBoot 3.x

    e)在 Grafana 中监控.

    打开 env-base:3000 Grafana 仪表盘.

    在社区中找到喜欢的仪表盘(一定要是关于 mysql 的) 

    Grafana dashboards | Grafana LabsBrowse a library of official and community-built dashboards.Prometheus 云原生 - 监控 Linux、MySQL、Redis、RabbitMQ、Docker、SpringBoot 3.x

    Prometheus 云原生 - 监控 Linux、MySQL、Redis、RabbitMQ、Docker、SpringBoot 3.x

    Prometheus 云原生 - 监控 Linux、MySQL、Redis、RabbitMQ、Docker、SpringBoot 3.xPrometheus 云原生 - 监控 Linux、MySQL、Redis、RabbitMQ、Docker、SpringBoot 3.x

    Redis

    a)拉取镜像

    docker pull oliver006/redis_exporter

    b)运行容器

    docker run -d --name redis_exporter \
      --restart=always \
      -p 9121:9121 \
      --env REDIS_ADDR=redis:6379 \
      oliver006/redis_exporter
    

     redis_addr 指定redis 的地址,以下是我的配置

    docker run -d --name redis_exporter \
      --restart=always \
      -p 9121:9121 \
      --env REDIS_ADDR=env-base:6379 \
      oliver006/redis_exporter

     

    c)浏览器中输入 env-base:9121 ,如下表示访问成功:

    Prometheus 云原生 - 监控 Linux、MySQL、Redis、RabbitMQ、Docker、SpringBoot 3.x

    d)在  prometheus.yml 文件中添加配置如下:

      - job_name: redis_exporter
        static_configs:
          - targets: ['env-base:9121']

     docker restart 重启 Prometheus,接着在 Prometheus 的 Targets 就可以观察到

    Prometheus 云原生 - 监控 Linux、MySQL、Redis、RabbitMQ、Docker、SpringBoot 3.x

    e)在 Grafana 中监控.

    打开 env-base:3000 Grafana 仪表盘.

    在社区中找到喜欢的仪表盘(一定要是关于 redis 的) 

    Grafana dashboards | Grafana LabsBrowse a library of official and community-built dashboards.Prometheus 云原生 - 监控 Linux、MySQL、Redis、RabbitMQ、Docker、SpringBoot 3.x

    Prometheus 云原生 - 监控 Linux、MySQL、Redis、RabbitMQ、Docker、SpringBoot 3.x

    Prometheus 云原生 - 监控 Linux、MySQL、Redis、RabbitMQ、Docker、SpringBoot 3.xPrometheus 云原生 - 监控 Linux、MySQL、Redis、RabbitMQ、Docker、SpringBoot 3.x

     

    RabbitMQ

    a)拉取镜像

    docker pull kbudde/rabbitmq-exporter

    b)运行容器

    docker run -d --name rabbitmq_exporter \
      --restart=always \
      -p 9419:9419 \
      -e RABBIT_URL=http://100.105.180.32:15672 \
      -e RABBIT_USER=root \
      -e RABBIT_PASSWORD=1111 \
      -e UTPUT_FORMAT=JSON \
      kbudde/rabbitmq-exporter

    Ps:RABBIT_URL 必须要以 http:// 开头 

    c)浏览器中输入 env-base:9419 ,如下表示访问成功:

    Prometheus 云原生 - 监控 Linux、MySQL、Redis、RabbitMQ、Docker、SpringBoot 3.x

    d)在  prometheus.yml 文件中添加配置如下:

      - job_name: rabbitmq_exporter
        static_configs:
          - targets: ['env-base:9419']

     docker restart 重启 Prometheus,接着在 Prometheus 的 Targets 就可以观察到

    Prometheus 云原生 - 监控 Linux、MySQL、Redis、RabbitMQ、Docker、SpringBoot 3.x

     

    e)在 Grafana 中监控.

    打开 env-base:3000 Grafana 仪表盘.

    在社区中找到喜欢的仪表盘(一定要是关于 rabbitmq 的) 

    Grafana dashboards | Grafana LabsBrowse a library of official and community-built dashboards.Prometheus 云原生 - 监控 Linux、MySQL、Redis、RabbitMQ、Docker、SpringBoot 3.xPrometheus 云原生 - 监控 Linux、MySQL、Redis、RabbitMQ、Docker、SpringBoot 3.x

    Prometheus 云原生 - 监控 Linux、MySQL、Redis、RabbitMQ、Docker、SpringBoot 3.x

    Ps:这里有点问题。。。 TODO 版本兼容性问题(mq 和 exporter)Prometheus 云原生 - 监控 Linux、MySQL、Redis、RabbitMQ、Docker、SpringBoot 3.x

    Docker

    a)拉取镜像

    docker pull google/cadvisor

    b)运行容器

    docker run -d --name cadvisor \
      -p 8080:8080 \
      --volume=/:/rootfs:ro \
      --volume=/var/run:/var/run:rw \
      --volume=/sys:/sys:ro \
      --volume=/var/lib/docker/:/var/lib/docker:ro \
      google/cadvisor:latest

    c)浏览器中输入 env-base:8080,如下表示访问成功:

    Prometheus 云原生 - 监控 Linux、MySQL、Redis、RabbitMQ、Docker、SpringBoot 3.x

    d)在  prometheus.yml 文件中添加配置如下:

      - job_name: docker_exporter
        static_configs:
          - targets: ['env-base:8080']

    docker restart 重启 Prometheus,接着在 Prometheus 的 Targets 就可以观察到

    Prometheus 云原生 - 监控 Linux、MySQL、Redis、RabbitMQ、Docker、SpringBoot 3.x

    e)在 Grafana 中监控.

    打开 env-base:3000 Grafana 仪表盘.

    在社区中找到喜欢的仪表盘(一定要是关于 docker 的) 

    Grafana dashboards | Grafana LabsBrowse a library of official and community-built dashboards.Prometheus 云原生 - 监控 Linux、MySQL、Redis、RabbitMQ、Docker、SpringBoot 3.xPrometheus 云原生 - 监控 Linux、MySQL、Redis、RabbitMQ、Docker、SpringBoot 3.x

    Prometheus 云原生 - 监控 Linux、MySQL、Redis、RabbitMQ、Docker、SpringBoot 3.x

    Prometheus 云原生 - 监控 Linux、MySQL、Redis、RabbitMQ、Docker、SpringBoot 3.x

    SpringBoot 3.x

    a)在 SpringBoot 中引入相关依赖如下:

            
                io.micrometer
                micrometer-registry-prometheus
            
            
                org.springframework.boot
                spring-boot-starter-actuator
            
    

    b)配置文件配置如下:

    server:
      port: 9000 # 服务端口一般 0 结尾,便于 actuator 端口配置
    spring:
      application:
        name: prometheus
    # actuator
    management:
      server:
        port: 9001 # actuator 监听端口(一般是 服务端口 + 1)
      endpoints:
        web:
          exposure:
            include: health,info,prometheus
          base-path: /console # 将来通过 /console/prometheus 就可以拿到数据
      endpoint:
        prometheus:
          enabled: true
    

    c)修改 prometheus.yml 配置文件,如下:

      - job_name: spring-boot3 
        metrics_path: /console/prometheus
        static_configs:
          - targets: ['100.94.135.96:9001']

    docker restart 重启后如下:

     Prometheus 云原生 - 监控 Linux、MySQL、Redis、RabbitMQ、Docker、SpringBoot 3.x

     

    d)配置 Grafana

    Prometheus 云原生 - 监控 Linux、MySQL、Redis、RabbitMQ、Docker、SpringBoot 3.x

    Prometheus 云原生 - 监控 Linux、MySQL、Redis、RabbitMQ、Docker、SpringBoot 3.xPrometheus 云原生 - 监控 Linux、MySQL、Redis、RabbitMQ、Docker、SpringBoot 3.x

    Prometheus 云原生 - 监控 Linux、MySQL、Redis、RabbitMQ、Docker、SpringBoot 3.x

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]