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

07-19 1575阅读

 

目录

开始

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购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]