Prometheus: 普罗米修斯可以简单理解为一个监控工具,以时间为单位展示指定数据维度的变化 趋势。
mysqld_exporter :主要是依赖数据采集器,对于mysql数据采集使用的是mysqld_exporter。
Grafana: 主要用于可视化展示的监控软件,让数据监控更直观,支持多种仪表盘类型,就好比经 常见的数据大屏,仪表盘就是各种展示形式。
Download | Prometheus
Download Grafana | Grafana Labs
格拉法纳
修改你对应的属性值,
[client] # mysql用户名 user=root #mysql的密码 password=root #主机地址 host=localhost # mysql端口号 prot=3306
# 解压
tar -zxvf mysqld_exporter-0.14.0.linux-amd64.tar.gz
# 重命名
mv mysqld_exporter-0.14.0.linux-amd64.tar.gz/ mysqld_exporter
# 删除压缩包
rm -f mysqld_exporter-0.14.0.linux-amd64.tar.gz
cd mysqld_exporter
# 编辑my.cnf
vi my.cnf
[client]
user=mysql_test # 创建的用户名
password=123456 # 密码
1-1.3 进入mysql中,创建和文件中相同的用户
mysql -uroot -p123456 # 使用root进去创建
CREATE USER 'mysql_test'@'localhost' IDENTIFIED BY '123456' WITH MAX_USER_CONNECTIONS 3; GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'mysql_test'@'localhost'; FLUSH PRIVILEGES; EXIT;
使用mysql -umysql_test -p123456登录测试,是否创建成功
1-1.4 手动启动mysqld-exporter
# 执行mysql_exporter,后面是全路径
./mysqld_exporter --config.my-cnf=/data/mysqld_exporter/my.cnf
自启动mysqld-exporter,创建服务文件
# 创建服务文件,将下面代码写入 vim /usr/lib/systemd/system/mysqld_exporter.service # 注意修改文件路径 [Unit] Description=mysql Monitoring SystemDocumentation=mysql Monitoring System [Service] ExecStart=/data/mysqld_exporter/mysqld_exporter \ --collect.info_schema.processlist \ --collect.info_schema.innodb_tablespaces \ --collect.info_schema.innodb_metrics \ --collect.perf_schema.tableiowaits \ --collect.perf_schema.indexiowaits \ --collect.perf_schema.tablelocks \ --collect.engine_innodb_status \ --collect.perf_schema.file_events \ --collect.binlog_size \ --collect.info_schema.clientstats \ --collect.perf_schema.eventswaits \ --config.my-cnf=/data/mysqld_exporter/my.cnf [Install] WantedBy=multi-user.target
启动服务
# 启动服务
systemctl start mysqld_exporter.service
# 设置自启动
systemctl enable mysqld_exporter.service
scrape_configs: # The job name is added as a label `job=` to any timeseries scraped from this config. #Mysql服务器监控 - job_name: "mysql" # metrics_path defaults to '/metrics' # scheme defaults to 'http'. static_configs: - targets: ["localhost:9104"] #ip地址+端口
启动成功后,用浏览器打开http://localhost:9090,出现如下界面安装成功
无脑安装法,一路next(其中可自己配置安装路径,尽量不要装在C盘)
如下图,默认用户名密码 admin/admin
到此为止三个东西都已安装完成,接下来开始监控。回到prometheus页面,通过Status下拉框找到Targets,点进去,up 表示正常监听
1、点击左侧边栏的设置项Configuration
2、找到Data sources,点进去设置数据源为prometheus
找到mysql的模板id,自动生成
链接: https://grafana.com/grafana/dashboards/7362-mysql-overview
1、设置prometheus的prometheus文件yml
scrape_configs:
# The job name is added as a label `job=
` to any timeseries scraped from this config. #Mysql服务器监控
- job_name: "mysql"
# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.
static_configs:
- targets: ["localhost:9104"] #ip地址+端口
3、创建mysql数据采集器my.cnf文件并配置:
[client]
# mysql用户名
user=root
#mysql的密码
password=root
#主机地址
host=localhost
# mysql端口号
prot=3306
mysqld_exporter.exe --config.my-cnf=my.cnf
6、访问Granafa, 浏览器访问:http://localhost:3000