【Zabbix】01、Zabbix 基礎

一、監控系統基礎概念

1、監控系統的工作內容

數據採集(傳感器) --> 數據存儲(時間序列數據) --> 數據展示(趨勢圖) --> 報警(採集到的數據超出閾(yu)值)

2、網絡監控系統

NMS:Network Monitor System 網絡監控系統

3、可監控對象

  • 1)設備

    服務器,路由器,交換機,IO系統

  • 2)軟件|應用

    OS,網絡,應用程序

二、snmp
(Simple Network Management Protocol) 簡單網絡管理協議

1、snmp的工作模式

  1. NMS向agent採集數據

  2. agent主動向NMS報告數據

  3. NMS請求agent修改配置

2、SNMP

1)SNMP分為NMS和Agent兩部分:

NMS(Network Management Station,網絡管理站)是運行SNMP客戶端程序的工作站

Agent是運行在網絡設備上的SNMP服務器端

NMS可以向Agent發出GetRequest、GetNextRequest和SetRequest報文,Agent接收到NMS的這些請求報文後,根據報文類型進行Read或Write操作,生成Response報文,並將報文返回給NMS。

Agent在設備發生異常情況或狀態改變時(如設備重新啟動),也會主動向NMS發送Trap報文,向NMS彙報所發生的事件。

2)SNMP工作方式很獨特:

只在需要監控時才會發起監控請求,將數據收集至本地。SNMP本身沒有數據存儲的功能,僅能完成數據採集後,人工判斷數據是否有問題

3)SNMP的組件:

MIB:management information base 管理信息庫

是NMS和agent的接口,實現定義監控端和被監控端雙方可接受的監控組件,以及監控組件中的數據存取規範

視圖:MIB的樹狀結構圖,定義agent時可以設定社區名對應的權限

OID:MIB樹狀結構圖中的節點對象,用數字表示也可以有名稱

SMI:MIB的表示符號

SNMP協議:協議本身

在SNMP報文中用管理變量來描述設備中的管理對象。為了唯一標識設備中的管理對象,SNMP用層次結構命名方案來識別管理對象。整個層次結構就像一棵樹,樹的節點表示管理對象,如下圖1-1所示。每一個節點,都可以用從根開始的一條路徑唯一地標識。

【Zabbix】01、Zabbix 基礎

MIB樹結構

MIB的作用就是用來描述樹的層次結構,它是所監控網絡設備的標準變量定義的集合。在圖1-1中,管理對象B可以用一串數字{1.2.1.1}唯一確定,這串數字是管理對象的對象標識符(Object Identifier)。

3、NMS可發起的操作

Get(獲取數據),GetNext(獲取一個或多個數據),Set(設定),Trap(捕獲被監控端報告的數據)

4、agent可發起的操作

Response(報告)

5、基於UDP協議

NMS:162 (trap)

agent:161

  SNMP採用UDP協議在管理端和agent之間傳輸信息。 SNMP採用UDP 161端口接收和發送請求,162端口接收trap,執行SNMP的設備缺省都必須採用這些端口。SNMP消息全部通過UDP端口161接收,只有Trap信息採用UDP端口162。

6、SNMP協議的版本

v1:沒有認證功能

v2c:基於社區(密鑰)認證 # 認證過程是明文的

v3:認證,加密,解密 # 使用的還很少

7、linux中安裝snmp包名:net-snmp

三、開源監控工具

1、監控功能的實現

Agent:各專用的agent

SSH:

SNMP:

IPMI:(Intelligent Platform Management Interface) 智慧平臺管理接口

原本是一種intel架構的企業系統的周邊設備所採用的一種工業標準。IPMI亦是一個開放的免費標準,使用者無需支付額外的費用即可使用此標準

2、自動化監控系統的組件

【Zabbix】01、Zabbix 基礎

自動化監控

3、著名的開源監控工具

Cacti:php語言開發

數據收集和展示,

對狀態轉換不敏感

報警功能弱,報警不及時,

存儲數據:rrd(round robin database)環狀數據庫

不能持久保存所有數據,初始化後容量不會再增大

Nagios:(Opsview,Icinga)

報警功能強大:報警升級機制,

定義維護窗口,組件依賴,

不適用於大規模(100臺主機以內),不能分佈式部署

僅關注狀態轉換,不收集和展示數據

生產環境中常用:Cacti + Nagios

Zabbix:

實現 Cacti + Nagios 的功能

監控到故障時能調用遠程腳本來自動解決問題,故障不能解決再報警

2.2 JSON

2.4 通信機制優化,節約帶寬1/3

數據存儲:mysql,pgsql

有專用agent

監控主機:

Linux、Windows、FreeBSD

監控網絡設備:

SNMP, SSH(並非所有)

四、Zabbix簡介

1、Zabbix概述

【Zabbix】01、Zabbix 基礎

zabbix

企業級監控解決方案

分佈式部署,可以部署在不同地域

報警(通知)

集中控制

狀態檢測配置

可以監控多達10W個設備

完全開源

【Zabbix】01、Zabbix 基礎

What can be monitored on the Web?

Response time # 響應時間

Download speed # 下載速度

Response code # 響應碼

Availability of certain content # 某些內容可用性

Complex web scenarios with login and logout capability # 複雜場景下web登錄和註銷能力,

Support for HTTP and HTTPs

Notification method: 通知方法

E-mail

Command Execution

SMS

Jabber

Chat message

2、zabbix發展歷史

【Zabbix】01、Zabbix 基礎

zabbix的發展

最新是版本:3.4

官網:www.zabbix.com

3、zabbix的組織結構

【Zabbix】01、Zabbix 基礎

組織結構

JMX:java擴展管理接口,能直接對JAVA程序進行監控,

zabbix的組織結構細分:

【Zabbix】01、Zabbix 基礎

結構

Zabbix組件概述:

Zabbix Server:

C語言研發,負責接收agent發送的報告信息的核心組件,所有配置、統計數據及操作數據均由其組織進行;

Database Storage:

專用於存儲所有配置信息,以及由zabbix收集數據

Mysql,PGSQL(postgreSQL),Oracle,DB2,SQLite

Web interface:

zabbix的Web GUI接口,通常與Server運行在同一臺主機上,用於實現zabbix設定和展示,php研發

Proxy:

可選組件,常用於分佈監控環境中,代理Server收集部分被監控端的監控數據並統一發往Server端;

Agent:

部署在被監控主機上,負責收集本地數據併發往Server端或Porxy端;c語言研發

4、zabbix中常用的術語

主機(host):

要監控的網絡設備,可由IP或DNS名稱指定;

主機組(host group):

主機的邏輯容器,可以包含主機和模板,但同一個組內的主機和模板不能互相鏈接;主機組通常在給用戶或用戶組指派監控權限時使用;

監控項(item):

一個特定監控指標的相關的數據,這些數據來自於被監控對象;item是zabbix進行數據收集的核心,沒有item,將沒有數據;相對某監控對象來說,每個item都由“key”進行標識;

觸發器(trigger):

一個表達式,用於評估某監控對象的某特定item內所接收到的數據是否在合理範圍內,即閾值;接收到的數據量大於閾值時,觸發器狀態將從“OK”轉變為“Problem”,當數據量再次迴歸到合理範圍時,其狀態將從“Problem”轉換回“OK”;

事件(event):

即發生的一個值得關注的事情

例如觸發器的狀態轉變,新的agent或重新上線agent的自動註冊等;

動作(action):

指對於特定事件事先定義的處理方法,通過包含操作(如發送通知)和條件(何時執行操作);

報警升級(escalation):

發送警報或執行遠程命令的自義定方案,如每隔5分鐘發送一次警報,共發送5次等;

媒介(media):

發送通知的手段或通道,如Email、Jabber或SMS、Script等;

通知(notification):

通過選定的媒介向用戶發送的有關某事件的信息;

遠程命令(remote command):

預定義的命令,可在被監控主機處於某特定條件下時自動執行;

模板(template):

用於快速定義被監控主機的預設條目集合,通常包含了item、trigger、graph(數據展示圖即可視化)、screen(屏幕)、application以及low-level discovery rule(較低級別的發現規則,但需要消耗大量資源,一般很少使用);模板可以直接鏈接至單個主機;

應用 (application):

一組item的集合;

web場景(web scennario):

用於檢測web站點可用性的一個或多個HTTP請求;

前端(frontend):

Zabbix的web接口

Zabbix的邏輯架構:

【Zabbix】01、Zabbix 基礎

邏輯結構

maintenance:保養(即維護窗口)

internal:內部

5、zabbix服務器段進程介紹

【Zabbix】01、Zabbix 基礎

經程

poller: 輪詢拉取數據的進程,可以有多個,

alerter:報警

housekeeper:管家,數據管理,清除過期數據

watchdog:守護進程,監控所有進程是否都正常運行,如果監測到有進程被關閉會重新激活該進程

escalator:報警升級

timer:計數器

nodewatcher:監控主機的

數據庫配置同步器:分佈式環境中proxy節點和server幾點之間同步

數據庫數據同步器

盜用了一些素材和圖片,請見諒。


分享到:


相關文章: