zabbix的理論知識(shí)
1.zabbix是什么
zabbix是一款根據(jù)web頁(yè)面的、開(kāi)源的、企業(yè)級(jí)的,可以分布式布置的監(jiān)控軟件。
2.zabbix的作用
- 監(jiān)控windows和Linux主機(jī)上的軟硬件狀態(tài)。
- 監(jiān)控各網(wǎng)絡(luò)設(shè)備,如路由器、交換機(jī)、防火墻、f5、打印機(jī)等。
- 發(fā)送告警通知。
- 通過(guò)web頁(yè)面及圖形展示監(jiān)控?cái)?shù)據(jù)。
3.zabbix的特性
- 由server和agent程序協(xié)同工作,如果是分布式監(jiān)控還需要proxy程序。
- 監(jiān)控方式站在agnet的角度分為主動(dòng)監(jiān)控(agent active)和被動(dòng)監(jiān)控(agent)。
- 主動(dòng)監(jiān)控
當(dāng)監(jiān)控條目配置為agent active
時(shí),即為主動(dòng)監(jiān)控,此時(shí)agent會(huì)主動(dòng)根據(jù)配置好的時(shí)間間隔去向server或proxy詢問(wèn)要監(jiān)控哪些item,然后將item的數(shù)據(jù)主動(dòng)提交給server或proxy。 - 被動(dòng)監(jiān)控
當(dāng)監(jiān)控條目配置為agent
時(shí),即為被動(dòng)監(jiān)控,此時(shí)server或proxy會(huì)主動(dòng)向agent請(qǐng)求它要監(jiān)控的item的數(shù)據(jù),然后agent會(huì)將數(shù)據(jù)發(fā)送給server或proxy。
- 主動(dòng)監(jiān)控
- 支持的監(jiān)控手段
所謂監(jiān)控手段即server或proxy通過(guò)什么方式來(lái)收集監(jiān)控到的數(shù)據(jù),常用的有:- SNMP(polling,trapping)
- IPMI(監(jiān)控硬件狀況)
- JMX(監(jiān)控java應(yīng)用)
- 自定義監(jiān)測(cè)(自定義各類監(jiān)控腳本監(jiān)測(cè))
- 告警閾值定義
- 在trigger中定義告警閾值或條件
- 存儲(chǔ)于后臺(tái)數(shù)據(jù)庫(kù)中
- 可以自定義告警升級(jí)機(jī)制
- 調(diào)用action實(shí)現(xiàn)自動(dòng)化動(dòng)作
- 監(jiān)控?cái)?shù)據(jù)呈現(xiàn)
zabbix通過(guò)內(nèi)置的畫(huà)圖軟件將監(jiān)控到的數(shù)據(jù)實(shí)時(shí)通過(guò)web頁(yè)面呈現(xiàn)出來(lái)。 - 歷史數(shù)據(jù)存儲(chǔ)
- 存儲(chǔ)于數(shù)據(jù)庫(kù)中
- 支持多種數(shù)據(jù)庫(kù),mysql,db2,oracle,postgresql,sqlite
- 存儲(chǔ)時(shí)長(zhǎng)可自定義
- 自動(dòng)清理過(guò)期歷史數(shù)據(jù)
- 監(jiān)控主機(jī)配置
- 通過(guò)添加監(jiān)控設(shè)備方式添加
- 可以使用模板進(jìn)行配置
- 模板的使用
- 模板包含item,trigger,action等一系列單個(gè)主機(jī)支持的元素
- 模板中可以使用組監(jiān)控
- 模板可以繼承
- 自動(dòng)發(fā)現(xiàn)功能
- 網(wǎng)絡(luò)設(shè)備自動(dòng)發(fā)現(xiàn)
- agent自動(dòng)注冊(cè)
- 自動(dòng)發(fā)現(xiàn)文件系統(tǒng)、網(wǎng)卡、SNMP OID
- web界面
- web前端采用php編寫(xiě)
- 界面樣式可以靈活自定義
- 自帶操作日志審計(jì)
- zabbix API
供第三方程序接入 - 權(quán)限系統(tǒng)
可以對(duì)用戶進(jìn)行分組認(rèn)證及授權(quán)。 - agent端
支持Linux和Windows系統(tǒng)。 - 守護(hù)進(jìn)程
基于C語(yǔ)言開(kāi)發(fā)。
4.zabbix系統(tǒng)的組成
- zabbix_server
- 服務(wù)端守護(hù)進(jìn)程。
- 負(fù)責(zé)處理客戶端主動(dòng)送上來(lái)以及它主動(dòng)去取回的數(shù)據(jù)。
- 通過(guò)web界面呈現(xiàn)這些數(shù)據(jù)。
- zabbix_agentd
- 客戶端守護(hù)進(jìn)程。
- 負(fù)責(zé)收集客戶端上的數(shù)據(jù)并發(fā)送給server或proxy。
- zabbix_get
- 服務(wù)端工具。
- 在服務(wù)器上執(zhí)行,用于手動(dòng)收集客戶端的監(jiān)控?cái)?shù)據(jù),可以用于監(jiān)控測(cè)試或者排錯(cuò)。
- zabbix_sender
- 客戶端工具。
- 對(duì)于非常耗時(shí)間的檢測(cè)項(xiàng),可以在其檢測(cè)完成以后,通過(guò)它將數(shù)據(jù)發(fā)送給server或者proxy。
- 需要與trapper配合使用。
- zabbix_proxy
類似于server,但它只是一個(gè)中轉(zhuǎn)站,當(dāng)跨地區(qū),跨機(jī)房部署zabbix系統(tǒng)時(shí),需要用到它,以將它收集到的數(shù)據(jù)發(fā)送給server。 - zabbix_java_gateway
- 類似于agentd程序。
- 只用于java應(yīng)用程序的監(jiān)控。
- 只能主動(dòng)去獲取數(shù)據(jù),類似于agent active。
- 最終將收集到的數(shù)據(jù)發(fā)送給server或proxy。
- zabbix_web
構(gòu)建zabbix專用的站點(diǎn),將監(jiān)控?cái)?shù)據(jù)以web頁(yè)面的形式呈現(xiàn)出來(lái),并對(duì)zabbix系統(tǒng)進(jìn)行配置設(shè)定。
5.zabbix 3.2.4的軟件環(huán)境要求
zabbix 3.2.4 web需求php的環(huán)境如下:

以上參數(shù)決定了php在編譯時(shí)需要指定的參數(shù),以后需要設(shè)定的php.ini參數(shù)值。