Prometheus 和 Node Exporter 的 Systemd 服务创建

lzu*_*kel 3 init-script systemd

我正在尝试为 Prometheus 和 Node Exporter 创建服务。

\n\n

两个 .service 文件的内容几乎相同。

\n\n
    #!/bin/sh -\n    # /etc/systemd/system/node_exporter.service\n    [Unit]\n    Description=Node Exporter\n\n    [Service]\n    User=prometheus\n    RemainAfterExit=true\n    ExecStart=/usr/bin/node_exporter\n
Run Code Online (Sandbox Code Playgroud)\n\n

我的问题是我无法启动该服务。我收到以下错误

\n\n
    \xe2\x97\x8f node_exporter.service - Node Exporter\nLoaded: loaded (/etc/systemd/system/node_exporter.service; enabled; vendor preset: enabled)\nActive: active (exited) (Result: exit-code) since Mon 2017-01-30 16:00:31 MST; 7min ago\nProcess: 18693 ExecStart=/usr/bin/node_exporter (code=exited, status=203/EXEC)\nMain PID: 18693 (code=exited, status=203/EXEC)\n
Run Code Online (Sandbox Code Playgroud)\n\n

我尝试过更改用户、验证路径是否正确以及许多其他迭代。经过几个小时的调整、谷歌和回溯之后,我一生都无法让它发挥作用。有 Upstart 的指南,但我需要它在 16.04 上工作,而不需要 Upstart 作为依赖项。

\n

小智 5

我这样解决了这个问题...

节点导出器:

ExecStart=/bin/sh -c '/usr/local/bin/node_exporter'
Run Code Online (Sandbox Code Playgroud)

Mysql_导出器:

=/bin/sh -c '/usr/local/bin/mysqld_exporter \
 --config.my-cnf /etc/.mysqld_exporter.cnf \
 --collect.global_status \
 --collect.info_schema.innodb_metrics \
 --collect.auto_increment.columns \
 --collect.info_schema.processlist \
 --collect.binlog_size \
 --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 \
 --web.listen-address=0.0.0.0:9104'
Run Code Online (Sandbox Code Playgroud)

这是完整的命令:

sudo vim /etc/systemd/system/mysql_exporter.service
Run Code Online (Sandbox Code Playgroud)

内容mysql_exporter.service

sudo vim /etc/systemd/system/mysql_exporter.service
Run Code Online (Sandbox Code Playgroud)

节点导出器:

sudo vim /etc/systemd/system/node_exporter.service
Run Code Online (Sandbox Code Playgroud)

内容node_exporter

 [Unit]
 Description=Prometheus MySQL Exporter
 After=network.target

 [Service]
 Type=simple
 Restart=always
 ExecStart=/bin/sh -c '/usr/local/bin/mysqld_exporter \
 --config.my-cnf /etc/.mysqld_exporter.cnf \
 --collect.global_status \
 --collect.info_schema.innodb_metrics \
 --collect.auto_increment.columns \
 --collect.info_schema.processlist \
 --collect.binlog_size \
 --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 \
 --web.listen-address=0.0.0.0:9104'
 
 [Install]
 WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)