例子
首先我們在/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
總結:
從上面的排查示例可以看出服務開啟後先檢視狀態,如果報錯到對應服務的日誌去檢視報錯資訊。