menu 学习笔记
search
目录
  1. MySQL
    1. Mysqld Exporter
  2. MongoDB
  3. Redis

Prometheus 监控方案学习笔记(十):使用 Prometheus 监控常用中间件

huty
huty 2022年12月02日  ·  阅读 1,777

MySQL

Mysqld Exporter

  1. 目录准备
    创建目录:
mkdir -pv /apps/exporter/mysqld-exporter
  1. 编辑 docker-compose.yml 文件
vim /apps/exporter/mysqld-exporter/docker-compose.yml
version: "3"
services:
mysqld-exporter:
image: prom/mysqld-exporter:v0.14.0
container_name: prometheus-mysqld-exporter
hostname: mysqld-exporter
restart: always
ports:
- 9104:9104
environment:
- DATA_SOURCE_NAME="user:password@(host:port)/database"
networks:
default:
external:
name: prometheus

参数说明:

  • user :数据库用户名
  • password :数据库密码
  • host :数据库主机
  • port :数据库端口号
  • database :数据库名,为空时则监控全部数据库
  1. 配置 docker 网段 prometheus
    检查是否存在 prometheus 网段:
docker network list

若不存在,则创建:

docker network create prometheus --subnet 10.21.22.0/24
  1. 启动 mysqld-exporter 容器
cd /apps/exporter/mysqld-exporter
docker-compose up -d
  1. 检查 mysqld-exporter 容器状态、查看 mysqld-exporter 容器日志
cd /apps/exporter/mysqld-exporter
docker-compose ps
docker-compose logs -f
  1. 配置 prometheus( 编辑 prometheus.yml 文件 )
- job_name: 'demo-mysql'
static_configs:
- targets: ['127.0.0.1:9104']
  1. 重启 prometheus
cd /apps/prometheus
docker-compose restart
  1. 检查 Mysqld Exporter 是否正常运行
    访问 Prometheus WebUI 的 targets 页面,检查 job 状态

  2. 配置 Grafana
    登录 Grafana,导入对应的看板即可。
    看板获取地址:https://grafana.com/grafana/dashboards/?dataSource=prometheus&search=MySQL

    注意: 看板导入后需要修改数据源的ID

    • 数据源查看方式: 在 Grafana 中进入 数据源详情 页面,浏览器 URL 的最后一段字符为该数据源的 ID。 如 URL 为 grafana/datasources/edit/6lbJpCb4z 时, 6lbJpCb4z 即为当前数据源的 ID
    • 数据源替换方式: 编辑看板,查看看板的 JSON 数据,替换 datasource 中的 uid

MongoDB

Mongodb Exporter

  1. 目录准备
    创建目录:
mkdir -pv /apps/exporter/mongodb-exporter
  1. 编辑 docker-compose.yml 文件
vim /apps/exporter/mongodb-exporter/docker-compose.yml
version: "3"
services:
mongodb-exporter:
image: bitnami/mongodb-exporter:0.34.0
container_name: prometheus-mongodb-exporter
hostname: mongodb-exporter
restart: always
ports:
- 9216:9216
command:
- '--mongodb.uri=mongodb://host:port'
networks:
default:
external:
name: prometheus

参数说明:

  • host :MongoDB 主机名称/IP
  • port :MongoDB 端口号
  1. 配置 docker 网段 prometheus
    检查是否存在 prometheus 网段:
docker network list

若不存在,则创建:

docker network create prometheus --subnet 10.21.22.0/24
  1. 启动 mongodb-exporter 容器
cd /apps/exporter/mongodb-exporter
docker-compose up -d
  1. 检查 mongodb-exporter 容器状态、查看 mongodb-exporter 容器日志
cd /apps/exporter/mongodb-exporter
docker-compose ps
docker-compose logs -f
  1. 配置 prometheus( 编辑 prometheus.yml 文件 )
scrape_configs:
- job_name: 'demo-mongodb'
- targets: ['127.0.0.1:9216']
  1. 重启 prometheus
cd /apps/prometheus
docker-compose restart
  1. 检查 Mysqld Exporter 是否正常运行
    访问 Prometheus WebUI 的 targets 页面,检查 job 状态

  2. 配置 Grafana
    登录 Grafana,导入对应的看板即可。
    看板获取地址:https://grafana.com/grafana/dashboards/?dataSource=prometheus&search=MongoDB

    注意: 看板导入后需要修改数据源的ID

    • 数据源查看方式: 在 Grafana 中进入 数据源详情 页面,浏览器 URL 的最后一段字符为该数据源的 ID。 如 URL 为 grafana/datasources/edit/6lbJpCb4z 时, 6lbJpCb4z 即为当前数据源的 ID
    • 数据源替换方式: 编辑看板,查看看板的 JSON 数据,替换 datasource 中的 uid

Redis

Redis Exporter

  1. 目录准备
    创建目录:
mkdir -pv /apps/exporter/redis-exporter
  1. 编辑 docker-compose.yml 文件
vim /apps/exporter/redis-exporter/docker-compose.yml
version: "3"
services:
redis-exporter:
image: oliver006/redis_exporter:v1.44.0
container_name: prometheus-redis-exporter
restart: always
ports:
- 9121:9121
command:
- '-redis.addr=host:port'
- '-redis.password=password'
networks:
default:
external:
name: prometheus

参数说明:

  • host :Redis 主机名称/IP
  • port :Redis 端口号
  • password :Redis 密码
  1. 配置 docker 网段 prometheus
    检查是否存在 prometheus 网段:
docker network list

若不存在,则创建:

docker network create prometheus --subnet 10.21.22.0/24
  1. 启动 redis-exporter 容器
cd /apps/exporter/redis-exporter
docker-compose up -d
  1. 检查 mongodb-exporter 容器状态、查看 mongodb-exporter 容器日志
cd /apps/exporter/redis-exporter
docker-compose ps
docker-compose logs -f
  1. 配置 prometheus( 编辑 prometheus.yml 文件 )
scrape_configs:
- job_name: 'demo-redis'
- targets: ['127.0.0.1:9121']
- job_name: 'demo-redis-targets'
static_configs:
- targets:
- redis://127.0.0.1:6379
metrics_path: /scrape
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: 127.0.0.1:9121
  1. 重启 prometheus
cd /apps/prometheus
docker-compose restart
  1. 检查 Mysqld Exporter 是否正常运行
    访问 Prometheus WebUI 的 targets 页面,检查 job 状态

  2. 配置 Grafana
    登录 Grafana,导入对应的看板即可。
    看板获取地址:https://grafana.com/grafana/dashboards/?dataSource=prometheus&search=Redis

    注意: 看板导入后需要修改数据源的ID

    • 数据源查看方式: 在 Grafana 中进入 数据源详情 页面,浏览器 URL 的最后一段字符为该数据源的 ID。 如 URL 为 grafana/datasources/edit/6lbJpCb4z 时, 6lbJpCb4z 即为当前数据源的 ID
    • 数据源替换方式: 编辑看板,查看看板的 JSON 数据,替换 datasource 中的 uid

评论已关闭