Ubuntu环境下Grafana MySQL Exporter仪表盘无数据求助
Ubuntu下Prometheus MySQL Exporter采集失败问题排查与解决
问题场景
运行Ubuntu 23.04系统,已通过apt安装、启用并启动prometheus-mysqld-exporter。访问http://192.168.0.5:9104/metrics获取到的指标中,mysql_up为0、mysql_exporter_last_scrape_error为1,说明MySQL指标采集失败。已安装Grafana官方推荐的MySQL仪表盘及记录规则,但仪表盘无数据显示。
Ubuntu打包版与官方版MySQL Exporter的差异
- 版本差异:Ubuntu apt仓库中的版本通常滞后于官方最新版,比如当前使用的是0.14.0版本,核心功能逻辑一致,但配置方式和默认行为存在区别。
- 配置路径:官方版无预设配置文件,需手动创建;Ubuntu打包版会在
/etc/prometheus/mysqld_exporter.cnf生成默认配置文件,且通过systemd服务指定配置路径。 - 权限处理:Ubuntu打包版的systemd服务默认使用
prometheus用户运行,官方版默认以当前用户运行,这可能影响MySQL连接权限。
问题解决步骤
1. 配置MySQL连接权限与信息
首先在MySQL中创建具备采集权限的用户(登录MySQL执行):
CREATE USER 'exporter_user'@'localhost' IDENTIFIED BY '你的密码'; GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter_user'@'localhost'; FLUSH PRIVILEGES;
然后编辑Ubuntu打包版的Exporter配置文件:
sudo nano /etc/prometheus/mysqld_exporter.cnf
在[client]段添加连接信息:
user=exporter_user password=你的密码 host=127.0.0.1 port=3306
2. 重启Exporter服务
sudo systemctl restart prometheus-mysqld-exporter
3. 验证指标采集结果
再次访问http://192.168.0.5:9104/metrics,检查mysql_up是否变为1,mysql_exporter_last_scrape_error是否变为0,同时确认是否出现mysql_global_status_uptime等MySQL相关指标。
4. 检查Prometheus采集配置
确保Prometheus的scrape_configs中已添加MySQL Exporter采集任务:
scrape_configs: - job_name: 'mysql' static_configs: - targets: ['192.168.0.5:9104']
修改后重启Prometheus:
sudo systemctl restart prometheus
5. Grafana仪表盘验证
在Grafana中确认数据源已正确关联Prometheus,且时间范围选择合理。若仍无数据,可通过"Explore"功能直接查询mysql_up指标,验证数据是否能正常获取。
内容的提问来源于stack exchange,提问作者user964491
相关产品推荐
相关产品推荐

