4、添加監控客戶端
一、監控Linux服務器
首先安裝zabbix-agent客戶端
CentOS6客戶端:html
# rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/6/x86_64/zabbix-release-3.4-1.el6.noarch.rpm # yum install zabbix-agent #安裝的過程自動建立zabbix用戶和組 # chkconfig --level 345 zabbix-agent on #設置自啓動級別 # vim /etc/zabbix/zabbix_agentd.conf Server=127.0.0.1,10.100.3.66 #本機和監控端IP,需用逗號隔開 ServerActive=10.100.3.66:10051 #監控端IP和端口號 Hostname=commission-server #客戶端主機名,添加主機時要使用 注:Server和ServerActive都指定zabbix server的IP地址,不一樣的是,前者是被動取數據,後者是主動上傳數據。 # service zabbix-agent start #啓動agent # vim /etc/sysconfig/iptables -A INPUT -p tcp -m tcp --dport 10050 -j ACCEPT # service iptables restart # service iptables save # netstat -anpl|grep 10050
CentOS7客戶端:linux
# rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm # yum install zabbix-agent #安裝的過程自動建立zabbix用戶和組 # cat /etc/passwd|grep zabbix zabbix:x:998:995:Zabbix Monitoring System:/var/lib/zabbix:/sbin/nologin # vim /etc/zabbix/zabbix_agentd.conf Server=127.0.0.1,10.100.3.66 ServerActive=10.100.3.66:10051 Hostname=3d-gold-server # systemctl start zabbix-agent # systemctl enable zabbix-agent # firewall-cmd --permanent --add-port=10050/tcp --zone=public # firewall-cmd –reload # netstat -anpl|grep 10050
配置監控端(服務端):express
# firewall-cmd --permanent --add-port=10051/tcp --zone=public # firewall-cmd --permanent --add-port=10050/tcp --zone=public # firewall-cmd --reload
配置-->主機-->建立主機,輸入主機名稱(客戶端名稱,zabbix_agentd.conf配置的名稱)、可見的名稱(別名,外部顯示的名稱)、羣組(主機要加入的主機羣組)、agent代理程序的接口(客戶端IP和端口,默認爲IP地址,也能夠選擇DNS輸入域名),默認啓用便可。
在模板界面,輸入linux搜索可用的連接指示器,選擇Template OS Linux
先點擊第一個添加(添加連接模板),再點擊第二個添加(添加主機),完成主機的建立。
zabbix_get -s 10.100.2.200 -p 10050 -k agent.ping #返回1表示正常
可經過zabbix_get -h獲取幫助文檔。
查看主機,能夠看到ZBX顯示爲綠色,表示監控正常。不然就要檢查日誌。
查看客戶端日誌,若是有如下錯誤提示:
active check configuration update from [10.100.3.66:10051] started to fail (cannot connect to [[10.100.3.66]:10051]: [113] No route to host)
請檢查監控端防火牆配置是否正確,10051端口是否能夠訪問。
此時在監控中-->最新數據,能夠看到剛添加的客戶端的監控數據。
打開監測中-->圖形,選擇羣組、主機、圖形便可查看想要的圖表了。以下圖:
在添加第2臺主機3d-gold時,能夠點擊已有的主機,選擇克隆,再修改主機名稱、可見的名稱、IP地址,點擊添加便可。其餘主機相同操做。
二、監控Windows服務器
下載zabbix_agent:
下載地址:https://www.zabbix.com/download_agents ,下載並解壓縮
解壓後的目錄:bin、conf
bin文件夾:dev文件夾、zabbix_agentd.exe、zabbix_get.exe、zabbix_sender.exe
注:有win32和win64兩個文件夾,分別用於32位和64位系統(文件相同)。
conf文件夾:zabbix_agentd.win.conf
在C盤新建文件夾:C:\Program Files\Zabbix_agent(自定義路徑和文件夾名),並複製「dev文件夾、zabbix_agentd.exe、zabbix_get.exe、zabbix_sender.exe」(根據操做系統版本選擇win32或win64)和「zabbix_agentd.win.conf」到此目錄。以下圖:
配置zabbix_agented.win.conf:
以文本方式打開(如notepad++,格式不會亂),修改如下幾項:和Linux客戶端相似vim
LogFile=C:\Program Files\Zabbix_agent\zabbix_agentd.log #日誌文件路徑 EnableRemoteCommands=1 #容許在本地執行遠程命令 LogRemoteCommands=1 #執行遠程命令是否保存操做日誌 Server=10.100.3.66 #監控端IP,被動模式 ServerActive=10.100.3.66:10051 #監控端IP,主動模式 Hostname=oa-server #客戶端名稱(需和監控端一致)
註冊和啓動服務:以管理員模式啓動cmd命令行
註冊服務:"c:\Program Files\Zabbix_agent\zabbix_agentd.exe" -i -c "c:\Program Files\Zabbix_agent\zabbix_agentd.win.conf"
注:刪除服務爲zabbix_agentd.exe -d -c zabbix_agented.win.conf
啓動服務:"c:\Program Files\Zabbix_agent\zabbix_agentd.exe" -s -c "c:\Program Files\Zabbix_agent\zabbix_agentd.win.conf"
也可在服務裏,選擇Zabbix Agent服務,點擊啓動
經過netstat -an命令能夠看到端口已起來:
配置防火牆:容許10050(TPC/UDP)端口進來
最好把容許zabbix_agentd.exe程序經過防火牆通訊也打開
監控端配置:
同Linux客戶端操做相似,添加主機模板時,能夠搜索windows,選擇Template OS Windows模板。
遠程操做命令:
管理-->腳本-->建立腳本,以下圖:輸入名稱,命令,描述,點擊添加。
打開拓撲圖,點擊須要重啓的Win服務器,選擇重啓命令便可。
三、監控網絡設備連通性
經過ICMP PING監控網絡設備的連通性:
Zabbix使用外部命令fping處理ICMP ping的請求,在3.4.2中默認已安裝好,直接使用便可。
1>添加網絡設備
配置-->主機-->建立主機,輸入主機名稱、可見的名稱、選擇羣組、輸入IP地址
2>在模板頁面,添加Template Module ICMP Ping模板
在連接指示器中,點擊選擇,在Templates羣組中選中Template Module ICMP Ping,而後添加便可
3>添加圖形
在圖形頁面,點擊建立圖形
添加完成後,便可看到監控圖:
4>監控項和觸發器
在最新數據中可看到監控項中的最新數據:
默認已有觸發器模板,添加設備後默認已啓用
四、資產管理
配置-->主機,打開某臺主機的配置-->主機資產記錄,以下圖(截取部份內容):
默認停用的,能夠選擇手動或自動(自動的僅獲取名稱和操做系統),而後補充相應的數據,最後更新便可。
查看資產記錄:
打開資產記錄主機,選擇相應主機,便可查看主機的概述,打開細節可查看全部記錄項。
5、監控項管理
Items是從主機裏面獲取的全部數據。一般狀況下叫item爲監控項,item由key+參數組成,例如監控項中須要獲取cpu信息,則須要一個對應的監控key:system.cpu.load [avg5],avg5是對應的參數,表示5分鐘的負載狀況。
建立監控項:
例如:獲取CPU的內核數:
打開:配置-->主機-->監控項,以下圖:
點擊建立監控項,輸入名稱(如CPU Core Num),選擇鍵值(system.cpu.num),添加到應用集(CPU),填入主機資產記錄欄位(硬件)
注意:在建立Item過程當中,選擇Key時,要將選擇的system.cpu.num[<type>]的key值修改爲system.cpu.num,不然會報Invalid first parameter的錯誤。
最後點擊添加便可。
但這僅僅是針對某一臺服務器添加的監控項,若是要對全部服務器都使用,可在「配置」「模板」「監控項」(如Template OS Linux)中添加便可。
最新數據能夠看到cpu是4核的。
Key格式:Item key格式包含key名稱和參數,參數必須符合規範
首先驗證key名是否合法,若是存在參數那麼驗證參數是否合法,若是沒有參數那直接跳過。
key名稱規範:0-9a-zA-Z_-.,即容許字符:全部數字、大小寫字母、下劃線、減號、點。
key能夠有多個參數,他們之間用逗號分開,key參數能夠是帶引號的字符串、不帶引號的字符串以及數組。參數若是爲空,那麼將會使用他設置的默認值。windows
經過自動發現,監控CPU每一個核心:
一、建立模板或使用已有的模板。
二、建立自動發現規則
配置-->模板-->自動發現-->建立發現規則:
三、建立監控項原型
配置-->模板-->自動發現-->監控項原型-->建立監控項原型:
注:Windows中監控項原型略有不一樣,鍵值改成:system.cpu.util[{#CPU.NUMBER},,],不然會報Invalid second parameter的錯誤,其餘相似。
在最新數據中顯示效果:
四、建立圖形原形(可省略)
配置-->模板-->自動發現-->圖形原型-->建立圖形原型:
這樣,就能夠在監測中-->圖形,看到每一個核心的使用百分比圖形了。
若是想把多個核心放在一張圖上,則還須要針對具體主機建立圖形。
配置-->主機-->圖形-->建立圖形:
效果以下:數組
6、觸發器管理
默認大部分監控項都在模板中配置了觸發器,但有些監控項須要根據我的須要自已去建立。另外像上面例子在自動發現規則中建立了CPU core discovery,但卻沒有建立觸發器類型。
建立觸發器能夠在模板的觸發器中建立,如定義了自動發現規則也能夠在自動發現規則的觸發器中建立觸發器類型。
具體的觸發器定義規則,可參考官方文檔:
觸發器、自動發現
例如:5分鐘內CPU使用率的平均值超過85%時報警
配置-->模板-->Template OS Linux-->觸發器-->建立觸發器,
在監控項中能夠看到system.cpu.util[,,]表示CPU使用率,返回浮點數
其中有一個cpu idle時間(system.cpu.util[,idle]),即cpu的空閒時間,當空閒時間小於15%的時候就是cpu大於85%的時候。以下圖:
輸入名稱:{HOST.NAME} cpu use percent 5m avg > 85%
選擇嚴重性:如通常嚴重
選擇表達式:直接輸入,或點擊添加插入如下表達式均可以
{Template OS Linux:system.cpu.util[,idle].avg(5)} 〈 15 (注:小於號改成英文半角)
其餘值默認,選擇啓用,添加便可。
另外,還能夠在自動發現規則裏建立觸發器原型。
例如:監控每一個CPU core 10分鐘內平均使用率超過90%時觸發嚴重告警
配置-->模板-->Template OS Linux-->自動發現規則-->CPU core discovery-->觸發器類型-->建立觸發器原型,
輸入名稱:{HOST.NAME} CPU core {#CPU.NUMBER} 10m avg > 90%
選擇嚴重性:如自定義爲嚴重
表達式:{Template OS Linux:system.cpu.util[{#CPU.NUMBER},user,avg1].avg(10)}>90
其餘默認,選擇啓用,添加便可。
注:Windows模板和Linux略有不一樣,表達式改成:{Template OS Windows:system.cpu.util[{#CPU.NUMBER},,].min(10m)}>90
能夠把報警值調低(如50%),平均時間設爲1分鐘,而後經過計算圓周率來進行壓力測試,觸發告警。
[root@zabbix ~]# echo "scale=8000; 4*a(1)" | bc -l -q
默認網卡自動發現規則Network interface discovery沒有觸發器原型,能夠手動建立。
例如:網卡流出流量5分鐘內平均流量超過30M時報警
配置-->模板-->Template OS Linux-->自動發現規則-->Network interface discovery-->觸發器類型-->建立觸發器原型,
輸入名稱:{HOST.NAME} Outgoing network traffic on {#IFNAME} 5m avg > 30M
選擇嚴重性:如警告
表達式:{Template OS Linux:net.if.out[{#IFNAME}].avg(5)}>30M
注:30M爲bps,如想使用Bps(byte),能夠用net.if.out[{#IFNAME},bytes]。
其餘默認,選擇啓用,添加便可。
用此規則能夠監控服務器上傳下載文件的流量。
從FTP服務器下載一個大文件,觸發告警。
參考:官方文檔:觸發器表達式、官方文檔:支持的觸發器函數
其餘參考:觸發器相關、觸發器詳解服務器