天天看點

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;

二、安裝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/p_w_picpaths.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  ]

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

配置了解

Hosts

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

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

Configuration->Hosts->Create Host

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

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

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

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

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則會删除該模版。

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

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

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

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

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

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

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

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

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

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

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

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、p_w_picpath來填充一個map。icons代表map的元素,你可以定義一些icons顯示的資訊,出問題的時候顯示的内容,已有的maps可以在Monitoring->Maps上檢視,建立一個map:

Configuration->Maps->create maps

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

map屬性如下:

name    map的名稱

width    map像素的寬度

height    map像素的高度

background p_w_picpath    背景圖,no p_w_picpath 沒有背景圖,p_w_picpath 可以選擇一個背景圖

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

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

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

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

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類型為例

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

name    唯一的action名稱

  Default operation step duration    預設的更新周期

  default subject    預設的消息主題,可以包含macros

  default message    預設的消息主體,可以包含acros

  recovery message    如果開啟該選項,zabbix會發送恢複後的資訊

  recovery subject    恢複消息的主題

  recovery message    恢複消息的主體

  enable    是否開啟該action