mysqld_exporter mysqld_exporter.service 中的数据源名称
mysqld_exporter DATA SOURCE NAME in mysqld_exporter.service
我给普罗米修斯添加了mysqld_exporter
首先我在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
我打开了一个终端 window 并尝试了这些步骤:
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
首先我在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
我打开了一个终端 window 并尝试了这些步骤:
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 服务