用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服务器

浙公网安备 33010602011771号