分布式監(jiān)控系統(tǒng)之Zabbix主動、被動及web監(jiān)控的過程詳解
前文我們了解了zabbix的網絡發(fā)現功能,以及結合action實現自動發(fā)現主機并將主機添加到zabbix hosts中,鏈接指定模板進行監(jiān)控;回顧請參考http://www.dhdzp.com/article/200678.htm;今天我們來了解下zabbix的主動監(jiān)控、被動監(jiān)控以及web監(jiān)控相關話題;
1、什么是主動監(jiān)控?什么是被動監(jiān)控?
我們知道獲取數據的方式有兩種,一種是get,一種是push;在zabbix中描述主動監(jiān)控和被動監(jiān)控都是站在agent的一方來描述的;我們把agent主動將數據發(fā)送給zabbix server這種方式采集數據,叫做主動監(jiān)控;把zabbix server 向zabbix agent獲取數據的方式叫做被動監(jiān)控,這種方式只有zabbix server周期性的請求zabbix agent,zabbix agent才會響應對應的數據給zabbix server ,如果zabbix server 不請求,則zabbix agent不會發(fā)送數據給zabbix server ;而主動監(jiān)控不管zabbix server請不請求agent,agent它都會以指定時間頻率向server推送數據;默認zabbix 是使用的被動監(jiān)控,這也意味著zabbix server 要不停的去請求各zabbix agent去采集數據,否則就沒有數據;
2、主動監(jiān)控的工作過程
要實現主動監(jiān)控,首先agent要知道自己采集那些數據,然后發(fā)送給server端,其次zabbix server 怎么區(qū)分不同的agent 發(fā)來的數據;在zabbix 監(jiān)控系統(tǒng)中,主動監(jiān)控的工作過程是,在zabbix web上配置好監(jiān)控配置后,首先保存到zabbix database中,然后由zabbix server到database中把對應的配置進行應用;在主動模式中,zabbix server 第一次會主動鏈接zabbix agent 把監(jiān)控配置推送給zabbix agent,zabbix agent 拿到監(jiān)控配置以后,它就按照指定的時間頻率采集指定的數據發(fā)送給server端;而zabbix agent為了標識自己的身份,它在向server端發(fā)送數據時,它會把配置文件中指定的hostname帶上,以hostname來標識自己是那個agent;
3、zabbix trap模式
trap模式也是主動監(jiān)控中的一種,它的工作過程不依賴zabbix server配置的時間間隔,也不依賴zabbix agent;它的工作過程是,在被監(jiān)控主機上使用zabbix sender工具,不定時的發(fā)送數據,而zabbix server端會運行一個traper的進程一直等待各個被監(jiān)控端發(fā)來的數據;然后記錄數據到數據庫,從而完成一次數據收集的過程;這種模式主要用在收集當被監(jiān)控端遇到緊急事件,臨時發(fā)出的信息;
配置zabbix agent工作為被動模式

提示:默認情況zabbix agent采用被動模式監(jiān)控,但是我們要配置允許那個zabbix server來向zabbix agent發(fā)送指令采集數據;上面紅框中的Server指令就是來配置允許那個zabbix server向本agent發(fā)送指令采集數據,它可以配置多個zabbix server的ip地址;配置好以上Server以后保存配置,啟動zabbix agent,在zabbix web界面配置使用zabbix agent 選擇zabbix agent即可完成對應item的配置;如下圖

配置zabbix agent工作為主動模式

提示:配置zabbix agent工作為主動模式,除了要配置Server還要配置ServerActive和對應主機名,ServerActive指令用于指定將數據發(fā)送給誰;而配置主機名的方式可以使用Hostname直接指定一個固定的主機名,或者使用HostnameItem來使用內建的zabbix key system.hostname獲取主機名;這兩種方式選擇一種即可;
主動模式zabbix agent配置文件
[root@node05 ~]# grep -Ei ^[a-z] /etc/zabbix/zabbix_agentd.conf PidFile=/var/run/zabbix/zabbix_agentd.pid LogFile=/var/log/zabbix/zabbix_agentd.log LogFileSize=0 Server=192.168.0.43 ServerActive=192.168.0.43 HostnameItem=system.hostname Include=/etc/zabbix/zabbix_agentd.d/*.conf [root@node05 ~]#
在zabbix web gui配置使用對應zabbix agent 的類型為zabbix agent (active)

查看我們剛才定義的item是否能夠采集到數據呢?

提示:能夠采集到數據說明我們配置zabbix agent 為主動模式是正常的;
在zabbix web上配置使用zabbix trapper類型的item

提示:以上配置表示允許node05.test.org這臺主機使用zabbix sender向zabbix server發(fā)送數據,發(fā)送數據的key為test_trap,這個key沒有實質上的意義,主要用來標識對應數據的;這樣配置以后,在zabbix server 上就配置好一個trapper來接收node05.test.org使用zabbix_sender 發(fā)送test_trap這個key 的數據了;
在node05上安裝zabbix-sender工具
在node05上使用zabbix_sender向zabbix server發(fā)送test_trap這個key的數據
提示:-z用戶指定zabbix server的地址,-s用戶指定本機主機名稱;-k用于指定接收數據的key,-o表示發(fā)送對應key的數據,-o可以直接給定一個值或者使用命令替換的方式;
在zabbix web上才看對應key是否收到數據呢?

提示:可以看到對應key已經收到數據;這種trap通常可以在沒有zabbix agent情況下,對應被監(jiān)控主機又想以特定頻率向zabbix server發(fā)送特定的數據時使用,我們可以把在被監(jiān)控端執(zhí)行的zabbix sender命令配置成一個定時任務,這樣也可以完成周期性的數據采集;
以上就是zabbix中常用的兩種主動監(jiān)控的配置,接下來我們再來了解下zabbix 的web監(jiān)控
什么是web監(jiān)控?。繌淖置嬉馑祭斫饩褪潜O(jiān)控web網頁嘛,對就是監(jiān)控web網頁;我們知道一個web站點通常都不是一個頁面,除了主頁還有其他系統(tǒng)頁面,比如支付系統(tǒng),訂單管理系統(tǒng)等等;如果我們監(jiān)控一個web站點是否正常,如果只監(jiān)控主頁很顯然不夠;在zabbix上它提供了監(jiān)控web頁面的接口,我們只需要配置其對應被監(jiān)控的頁面的訪問url即可;在zabbix 的web監(jiān)控中,默認它會監(jiān)控我們指定頁面的3個指標數據,分別是監(jiān)控指定頁面的資源下載速度,頁面響應時間和響應碼;
配置node05上的web服務監(jiān)控
在node05上安裝web服務nginx做測試
模擬提供多個訪問頁面,并啟動nginx
在zabbix web頁面上配置監(jiān)控node05上的web服務

提示:在主機列表中找到對應主機,選擇web;

提示:選擇create web scenario進入創(chuàng)建web場景頁面;

提示:填寫名稱和application,選擇更新時間間隔,以及嘗試次數和agent(客戶端瀏覽器,這里選擇模擬谷歌的瀏覽器),填寫好web scenari 基礎信息后,點擊step,填寫要監(jiān)控的頁面相關信息;

提示:點擊add添加要監(jiān)控的web url相關信息;

提示:如果有其他信息,在對應位置點擊add添加即可;按照以上邏輯添加其他網頁url;

提示:如果被監(jiān)控的web頁面需要驗證登錄用戶名和密碼,可以選擇Authentication菜單填寫對應的用戶名和密碼即可;如下

提示:如果沒有驗證需求,最后的authentication可以選擇不填寫;最后添加好web url后點擊Add就把對應的web 頁面添加到zabbix 監(jiān)控中了;

查看添加到web 監(jiān)控,它到底采集哪些數據項?是否有數據呢?

提示:從上面的頁面信息可以看到我們添加到web監(jiān)控,它在每個url上都監(jiān)控了下載速率,狀態(tài)碼和響應時長;上述監(jiān)控采集到數據中,我們可以看到對于work1指定的url 它監(jiān)控響應碼是403,原因是我們沒有給message.html授權nginx用戶可讀,所以它響應403;修改權限即可;
查看nginx的訪問日志,看看它是否在周期性的訪問對應的頁面?
提示:從上面的日志中我們可以看到,zabbix server 以每一分鐘的頻率模擬谷歌瀏覽器在訪問對應監(jiān)控的頁面;
以上就是zabbix web監(jiān)控相關的配置和演示;后續(xù)我們就可以針對web監(jiān)控的采集到指標數據定義觸發(fā)器,告警等等操作;
到此這篇關于分布式監(jiān)控系統(tǒng)之Zabbix主動、被動及web監(jiān)控的過程詳解的文章就介紹到這了,更多相關Zabbix分布式監(jiān)控系統(tǒng)內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
ubuntu系統(tǒng)下部署zabbix服務器監(jiān)控的方法教程
這篇文章主要給大家介紹了在ubuntu系統(tǒng)下部署zabbix服務器監(jiān)控的方法教程,文中將步驟介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面跟著小編來一起看看吧。2017-06-06
Zabbix監(jiān)控華為交換機DHCP接口地址池的操作過程
最近工作中遇到一個因為DHCP地址池滿載、導致用戶無法獲取到IP地址的故障,所以在想通過zabbix 監(jiān)控DHCP地址池的狀態(tài)、當DHCP 地址池數量小于某個值時觸發(fā)zabbix告警,這篇文章主要介紹了Zabbix監(jiān)控華為交換機DHCP接口地址池,需要的朋友可以參考下2023-08-08
zabbix agent2 監(jiān)控oracle數據庫的方法
這篇文章主要介紹了zabbix agent2 監(jiān)控oracle數據庫的方法,本文給大家介紹的非常詳細,對大家的學習或工作具體一定的參考借鑒價值,需要的朋友可以參考下2021-05-05
zabbix監(jiān)控Nginx/Tomcat/MySQL的詳細教程
這篇文章主要介紹了zabbix監(jiān)控Nginx/Tomcat/MySQL的詳細教程,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-12-12
Zabbix 結合 bat 腳本實現多個應用程序狀態(tài)監(jiān)控的方法
這篇文章主要介紹了Zabbix 結合 bat 腳本實現多個應用程序狀態(tài)監(jiān)控,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-02-02
Zabbix對Kafka?topic積壓數據監(jiān)控的解決方案
這篇文章主要介紹了Zabbix對Kafka?topic積壓數據監(jiān)控的解決方案,它與Apache Storm和Spark非常好地集成,用于實時流式數據分析,需要的朋友跟隨小編一起看看吧2022-07-07
關于zabbix自定義監(jiān)控項和觸發(fā)器問題
這篇文章主要介紹了zabbix自定義監(jiān)控項和觸發(fā)器的相關知識,關于監(jiān)控端口,監(jiān)控服務,模板的導入和導出問題,本文給大家介紹的非常詳細,感興趣的朋友一起看看吧2021-12-12

