zabbix介紹

	zabbix介紹

1.zabbix是什麼
Zabbix 是一個企業級的分佈式開源監控方案。

Zabbix是一款能夠監控各種網絡參數以及服務器健康性和完整性的軟件。Zabbix使用靈活的通知機制,允許用戶爲幾乎任何事件配置基於郵件的告警。這樣可以快速反饋服務器的問題。基於已存儲的數據,Zabbix提供了出色的報告和數據可視化功能。這些功能使得Zabbix成爲容量規劃的理想方案。

Zabbix支持主動輪詢和被動捕獲。Zabbix所有的報告、統計信息和配置參數都可以通過基於Web的前端頁面進行訪問。基於Web的前端頁面可以確保您從任何方面評估您的網絡狀態和服務器的健康性。適當的配置後,Zabbix可以在IT基礎架構監控方面扮演重要的角色。對於只有少量服務器的小型組織和擁有大量服務器的大型公司也同樣如此。

Zabbix是免費的。Zabbix是根據GPL通用公共許可證第2版編寫和發行的。這意味着它的源代碼都是免費發行的,可供公衆任意使用

2.開源監控軟件對比在這裏插入圖片描述
3.開源監控軟件對比-cacti
Cacti是一套基於PHP,MySQL,SNMP及RRDTool開發的網絡流量監測圖形分析工具。

簡單的說Cacti 就是一個PHP 程序。它通過使用SNMP 協議獲取遠端網絡設備和相關信息,(其實就是使用Net-SNMP 軟件包的snmpget 和snmpwalk 命令獲取)並通過RRDTOOL 工具繪圖,通過PHP 程序展現出來。我們使用它可以展現出監控對象一段時間內的狀態或者性能趨勢圖。

Cacti是通過 snmpget來獲取數據,使用 RRDtool繪畫圖形,而且你完全可以不需要了解RRDtool複雜的參數。它提供了非常強大的數據和用戶管理功能,可以指定每一個用戶能查看樹狀結構、host以及任何一張圖,還可以與LDAP結合進行用戶驗證,同時也能自己增加模板,功能非常強大完善。界面友好。 CACTI軟件 Cacti 的發展是基於讓 RRDTool 使用者更方便使用該軟件,除了基本的 Snmp 流量跟系統資訊監控外,Cacti 也可外掛 Scripts 及加上 Templates 來作出各式各樣的監控圖。

4.開源監控軟件對比-nagios
Nagios是一款開源的免費網絡監視工具,能有效監控Windows、Linux和Unix的主機狀態,交換機路由器等網絡設置,打印機等。在系統或服務狀態異常時發出郵件或短信報警第一時間通知網站運維人員,在狀態恢復後發出正常的郵件或短信通知。

Nagios 可以監控的功能有:
監控網絡服務(SMTP、POP3、HTTP、NNTP、PING等);
監控主機資源(處理器負荷、磁盤利用率等);
簡單地插件設計使得用戶可以方便地擴展自己服務的檢測方法;
並行服務檢查機制;
具備定義網絡分層結構的能力,用"parent"主機定義來表達網絡主機間的關係,這種關係可被用來發現和明晰主機宕機或不可達狀態;
當服務或主機問題產生與解決時將告警發送給聯繫人(通過EMail、短信、用戶定義方式);
可以定義一些處理程序,使之能夠在服務或者主機發生故障時起到預防作用;
自動的日誌滾動功能;
可以支持並實現對主機的冗餘監控;
可選的WEB界面用於查看當前的網絡狀態、通知和故障歷史、日誌文件等;

5.zabbix功能點
(1)數據收集
可用性和性能檢查
支持SNMP(主動輪詢和被動獲取)、IPMI、JMX、VMware虛擬機
(2)靈活的閾值定義
(3)高度可配置化的告警
接收方和媒介類型可以靈活自定義
使用宏變量可以使告警通知更高效可用
配置動作可包含遠程命令
(4)web監控功能
zabbix可以追蹤模擬鼠標在web網站上的點擊操作,來檢測web的功能和響應時間
(5)豐富的可視化選項
支持創建自定義圖表,一個視圖中可展現多個監控項
支持網絡拓撲圖
自定義儀表盤展現內容和幻燈片輪詢播放
報表等

(6)歷史數據存儲
數據庫存儲
可配置歷史數據
(7)配置簡單
將被監控對象添加爲主機
在數據庫中獲取主機進行監視
應用模板來進行監控
(8)使用模板
在模板中分組檢查
模板可以關聯其他模板
(9)網絡發現
自動發現網絡設備
監控代理自動註冊
發現文件系統,網絡接口和SNMP OID值
(10)快捷的web界面
PHP Web前端
可從任何地方訪問
你可以定製自己的操作方式
審覈日誌
(11)Zabbix API
Zabbix API爲Zabbix 提供了對外的可編程接口,用於批量操作,第三方軟件集成和其他目的
(12)權限管理系統
安全用戶認證
特定用戶可以限制訪問特定的視圖
(13)功能強大,易於擴展的agent
部署在被監控端
支持Linux和Windows
(14)實時圖表繪製

(15)二進制代碼
爲了性能和更少內存的佔用,用C語言編寫
便於移植

(16)爲複雜環境準備
使用Zabbix proxy代理服務器,使得遠程監控更簡單

6.zabbix定義
zabbix server:zabbix軟件實現監控的核心程序,主要功能是與zabbix proxies和 agents進行交互、觸發器計算、發送告警通知;將數據集中存儲等
zabbix agent:部署在監控對象上,主動監控本地資源和應用的程序
zabbix proxy:幫助zabbix server收集數據,分擔zabbix server的負載的程序
主機:任何一臺想要監控的網絡設備
主機組:包含主機和模板,一般用於給不同用戶組的主機分配權限時
監控項:想要接收主機的特定數據
觸發器:被用於定義問題閾值和“評估”監控項接收到的數據的邏輯表達式
事件:單次發生的需要注意的事情,例如觸發器的狀態改變或發現有監控代理自動註冊
異常:處於“異常”狀態的觸發器
動作:對事件作出反應的預定義的操作,有操作和條件組成
媒介:發送告警通知的手段
模板:可以被應用於主機上的實體(監控項,觸發器,圖形,聚合圖形,應用,LLD,web場景)的集合,適用於批量修改

7.zabbix進程-server
zabbix服務器起作用的三個不同的組件:
1、zabbix 服務器
2、web 前端
3、數據庫存儲
zabbix的所有配置信息都存儲在服務器和web前端進行交互的數據庫中。如果在web前端新增一個監控項時,會被添加到數據庫的item表中,zabbix服務器會每分鐘查詢item表中活動列表,接着將它存儲在zabbix服務器中的緩存裏,這也就是爲什麼在zabbix前端所做的任何修改最大花費2分鐘才能顯示在最新的數據段的原因。

Zabbix server支持的平臺:
Linux、Solaris、AIX、HP-UX、Mac OS X、FreeBSD、OpenBSD、 NetBSD、SCO Open Server、Tru64/OSF1

8.zabbix進程-agent
Zabbix agent部署在監控的目標上,主動監測本地的資源和應用(硬件驅動,內存,處理器統計等)
Zabbix agents可以執行被動和主動兩種檢查方式。
在passive check 模式中agent應答數據請求,Zabbix server(或者proxy)詢問agent數據,如CPU 的負載情況,然後Zabbix agent回送結果。
Active checks 處理過程將相對複雜。 Agent必須首先從Zabbix sever索取監控項列表以進行獨立處理,然後週期性地發送新的值給server。
執行被動或主動檢查是通過選擇相應的監測項目類型來配置的。item type. Zabbix agent處理監控項類型有’Zabbix agent’和’Zabbix agent (active)’。

Zabbix agent支持的平臺:
Linux、IBM AIX、FreeBSD、NetBSD、OpenBSD、HP-UX、Mac OS X、solaris:9,10,11、Windows:支持2000後所有桌面和服務器版

9.zabbix進程-proxy
Zabbix Proxy是一個可以從一個或多個受監控設備收集監控數據,並將信息發送到Zabbix sever的進程,基本上是代表sever工作的。 所有收集的數據都在本地進行緩存,然後傳送到proxy所屬的Zabbix sever。

部署Proxy是可選的,但是可能非常有益於分散單個Zabbix sever的負載。 如果只有proxy收集數據,sever上的進程就會減少CPU消耗和磁盤I / O負載。

Zabbix proxy是完成遠程區域、分支機構、沒有本地管理員的網絡的集中監控的理想解決方案。

Zabbix proxy需要使用獨立的數據庫。可以使用SQLite, MySQL, PostgreSQL. 使用Oracle或IBM DB2數據庫時會有一定風險和限制(例如在低等級發現規則中的 返回值 )

10.zabbix進程-sender
Zabbix sender 是一種命令行應用,它可以將性能數據發送到Zabbix server進行處理。 該應用通常用在長時間運行的用戶腳本,用於定期發送可用性和性能數據。
運行舉例:
zabbix_sender -z “Zabbix server” -s “Linux DB3” -k db.connections -o 43
z - Zabbix server 主機 (IP 地址也可以使用)
s - 受監控主機的技術名稱(與Zabbix前端註冊的相同)
k - 監控項的值
o - 要發送的值
注意:
包含空格的選項,必須被雙引號括起來。

11.zabbix進程-get
Zabbix get 是一種命令行應用,它可以用於與Zabbix agent進行通信,並從agent哪裏獲取所需的信息 該應用通常被用於Zabbix agent故障排除。

舉例:
zabbix_get -s ohmtest -p 10050 -k system.cpu.load[all,avg1]
-s --host 指定主機名或主機的IP地址.
-p --port 指定主機上運行代理的端口號. 默認端口10050.
-I --source-address 指定源IP地址.
-k --key 指定需要獲取值的監控項.
-h --help 幫助提示.
-V --version 顯示版本號.

12.zabbix進程-Java gateway
從Zabbix 2.0版本開始,以Zabbix守護進程的形式原生支持監控JMX程序出現了,它被稱爲Zabbix Java gateway。Zabbix gateway 是用Java語言寫成。
Java網關,類似agentd,但是隻用於Java方面。需要特別注意的是,它只能主動去獲取數據,而不能被動獲取數據。它的數據最終會給到server或者proxy。

當在Java gateway上的一個監控項值更新了,Zabbix server或agent將連接Java gateway請求查詢該值,Java gateway會依次檢索並傳回到server或proxy。 同樣的,Java gateway不會緩存任何值.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章