网站建设公司墨子网络,网站建设文件夹布局,成都app开发,业务推广方式本文您将了解到 Prometheus如何配置才能监控云Mysql(包括阿里云、腾讯云、华为云)和自建Mysql。 Prometheus 提供了很多种Exporter#xff0c;用于监控第三方系统指标#xff0c;如果没有提供也可以根据Exporter规范自定义Exporter。
本文将通过MySQL server exporter 来监控… 本文您将了解到 Prometheus如何配置才能监控云Mysql(包括阿里云、腾讯云、华为云)和自建Mysql。 Prometheus 提供了很多种Exporter用于监控第三方系统指标如果没有提供也可以根据Exporter规范自定义Exporter。
本文将通过MySQL server exporter 来监控Mysql指标最新版的exporter 支持Mysql 5.6或者MariaDB 10.3如果是老的Mysql版本你可能需要选择较早版本本文使用的版本为v0.14.0(不支持一个Exporter多Mysql实例)支持多实例见本文扩展部分。
部署MySQL Exporter
1、从https://prometheus.io/download/下载 最新版本的对应环境压缩包 2、Docker 部署
docker run -d -p 9104:9104 -e DATA_SOURCE_NAMEuser:password(mysql_address:3306)/database prom/mysqld-exporter配置文件
1、创建MySQL授权账号用于Exporter连接MySQL
CREATE USER exporterlocalhost IDENTIFIED BY 密码 WITH MAX_USER_CONNECTIONS 3;
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO exporterlocalhost;建议给账号设置最大连接数防止监控连接对MySQL造成过高负载 2、修改prometheus.yml加入静态监控 - job_name: mysqlscrape_interval: 5sstatic_configs:- targets: [192.168.0.102:9104] 启动
1、启动MySQL Exporter 如果是压缩包使用如下命令启动如果用Docker 部署见上述说明
nohup ./mysqld_exporter --config.my-cnfpath_to_cnf 启动后访问host:9104/metrics地址正常会出现如下很多的mysql开头的指标 2、启动 Prometheus 使用命令 或者 Docker 重启 或者 项reload地址发送POST请求重载配置文件(前提开启了--web.enable-lifecycle)
检查targets是否正确注册如图 导入Grafana
可以使用该开源面板https://grafana.com/grafana/dashboards/7362-mysql-overview/在Grafana中进行导入有部分指标没数据可以进行适当调整如图所示
扩展
同一个Exporter监控多个Mysql实例
官方最新的main分支已经支持了监控多实例但由于过去1年了还没发布我们需要自己编译源码并且ReadMe也有一些错误不过在这里我已经踩过坑了。
1、下载编译文件 从该地址下载编译文件打包自己的Docker镜像或者直接运行 https://download.csdn.net/download/weixin_40972073/87529490
2、创建mysql.my.cnf文件
[client]
user username
password password
[client2]
user username2
password password23、配置prometheus - job_name: mysql1 metrics_path: /probeparams:auth_module: [client]static_configs:- targets:- mysql_host:portrelabel_configs:- source_labels: [__address__]target_label: __param_target- source_labels: [__param_target]target_label: instance- target_label: __address__replacement: mysql_exporter_host:port- job_name: mysql2 metrics_path: /probeparams:auth_module: [client2]static_configs:- targets:- mysql2_host:portrelabel_configs:- source_labels: [__address__]target_label: __param_target- source_labels: [__param_target]target_label: instance- target_label: __address__replacement: mysql_exporter_host:port4、验证 查看是否正确注册及指标是否正确读取 5、导入多实例Grafana面板 MySQL Exporter命令
v0.14.0 版本命令
NameDescriptionconfig.my-cnfMySQL认证信息配置路径 (default: ~/.my.cnf)log.level日志记录级别 (default: info)exporter.lock_wait_timeout设置锁定超时等待时间避免长时间锁定秒为单位(default: 2)exporter.log_slow_filter添加log_slow_filter以避免抓取时的慢查询日志记录。注意Oracle MySQL不支持。tls.insecure-skip-verify忽略tls的验证错误web.config.fileweb配置文件路径配置web.listen-addressweb页面监听地址web.telemetry-path指标暴露地址version打印的版本信息
总结
对于各大云厂商提供的MySQL虽然云厂商已经自带了监控工具如果有需要同样也可以通过该方式对MySQL监控。 Prometheus 提供的 告警规则、Grafana大屏和告警通知 示例 Prometheus 系列文章 Prometheus 的介绍和安装直观感受PromQL及其数据类型PromQL之选择器和运算符PromQL之函数Prometheus 告警机制介绍及命令解读Prometheus 告警模块配置深度解析Prometheus 配置身份认证Prometheus 动态拉取监控服务Prometheus 监控云Mysql和自建MysqlPrometheus 监控服务器Prometheus 监控RedisPrometheus 监控消息队列Prometheus 监控ESPrometheus 自定义监控Prometheus 告警接入钉钉、邮箱、飞书Prometheus 高可用部署