当我们的代理服务器出现故障时,我需要得到通知。目前我有一个测试代理功能的 bash 脚本:
CHECKRESULT=(curl -s --proxy 4.83.58.205:80 checkip.dyndns.com | awk '{print $6}' | sed 's/<\/body><\/html>\r//g';)
if [ "$CHECKRESULT" != "4.83.58.205" ]
then
echo "FAILED: proxy 4.83.58.205 returned \" $CHECKRESULT\""
FAILEDCOUNT=$(($FAILEDCOUNT+1))
fi
我想使用 Zabbix 来运行类似的检查,但是如何呢?
Zabbix 在编译时支持 CURL,可以直接监控 Web 服务,包括复杂的更多步骤场景。您可以在 HTTP 返回码、返回数据、响应时间等上设置触发器...
文档在这里。
假设您现有的脚本运行良好并且可以满足您的需要,您想要设置的是外部检查,如http://www.zabbix.com/documentation/2.0/manual/config/items/itemtypes/external所述
您的脚本位于您的 zabbix 配置中为 ExternalScripts 指定的目录中 - 可能类似于 /etc/zabbix/externalscripts。确保它具有适当的权限,以便 zabbix 用户能够执行它。
在模板或主机中,创建一个新项目,并将类型设置为外部检查,并将键设置为您的脚本名称。
然后创建一个触发器来查找“FAILED”行并提醒您。