Zabbix 添加 WEB 監控


添加 WEB Monitorings
Web Monitoring是用來監控web程序的,可以監控到web程序的下載速度、返回碼及響應時間,還支持把一組連續的web動作作為一個整體來監控。
下面我們以監控登陸zabbixweb程序為例,來展示如何使用web monitoring
Configuration->web->Create Scenario 創建一個Scenario(注:必須選擇host后才能創建scenariozabbix的所有items都必須創建在hosts)
 
 
Application:選擇這個scenario所在的application
Namescenario的名字
Basic authentication:鑒權
Update interval:監控頻率,s為單位
Agent:選擇要使用的瀏覽器客戶端,可能同樣的web程序對不同的客戶端展示的內容會不一樣
Status:默認為active
Variables:變量定義,這里定義的變量可在后續的steps中使用,這里我們定義了用戶和密碼的變量
Stepsweb 程序的各個步驟,選擇add新增一個Loginstep,來模擬用戶登陸,傳遞用戶和密碼給index.php頁面
 
 
URL:監控的web頁面(:必須是全路徑帶頁面名)
Post:傳遞給頁面的參數,多個參數之間用&連接,此處可引用前面定義的變量
Timeout:超時時間
Required:頁面中能匹配到字符,匹配不到即認為錯誤
Status codes:頁面返回碼
 
添加完step后,我們在Monitoring->web頁面即能看到監控的狀態和圖示
 
 
創建完scenario后,zabbix server會自動創建相關的items,所以我們只需為這些items添加triggers即可讓web scenario出錯時產生告警
Configuration->hosts->點擊scenario所在的host條目的trigger,直接create trigger,在select items的時候就可以看到系統自動創建的items(注:自動創建的itemshostitems列表中直接是看不到的,需要在創建trigger時選擇items時才能看到)
 
 
可以在items列表中看到,系統為每個step創建了3itemDownload Speed/Response Code/Response Time,為整個scenario創建了一個test.failitem,可以分別為其創建trigger
下例我們創建一個Login頁面返回碼的trigger,大於等於400即為錯誤
 
 
再創建一個整個scenario所有step運行是否成功的trigger,采集值為0表示整個scenario的所有step都執行成功了,第幾步的step執行失敗就返回數字幾,且后續的step都不會繼續執行下去。
 
 
這樣,一個完整的web monitoring就配置完成了。
Web monitoring還有更多強大的功能,未能一一研究了解,有待挖掘
ZabbixGraphs功能很強大,可以為每一個item繪制圖表,也可以把多個items繪制在一張圖表內。
通過configuration->hosts選擇要繪制圖表的host,點擊graphscreate graphs即可創建圖表。
 
 
Graph type:圖表樣式,有線狀、柱狀、餅狀
還可以自定義圖表大小,及Y軸最大最小值
通過add items可以添加在同一個圖表中展示的多個items(注:注意每個item的顏色及取值范圍,范圍相差太大圖表會顯示不全)
配置好的graphsmonitoring->graphs中查看
monitoring->last data下能快速查看每個host的每個itemgraph
Screen將多種信息放在一起展示,便於集中展示某個host的多個信息,或是比較多個hosts的同一種信息,這些信息可以為graphsmapsserver infos等等,幾乎涵蓋zabbix所有的監控信息。
通過configuration->screen->creat screen來創建,創建時定義screen的行數和列數,點擊對應單元格內的change,添加相應的信息
 
 
 
 
 
 
 

一直在糾結用什么實例來給大家演示呢?想來想去還是官方的好,那我們怎么用zabbix監控web性能和可用性呢?我們這邊分為幾個步驟:打開網站、登陸、登陸驗證、退出,一共4個小step,看實例。

檢測流程

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即表示退出成功。

我們可以使用上節講到的item key來獲取每個step的速度以及響應時間或者說最新的一個錯誤消息,大家自己去研究吧,不難

創建WEB場景

configuration->Host->你的主機->web->右上角Create scenario

nagios

Create scenario - 01

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:打開首頁

nagios

Create scenario - 02

對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:登陸

 

nagios

Create scenario - 03

post賬號和密碼上去,關於post在前面已經提過了。

WEB監控階段3:驗證登陸

nagios

Create scenario - 04

WEB監控階段4:退出賬號

nagios

Create scenario - 05

 

WEB網站檢測配置完成

記得保存賬號

nagios

Create scenario - 06

 

查看結果

monitorning->web->篩選出你的主機->查看“WEB性能監控_FOR_TTLSA”,結果如下圖

各個階段的響應時間、速度、返回狀態碼以及總的響應時間

nagios

Create scenario - 07

下圖是下載速度的圖表,包含各個階段

nagios

Create scenario - 08

下圖是響應時間的圖表

nagios

Create scenario - 09

以上是沒問題的信息,那么出現故障是什么樣子呢?我把密碼改掉,演示給大家看看下圖,在LOGIN IN這個step就出錯了,拿不到SID

nagios

Create scenario - 10

那么Required String不匹配又是什么樣子呢?我們把階段3Login CHECK的required string的Profile改成Profile1試試。看看結果

nagios

web scenario - 11

 

好了,web監控的實例就完成了。

 
通過monitoring-screen,可以查看之前配置好的信息。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM