咱們怎麼用zabbix監控web性能和可用性呢?php
咱們這邊分爲幾個步驟:打開網站、登錄、登錄驗證、退出,一共4個小step。html
檢測流程web
1. 打開網站:若是http code爲200,而且響應的html中包含Zabbix SIA表示打開成功(zabbix頁面有這個標示)正則表達式
2. 登錄後臺:post用戶名和密碼到index.php,若是響應200,那表示post成功。而且經過正則表達式從響應的html中匹配sid,這個sid也就是一個宏變量,退出可使用到瀏覽器
3. 驗證登錄:打開首頁,檢索html中是否包含Profile(只有登錄成功,纔會有Profile出現)服務器
4.退出帳號:傳遞參數sid給index.php便可退出,響應200即表示退出成功。app
咱們可使用上節講到的item key來獲取每一個step的速度以及響應時間或者說最新的一個錯誤消息,你們本身去研究吧,不難ide
建立WEB場景post
組態->主機->選中主機->web->右上角 建立場景性能
Name:監控項的名稱
Application:放到哪一個應用中,《什麼是Application》
Authentication:是否有http的基本認證,大部分狀況下是None,難不成用戶進來還須要通過一次認證?
Update interval:更新週期,默認60秒,多久跑一次
Retries:重試次數
Agetn:模擬瀏覽器
HTTP proxy:代理,若是你的站點有多臺服務器,那麼請寫上你目標服務器ip和端口,例如http://10.9.0.2:80,默認端口可不是80,別忘記80了
Variables:宏變量,後面會用到。想了解請點《zabbix用戶宏macro》
web監控階段1:打開首頁
對step作一個說明:
name:當前step名稱,item key中能夠用到
url:須要檢測的網址
POST:你須要post提交上去的內容,例如user=123&password=123456,,或者使用宏變量user={user}&password={password},若是支持GET,那麼能夠直接寫到URL裏面
variables:變量,這邊定義宏變量後續的step可使用
Timeout:超時時間,默認15秒
Required string:響應的內容中必須包含的字符串,不然失敗
Required status codes:響應代碼必須包含在裏面,多個響應代碼用逗號分隔,例如200,301,302
web監控階段2:登錄
post帳號和密碼上去,關於post在前面已經提過了。
WEB監控階段3:驗證登錄
WEB監控階段4:退出帳號
WEB網站檢測配置完成
查看結果
monitorning->web->篩選出你的主機->查看「WEB性能監控_FOR_TTLSA」,結果以下圖
各個階段的響應時間、速度、返回狀態碼以及總的響應時間
下圖是下載速度和響應時間的圖表,包含各個階段
以上是沒問題的信息,那麼出現故障是什麼樣子呢?我把密碼改掉,演示給你們看看下圖,在LOGIN IN這個step就出錯了,拿不到SID
那麼Required String不匹配又是什麼樣子呢?咱們把階段3Login CHECK的required string的profile改爲Profile試試。看看結果
好了,web監控的實例就完成了。