一、Web監控需求
監控一台Zabbix 3.0的WEB服務是否正常,包括登陸頁,登陸后頁面,退出頁面
ps:zabbix的WEB監控可以實現登錄后監控
二、監控環境介紹
監控服務器版本:zabbix 4.0.2
被監控對象:zabbix3.0.9的WEB界面
三、Web界面的主要參數指標介紹
3.1 Scenario選項框
Name #web監控服務名字 Application #屬於的應用組 New applicatioin #創建該web監控屬於新的應用組 Update interval #更新時間 Attempts #嘗試次數 Agent #使用哪個瀏覽器發起請求 HTTP proxy #使用請求發給指定代理去解析 Variables #設置變量,可用於Step選項卡 Enabled #打勾,開啟
3.2 Step選項卡
Name #監控WEB服務的某個頁面命名 URL #監控服務的完整URL地址 Query fields #發http get請求所攜帶的參數(加在url地址后面) Post type #表單數據Form data;原始數據Raw data,一般選擇表單數據 Post fields #發http post請求所攜帶參數(此處可調用Scenario選項卡定義的變量) Variables #發送二次請求,在得到的響應報文中,可以通過正則表達式捕捉想要的內容,比你高賦值給{變量名}
#關於正則表達式如:regex:name="csrf-token" content="([0-9a-z]{16})" #表示響應報文里找標簽屬性里有name='csrf-token' content='16位字母數字組合'
Follow redirects #允許重定向跳轉 Timeout #超時時間 Required string #請求URL頁面里有的內容 Required status codes #請求URL返回的代碼
3.3 Authenticatioin選項卡(暫無使用到,略)
四、Web監控設置基本流程
Configuration---->Hosts---->Create Host(完成后,返回到Hosts頁面)---->(選擇剛創建的host,點擊該行)WEB---->Create web scenario---->(在Scenario選項卡)填寫打星的框---->(在Steps選項卡)
官方關於Zabbix4.0 WEB監控部分配置案例鏈接:
https://www.zabbix.com/documentation/4.0/manual/web_monitoring/example
官方關於Zabbix3.0 WEB監控部分配置案例鏈接:
https://www.zabbix.com/documentation/3.0/manual/web_monitoring/example
五、問題關注
5.1 關於在WEB監控時,設置登陸,通過正則表達式返回捕捉指定內容,報錯?
原因有兩個:
1.在監控zabbix3.0版本時,登錄成功后返回的不是csrf-token字符串,而是sid,因此name='csrf-token'需要更改成name='sid'
2.在監控zabbix3.0版本時,正則表達式不能使用4.0的content,而需要換成value,即value="([0-9a-z]{16})"
完整正則表達式(只適合本案例):regex:name="sid" value="([0-9a-z]{16})"