首先我们在/usr/lib/systemd/system目录下创建一个服务文件,写下服务启动任务配置。下面我以prometheus的node_exporter为例
vim /usr/lib/systemd/system/node_exporter.service写如下配置
[Unit]Description=node_exporter[Service]ExecStart=/book/install/node_exporter-1.1.2.linux-amd64/node_exporter --web.listen-address=":9077"Restart=on-failure[Install]WantedBy=multi-user.target然后重新加载服务
systemctl daemon-reload然后开启此服务
systemctl start node_exporter再查看服务开启状态
systemctl status node_exporter
从上图可以看出失败了,我去为什么呢赶紧查看日志吧
查看对应node_exporter.service服务的日志
journalctl -u node_exporter.service翻到最后可以看到报错日志为

可以判断了是参数端口号解析不出来,由于多了"",所以去掉"",改为下面的配置。
[Unit]Description=node_exporter[Service]ExecStart=/book/install/node_exporter-1.1.2.linux-amd64/node_exporter --web.listen-address=:9077Restart=on-failure[Install]WantedBy=multi-user.target再次加载服务文件,并开启服务
systemctl daemon-reloadsystemctl start node_exporter查看服务开启状态:
systemctl status node_exporter
从上面的排查示例可以看出服务开启后先查看状态,如果报错到对应服务的日志去查看报错信息。