mysql_exporter安装:
本项目 普罗米修斯服务器安装了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@(192.16.6.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@(192.16.6.210:3769)/"
参数 需要监控服务器的 用户名exporter,密码:exporter123 监控数据库的ip和端口 192.16.6.210:3769
prom/mysqld-exporter : 拉取镜像
总结上述命令的意思:拉取镜像prom/mysqld-exporter,并执行容器mysql_exporter ,跟随服务器自动启动,
映射端口 9104:9104,监控mysql的服务器ip和端口是192.16.6.210:3769,账号密码是exporter:exporter123
第二台mysql监控:
在启动 一个容器即可
docker run -d \
--name mysql_exporter195 \
--restart always \
-p 9105:9104 \
-e DATA_SOURCE_NAME="root:123456@(192.16.6:3769)/" \
prom/mysqld-exporter
注意:要换一个 容器名称,端口映射
-e DATA_SOURCE_NAME=“exporter:exporter123@(192.16.6: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:
- 192.16.6.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=<job_name>` 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: [ '192.16.6.214:19100']
- job_name: '195服务器'
static_configs:
- targets: [ '192.16.6.195:19100' ]
labels:
instance: '192.16.6.195:19100'
- job_name: 'java'
file_sd_configs:
#引用刚才编写的配置文件
- files: ['/etc/prometheus/tomcat.yml']
refresh_interval: 15s
# 监控 mysql
- job_name: 'mysql210'
static_configs:
- targets: [ '192.16.6.214:9104' ] #填写mysqld-exporter的docker服务ip:端口或者宿主机ip:映射的端口
labels:
instance: '210数据库' #实例名称或ip
- job_name: 'mysql195'
static_configs:
- targets: [ '192.16.6.214:9105' ] #填写mysqld-exporter的docker服务ip:端口或者宿主机ip:映射的端口
labels:
instance: '195数据库' #实例名称或ip
FLUSH HOSTS 刷新数据库
查看启动的msyql_export 容器报
Host ‘192.16.6.214’ is blocked because of many connection errors; unblock with ‘mysqladmin flush-hosts’"
在mysql上执行: FLUSH HOSTS 即可