博客
关于我
Prometheus 云原生 - 监控 Linux、MySQL、Redis、RabbitMQ、Docker、SpringBoot 3.x
阅读量:796 次
发布时间:2023-03-04

本文共 3922 字,大约阅读时间需要 13 分钟。

Prometheus 数据采集与监控

1. Linux 环境下的 Node Exporter 部署

1.1 镜像拉取

运行以下命令拉取 Node Exporter 镜像:

docker pull prom/node-exporter

1.2 容器运行

启动 Node Exporter 容器:

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

此时,Node Exporter 会自动采集系统信息,并通过端口 9100 提供数据。

1.3 访问验证

在浏览器中输入 http://env-base:9100,即可看到 Node Exporter 的数据页面。

1.4 Prometheus 配置

prometheus.yml 中添加以下配置:

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

重启 Prometheus 后,新添加的目标会显示在 Prometheus 的目标管理界面。

1.5 Grafana 监控

打开 env-base:3000 的 Grafana 仪表盘,导入适用于 Node Exporter 的仪表盘模板,开始监控系统性能数据。


2. MySQL 数据源配置

2.1 镜像拉取

运行以下命令拉取 MySQL Exporter 镜像:

docker pull prom/mysqld-exporter

2.2 容器运行

启动 MySQL Exporter 容器:

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

注意:将 userpassword 替换为实际的 MySQL 账号密码,mysql-server-ip 替换为 MySQL 服务器的 IP 地址。

2.3 访问验证

在浏览器中输入 http://env-base:9104,即可看到 MySQL Exporter 的数据页面。

2.4 Prometheus 配置

prometheus.yml 中添加以下配置:

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

重启 Prometheus 后,新目标会显示在目标管理界面。

2.5 Grafana 监控

在 Grafana 中导入适用于 MySQL 的仪表盘,开始监控数据库性能指标。


3. Redis 数据源部署

3.1 镜像拉取

运行以下命令拉取 Redis Exporter 镜像:

docker pull oliver006/redis_exporter

3.2 容器运行

启动 Redis Exporter 容器:

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

3.3 访问验证

在浏览器中输入 http://env-base:9121,即可看到 Redis Exporter 的数据页面。

3.4 Prometheus 配置

prometheus.yml 中添加以下配置:

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

重启 Prometheus 后,目标会显示在目标管理界面。

3.5 Grafana 监控

在 Grafana 中导入适用于 Redis 的仪表盘,开始监控 Redis 的性能指标。


4. RabbitMQ 数据源配置

4.1 镜像拉取

运行以下命令拉取 RabbitMQ Exporter 镜像:

docker pull kbudde/rabbitmq-exporter

4.2 容器运行

启动 RabbitMQ Exporter 容器:

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

注意:RABBIT_URL 必须以 http:// 开头,RABBIT_USERRABBIT_PASSWORD 需要替换为实际的 RabbitMQ 账号密码。

4.3 访问验证

在浏览器中输入 http://env-base:9419,即可看到 RabbitMQ Exporter 的数据页面。

4.4 Prometheus 配置

prometheus.yml 中添加以下配置:

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

重启 Prometheus 后,新目标会显示在目标管理界面。

4.5 Grafana 监控

在 Grafana 中导入适用于 RabbitMQ 的仪表盘,开始监控消息队列性能数据。


5. Docker 容器监控

5.1 镜像拉取

运行以下命令拉取 Docker Exporter 镜像:

docker pull google/cadvisor

5.2 容器运行

启动 Docker Exporter 容器:

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

5.3 访问验证

在浏览器中输入 http://env-base:8080,即可看到 Docker Exporter 的数据页面。

5.4 Prometheus 配置

prometheus.yml 中添加以下配置:

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

重启 Prometheus 后,目标会显示在目标管理界面。

5.5 Grafana 监控

在 Grafana 中导入适用于 Docker 的仪表盘,开始监控容器和资源使用情况。


6. Spring Boot 3.x 与 Prometheus 集成

6.1 依赖引入

在 Spring Boot 项目中添加以下依赖:

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

6.2 配置文件修改

application.properties 中添加以下配置:

server:  port: 9000spring:  application:    name: prometheus  actuator:    management:      server:        port: 9001      endpoints:        web:          exposure:            include: health, info, prometheus          base-path: /console    prometheus:      enabled: true

6.3 Prometheus 配置

prometheus.yml 中添加以下配置:

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

6.4 Grafana 配置

在 Grafana 中导入适用于 Spring Boot 的仪表盘,选择 /console/prometheus 端点进行数据展示。


以上就是从 PrometheusGrafana 的完整配置步骤,涵盖了多种数据源的部署和监控。

转载地址:http://mhxfk.baihongyu.com/

你可能感兴趣的文章
postman之参数化详解
查看>>
Postman入门到入土
查看>>
Postman如何做接口测试:如何导入 swagger 接口文档
查看>>
Postman如何做接口测试:如何导入 swagger 接口文档
查看>>
Qlik助力新西兰最大私人医院提高病患护理水平
查看>>
Postman如何生成接口文档
查看>>
Postman学习之常用断言
查看>>
postman居然是用electron开发的,我们来认识下这个框架吧
查看>>
postman常用公共函数
查看>>
Postman常见问题及解决方法
查看>>
PostMan怎样携带登录信息请求后台接口防止出现无法访问资源问题
查看>>
Postman接口传参案例
查看>>
postman接口功能测试
查看>>
Postman接口测试
查看>>
Postman接口测试
查看>>
Postman接口测试/接口自动化实战教程
查看>>
Postman接口测试之POST、GET请求方法
查看>>
Postman接口测试之Post、Get请求方法
查看>>
Postman接口测试之:添加Cookie伪造请求
查看>>
Postman接口测试企业级实战
查看>>