一. 环境介绍
系统版本: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 命令查看服务启动失败的原因往往并不是很明确,反而给了一种错误的暗示,以为这个跟系统有关。其实,通过查看服务的日志,往往更能清晰的知道服务启动失败的原因。