我将mysqld_exporter添加到prometheus
首先我在 mysql 中设置一个新用户,如下所示:
mysql -u root -p
CREATE USER 'mysqld_exporter'@'localhost' IDENTIFIED BY 'password' WITH MAX_USER_CONNECTIONS 3;
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'mysqld_exporter'@'localhost';
我在 /etc/myslq_exporter
中添加了一个 .my.cnf 文件:
[client]
user=mysqld_exporter
password=Mypassword
然后我在 /etc/systemd/system
中设置了 mysqld_exporter.service,如下所示:
[Unit]
Description=MySQL Exporter Service
Wants=network.target
After=network.target
[Service]
User=mysqld_exporter
Group=mysqld_exporter
Type=simple
Environment="DATA_SOURCE_NAME=mysqld_exporter:Mypassword@tcp(127.0.0.1:3306)"
ExecStart=/usr/local/bin/mysqld_exporter \
--config.my-cnf /etc/mysql_exporter/.my.cnf
--collect.global_status \
--collect.info_schema.innodb_metrics \
--collect.auto_increment.columns \
--collect.info_schema_processlist \
--collect.binlog_size \
--collect.global_variables \
--collect.info_schema.tablestats \
--collect.global_variables \
--collect.info_schema.query_response_time \
--collect.info_schema.userstats \
--collect.info_schema.tables \
--collect.perf_schema.tablelocks \
--collect.perf_schema.file_events \
--collect.perf_schema.eventswaits \
--collect.perf_schema.indexiowaits \
--collect.perf_schema.tableiowaits \
--collect.slave_status \
Restart=always
[Install]
WantedBy=multi-user.target
我让 mysqld_exporter 运行,但是当我转到 localhost:9104/metrics mysql_up 为 0
我打开了一个终端窗口并尝试了以下步骤:
systemctl stop mysqld_exporter
export DATA_SOURCE_NAME='mysqld_exporter:Mypassword@tcp(127.0.0.1:3306)/'
./mysqld_exporter
通过这种方式,我成功获取了所有指标,并且日志中没有出现任何错误。 mysqld_exporter.service
中出现了什么故障?
感谢大家
最佳答案
我自己解决了。我只需更换这一行:
Environment="DATA_SOURCE_NAME=mysqld_exporter:Mypassword@tcp(127.0.0.1:3306)"
这个:
Environment="DATA_SOURCE_NAME=mysqld_exporter:Mypassword@tcp(127.0.0.1:3306)/"
然后保存更改,重新加载系统守护程序并重新启动 mysqld_exporter 服务
关于mysqld_exporter.service 中的 mysqld_exporter 数据源名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59767178/