Zabbix 5.0 LTS URL 健康監測
更多細節詳情看【zabbix官方文檔】
需求
Zabbix 的URL健康監測功能允許你檢測 Web 地址是否可用、正常工作以及響應速度。這對于監控網站的可用性和性能非常有用。例如,你可以監控公司網站、API 端點或其他關鍵服務的 URL。
-
【官方表述 Web monitoring items】
-
【官方表述 Trigger expression】
-
【官方表述 Supported trigger functions】
一、配置 Web 監測
步驟:配置 -- 主機 -- Web監測 -- 創建Web場景 -- 場景 -- 步驟 -- 添加








二、配置觸發器
步驟:配置 -- 主機 -- 選擇主機 -- 觸發器 -- 創建觸發器 -- 添加





觸發器示例
表達式語法:
{<server>:<key>.<function>(<parameter>)}<operator><constant>
示例 1 www.zabbix.com 的處理器負載過高
{www.zabbix.com:system.cpu.load[all,avg1].last()}>5
'www.zabbix.com:system.cpu.load[all,avg1]' 給出了被監控參數的簡短名稱。
它指定了服務器是“www.zabbix.com”,監控項的鍵值是“system.cpu.load[all,avg1]”。
通過使用函數“last()”獲取最新的值。最后,“>5”意味著當www.zabbix.com最新獲取的處理器負載值大于5時觸發器就會處于異常狀態。
示例 2 www.zabbix.com 已超載
{www.zabbix.com:system.cpu.load[all,avg1].last()}>5 or
{www.zabbix.com:system.cpu.load[all,avg1].min(10m)}>2
當前處理器負載大于5或者最近10分鐘內最小值大于2,表達式為true。
示例 3 /etc/passwd文件被修改
使用函數diff:
{www.zabbix.com:vfs.file.cksum[/etc/passwd].diff()}=1
當文件/etc/passwd的checksum值與最近的值不同時,表達式為true。
類似的,表達式可以用于監控重要文件的修改, 如/etc/passwd, /etc/inetd.conf, /kernel等
示例 4 有人正在從互聯網上下載一個大文件
使用min函數:
{www.zabbix.com:net.if.in[eth0,bytes].min(5m)}>100K
在過去5分鐘內,eth0上接收字節數大于100kb時,表達式為true。
示例 5 SMTP服務群集的兩個節點都停止。 注意在一個表達式中使用兩個不同的主機:
{smtp1.zabbix.com:net.tcp.service[smtp].last()}=0 and {smtp2.zabbix.com:net.tcp.service[smtp].last()}=0
當SMTP服務器smtp1.zabbix.com和smtp2.zabbix.com都停止,表達式為true
示例 6 Zabbix agent需要升級
使用str()函數:
{zabbix.zabbix.com:agent.version.str("beta8")}=1
如果Zabbix agent版本是beta8(可能是1.0beta8),則表達式為真。
示例 7 服務器無法訪問
{zabbix.zabbix.com:icmpping.count(30m,0)}>5
當主機“zabbix.zabbix.com”在30分鐘內超過5次不可達,則表達式為真。
示例 8 3分鐘內沒有心跳檢查
使用nodata()函數:
{zabbix.zabbix.com:tick.nodata(3m)}=1
要使用這個觸發器,'tick'必須定義成一個Zabbix[:manual/config/items/itemtypes/trapper|trapper]]監控項。主機應該使用zabbix_sender定期發送這個監控項的數據。
如果在180秒內沒有接收到數據,則觸發值變為異常狀態。
注釋‘nodata’可以在任何類型的監控項中使用。
示例 9 夜間的CPU負載
使用time()函數:
{zabbix:system.cpu.load[all,avg1].min(5m)}>2 and {zabbix:system.cpu.load[all,avg1].time()}>000000 and {zabbix:system.cpu.load[all,avg1].time()}<060000
僅在夜間(00:00-06:00),觸發器狀態變可以變為真。
示例 10 檢查客戶端本地時間是否與Zabbix服務器時間同步
使用fuzzytime()函數:
{MySQL_DB:system.localtime.fuzzytime(10)}=0
當MySQL_DB服務器的本地時間與Zabbix server之間的時間相差超過10秒,觸發器將變為異常狀態。
********** 如果您認為這篇文章還不錯或者有所收獲,請點擊右下角的【推薦】/【贊助】按鈕,因為您的支持是我繼續創作分享的最大動力! **********
作者:講文張字
出處:http://www.rzrgm.cn/zhangwencheng
版權:本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出 原文鏈接
出處:http://www.rzrgm.cn/zhangwencheng
版權:本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出 原文鏈接
浙公網安備 33010602011771號