概況
Zabbix agent部署在監控的目標上,主動監測本地的資源和應用(硬件驅動,內存,處理器統計等)。正則表達式
Zabbix agent收集本地的操做信息並將數據報告給Zabbix server用於進一步處理。一旦出現異常 (好比硬盤空間已滿或者有崩潰的服務進程), Zabbix server會主動警告管理員指定機器上的異常。數據庫
Zabbix agents的極端高效緣於它能夠利用本地系統調用來完成統計數據的收集。windows
被動(passive)和主動(active)檢查
Zabbix agents能夠執行被動和主動兩種檢查方式。服務器
Windows上的Zabbix agent是以Windows服務的形式運行的。less
您能夠在主機上運行Zabbix agent的單個實例或多個實例。oop
單個實例可使用默認配置文件或命令行中指定的配置文件。性能
在多個實例的狀況下,每一個agent實例必須有本身獨立的配置文件(其中一個實例可使用默認配置文件)。測試
如下命令參數能夠在Zabbix agent中使用:spa
參數 | 描述n |
---|---|
UNIX 和 Windows agent | |
-c --config <config-file> | 配置文件的絕對路徑。 您可使用此選項來制定配置文件,而不是使用默認文件。\\在UNIX中, 默認文件是/usr/local/etc/zabbix_agentd.conf 要麼經過 compile-time 變量 --sysconfdir 或者 --prefix來設置 在Windows中,默認文件是 c:\zabbix_agentd.conf |
-p --print | 顯示已知監控項並推出 Note: 爲了同時返回用戶參數user parameter 您必須制定配置文件 (若是不是在指定位置的話). |
-t --test <item key> | 測試指定監控項並退出。 Note:爲了同時返回用戶參數 user parameter 您必須制定配置文件 (若是不是在指定位置的話). |
-h --help | 顯示幫助信息 |
-V --version | 顯示版本號 |
僅UNIX agent | |
-R --runtime-control <option> | 執行管理功能。參見 運行時控制. runtime control. |
僅Windows agent | |
-m --multiple-agents | 使用多agent實例 (使用 -i,-d,-s,-x )。 T爲了區分實例的服務名稱,每項服務名都會包涵來自配置文件裏的主機名值。 |
僅Windows agent (功能) | |
-i --install | 以服務的形式安裝Zabbix Windows agent |
-d --uninstall | 卸載Zabbix indows agent服務 |
-s --start | 開始Zabbix Windows agent服務 |
-x --stop | 中止bbix Windows agent 服務 |
將上面下載的zabbix_agents_3.4.6.win.zip文件解壓放到c盤裏面命令行
而後須要修改conf裏面的zabbix_agentd.win.conf這個是配置文件
須要修改的配置選項:
LogFile=C:\zabbix_agents_3.4.6.win\log\zabbix_agentd.log ##這個是日誌存放的地址
Server=192.168.10.10 ##這個是zabbix服務端的地址
ServerActive=192.168.10.10:10050 ##10050是zabbix-server和zabbix-agent通訊的端口
Hostname=192.168.10.11 ##這個填寫須要監控的Windows服務器IP
管理員權限運行cmd,以下圖顯示installed successfully表明成功了,再去服務裏面啓動zabbix-agent
##下面這一串命令是把agentd服務啓動
C:\zabbix_agents_3.4.6.win\bin\win64\zabbix_agentd -i -m -c C:\zabbix_agents_3.4.6.win\conf\zabbix_agentd.win.conf
建立完監控項之後新建觸發器,能夠在表達式構造器測試這個觸發器是否有用
名稱:cpu used is more than 80%
嚴重性:通常嚴重
表達式:{Template Windows CPU usage:perf_counter[\Processor(_Total)\% Processor Time].avg(5m)}>80
建立完觸發器再添加一個圖形查看cpu使用率圖表
名稱:CPU使用率
監控項:Template Windows CPU usage: CPU使用率
添加成功之後能夠查看CPU圖形表了,有數據表明成功監控了!
WIN下的IO性能監控,是經過調用性能計數器中的參數來獲取
目前已經統計成模板,可直接使用,模板包括了圖形和上圖所示的監控項
選擇配置--->模板--->(Template OS Linux/Template OS Windows)
我這邊是監控Windows因此修改Windows的模板,若是是監控Linux能夠修改Linux的模板
默認是1小時更新一次,修改爲600秒,就是10分鐘更新一次,10分鐘後就能看到網卡和磁盤的監控值了!
選擇配置--->模板--->(Template OS Linux/Template OS Windows)--->Mounted filesystem discovery--->觸發器類型
我這邊是已經修改好的了,沒有修改的或者沒有這一觸發項的,能夠點擊右上角(建立觸發器原型)
名稱:Free disk space is less than 50GB on volume {#FSNAME}
表達式:{Template OS Windows:vfs.fs.size[{#FSNAME},free].last(0)}<50000000000
選擇配置--->模板--->(Template OS Linux/Template OS Windows)--->Mounted filesystem discovery--->監控項類型
我這邊是已經修改好的了,沒有修改的或者沒有這一監控項的,能夠點擊右上角(建立監控項原型)
名稱:Free disk space on $1
表達式:vfs.fs.size[{#FSNAME},free]
單位:B
更新間隔:1m或者60s均可以
問題描述:這個通常是默認的windows模板裏面包含自動發現服務器網卡的,可是會自動發現不少其餘的網卡什麼之類的圖形東東
解決辦法:你直接刪除對應的圖形是沒用的,由於自動發現規則會再次自動發現,因此須要把規則改一下
1.自動發現規則裏面---->Windows service discovery(這個能夠禁用掉)
2.管理--->通常--->正則表達式--->Network interfaces for discovery(加入下圖的參數,這樣就設定不會自動發現以這些參數網卡了)
1 » Microsoft [結果爲假] 2 » Teredo [結果爲假] 3 » Qos [結果爲假] 4 » WFP [結果爲假] 5 » RAS [結果爲假] 6 » WAN [結果爲假] 7 » ^Nu[0-9.]*$ [結果爲假] 8 » ^[Ss]ystem$ [結果爲假] 9 » ^[Ll]o[0-9.]*$ [結果爲假] 10 » ^NULL[0-9.]*$ [結果爲假] 11 » ^(In)?[Ll]oop[Bb]ack[0-9._]*$ [結果爲假] 12 » ^Software Loopback Interface [結果爲假] 13 » Network traffic on Broadcom NetXtreme Gigabit Ethernet [結果爲假]
模板名稱:Template Windows Event Log
監控項:
應用程序日誌MSExchangeTransport
eventlog[Application,,,"MSExchangeTransport",^15004$,,skip]
觸發器:
應用程序日誌60S不出現則恢復
{Template Windows Event Log:eventlog[Application,,,"MSExchangeTransport",^15004$,,skip].nodata(60)}=0
觸發器:
出現系統錯誤日記
{Template Windows Event Log:eventlog[System,,"Error",,[^],,skip].logeventid(36882)}<>0 and {Template Windows Event Log:eventlog[System,,"Error",,[^],,skip].logeventid(36888)}<>0 and {Template Windows Event Log:eventlog[System,,"Error",,[^],,skip].logeventid(36887)}<>0 and {Template Windows Event Log:eventlog[System,,"Error",,[^],,skip].logeventid(36874)}<>0
觸發器:
全部系統錯誤日記
{Template Windows Event Log:eventlog[System,,"Error",,[^],,skip].nodata(60)}=0
我這邊用到的是騰訊企業郵箱
以下圖所示,管理--->報警媒介類型--->Email
要注意的是用戶名稱這裏要寫你的企業郵箱帳號,密碼填寫密碼
一開始我覺得是發郵件的名稱,搞得無法發郵件,可使用QQ郵箱
SMTP服務器:smtp.exmail.qq.com
端口:465
SMTP電郵:XXXX@qq.com
用戶名稱:XXXX@qq.com
配置--->動做--->觸發器
建立一個觸發器來發郵件報警
操做:
默認標題:故障{TRIGGER.STATUS},服務器:{HOSTNAME1}發生: {TRIGGER.NAME}故障!
消息內容:
告警主機:{HOSTNAME1}
告警時間:{EVENT.DATE}{EVENT.TIME}
告警等級:{TRIGGER.NAME}
告警項目:{TRIGGER.KEY1}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{ENET.ID}
恢復操做:
默認標題:恢復{TRIGGER.STATUS}, 服務器:{HOSTNAME1}: {TRIGGER.NAME}已恢復!
消息內容:
告警主機:{HOSTNAME1}
告警時間:{EVENT.DATE}{EVENT.TIME}
告警等級:{TRIGGER.NAME}
告警項目:{TRIGGER.KEY1}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{ENET.ID}
確認操做:
默認標題:已確認: {TRIGGER.NAME}
消息內容:
{USER.FULLNAME} 已經確認的問題 {ACK.DATE} {ACK.TIME} 如下消息:
{ACK.MESSAGE}
目前的問題狀態是{EVENT.STATUS}
最後配置報警媒介,也就是觸發報警條件,要下發郵件通知道哪一個郵箱裏面
點擊那個小頭像,而後進入到用戶基本資料,選擇報警媒介進行設置
能夠本身選擇嚴重性級別,設置完啓用了之後,報警功能就設置完成了!