本项目 普罗米修斯服务器安装了docker,需要监控的mysql服务器没有安装docker, 所有在普罗米修斯的服务器安装了mysql_exporter,监控 mysql的服务器 不建议在centos6 版本上安装,本人尝试在 centOS6上 非docker安装,比较麻烦,未成功! 首先服务器安装docker: 第一台mysql监控: docker run -d --name mysql_exporter --restart always -p 9104:9104 -e DATA_SOURCE_NAME="exporter:exporter123@(172.16.8.210:3769)/" prom/mysqld-exporter 命令说明: docker run : 执行容器 --name mysql_exporter: 容器命名为 mysql_exporter --restart always : 跟随服务器自动启动 -p 9104:9104 : 端口映射,宿主机的端口9104 映射到 容器内端口 9104 -e DATA_SOURCE_NAME="exporter:exporter123@(172.16.8.210:3769)/" 参数 需要监控服务器的 用户名exporter,密码:exporter123 监控数据库的ip和端口 172.16.8.210:3769 prom/mysqld-exporter : 拉取镜像 总结上述命令的意思:拉取镜像prom/mysqld-exporter,并执行容器mysql_exporter ,跟随服务器自动启动, 映射端口 9104:9104,监控mysql的服务器ip和端口是172.16.8.210:3769,账号密码是exporter:exporter123 第二台mysql监控: 在启动 一个容器即可 docker run -d --name mysql_exporter195 --restart always -p 9105:9104 -e DATA_SOURCE_NAME="root:123456@(172.16.8.195:3769)/" prom/mysqld-exporter 注意:要换一个 容器名称,端口映射
-e DATA_SOURCE_NAME=“exporter:exporter123@(172.16.8.210:3769)/”
有这句可以看出,监控的mysql服务器和 mysql_exporter服务器并不需要在一个服务器上,
只要mysql_exporter配置的参数可以访问到mysql所在的服务器即可
上述 msyql_export 配置完成,如果想在普罗米修斯显示,要修改prometheus.yml的配置文件
# my global config
global:
scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
evaluation_interval: 15s # evaluate rules every 15 seconds. The default is every 1 minute.
# scrape_timeout is set to the global default (10s).
# alertmanager configuration
alerting:
alertmanagers:
- static_configs:
- targets:
- 172.16.8.214:9093
# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
# - "first_rules.yml"
# - "second_rules.yml"
- "/etc/prometheus/rules/*.yml"
# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
# The job name is added as a label `job=` to any timeseries scraped from this config.
- job_name: '214服务器'
# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.
static_configs:
# - targets: ['166.16.6.75:9090']
- targets: [ '172.16.8.214:19100']
- job_name: '195服务器'
static_configs:
- targets: [ '172.16.8.195:19100' ]
labels:
instance: '172.16.8.195:19100'
- job_name: 'java'
file_sd_configs:
#引用刚才编写的配置文件
- files: ['/etc/prometheus/tomcat.yml']
refresh_interval: 15s
# 监控 mysql
- job_name: 'mysql210'
static_configs:
- targets: [ '172.16.8.214:9104' ] #填写mysqld-exporter的docker服务ip:端口或者宿主机ip:映射的端口
labels:
instance: '210数据库' #实例名称或ip
- job_name: 'mysql195'
static_configs:
- targets: [ '172.16.8.214:9105' ] #填写mysqld-exporter的docker服务ip:端口或者宿主机ip:映射的端口
labels:
instance: '195数据库' #实例名称或ip
FLUSH HOSTS 刷新数据库
查看启动的msyql_export 容器报
Host ‘172.16.8.214’ is blocked because of many connection errors; unblock with ‘mysqladmin flush-hosts’"
在mysql上执行: FLUSH HOSTS 即可



