您的位置:首页 > 教育 > 锐评 > Prometheus 云原生 - 监控 Linux、MySQL、Redis、RabbitMQ、Docker、SpringBoot 3.x

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

2024/10/5 18:29:00 来源:https://blog.csdn.net/CYK_byte/article/details/140416442  浏览:    关键词:Prometheus 云原生 - 监控 Linux、MySQL、Redis、RabbitMQ、Docker、SpringBoot 3.x

 

目录

开始

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 ,如下表示访问成功

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

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

  - job_name: node_exporterstatic_configs:- targets: ['env-base:9100']

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

e)在 Grafana 中监控.

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

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

Grafana dashboards | Grafana LabsBrowse a library of official and community-built dashboards.icon-default.png?t=N7T8https://grafana.com/grafana/dashboards/

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,如下表示访问成功:

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

  - job_name: mysql_exporterstatic_configs:- targets: ['env-base:9104']

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

e)在 Grafana 中监控.

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

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

Grafana dashboards | Grafana LabsBrowse a library of official and community-built dashboards.icon-default.png?t=N7T8https://grafana.com/grafana/dashboards/

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 ,如下表示访问成功:

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

  - job_name: redis_exporterstatic_configs:- targets: ['env-base:9121']

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

e)在 Grafana 中监控.

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

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

Grafana dashboards | Grafana LabsBrowse a library of official and community-built dashboards.icon-default.png?t=N7T8https://grafana.com/grafana/dashboards/

 

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 ,如下表示访问成功:

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

  - job_name: rabbitmq_exporterstatic_configs:- targets: ['env-base:9419']

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

 

e)在 Grafana 中监控.

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

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

Grafana dashboards | Grafana LabsBrowse a library of official and community-built dashboards.icon-default.png?t=N7T8https://grafana.com/grafana/dashboards/

Ps:这里有点问题。。。 TODO 版本兼容性问题(mq 和 exporter)

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,如下表示访问成功:

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

  - job_name: docker_exporterstatic_configs:- targets: ['env-base:8080']

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

e)在 Grafana 中监控.

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

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

Grafana dashboards | Grafana LabsBrowse a library of official and community-built dashboards.icon-default.png?t=N7T8https://grafana.com/grafana/dashboards/

SpringBoot 3.x

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

        <dependency><groupId>io.micrometer</groupId><artifactId>micrometer-registry-prometheus</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency>

b)配置文件配置如下:

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

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

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

docker restart 重启后如下:

 

 

d)配置 Grafana

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com