一. 環境介紹
系統版本:Centos7.4
zabbix-agent 版本:zabbix-agent 3.4.7
二. 問題現象
啟動zabbix-agent時啟動失敗
查看zabbix-agent的時候顯示沒有正常運行
三. 處理故障過程思路
查看zabbix-agent顯示以下內容


根據提示,分別使用systemctl status zabbix-agent和journalctl -xe查看服務啟動失敗的原因
顯示內容如下

這些信息並不能提供服務啟動失敗的真正原因。
這時候,不妨打開的告警日志,畢竟,只要zabbix-agent服務啟動,告警日志都會有輸出信息的,果然我們找到了原因


zabbix-agent 服務在啟動的時候,不能創建pid文件。
在終端看一下該目錄是否存在,果然,不存在。

於是,創建了/var/run/zabbix/目錄,重啟zabbix-agent服務



依舊報錯,重新查看告警日志,告警內容以下輸出



配至文件中的DBhost參數無效


我們打開配至文件查看並修改為正確的參數。


重新啟動zabbix-agent並查看運行狀態,發現依舊有報錯

打開zabbix-agent 查看日志告警


原來,/var/run/zabbix/的屬主和屬組還是root,zabbix並不能在其中創建文件,后修改該目錄的屬主和屬組,啟動OK。

查看屬主和屬組屬於zabbix 重啟zabbix-agent服務器 查看運行狀態顯示正常。


四. 總結
遇到啟動失敗的情況,根據systemctl的提示,通過systemctl status zabbix-agent 和journalctl -xe 命令查看服務啟動失敗的原因往往並不是很明確,反而給了一種錯誤的暗示,以為這個跟系統有關。其實,通過查看服務的日志,往往更能清晰的知道服務啟動失敗的原因。