20171126 Zabbix(一)

  • Zabbix簡要介紹
  • Zabbix的監(jiān)控配置
  • Zabbix的展示接口
  • templates脐瑰,模板
  • macros棺棵,宏

一、Zabbix簡要介紹:

(一)監(jiān)控系統(tǒng)的四種基本功能:

(1)采樣:
  • 數(shù)據(jù)采集通道:SNMP, ssh, telnet, IPMI, agent, JMX(Java Management eXtension)
(2)存儲:
  • 數(shù)據(jù):歷史數(shù)據(jù)掖鱼、趨勢數(shù)據(jù)
  • 存儲系統(tǒng):關系型數(shù)據(jù)庫(MySQL)旺订,rrd(round-robin database),No-SQL數(shù)據(jù)庫(時間序列存儲)
(3)報警:
  • 可以通過腳本執(zhí)行操作
  • 媒介:郵件赠摇,短信固逗,即時通訊工具
(4)展示:直觀的可視界面

(二)Zabbix的特征

  • 數(shù)據(jù)采樣:
    數(shù)據(jù)采集通道:snmp, ssh/telnet, agent, ipmi, jmx(java Management eXtensions)
    自定義采樣機制:UserPrameter(基于agent實現(xiàn))

  • 報警:根據(jù)設定的條件,報警可能向更高一級的管理員上報

  • 數(shù)據(jù)存儲:支持mysql/pgsql

  • 展示:
    實時繪圖:graph, screen, slide show, map

  • 支持模板藕帜、網(wǎng)絡自動發(fā)現(xiàn)烫罩、分布式監(jiān)控

(三)Zabbix的邏輯組件

  • 主機 (host)
  • 主機組(host groups):多臺主機組成,方便管理
  • 監(jiān)控項(item)
    key:實現(xiàn)獲取監(jiān)控目標上的數(shù)據(jù)的命令或腳本的名稱
  • 應用(application):同一類監(jiān)控項的集合
  • 觸發(fā)器(trigger):監(jiān)控項符合某種條件的表達式
  • 事件(event):觸發(fā)器條件符合時引發(fā)
  • 動作(action):分為條件(condition)和操作(operation)組件
    通知(notification):通知發(fā)生的事件
    遠程命令(remote command):事件觸發(fā)動作的一類耘戚,在遠程主機上執(zhí)行命令
    報警升級:當事件觸發(fā)動作在規(guī)定時間沒有發(fā)揮作用嗡髓,可能會向上一級管理員報警
    媒介(media):發(fā)送通知的通道
  • 模板(template):快速定義被監(jiān)控主機的各監(jiān)控項的預設項目集合
  • 圖形(graph):用于展示歷史數(shù)據(jù)或趨勢數(shù)據(jù)的圖像
  • 屏幕(screen):由多個graph組成

(四)Zabbix的程序組成結構

(1)zabbix程序的組件:
  • zabbix_server:服務端守護進程
  • zabbix_agentd:agent守護進程
  • zabbix_proxy:代理服務器,可選組件
  • zabbix_get:命令行工具收津,手動測試向agent發(fā)起數(shù)據(jù)采集請求
  • zabbix_sender:命令行工具,運行于agent端浊伙,手動向server端發(fā)送數(shù)據(jù)
  • zabbix_java_gateway:java網(wǎng)關
  • zabbix_database:MySQL或PostgreSQL
  • zabbix_web:Web GUI
(2)zabbix的安裝:

實驗1:實現(xiàn)在server端和agent端的zabbix安裝

本文中所有實驗主機ip情況:
node0.hellopeiyang.com: 192.168.136.230, zabbix agent
node1.hellopieyang.com: 192.168.136.130, zabbix agent
node2.hellopeiyang.com: 192.168.136.131, zabbix server

步驟1-5步驟為zabbix服務器端配置撞秋,步驟6-7為zabbix客戶端配置

  • 步驟1:安裝并配置數(shù)據(jù)庫
yum install mariadb-server
vim /etc/my.cnf.d/server.cnf    // 配置mysql服務器端參數(shù)
skip_name_resolve = ON
innodb_file_per_table = ON
innodb_buffer_pool_size = 256M
max_connections = 2000

systemctl start mariadb.service
mysql_secure_installation
mysql -uroot -pcentos           // 創(chuàng)建zabbix數(shù)據(jù)庫并建立專屬管理員賬戶
MariaDB [(none)]> create database zbxdb;
MariaDB [(none)]> grant all on zbxdb.* to 'zbxuser'@'192.168.136.%' identified by 'zbxpass';
  • 步驟2:安裝zabbix的server端和agent端
wget http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm 
rpm -ivh zabbix-release-3.4-1.el7.centos.noarch.rpm   // 配置zabbix源的小工具
yum install zabbix-server-mysql zabbix-web zabbix-web-mysql zabbix-agent zabbix-get zabbix-sender
  • 步驟3:配置zabbix數(shù)據(jù)庫,生成zabbix數(shù)據(jù)庫的專屬表
cp /usr/share/doc/zabbix-server-mysql-3.4.4/create.sql.gz /root/
gzip -d /root/create.sql.gz
mysql -umzbxuser -pzbxpass -h192.168.136.131
MariaDB [(none)]> USE zbxdb;
MariaDB [(zbxdb)]> source /root/create.sql
  • 步驟4:修改zabbix的server端配置
cd /etc/zabbix
cp zabbix_server.conf zabbix_server.conf.bak
vim zabbix_server.conf
ListenPort=10051
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
SocketDir=/var/run/zabbix
DBHost=192.168.136.131
DBName=zbxdb
DBUser=zbxuser
DBPassword=zbxpass
DBPort=3306

systemctl  start zabbix-server
  • 步驟5:修改zabbix的web端配置嚣鄙,時區(qū)設置
vim /etc/httpd/conf.d/zabbix.conf     // 只在zabbix中生效
php_value date.timezone Asia/Shanghai
或者
vim /etc/php.ini                      // 在所有php應用中生效
date.timezone = Asia/Shanghai
systemctl start httpd
  • 步驟6:安裝zabbix的agent端
wget http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm
rpm -ivh zabbix-release-3.4-1.el7.centos.noarch.rpm
yum install zabbix-agent zabbix-sender
  • 步驟7:配置zabbix的agent端配置
vim /etc/zabbix/zabbix_agentd.conf 
##### Passive checks related       // 被動監(jiān)控相關配置
Server=192.168.136.131
ListenPort=10050
ListenIP=0.0.0.0
##### Active checks related        // 主動監(jiān)控相關配置吻贿,agent端主動向server周期性發(fā)送數(shù)據(jù)
ServerActive=192.168.136.131
Hostname=node1.hellopeiyang.com    // 必須與監(jiān)控主機的主機名稱保持一致

systemctl start zabbix-agent
  • 步驟8:此時可以登錄監(jiān)控主機的http服務,完成zabbix的web控制臺初始化
    瀏覽器登錄:http://192.168.136.131/zabbix哑子,ip地址為監(jiān)控主機
    在配置數(shù)據(jù)庫連接步驟時舅列,注意按照之前的設置填寫肌割,其他按照提示內(nèi)容配置即可

二、Zabbix的監(jiān)控配置

(一)監(jiān)控配置的一般順序

host groups --> host --> application --> item --> trigger --> action (conditions, operations)

(二)items的設置: key+parameter

(1)key:分為兩種
  • zabbix內(nèi)建:按照數(shù)據(jù)采集通道的不同分布不同的類別帐要,如:
    agent (server:pull)
    agent(active) (agent:push)
    snmp v1

  • 用戶自定義(UserParameter)

(2)采集到的數(shù)據(jù)的類型:
  • 數(shù)值:整數(shù)把敞,浮點數(shù)
  • 字符串:字符串,文本
(3)存儲的值:
  • As is:不對數(shù)據(jù)做任何處理
  • Delta(simple change):本次采樣減去前一次采樣的值的結果
  • Delta(speed per second):本次采樣減去前一次采樣的值榨惠,再除以經(jīng)過的時長

(三)trigger的配置:

  • 邏輯表達式奋早,通常用于定義數(shù)據(jù)的不合理區(qū)間(閾值)
    OK:正常狀態(tài)
    PROBLEM:非正常狀態(tài)

  • 觸發(fā)器表達式:
    {hostname:key[paramters].function(arguments) }

  • 觸發(fā)器存在可調(diào)用的函數(shù):
    nodata(), last(), date(), time(), now(), dayofmonth()等

  • Severity:嚴重等級,依次遞增
    Not classified, Information, Warning, Average, High, Disaster

(四)event事件機制:

(1)四種事件源:

trigger, discovery, auto registration, internal

(2)Media:媒介赠橙,告警信息的傳遞通道
  • 類型:
    Email:郵件
    Script:自定義腳本
    SMS:短信

  • 接收信息的目標為zabbix用戶:需要用戶上定義對應各種媒介通道的接收方式

(3)Action:
  • conditions:多個條件之間存在邏輯關系
  • operations:條件滿足時觸發(fā)的操作
(4)send message耽装,通知:
  • Media type:傳遞信息的通道

    • Email
    • Script:報警腳本
      腳本放置路徑:zabbix_server.conf配置文件中AlertScriptsPath參數(shù)定義的路徑下,默認/usr/lib/zabbix/alertscripts/
      zabbix服務器在調(diào)用腳本時期揪,會向其傳遞三個參數(shù)掉奄,此三個變量定義為內(nèi)部宏:
      {ALERT.SENDTO}
      {ALERT.SUBJECT}
      {ALERT.MESSAGE}
  • 信息接收人:
    User Groups
    Users: Admin

(5)remote command,遠程命令:
  • 功能:在agent所在的主機上運行用戶指定的命令或腳本

  • 前提:在agent需要完成的配置

    • zabbix用戶擁有所需要的管理權限
      編輯/etc/sudoers文件凤薛,注釋如下行
      Defaults requiretty
      添加如下行:
      zabbix ALL=(ALL) NOPASSWD: ALL

    • agent進程要允許執(zhí)行遠程命令
      編輯/etc/zabbix/zabbix_agentd.conf姓建,設置如下配置:
      EnableRemoteCommands=1

(五)實驗:實現(xiàn)監(jiān)控遠程主機

實驗2:監(jiān)控遠程主機的nginx服務是否正常運行;若不正常枉侧,嘗試重啟服務引瀑;若重啟服務仍舊不能使服務恢復運行,則向指定地址發(fā)送告警郵件

實驗前提:按照實驗1的要求榨馁,在被監(jiān)控的遠程主機上安裝agent端并正確配置

  • 步驟1:建立host groups憨栽,名為websrvs
  • 步驟2:建立hosts,監(jiān)控主機node0.hellopeiyang.com
  • 步驟3:建立items
    通過監(jiān)聽80端口確認nginx服務狀態(tài)翼虫,監(jiān)控間隔時間5s屑柔,返回值轉換為"Service state"格式,將本item歸集至名為"nginx stats"的application中
  • 步驟4:建立triggers
    嚴重性定義為"High"珍剑,當最近3次測試tcp的80端口服務均不可用時掸宛,觸發(fā)本trigger
  • 步驟5:建立event前先定義media媒介

本實驗報警信息通過email方式發(fā)送,故需要配置Media types中email的選項卡

  • 步驟6:定義actions

設定執(zhí)行action的條件是“不處于維護狀態(tài)招拙,并且觸發(fā)了nginx服務不可用為真的trigger”

設定支持action的動作:1. 在遠程主機重啟nginx服務唧瘾;2. 若執(zhí)行動作1的60s后仍舊無法恢復正常,則向指定用戶發(fā)送郵件

定義動作1的具體配置别凤,為了能夠成功執(zhí)行遠程命令饰序,還需要在被監(jiān)控主機上做如下配置

visudo
zabbix  ALL=(ALL)       NOPASSWD: ALL     // 配置sudo權限

vim /etc/zabbix/zabbix_agentd.conf
EnableRemoteCommands=1                    // 允許執(zhí)行遠程命令

systemctl restart zabbix-agent

定義動作2的具體配置,注意按照步驟5定義選擇媒介

定義異常成功恢復時的操作规哪,此處定義為發(fā)郵件

  • 步驟7:測試

關閉被監(jiān)控主機求豫,同時確保不能重啟nginx服務。可以在dashboard中看到監(jiān)控到nginx服務不可用蝠嘉,觸發(fā)了設置的trigger最疆,同時執(zhí)行了actions

執(zhí)行actions的詳細情況:先執(zhí)行重啟服務的遠程命令失敗,60s后發(fā)送郵件成功

確認成功接收到了郵件

手動啟動nginx服務蚤告,dashboard中的監(jiān)控已經(jīng)恢復正常努酸,同時acitons數(shù)增加1

查看actions具體情況,增加的action為恢復服務發(fā)送郵件

確認成功接收到了服務恢復通知郵件

此次確保在nginx服務不可用時遠程執(zhí)行命令重啟服務成功罩缴;當nginx服務不可用時蚊逢,自動恢復服務成功,只執(zhí)行了2個actions

查看actions具體情況箫章,分別是成功執(zhí)行遠程命令重啟nginx服務和發(fā)送服務恢復通知郵件

三烙荷、Zabbix的展示接口

(一)graph:圖形

(1)graph的分類:

  • simple:默認生成,一張圖展示一個item
  • custom:自定義檬寂,可以將多個item的指標展示在一張圖中

(2)實驗:實現(xiàn)自定義graph

實驗3:自定義一張圖终抽,實現(xiàn)在一張圖中顯示rate of packets(in) 和 rate of packets(out)兩個item

  • 步驟1:自定義圖,Y軸最大值120桶至,rate of packets(in)的繪制風格為漸進色
  • 步驟2:在Monitoring=>Graphs中昼伴,可以看到自定義的graph

(二)screen:

  • 把多個graph整合于同一屏幕進行展示

  • 實驗4:實現(xiàn)將多個graph整合在一個screen中

    • 步驟1:定義screen的名稱"node1 status",2行×2列排布
    • 步驟2:分別編輯每個“格子”鏈接的graph
    • 步驟3:最終效果如下

(三)slide show:幻燈片

  • 把多個screen以slide show的方式進行展示

  • 實驗5:實現(xiàn)多個screen幻燈片方式循環(huán)展示

    • 步驟1:首先準備好兩個以上的screen
  • 步驟2:創(chuàng)建slide_shows镣屹,包含之前定義的screen圃郊,切換間隔5s

(四)map:

  • 用于展示網(wǎng)絡連接拓撲,直觀查看連接狀態(tài)

四女蜈、templates持舆,模板:

  • 主機配置模板:用于鏈接至目標主機實現(xiàn)快速監(jiān)控管理

  • 實現(xiàn):通過在主機選項中鏈接模板,快速添加items, triggers, graphs等

  • 模板可繼承:一個模板可以鏈接至其他模板

五伪窖、macros逸寓,宏:

  • 定義:預設的文本替換模式

  • 用途:當需要重復使用某個值,且此值需要統(tǒng)一變動時覆山,此時適用宏的使用

  • 級別:
    全局:Administration --> General --> Macros
    模板:編輯模板 --> Macros
    主機:編輯主機 --> Macros

  • 類型:
    內(nèi)建:{MACRO_NAME}
    自定義:{$MACRO_NAME}竹伸,命名方式:大寫字母、數(shù)字和下劃線

  • 實驗6:使用宏定義redis的監(jiān)聽端口簇宽,在定義item過程中使用宏

    • 步驟1:定義主機宏{$REDIS_PORT}
    • 步驟2:定義items勋篓,端口號可以直接用定義的宏{$REDIS_PORT}代替
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市魏割,隨后出現(xiàn)的幾起案子生巡,更是在濱河造成了極大的恐慌,老刑警劉巖见妒,帶你破解...
    沈念sama閱讀 217,185評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡须揣,警方通過查閱死者的電腦和手機盐股,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評論 3 393
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來耻卡,“玉大人疯汁,你說我怎么就攤上這事÷牙遥” “怎么了幌蚊?”我有些...
    開封第一講書人閱讀 163,524評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長溃卡。 經(jīng)常有香客問我溢豆,道長,這世上最難降的妖魔是什么瘸羡? 我笑而不...
    開封第一講書人閱讀 58,339評論 1 293
  • 正文 為了忘掉前任漩仙,我火速辦了婚禮,結果婚禮上犹赖,老公的妹妹穿的比我還像新娘队他。我一直安慰自己,他們只是感情好峻村,可當我...
    茶點故事閱讀 67,387評論 6 391
  • 文/花漫 我一把揭開白布麸折。 她就那樣靜靜地躺著,像睡著了一般粘昨。 火紅的嫁衣襯著肌膚如雪垢啼。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,287評論 1 301
  • 那天雾棺,我揣著相機與錄音膊夹,去河邊找鬼。 笑死捌浩,一個胖子當著我的面吹牛放刨,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播尸饺,決...
    沈念sama閱讀 40,130評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼进统,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了浪听?” 一聲冷哼從身側響起螟碎,我...
    開封第一講書人閱讀 38,985評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎迹栓,沒想到半個月后掉分,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,420評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,617評論 3 334
  • 正文 我和宋清朗相戀三年酥郭,在試婚紗的時候發(fā)現(xiàn)自己被綠了华坦。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,779評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡不从,死狀恐怖惜姐,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情椿息,我是刑警寧澤歹袁,帶...
    沈念sama閱讀 35,477評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站寝优,受9級特大地震影響条舔,放射性物質發(fā)生泄漏。R本人自食惡果不足惜倡勇,卻給世界環(huán)境...
    茶點故事閱讀 41,088評論 3 328
  • 文/蒙蒙 一逞刷、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧妻熊,春花似錦夸浅、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至亿胸,卻和暖如春坯钦,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背侈玄。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評論 1 269
  • 我被黑心中介騙來泰國打工婉刀, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人序仙。 一個月前我還...
    沈念sama閱讀 47,876評論 2 370
  • 正文 我出身青樓突颊,卻偏偏與公主長得像,于是被迫代替她去往敵國和親潘悼。 傳聞我的和親對象是個殘疾皇子律秃,可洞房花燭夜當晚...
    茶點故事閱讀 44,700評論 2 354

推薦閱讀更多精彩內(nèi)容

  • Zabbix簡介 Zabbix官方網(wǎng)站Zabbix中文文檔 本文系統(tǒng)環(huán)境是CentOS7x86_64, Zabbi...
    Zhang21閱讀 7,998評論 0 37
  • 1.寫在前面 本文主要介紹的是zabbix的編譯安裝過程,包含它的基礎環(huán)境LNMP治唤,雖然zabbix官方一般推薦的...
    天之藍色閱讀 2,533評論 0 16
  • 一棒动、準備搭建環(huán)境 1.系統(tǒng):CentOS 7.3 2.軟件:Zabbix 3.2 二、安裝前的準備 最小化安裝Ce...
    塵世不擾閱讀 4,141評論 8 31
  • 作者:樊榮強 “鉆石法則”是我口才課程的核心技術宾添。我的一個基本觀點是船惨,講話是一門藝術柜裸,但它首先是一門技術。因此掷漱,既...
    樊榮強閱讀 1,067評論 2 14
  • L0范數(shù)和L1范數(shù) L0范數(shù)是指向量中非零元素的個數(shù)卜范,如果用L0規(guī)則化一個參數(shù)矩陣W,就是希望W中大部分元素為0鹿榜,...
    程序猿愛打DOTA閱讀 10,738評論 0 4