讲一个linux服务启动报错问题排查


例子

首先我们在/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=:9077
Restart=on-failure

[Install]
WantedBy=multi-user.target

再次加载服务文件,并开启服务

systemctl daemon-reload
systemctl start node_exporter

查看服务开启状态:

systemctl status node_exporter

在这里插入图片描述

总结:

从上面的排查示例可以看出服务开启后先查看状态,如果报错到对应服务的日志去查看报错信息。

原创文章,作者:端木书台,如若转载,请注明出处:https://blog.ytso.com/269118.html

(0)
上一篇 2022年6月20日
下一篇 2022年6月20日

相关推荐

发表回复

登录后才能评论