zabbix的安裝及監控系統組件的應用

主機(host)===============

     一個你想監控的網絡設備(需要知道IP/DNS)

主機組(host group)======================================

    一個邏輯的主機組,它包含主機和模板。 主機和模板在同一個主機內的話模板不能被link到其他上.機組通常用於給不同的用戶組創建訪問權限

監控項(item)=============================================

    你想從主機中收集到的數據

觸發器(trigger)==========================================

       一個邏輯表達式,用來表達從監控項獲取的數據達到了預設的問題閥值,當接收到的監控值達到了預設的閥值,則觸發器狀態由’OK’變更爲’Problem’,當收到的監控值低於閥值,則狀態保持/變更爲’OK’.

事件(event)=============================================

       一個事情發生如觸發器狀態變更或一個自動發現(discovery)/agent自動註冊等

動作(action)============================================

      當一個事件發生時預設的處理過程,一個動作(action)包括操作(operations,如發送告警)和條件(當指定的操作完成)

告警升級(escalation)====================================

      在動作中一個自定的操作執行過程,一個發送告警/執行遠程命令的隊列

媒介(media)=============================================

      發送告警的渠道

告警(notification)======================================

      通過媒介(media)渠道發送事件的消息

遠程命令(remote command)================================

      當監控主機達到某些條件(condition)後預設的自動執行的命令

模板(template)==========================================

      一組包含監控項、觸發器、繪圖、面板(screen)、應用、低級別自動發現規則等並且能被其他主機應用的實體.模板能夠提升主機部署監控任務的速度,同時也非常容易對監控任務做批量(mass)更新。模板被主機鏈接(link).

應用(application)======================================

      監控項邏輯組

web方案(scenario)======================================

      對一個web站點可用性進行檢查的一個或多個http請求

前端(frontend)=========================================

      Zabbix提供的web接口

Zabbix API=============================================

      Zabbix API允許通過JSON RPC協議去創建、更新、獲得Zabbix對象(如主機、監控項、繪圖等等)以及完成自定義任務

Zabbix server==========================================

      Zabbix軟件中心進程,用於連通Zabbix proxy及agent完成監控、評估觸發器、發送告警以及中心數據存儲

Zabbix agent===========================================

      部署在監控主機上的進程,用於監控本地資源和應用

Zabbix proxy===========================================

      替代Zabbix server完成數據收集的進程,通常用於降低中心Zabbix Server的負載

節點(node)=============================================

      一套完整的Zabbix server配置,通常位於分佈式系統中,用於負責本區域的監控


  主機                  角色

172.16.24.1             mysql

172.16.24.2            zabbix服務器端 (安裝mysql)

172.16.24.3            zabbix被監控端




24.1

一、確保myaql已安裝,並在安裝好的mysql服務器端創建數據庫並授權.(172.16.24.1)

mysql> grant all on *.* to 'root'@'172.16.24.%' identified by 'mypass' with grant option;

Query OK, 0 rows affected (0.01 sec)


mysql> create database zabbix;

Query OK, 1 row affected (0.00 sec)


mysql> grant all on zabbix.* to 'zaxuser'@'172.16.24.%' identified by 'zaxpass';

Query OK, 0 rows affected (0.00 sec)


mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)



二、安裝zabbix:

zabbix-2.0.8-3.el6.x86_64.rpm          

zabbix-web-2.0.8-3.el6.noarch.rpm

zabbix-server-2.0.8-3.el6.x86_64.rpm      

zabbix-web-mysql-2.0.8-3.el6.noarch.rpm

zabbix-get-2.0.8-3.el6.x86_64.rpm  

zabbix-server-mysql-2.0.8-3.el6.x86_64.rpm


[root@node2 ~]# yum localinstall *.rpm

三、(先裝上mysql-server)

[root@node2 create]# mysql -uroot -pmypass -h172.16.24.1 zabbix < /usr/share/doc/zabbix-server-mysql-2.0.8/create/schema.sql

[root@node2 create]# mysql -uroot -pmypass -h172.16.24.1 zabbix < /usr/share/doc/zabbix-server-mysql-2.0.8/create/images.sql

[root@node2 create]# mysql -uroot -pmypass -h172.16.24.1 zabbix < /usr/share/doc/zabbix-server-mysql-2.0.8/create/data.sql



四、修改zabbix配置文件並啓動zabbix

[root@node2 create]# cd /etc/zabbix/

[root@node2 zabbix]# vim zabbix_server.conf


DBHost=172.16.24.1

DBUser=zaxuser

DBPassword=zaxpass


[root@node2 zabbix]# service zabbix-server start

Starting Zabbix server:                                    [  OK  ]


wKiom1NyC62RNWI_AARNjSSZHHY402.jpg

wKioL1NyC7-wQAWZAAqO8vFC6aI623.jpg

wKiom1NyDAzCUtoEAALr4tN_LAY724.jpg

wKioL1NyDAXSvQN-AAKvVvpKK1o742.jpg


wKiom1NyDEvgTv8lAAHkqIBMcbI353.jpg


wKiom1NyDG6hEXA0AAFsGh2S5MI894.jpg


wKioL1NyDHajpedvAAWldWnPrJQ249.jpg


配置瞭解

Hosts

zabbix中的hosts就是指你想監控的設備,如服務器、工作站、交換機等等。如果你想監控某個主機X的某個變量,你必須先創建一個主機X,然後再給該主機添加監控items。hosts可以被有組織的安排進host group中。

通過zabbix的前端web界面配置hosts:

Configuration->Hosts->Create Host

此頁面中有5個表單:Host、Template、IPMI、Macros、Host inventory。

wKioL1Ny4T6hTie9AADcZ8th6Jk837.jpg

Host表單中包含了一般的host屬性

wKioL1Ny4a3TyeOIAAJ5BtmQyBc762.jpg


host name    必須是一個唯一的名稱,在zabbix agent的配置文件中hostname參數的值必須和這裏的一致
visible name  這個名稱是該hosts顯示在lists、map中的名稱,支持utf8
groups        該hosts屬於那個host group,一個hosts至少屬於一個host group
new host group    創建一個新的group,並把該hosts包含進去,如果是空的,則被忽略
agent interfaces    zabbix支持多種host接口,例如:agent、snmp、jmx、ipmi等,使用agent interface
ip address        hosts的ip地址
dns name          hosts的dns名稱
connect to        是一個單選的按鈕,這個告訴zabbix server使用那種方式檢索agent的數據
port              tcp方式,agent默認是10050端口
default           因爲可以添加多個agent interfaces,該單選的default按鈕可以選擇默認使用那個接口
monitored by proxy   hosts可以被zabbix server或者zabbix proxy監控,no proxy表示使用zabbix server監控

status           monitored表示host已經準備好了被監控,not monitored表示host還沒準備好。

Templates表單允許你連接一個templates到該host上面,所有該templates的items、triggers、graphs等等都會得到繼承。點擊add可以鏈接一個templates過來,點擊unlink則會刪除該模版。

wKioL1Ny4kaje3sVAAIQEGfQCVA125.jpg

Host groups

通過zabbix的前端web界面設置host group:

Configuration->Host groups->Create host group

該頁面有一個表單:host group

group name    group的名稱,必須是唯一的

hosts         選擇哪些hosts屬於該group,一個host group可以有0個或者多個hosts



Items


   items表示從host中收集哪些數據項,一旦你配置了一個host,你就需要開始監控一些items以獲取真實數據,所有的item都是單獨的個體,你可以把很多items附加到一個templates上面,然後把該templates附加到一個hosts上面。在單個的item中你可以指定哪些數據是你想收集的,例如:一個item key名稱是system.cpu.load,它會收集cpu的負載,一個item key名稱是net.if.in,它會收集進入網卡的信息。你可以給key指定更進一步的參數,就是使用方括號緊跟在key後面.


通過zabbix的前端web界面創建一個item:

Configuration->Hosts->items->create item


wKioL1Ny5FiDfr7AAAJkDxfX9cY968.jpg

host    可以選擇一個host或者一個templates
name    這個顯示item的名稱,在下面的macros會用到
type    監控客戶端的方式,主要分析zabbix agent和zabbix agent(active)兩種方式
key     item key,支持的item keys可以在單獨的item type中查看,在一個host中key必須是唯一的
host interface    選擇一個host inserface,可以在host level中編輯它
type of information    採集到的數據在數據庫中存儲的格式
numeric(unsigned) 64位無符號整型
numeric(float)    浮點數
character         字符型
log               log文件類型
text              text類型沒有限制大小
date type         用在整型的items中,用來指定確切的數據類型
boolean           0/1
octal            八進制
decimal          十進制
hexadecimal      十六進制
units    如果設置了units,zabbix會對收到的數據進行處理,在顯示數據時會使用units後綴,默認的原始數據是除以1000不是1024,如果使用B(byte)units,則會使用1024進行分割,如果設置units爲B,zabbix會這樣顯示:1 1B,1024 1KB,1536 1.5KB。如果是unmeric(unsigned)的則可以使用unixtime轉化爲時間類型,uptime則會轉化爲可讀的時間
use custom multiplier    如果使用了該參數,則對於收到的數據會乘以一個整型或者浮點數,可以用這個選項把KB MBps轉化爲B Bps類型
update interval    多少秒刷新一次該item
flexible intervals    針對update interval你可以設置例外的情況,可以設置在某個時間段每隔幾秒刷新一次,而在其餘時間則按照update的設置來刷新,如果有多個flexible設置,則以刷新時間最小的爲準。
keep history   在數據庫中保存多少天的數據,過期的數據會被清除,
keep trends    保存一些聚合的數據在數據庫中的天數,過期數據會被清除,

store value    
 as is 不進行預處理
 delta(speed per second)  評估這些數據(value-prev_value)/(time-prev_time)
 delta(simple change)  評估這些數據(value-prev_value)
 log time format    log的時間格式
 new application    設置該item屬於那個新的application中
 applications    把該item連接到已存在的application中,可以是一個或者多個application中
 Populates host inventory field   你可以選擇一個host信息域存放該item的值,如果設置了
 description    輸入該item的描述
 status    
        enable    該item會被執行
        disable    不會被執行
        not supportes    不支持該item
Item types

  item types是zabbix提供的各種檢查方式,下面主要看zabbix agent類型,這種類型主要通過zabbix agent來收集數據,檢查又分爲主動檢查和被動檢查,item key是需要分不同平臺的.

History and trends

   History and trends是兩種保存zabbix收集來的數據的方法,history保存每一個收集來的數據,trends保存一些基於小時的平均、最大、最小值信息。

Mass update

   如果你有時候需要一次修改一個item的多個屬性值,不用打開每一個單獨的item去修改,可以使用mass update,可以選擇多個items,然後選擇mass update

Value mapping


   爲了使收到的數據更爲人們可讀,我們可以使用value maps,它包含了numeric valus到string的映射,value map可以用在zabbix的前端和後端,以及例如email SMS的消息提醒上面,例如0可以表示false,1可以表示true,設置value map:


Administration->General->value mapping->create value map

wKiom1Ny5aqj1MtSAAHOKvCUwAk672.jpg

ame 一個唯一的名稱。


  mapping  中設置各個獨立的mappings,設置好value mapping後可以在item的配置界面的show value選項中選擇


Applications


   applications 用在本地group的group items中,在使用applications之前,你必須創建一個applications,並且link items過去。創建applications:

Configuration->Hosts->Applications->Create application

Configuration->Templates->Applications->Create application


也可以在創建item的時候直接創建application


Queue

   queue顯示items還剩幾分鐘刷新,queue只是數據庫中數據的邏輯表現,統計很好的顯示了zabbix server的性能。 Administration-Queue可以查看,如果有delay的可以通過右上角的details查看具體信息。


Triggers

 Triggers是一個本地的邏輯表達式,用來評估items收集到的數據並表示當前系統的狀態。當items收集數據的時候,它會非常不切實際的遵循這些數據直到碰到一個報警狀態,這個評估數據的任務就由trigger來處理。

 觸發器允許設置一個閾值來決定什麼數據是可以接收的,如果進入的數據超過可接受的狀態,觸發器則會被觸發。觸發器有兩種狀態OK/PROBLEM,如果該值是觸發器表達式的一部分,在zabbix server每次收到新的值,觸發器的狀態會被重複計算。配置trigger:

Configuration->Hosts->Triggers->Create trigger

該頁面包含了兩個表單:trigger、dependencies

wKioL1Ny5oODyI2yAAHGIvwKFuI970.jpg

trigger表單屬性:

name  trigger name,這個名稱可能包含macros,$1..$9可以被用來關聯表達式的常量。

expression  邏輯表達式用來收集觸發器的狀態

Multiple PROBLEM events generation   通過設置該選項,你可以在觸發器產生problem的時候觸發一個事件

comments   關於該觸發器的信息

url    如果不爲空,則該url被用到screen

serverity   設置觸發器的嚴重程度

enabled   選擇激活該觸發器


Trigger experssion


   觸發器表達式在觸發器中是很靈活的,可以組合出各種複雜的表達式。簡單的表達式模式如下:{<server>:<key>.<function>(<parameter>)}<operator><constant>

parameter 許多數值型函數接收參數,有些函數會返回多個值,可以通過在參數前加#,來獲取特定的值。


Trigger severity names and colours是可以修改的:


Administration->General->Trigger severities

wKiom1Ny5z_BfPM4AAHu0-eBk1I419.jpg

Events


   events在zabbix有三個地方可以用到:triggers、discovery、auto registration。events可以是基於時間戳的,也可以是基於actions的,例如郵件報警。關於events的詳細信息可以在 Monitoring-Events中查看,可以通過點擊時間查看更詳細的信息。


Visualisation


   Graphs內建有簡單的simple graphs和複雜的custom graphs兩種形式。


   Simple graphs提供items收集到的數據的可視化的數據圖,在simple graphs中不需要用戶進行配置,他們都是由zabbix自動生成,可以通過Monitoring->Latest data進行查看,點擊具體的item的graph link,就會顯示數據圖,在圖形上面有滑動按鈕可以選擇查看那個時間的數據,還有右邊可以設置時間段來顯示數據,左邊可以設置圖形中顯示幾個小時的數據量。

  Custom graphs 提供一些用戶定製的圖形。Simple graphs可以用來查看單個item的數據,它沒有提供用戶定製的功能,如果你想改變圖形的風格、線條顯示的樣式、或者想顯示多個items的數據,這時就需要costom graphs,需要手動配置,可以創建針對一個主機、多個主機、或者一個templates的圖形。創建custom graphs:


Configuration->Hosts->graphs->create graph

該頁面包含兩個表單:graph、preview

wKioL1Ny56ygxp_ZAAILrV89AQQ651.jpg

graph表單:

name     數據圖的唯一名稱

width    數據圖的像素寬度

height   數據圖的像素高度

graph type    圖像類型,normal 正常圖形,數據以線條顯示。stacked 疊加式圖形。pie 餅狀圖形。exploded 分解的餅狀圖形。

show lengend         顯示該圖利的說明

show working time    如果選擇該選項,則未工作的時間段會以灰色背景顯示,該選項不支持pie和exploded

show triggers        如果選擇該項,觸發器會以紅線顯示,不支持pie和exploded

precentile line(left)    顯示左邊Y軸的百分比,

precentile line(right)    顯示右邊Y軸的百分比

Y axis MIN value    Y軸的類型,calculated Y軸的值會自動計算,fixed 固定Y軸的最大值和最小值,不支持pie和exploded

Y axis MAX value

items        顯示哪個items的數據圖,點擊add按鈕增加items,graphs items可以配置以下屬性:

name         item的名稱,會被顯示出來

function     顯示哪些值,有all、min、max、avg

draw style   回吐的樣式,只支持normal graphs

Y axis side  元素值顯示在那個Y軸旁邊

color        顏色


Network maps

 用來創建網絡拓撲圖,在創建網絡map之前,你必須先創建一個map,它包含了一些基礎的元素,然後才能製作maps。你可以用一個hosts、host group、trigger、image來填充一個map。icons代表map的元素,你可以定義一些icons顯示的信息,出問題的時候顯示的內容,已有的maps可以在Monitoring->Maps上查看,創建一個map:


Configuration->Maps->create maps

wKiom1Ny6Fui5FmhAAJ5tBpz_ks762.jpg

map屬性如下:

name    map的名稱

width    map像素的寬度

height    map像素的高度
background image    背景圖,no image 沒有背景圖,image 可以選擇一個背景圖

icon highlight    圖標高亮,如果element有個主動的trigger,則可以使用高亮圖標表示,
mark elements on trigger status    
expand single problem    如果一個map元素有一個問題,這個選項控制是否顯示該問題的名稱,如果選擇,problem的名稱會被使用

advanced labels    可以讓你定義一個分開的標題爲分開的element type

icon label type    icons的標題類型,label icon的label,ip address ip地址,element name element的名稱,status only 狀態,nothing 不顯示labels
icon label location    label的位置,bottom 下方,left 左邊,right 右邊,top 頂部
problem display    顯示故障問題,full 所有的問題都會被顯示,separated 未被確認的問題佔左右問題的比重,unacknowledged only 只顯示未確認的問題

emplates


   一個templates可以設置一個實體,讓這個實體方便的應用到一組hosts上面,這個實體可以是items、triggers、graphs、applications、screens、low-level。

當一個templates連接到一個host,則該templates包含的所有實體都會添加到該host,templates經常被用到一組含有相同服務或者應用的機器上。配置template,在創建template的時候,需要你定義幾個常用的參數,然後增加一些實體(items、graphs):


Configuration->Templates->Create template

該頁含有三個表單:template、linked templates、macros

wKiom1Ny6TGCnNykAADsrNPAUJ8936.jpg


template name    一個唯一的template名稱
visible name    如果你設置該名稱,則在lists、maps中顯示該名稱
groups    哪個hosts/templates屬於該template
new group    可以在此新建一個group屬於該template,如果是空的,則忽略host/templates    List of hosts/templates the template is applied to


linked templates表單允許你連接一個或者多個已經存在的templates到新建的template裏面,連接過來的templates中的所有實體都會得到繼承

macros表單,允許你定義template-level底下按鈕的意思:

  save   保存該template
  clone    創建一個template基於目前的template
  full clone    創建一個template基於當前的template,包括當前template繼承的其他template的實體
  delete    刪除一個template,template的實體仍然會連接到hosts上
  delete and clear    刪除一個template並且清除所有的實體
  cancel    忽略

  linking/unlinking template通過linking應用到hosts,通過unlinking從hosts中脫離
  linking一個template:Configuration → Hosts-點擊hosts-切換到template表單-點擊add按鈕
  linking一個template到多個hosts:Configuration → Templates-點擊template表單, 從group中選擇hosts

Notifications upon events

   爲了可以向zabbix發送消息,或者從zabbix收到通知信息,我們需要:
       1 定義一些媒介
       2 定義一些行爲向我們定義的媒介上發送信息。
  行爲由條件和操作構成,當條件達成的時候,操作開始執行,兩個重要的操作是發送信息和執行遠程命令

   媒介類型包括多種:email、sms、jabber、Custom alertscripts等等,主要了解一下email、sms、alertscripts

配置email媒介:


Administration→Media-Create media type

該頁只包含一個表單:media

wKiom1Ny6iTwCyVuAAGrL3j_7bM049.jpg

description    媒介類型的名稱
  type    選擇一個媒介類型 email
  smtp server    設置smtp server用來發送郵件
  smtp helo    設置正確的smtp helo值,一般是domain name
  smtp email    一個郵件地址,會顯示在郵件的from前面,表示從哪裏發出來的郵件
  enable    開啓emai
然後配置用戶媒介,給用戶分配指定的地址:Administration→Users-點擊具體用戶-選擇media表單-單機add按鈕增加媒介。在new media表單中包含以下屬性:
  type    選擇email作爲type類型
  send to    定義給哪個郵件地址發郵件
  when active    可以定義發送信息的時間段
  use if serverity    選擇哪些級別的trigger信息將被髮送
  status    是否使用


Actions  


   如果你希望值事件發生後執行某些動作,你就需要配置actions,可以在三個地方給相應的事件定義actions:triggers、discovery、auto registration。配置actions:


Configuration->Actions->Event source(選擇類型)->Create action

一般有三個表單:action、conditions、operations,以triggers類型爲例

wKiom1Ny6uKASHstAAKggFQ_h0c092.jpg

name    唯一的action名稱
  Default operation step duration    默認的升級週期
  default subject    默認的消息主題,可以包含macros
  default message    默認的消息主體,可以包含acros
  recovery message    如果開啓該選項,zabbix會發送恢復後的信息
  recovery subject    恢復消息的主題
  recovery message    恢復消息的主體
  enable    是否開啓該action
















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