编辑
2025-10-23
Prometheus
00

目录

一、使用docker-compose安装
二、监控配置
三、配置普罗米修斯

一、使用docker-compose安装

js
mkdir /data/mysql -p cd /data/mysql
yml
version: '3.1' services: db: image: mysql:8.0 restart: always container_name: mysql environment: TZ: Asia/Shanghai LANG: en_US.UTF-8 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/data:/var/lib/mysql ports: - 3306:3306

最后启动

js
docker-compose up -d

二、监控配置

js
docker exec -it mysql mysql -uroot -p
js
CREATE USER 'exporter'@'%' IDENTIFIED BY 'password' WITH MAX_USER_CONNECTIONS 3; GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'%'; FLUSH PRIVILEGES;

验证

js
docker exec -it mysql mysql -uexporter -p

在创建一个yml,用于监控mysql

js
mkdir /data/mysqld_exporter -p cd /data/mysqld_exporter
js
vi docker-compose.yml
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' - '--config.my-cnf=/my.cnf' volumes: - ./my.cnf:/my.cnf ports: - 9104:9104

创建my.cnf配置文件

js
cat > my.cnf << "EOF" [client] host=192.168.11.62 user=exporter password=password port=3306 EOF

然后启动

js
docker-compose up -d

三、配置普罗米修斯

yml
# 全局配置 global: # 数据抓取间隔(默认1分钟) scrape_interval: 15s # 告警规则评估频率(建议与抓取间隔一致) evaluation_interval: 15s # 抓取超时时间(默认10秒) # 告警配置 alerting: alertmanagers: - static_configs: - targets: # 启用Alertmanager时需配置实际地址 # - alertmanager:9093 # 规则文件配置 rule_files: # 告警规则文件路径(支持通配符) # - 'alert_rules/*.rules' # 记录规则文件路径 # - 'recording_rules/*.rules' # 监控目标配置 #监控linux scrape_configs: - job_name: "prometheus-server" file_sd_configs: - files: - /server/prometheus/node_exporter.yml refresh_interval: 5s # 自定义标签(用于维度筛选) #监控nginx - job_name: nginx static_configs: - targets: ['192.168.201.104:9113'] # 自定义标签(用于维度筛选) labels: name: "nginx" #监控k8s - job_name: K8S static_configs: - targets: ['192.168.201.100:31666'] # 自定义标签(用于维度筛选) labels: name: "k8s" #监控redis - job_name: redis static_configs: - targets: ['192.168.201.104:9121'] # 自定义标签(用于维度筛选) labels: name: "redis" #监控docker - job_name: docker static_configs: - targets: ['192.168.201.104:8080'] # 自定义标签(用于维度筛选) labels: name: "docker" #监控mysql - job_name: mysql static_configs: - targets: ['192.168.201.104:9104'] # 自定义标签(用于维度筛选) labels: name: "mysql"

image.png

模版7362 image.png

本文作者:松轩(^U^)

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!

Document