用docker部署prometheus监控mysql

1. docker-compose 部署mysql

mkdir /data/mysql -p

cd /data/mysql

编辑docker-compose.yml文件

version: '3.1'
services:
  db:
    image: mysql
    restart: always
    container_name: mysql
    environment:
      TZ: Asia/Shanghai
      LANG: en_US.UTF-
      MYSQL_ROOT_PASSWORD: 123456
    command:
      --default-authentication-plugin=mysql_native_password
      --character-set-server=utf8mb4
      --collation-server=utf8mb4_general_ci
      --lower_case_table_names=1
      --performance_schema=1
      --sql-mode=""
      --skip-log-bin
    volumes:
      - /data/mysql/conf:/etc/mysql/conf.d
      - /data/mysql/data:/var/lib/mysql
    ports:
      - 3306:3306

启动:

docker-compose up -d

2. docker-compose安装mysqld_exporter

mkdir /data/mysqld_exporter -p

cd /data/mysqld_exporter

编辑docker-compose.yml文件

version: '3.3'
services:
  mysqld-exporter:
    image: prom/mysqld-exporter
    container_name: mysqld-exporter
    restart: always
    command:
      - '--collect.info_schema.processlist'
      - '--collect.info_schema.innodb_metrics'
      - '--collect.info_schema.tablestats'
      - '--collect.info_schema.tables'
      - '--collect.info_schema.userstats'
      - '--collect.engine_innodb_status'
    environment:
      - DATA_SOURCE_NAME=exporter:password@(192.168.18.69:3306)/
    ports:
      - 9104:9104

启动:

docker-compose up -d

3. prometheus配置

配置prometheus去采集mysql_exporter的监控样本数据
[root@hd03]# cd /data/docker-prometheus
[root@hd03]# cat >> prometheus/prometheus.yml << "EOF"
- job_name: 'mysqld_exporter'
  static_configs:
    - targets: ['192.168.18.69:9104']
  labels:
    instance: mysql服务器

 

  

 

posted @ 2024-01-08 10:32  羊脂玉净瓶  阅读(133)  评论(0)    收藏  举报