一、zabbix監控web網站
1.概述
1)動態與靜態網站
1.靜態網站:上傳到服務器什么樣子,訪問時就是什么樣子,源代碼,html頁面
2.動態網站:不一定是服務器上存在的頁面,是通過獲取數據組成的頁面
3.靜態網站不支持登錄,動態網站支持登錄
涉及登錄,我們要知道 session 和 cookie
2)session 和 cookie
1.當用戶訪問服務器時,登陸之后會在服務器上保存一個 sessionid
2.服務器返回數據給瀏覽器時,會根據sessionid在瀏覽器上保存一個相應的cookie
3.當用戶再次通過瀏覽器訪問,瀏覽器會拿着cookie與服務器上的sessionid對比
4.如果對比一致,默認你還是登錄狀態,如果對比不一致,請重新登陸

2.使用curl命令模擬登陸網站
1)curl命令模擬登陸網站
[root@m01 ~]# curl -L -c cookie -b cookie 'http://10.0.0.71/zabbix/index.php'
#-b: cookie字符串或文件讀取位置,使用option來把上次的cookie信息追加到http request里面去。
#-c: 操作結束后把cookie寫入到這個文件中
2)再次訪問時,攜帶cookie信息,同時使用-d參數攜帶用戶以及密碼,模擬登陸
[root@m01 ~]# curl -L -c cookie -b cookie -d 'name=Admin&password=123456&autologin=1&enter=Sign+in' 'http://10.0.0.71/zabbix/index.php'
#-d: 以POST的請方式攜帶頭部信息請求
3)登陸zabbix服務器后,可以使用curl命令獲取zabbix隊列信息
[root@m01 ~]# curl -L -c cookie -b cookie 'http://10.0.0.61/zabbix/queue.php?config=0'
3.web界面監控實戰
我們使用Zabbix Web 監控來監控Zabbix的Web界面。我們想知道它是否可用、是否正常工作以及響應速度。所以我們必須使用用戶名和密碼登錄。
#任何web場景都會收集下列數據:
1.整個場景中所有步驟的平均下載速度
2.失敗的步驟數量
3.最近的錯誤信息
#對於web場景的所有步驟,都會收集下列數據:
1.平均下載速度
2.響應時間
3.HTTP狀態碼
#官網筆記
https://www.zabbix.com/documentation/4.0/zh/manual/web_monitoring/example
#注意:
Zabbix前端在登錄時使用JavaScript重定向,因此首先我們必須登錄,只有在下一步的步驟中,我們才能進行檢查登錄功能。
此外,登錄步驟必須使用完整的URL (也就是登陸時需要提交用戶名以及密碼等) 還要注意我們如何使用正則表達式的變量語法獲取{sid}變量(會話 ID)的內容:regex:name="csrf-token" content="([0-9a-z]{16})"
1)創建web場景




針對網頁訪問及退出整個流程實現方案


這里的sid注意:regex:name="csrf-token" content="([0-9a-z]{16})"如何使用正則表達式的變量語法獲取
{sid}變量(會話 ID)的內容




- 最后點擊保存

- 可通過檢測查看狀態(但是上面的沒有問題哦,這里放了一張假圖)

2)查看狀態
#保存web場景以后
監測 --- web監測


3)給Web監測添加觸發器
4)測試告警
#測試網站訪問速度響應慢進行觸發報警
[root@zabbix-server ~]# ab -n 100000 -c 20 http://10.0.0.71/zabbix/index.php
