macOS 10.13下Zabbix Agent的launchd daemon配置及状态咨询
在macOS 10.13 High Sierra上配置Zabbix Agent的launchd守护进程
我之前在High Sierra上折腾过Zabbix Agent的launchd配置,下面是完整的实操步骤和状态管理技巧,应该能帮你顺利搞定:
1. 安装Zabbix Agent
先用Homebrew安装仅包含Agent的版本,避免安装不需要的Server和Proxy组件:
brew install zabbix --without-server-proxy
2. 创建launchd属性列表文件
接下来要创建com.zabbix.zabbix_agentd.plist文件,建议放在/Library/LaunchDaemons/目录下(全局生效,需要sudo权限),完整内容如下:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>AbandonProcessGroup</key> <true/> <key>KeepAlive</key> <true/> <key>Label</key> <string>com.zabbix.zabbix_agentd</string> <key>ProgramArguments</key> <array> <string>/usr/local/sbin/zabbix_agentd</string> <string>-c</string> <string>/usr/local/etc/zabbix_agentd.conf</string> </array> <key>RunAtLoad</key> <true/> <key>StandardErrorPath</key> <string>/var/log/zabbix_agentd.err</string> <key>StandardOutPath</key> <string>/var/log/zabbix_agentd.out</string> </dict> </plist>
(我补全了几个核心配置项,比如KeepAlive保证进程意外退出后自动重启,ProgramArguments指定Agent的启动路径和配置文件)
3. 管理launchd守护进程状态
配置好plist后,用这些命令完成加载和状态检查:
- 加载守护进程(全局生效需加sudo):
sudo launchctl load /Library/LaunchDaemons/com.zabbix.zabbix_agentd.plist - 卸载守护进程:
sudo launchctl unload /Library/LaunchDaemons/com.zabbix.zabbix_agentd.plist - 检查进程是否运行:
输出里有PID(进程ID)说明正在运行;如果只有Label和0,大概率是启动失败,得去看日志排查。launchctl list | grep com.zabbix.zabbix_agentd - 查看日志排查问题:
直接看我们配置的日志文件:
或者用系统日志看更详细的launchd相关信息:tail -f /var/log/zabbix_agentd.err tail -f /var/log/zabbix_agentd.outlog show --predicate 'process == "zabbix_agentd"' --info
额外提醒
- 先手动跑一遍
zabbix_agentd -c /usr/local/etc/zabbix_agentd.conf,确认Agent本身能正常启动,没有配置语法错误。 - 一定要检查
/usr/local/etc/zabbix_agentd.conf里的Server、ServerActive、Hostname这些关键参数,必须和你的Zabbix Server配置对应上。
内容的提问来源于stack exchange,提问作者Stefan R.
相关产品推荐
相关产品推荐

