Linux运维中ZABBIX如何通过自带Web检测功能检查网站是否正常

HTTP头部分允许你发送自定义的HTTP头,如Accept-Charset、Content-Type等,支持用户宏和HOST宏。你可以启用或禁用场景。当编辑现有场景时,还有基于现有属性创建新场景和删除历史趋势数据的选项。如果HTTP代理字段留空,也可以通过设置环境变量http_proxy或HTTPS_PROXY来使用代理。

在HTTP代理设置中,你可以指定HTTP代理地址,格式为http://[username[:password]@]proxy.mycompany.com[:port],默认端口为1080。代理设置会覆盖环境变量,如果不指定则不覆盖。此外,还可以设置变量,变量可以在步骤中引用,支持正则表达式提取值,变量在查询字段或提交表单数据时会自动进行URL编码。

身份验证选项卡允许你配置场景的身份验证方式,包括无认证、基本认证和NTLM认证。选择认证方法后,需要输入用户名和密码,支持用户宏。你还可以配置SSL验证,包括验证对等SSL证书、验证主机名、指定SSL证书文件和私钥文件等。

从Zabbix 2.2版本开始,Web场景可以像监控项和触发器一样依附在主机或模板上,这意味着你可以将Web场景创建到模板中,然后应用到多个主机上。Web场景会收集整个场景中所有步骤的平均下载速度、失败的步骤数量以及最近的错误信息,同时也会记录每个步骤的平均下载速度、响应时间和HTTP状态码。

要查看Web场景的详细数据,可以进入监控中的Web选项或最新数据界面,单击方案名称查看统计信息。也可以在仪表盘中查看Web监控场景的概述。如果需要记录接收的HTML页面内容以便调试,可以将日志级别设置为5,并通过zabbix_server命令动态调整http poller的日志级别。

步骤变量可以覆盖场景变量,但仅影响后续步骤。HTTP头在步骤级别可以覆盖场景级别的设置。你可以选择跟踪HTTP重定向,或者仅检索HTTP响应头。超时时间定义了处理URL的最大时间,实际上是连接和执行请求的最长时间,Zabbix不会花费超过2倍超时时间。

SSL证书和私钥文件必须为PEM格式,如果证书和私钥在同一个文件中,只需指定证书文件,密钥文件留空。Zabbix服务器对证书的更改无需重启。如果需要使用PKCS#12格式的证书,可以使用openssl命令将其转换为PEM格式。

步骤选项卡用于配置Web场景的具体步骤,添加步骤时需要填写名称、URL、查询字段、POST变量等。URL支持Unicode编码,解析按钮可以自动处理查询字段的URL编码。查询字段用于HTTP GET变量,POST变量用于HTTP POST请求,支持Form data和Raw data两种模式,值会自动或手动进行URL编码。

必需的字符串用于检查检索到的HTML内容是否匹配特定的正则表达式,如果不匹配则步骤失败。状态码用于设置预期的HTTP状态代码列表,如果获取的状态码不在列表中,步骤也视为失败。Web场景步骤的任何更改只有在保存整个场景时才会生效。

配置Web场景时,你需要进入配置界面,选择主机或模板,然后点击Web选项卡,点击右上角的创建Web场景按钮。在场景表单中,你需要填写主机名、唯一的场景名称、所属的应用、更新间隔、重试次数等参数。更新间隔支持秒、分、小时、天等后缀,重试次数用于处理网络超时等问题,最大可设为10次。

首先,要使用Zabbix的Web监控功能来检测网站是否正常,必须确保Zabbix服务器在编译安装时已经加入了cURL库的支持,因为这是Web监控的基础依赖。你需要定义Web场景,它由一个或多个HTTP请求步骤组成,Zabbix服务器会周期性地执行这些步骤,如果使用了代理监控,则由代理执行。