menu 学习笔记
search self_improvement
目录

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

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

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

评论已关闭