本篇內(nèi)容主要講解“分布式監(jiān)控系統(tǒng)之如何理解Zabbix主動(dòng)、被動(dòng)及web監(jiān)控”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“分布式監(jiān)控系統(tǒng)之如何理解Zabbix主動(dòng)、被動(dòng)及web監(jiān)控”吧!
成都創(chuàng)新互聯(lián)公司技術(shù)團(tuán)隊(duì)十余年來致力于為客戶提供成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、品牌網(wǎng)站設(shè)計(jì)、全網(wǎng)整合營銷推廣、搜索引擎SEO優(yōu)化等服務(wù)。經(jīng)過多年發(fā)展,公司擁有經(jīng)驗(yàn)豐富的技術(shù)團(tuán)隊(duì),先后服務(wù)、推廣了上千網(wǎng)站,包括各類中小企業(yè)、企事單位、高校等機(jī)構(gòu)單位。
1、什么是主動(dòng)監(jiān)控?什么是被動(dòng)監(jiān)控?
我們知道獲取數(shù)據(jù)的方式有兩種,一種是get,一種是push;在zabbix中描述主動(dòng)監(jiān)控和被動(dòng)監(jiān)控都是站在agent的一方來描述的;我們把a(bǔ)gent主動(dòng)將數(shù)據(jù)發(fā)送給zabbix server這種方式采集數(shù)據(jù),叫做主動(dòng)監(jiān)控;把zabbix server 向zabbix agent獲取數(shù)據(jù)的方式叫做被動(dòng)監(jiān)控,這種方式只有zabbix server周期性的請(qǐng)求zabbix agent,zabbix agent才會(huì)響應(yīng)對(duì)應(yīng)的數(shù)據(jù)給zabbix server ,如果zabbix server 不請(qǐng)求,則zabbix agent不會(huì)發(fā)送數(shù)據(jù)給zabbix server ;而主動(dòng)監(jiān)控不管zabbix server請(qǐng)不請(qǐng)求agent,agent它都會(huì)以指定時(shí)間頻率向server推送數(shù)據(jù);默認(rèn)zabbix 是使用的被動(dòng)監(jiān)控,這也意味著zabbix server 要不停的去請(qǐng)求各zabbix agent去采集數(shù)據(jù),否則就沒有數(shù)據(jù);
2、主動(dòng)監(jiān)控的工作過程
要實(shí)現(xiàn)主動(dòng)監(jiān)控,首先agent要知道自己采集那些數(shù)據(jù),然后發(fā)送給server端,其次zabbix server 怎么區(qū)分不同的agent 發(fā)來的數(shù)據(jù);在zabbix 監(jiān)控系統(tǒng)中,主動(dòng)監(jiān)控的工作過程是,在zabbix web上配置好監(jiān)控配置后,首先保存到zabbix database中,然后由zabbix server到database中把對(duì)應(yīng)的配置進(jìn)行應(yīng)用;在主動(dòng)模式中,zabbix server 第一次會(huì)主動(dòng)鏈接zabbix agent 把監(jiān)控配置推送給zabbix agent,zabbix agent 拿到監(jiān)控配置以后,它就按照指定的時(shí)間頻率采集指定的數(shù)據(jù)發(fā)送給server端;而zabbix agent為了標(biāo)識(shí)自己的身份,它在向server端發(fā)送數(shù)據(jù)時(shí),它會(huì)把配置文件中指定的hostname帶上,以hostname來標(biāo)識(shí)自己是那個(gè)agent;
3、zabbix trap模式
trap模式也是主動(dòng)監(jiān)控中的一種,它的工作過程不依賴zabbix server配置的時(shí)間間隔,也不依賴zabbix agent;它的工作過程是,在被監(jiān)控主機(jī)上使用zabbix sender工具,不定時(shí)的發(fā)送數(shù)據(jù),而zabbix server端會(huì)運(yùn)行一個(gè)traper的進(jìn)程一直等待各個(gè)被監(jiān)控端發(fā)來的數(shù)據(jù);然后記錄數(shù)據(jù)到數(shù)據(jù)庫,從而完成一次數(shù)據(jù)收集的過程;這種模式主要用在收集當(dāng)被監(jiān)控端遇到緊急事件,臨時(shí)發(fā)出的信息;
配置zabbix agent工作為被動(dòng)模式
提示:默認(rèn)情況zabbix agent采用被動(dòng)模式監(jiān)控,但是我們要配置允許那個(gè)zabbix server來向zabbix agent發(fā)送指令采集數(shù)據(jù);上面紅框中的Server指令就是來配置允許那個(gè)zabbix server向本agent發(fā)送指令采集數(shù)據(jù),它可以配置多個(gè)zabbix server的ip地址;配置好以上Server以后保存配置,啟動(dòng)zabbix agent,在zabbix web界面配置使用zabbix agent 選擇zabbix agent即可完成對(duì)應(yīng)item的配置;如下圖
配置zabbix agent工作為主動(dòng)模式
提示:配置zabbix agent工作為主動(dòng)模式,除了要配置Server還要配置ServerActive和對(duì)應(yīng)主機(jī)名,ServerActive指令用于指定將數(shù)據(jù)發(fā)送給誰;而配置主機(jī)名的方式可以使用Hostname直接指定一個(gè)固定的主機(jī)名,或者使用HostnameItem來使用內(nèi)建的zabbix key system.hostname獲取主機(jī)名;這兩種方式選擇一種即可;
主動(dòng)模式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 ~]# View Code
在zabbix web gui配置使用對(duì)應(yīng)zabbix agent 的類型為zabbix agent (active)
查看我們剛才定義的item是否能夠采集到數(shù)據(jù)呢?
提示:能夠采集到數(shù)據(jù)說明我們配置zabbix agent 為主動(dòng)模式是正常的;
在zabbix web上配置使用zabbix trapper類型的item
提示:以上配置表示允許node05.test.org這臺(tái)主機(jī)使用zabbix sender向zabbix server發(fā)送數(shù)據(jù),發(fā)送數(shù)據(jù)的key為test_trap,這個(gè)key沒有實(shí)質(zhì)上的意義,主要用來標(biāo)識(shí)對(duì)應(yīng)數(shù)據(jù)的;這樣配置以后,在zabbix server 上就配置好一個(gè)trapper來接收node05.test.org使用zabbix_sender 發(fā)送test_trap這個(gè)key 的數(shù)據(jù)了;
在node05上安裝zabbix-sender工具
[root@node05 ~]# yum install -y zabbix-sender
在node05上使用zabbix_sender向zabbix server發(fā)送test_trap這個(gè)key的數(shù)據(jù)
[root@node05 ~]# zabbix_sender -z 192.168.0.43 -s node05.test.org -k test_trap -o "$(free|awk '/^Mem/{print $4}')" info from server: "processed: 1; failed: 0; total: 1; seconds spent: 0.000360" sent: 1; skipped: 0; total: 1 [root@node05 ~]#
提示:-z用戶指定zabbix server的地址,-s用戶指定本機(jī)主機(jī)名稱;-k用于指定接收數(shù)據(jù)的key,-o表示發(fā)送對(duì)應(yīng)key的數(shù)據(jù),-o可以直接給定一個(gè)值或者使用命令替換的方式;
在zabbix web上才看對(duì)應(yīng)key是否收到數(shù)據(jù)呢?
提示:可以看到對(duì)應(yīng)key已經(jīng)收到數(shù)據(jù);這種trap通常可以在沒有zabbix agent情況下,對(duì)應(yīng)被監(jiān)控主機(jī)又想以特定頻率向zabbix server發(fā)送特定的數(shù)據(jù)時(shí)使用,我們可以把在被監(jiān)控端執(zhí)行的zabbix sender命令配置成一個(gè)定時(shí)任務(wù),這樣也可以完成周期性的數(shù)據(jù)采集;
以上就是zabbix中常用的兩種主動(dòng)監(jiān)控的配置,接下來我們?cè)賮砹私庀聑abbix 的web監(jiān)控
什么是web監(jiān)控啊?從字面意思理解就是監(jiān)控web網(wǎng)頁嘛,對(duì)就是監(jiān)控web網(wǎng)頁;我們知道一個(gè)web站點(diǎn)通常都不是一個(gè)頁面,除了主頁還有其他系統(tǒng)頁面,比如支付系統(tǒng),訂單管理系統(tǒng)等等;如果我們監(jiān)控一個(gè)web站點(diǎn)是否正常,如果只監(jiān)控主頁很顯然不夠;在zabbix上它提供了監(jiān)控web頁面的接口,我們只需要配置其對(duì)應(yīng)被監(jiān)控的頁面的訪問url即可;在zabbix 的web監(jiān)控中,默認(rèn)它會(huì)監(jiān)控我們指定頁面的3個(gè)指標(biāo)數(shù)據(jù),分別是監(jiān)控指定頁面的資源下載速度,頁面響應(yīng)時(shí)間和響應(yīng)碼;
配置node05上的web服務(wù)監(jiān)控
在node05上安裝web服務(wù)nginx做測(cè)試
[root@node05 ~]# yum install -y nginx
模擬提供多個(gè)訪問頁面,并啟動(dòng)nginx
[root@node05 ~]# cp /var/log/messages /usr/share/nginx/html/message.html [root@node05 ~]# cp /var/log/lastlog /usr/share/nginx/html/lastlog.html [root@node05 ~]# systemctl start nginx.service [root@node05 ~]# ss -tnl State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 *:80 *:* LISTEN 0 128 *:22 *:* LISTEN 0 100 127.0.0.1:25 *:* LISTEN 0 128 *:10050 *:* LISTEN 0 128 :::80 :::* LISTEN 0 128 :::22 :::* LISTEN 0 100 ::1:25 :::* LISTEN 0 128 :::10050 :::* [root@node05 ~]#
在zabbix web頁面上配置監(jiān)控node05上的web服務(wù)
提示:在主機(jī)列表中找到對(duì)應(yīng)主機(jī),選擇web;
提示:選擇create web scenario進(jìn)入創(chuàng)建web場(chǎng)景頁面;
提示:填寫名稱和application,選擇更新時(shí)間間隔,以及嘗試次數(shù)和agent(客戶端瀏覽器,這里選擇模擬谷歌的瀏覽器),填寫好web scenari 基礎(chǔ)信息后,點(diǎn)擊step,填寫要監(jiān)控的頁面相關(guān)信息;
提示:點(diǎn)擊add添加要監(jiān)控的web url相關(guān)信息;
提示:如果有其他信息,在對(duì)應(yīng)位置點(diǎn)擊add添加即可;按照以上邏輯添加其他網(wǎng)頁url;
提示:如果被監(jiān)控的web頁面需要驗(yàn)證登錄用戶名和密碼,可以選擇Authentication菜單填寫對(duì)應(yīng)的用戶名和密碼即可;如下
提示:如果沒有驗(yàn)證需求,最后的authentication可以選擇不填寫;最后添加好web url后點(diǎn)擊Add就把對(duì)應(yīng)的web 頁面添加到zabbix 監(jiān)控中了;
查看添加到web 監(jiān)控,它到底采集哪些數(shù)據(jù)項(xiàng)?是否有數(shù)據(jù)呢?
提示:從上面的頁面信息可以看到我們添加到web監(jiān)控,它在每個(gè)url上都監(jiān)控了下載速率,狀態(tài)碼和響應(yīng)時(shí)長;上述監(jiān)控采集到數(shù)據(jù)中,我們可以看到對(duì)于work1指定的url 它監(jiān)控響應(yīng)碼是403,原因是我們沒有給message.html授權(quán)nginx用戶可讀,所以它響應(yīng)403;修改權(quán)限即可;
[root@node05 ~]# chmod a+r /usr/share/nginx/html/message.html [root@node05 ~]# ll /usr/share/nginx/html/message.html -rw-r--r-- 1 root root 264214 Nov 23 19:01 /usr/share/nginx/html/message.html [root@node05 ~]#
查看nginx的訪問日志,看看它是否在周期性的訪問對(duì)應(yīng)的頁面?
[root@node05 ~]# tail /var/log/nginx/access.log 192.168.0.43 - - [23/Nov/2020:19:51:23 +0800] "GET /lastlog.html HTTP/1.1" 200 292000 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.104 Safari/537.36" "-" 192.168.0.43 - - [23/Nov/2020:19:52:23 +0800] "GET /index.html HTTP/1.1" 200 4833 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.104 Safari/537.36" "-" 192.168.0.43 - - [23/Nov/2020:19:52:23 +0800] "GET /message.html HTTP/1.1" 403 555 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.104 Safari/537.36" "-" 192.168.0.43 - - [23/Nov/2020:19:52:23 +0800] "GET /lastlog.html HTTP/1.1" 200 292000 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.104 Safari/537.36" "-" 192.168.0.43 - - [23/Nov/2020:19:53:23 +0800] "GET /index.html HTTP/1.1" 200 4833 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.104 Safari/537.36" "-" 192.168.0.43 - - [23/Nov/2020:19:53:23 +0800] "GET /message.html HTTP/1.1" 403 555 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.104 Safari/537.36" "-" 192.168.0.43 - - [23/Nov/2020:19:53:23 +0800] "GET /lastlog.html HTTP/1.1" 200 292000 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.104 Safari/537.36" "-" 192.168.0.43 - - [23/Nov/2020:19:54:23 +0800] "GET /index.html HTTP/1.1" 200 4833 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.104 Safari/537.36" "-" 192.168.0.43 - - [23/Nov/2020:19:54:23 +0800] "GET /message.html HTTP/1.1" 403 555 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.104 Safari/537.36" "-" 192.168.0.43 - - [23/Nov/2020:19:54:23 +0800] "GET /lastlog.html HTTP/1.1" 200 292000 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.104 Safari/537.36" "-" [root@node05 ~]#
提示:從上面的日志中我們可以看到,zabbix server 以每一分鐘的頻率模擬谷歌瀏覽器在訪問對(duì)應(yīng)監(jiān)控的頁面;
到此,相信大家對(duì)“分布式監(jiān)控系統(tǒng)之如何理解Zabbix主動(dòng)、被動(dòng)及web監(jiān)控”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!