銀行 Zabbix 監(jiān)控架構(gòu)_第1頁
銀行 Zabbix 監(jiān)控架構(gòu)_第2頁
銀行 Zabbix 監(jiān)控架構(gòu)_第3頁
銀行 Zabbix 監(jiān)控架構(gòu)_第4頁
銀行 Zabbix 監(jiān)控架構(gòu)_第5頁
已閱讀5頁,還剩29頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

Zabbix平臺概述

平臺介紹

Zabbix是一個基于Web界面提供分布式系統(tǒng)監(jiān)視及網(wǎng)絡(luò)監(jiān)視功能的企業(yè)級開

源解決方案.它能監(jiān)視各種網(wǎng)絡(luò)參數(shù),保證服務(wù)器系統(tǒng)的安全運(yùn)營,并提供靈活

的通知機(jī)制以讓系統(tǒng)管理員快速定位、解決存在的各種問題,借助Zabbix可很

輕松地減輕運(yùn)維人員繁重的服務(wù)器管理任務(wù),保證業(yè)務(wù)系統(tǒng)持續(xù)運(yùn)行。其后端使

用數(shù)據(jù)庫存儲監(jiān)控配置和歷史數(shù)據(jù),可以非常方便地對接數(shù)據(jù)分析、報表定制等

渠道,在前端開放了豐富的RESTfulAPI供第三方平臺調(diào)用,整體架構(gòu)在當(dāng)下的

DevOps的趨勢下顯得非常亮眼。

選型過程

我們于2017年開始接觸Zabbix,之前運(yùn)維內(nèi)主要使用的監(jiān)控系統(tǒng)是Nagios,

但Nagios的頁面展示、監(jiān)控配置、自動化等各項(xiàng)功能對基礎(chǔ)架構(gòu)的運(yùn)維人員來

說不是特別友好,而風(fēng)頭正勁的Zabbix正好引起了我們的注意?;A(chǔ)架構(gòu)的運(yùn)

維工作中,需要面對各種各樣的監(jiān)控場景,例如PC服務(wù)器的故障燈巡檢、存儲

設(shè)備的陣列健康判斷、小型機(jī)LPAR的資源監(jiān)控、操作系統(tǒng)的多路徑檢查,等等。

而Zabbix內(nèi)置提供了SNMP、IMPI、SSH、Agent等多種監(jiān)控途徑,在系統(tǒng)

架構(gòu)的各層場景下都能很好的適配,其中Agent還支持自定義工具,總體的表

現(xiàn)非常靈活。在網(wǎng)頁前端管理上,Zabbix可以滿足各個粒度的監(jiān)控管理,從整

個集群到單獨(dú)一個監(jiān)控項(xiàng)都能夠進(jìn)行細(xì)分管控,自定義dashboard和歷史數(shù)據(jù)

可視化功能也極大地方便運(yùn)維人員對監(jiān)控數(shù)據(jù)的審查。綜合以上的考慮因素,行

內(nèi)選擇了Zabbix作為一個新的監(jiān)控平臺試點(diǎn),從基礎(chǔ)資源的監(jiān)控出發(fā),首先將

大部分存儲、主機(jī)和操作系統(tǒng)接管到Zabbix.

使用現(xiàn)狀

2017年底在基礎(chǔ)架構(gòu)范圍內(nèi)試行的Zabbix系統(tǒng),從3.2版本開始逐步演進(jìn)到

現(xiàn)在的4.4版本,其中經(jīng)歷了各項(xiàng)監(jiān)控系統(tǒng)的里程碑事件。目前的Zabbix系

統(tǒng)也由原先的小范圍試用,逐步擴(kuò)展到涵蓋硬件、應(yīng)用、平臺、業(yè)務(wù)等更大范圍

的場景,架構(gòu)上也從單數(shù)據(jù)中心進(jìn)化為三中心的分布式部署。除了逐漸替代舊的

監(jiān)控系統(tǒng),越來越多的第三方系統(tǒng)也開始對接起了Zabbix,例如自動化運(yùn)維平

臺、持續(xù)發(fā)布平臺、運(yùn)維可視化平臺等,通過API或者數(shù)據(jù)庫抽數(shù)的方式,使用

海量的運(yùn)維監(jiān)控數(shù)據(jù)實(shí)現(xiàn)智能運(yùn)維的工作模式。

在編寫此文前不久,我們也順利完成應(yīng)用系統(tǒng)監(jiān)控遷移到Zabbix平臺,作為一

名全程參與Zabbix系統(tǒng)推廣實(shí)施和自動化開發(fā)的運(yùn)維人員,非常榮幸能夠見證

我們運(yùn)維力量的茁壯成長,在此,本人也將從架構(gòu)部署、監(jiān)控維度、自動化方案、

運(yùn)營管理層面,分享我們Zabbix系統(tǒng)發(fā)展壯大的經(jīng)驗(yàn)。

硬件監(jiān)控

數(shù)據(jù)中心的運(yùn)維管理中,系統(tǒng)架構(gòu)的縱向深度是非常陡長的,包括最基礎(chǔ)的硬件

設(shè)備也需要運(yùn)維人員費(fèi)盡心思地去巡檢排查,但隨著數(shù)據(jù)中心的設(shè)備數(shù)量呈曝發(fā)

式增長,人工巡檢已不能滿足當(dāng)下監(jiān)控實(shí)時性、可靠性的要求。對于這種低,曇級

的監(jiān)控,Zabbix的多維度特性就非常好的解決了這個問題,其內(nèi)置的

SNMP/IPMI協(xié)議能夠輕松對接相關(guān)硬件設(shè)備的帶外監(jiān)控。

目前我們使用SNMPAgent的被動方式定期巡檢硬件設(shè)備的基礎(chǔ)指標(biāo),例如故

障燈信號、電源功率、內(nèi)存信息、磁盤陣列等,代替人工巡檢的方式來實(shí)現(xiàn)異常

捕獲,并對數(shù)據(jù)中心內(nèi)的所有設(shè)備做到硬件信息采集,定時更新至CMDB。例如

以下為部分華為RH2288V3IBMC監(jiān)控模板中自動發(fā)現(xiàn)的配置:

自動發(fā)現(xiàn)規(guī)則

10G8HUAWEIPCV3OMC.研霰?日溝發(fā)就敗2

□8,盆及耍MSfift主機(jī)

||Q

幺拴星9壬lanOecename

[I□網(wǎng)UMxn??

□MM02r生mreharOskPtesenc*

圖講DR主mmpcwtfSumMOw

|ln。火覆

王松■南Hmp?f3turt00i?cl

I□.卡利.主mmcompontrUNamt

i|D處理好停

5ra1主我腰事cpuOesium

![□內(nèi)麗.

王虹■專

Zabbix配置硬件監(jiān)控的操作過程也非常便捷,大部分都是在網(wǎng)頁界面配置,只

需要定義好SNMPAgent/Trap的接口或IPMI傳感器目標(biāo)端口后即可靈活定

義監(jiān)控項(xiàng)。對于IPMI監(jiān)控的配置,主要是將傳感器的名稱填入即可,目前我們

對IPMI的帶外監(jiān)控使用的相對較少,主要是部分浪潮PC服務(wù)器在使用,對

IPMI更多地考慮應(yīng)用在如VMwarevSphere的DPM等帶外管理上。

在硬件監(jiān)控選擇監(jiān)控協(xié)議時,保持的一項(xiàng)原則是:能用SNMP就不用其他,能

用SNMPv3就不用SNMPv2。因?yàn)镾NMP在Zabbix中可以非常靈活的

實(shí)現(xiàn)自動發(fā)現(xiàn),而SNMPv3可以提供更健壯的認(rèn)證機(jī)制,因?yàn)樵陂_放硬件監(jiān)控

的同時也必須考量網(wǎng)絡(luò)安全的風(fēng)險。對單個SNMPv3的監(jiān)控項(xiàng)配置如下,大部

分參數(shù)都提供了輸入窗口:

.名稱限奏器當(dāng)前的整體狀況

使用SNMPv渚戶端

SNMPV3客戶就

*鍵值xcc.machinesystemHealthStat

gm曲irrxCCfi個MIB里systemHealthStat字段.下T2為0

*SNMPOIDLENOVO-XCC-MIB--------------------------------------------

如果使用全數(shù)工形承om可以不依賴MIB,但是可曲線差

上下文名耕對應(yīng)SNMP服領(lǐng)道斷ONTEXT

對應(yīng)服務(wù)端陪的

安全名稱SNMPSECURITY-NAME

安全級別authPriv這里有三種認(rèn)證級別,最低的是noAuthPriv,即不認(rèn)證不1)限.

authPriv是所的認(rèn)證加加密,這也是非要在服務(wù)WS洗碧好的

驗(yàn)證協(xié)議MD5SHA

驗(yàn)證口令蛉證方式緘列竟去,需與服務(wù)部而T

對于上述提及的SNMP配置自動發(fā)現(xiàn)的靈活性,這也是依賴于SNMP設(shè)計的

原理,借助樹結(jié)構(gòu)的索引方式,可以根據(jù)index字段枚舉現(xiàn)有元素的數(shù)量,然后

再根據(jù)數(shù)量長度來遍歷下一層元素。對于這種遍歷,Zabbix自身提供了友好的

discovery^SNMPVALUELOID]函數(shù)來完成,無縫對接到內(nèi)部通用的自動發(fā)現(xiàn)

數(shù)據(jù)結(jié)構(gòu)。整個SNMP自動發(fā)現(xiàn)的機(jī)制原理如下

EntryDetail

ABCDEFGHJJK

一3

SNMPEntryEntryIndex自

powerFruName發(fā)

現(xiàn)

powerPartNumber得

PowerEntry.powerlndex.YpowerFRUNumber到

powerFRUSerialNumber結(jié)

驅(qū)動Zabbix自動發(fā)現(xiàn)powerHealthStatus果

由于我們Zabbix的起步試點(diǎn)是從基礎(chǔ)設(shè)施運(yùn)維開始,加上Zabbix對

SNMP/IPMI協(xié)議配置的操作非常方便,所以經(jīng)常可以根據(jù)廠家提供的mib文

件及mib文檔說明即可篩選出需要自定義的監(jiān)控,這樣既可以通過減少采集來

降低管理系統(tǒng)的繁忙度,又能優(yōu)化監(jiān)控質(zhì)量。例如以下為根據(jù)LenovoXCC帶

外管理系統(tǒng)的mib說明

(http://www.circitor.fr/Mibs/HtmlZL/LENOVO-XCC-MIB.php)來自定義配

置的ThinkSystemSR650的SNMPv3監(jiān)控使用效果:

202M7.1209”8

1088

^20^7-12100509

—第2051210058

3WM7-1210058

KMOOUUO

QM7.12X558

W20^M2W55?

號Pm05?12X”8

?20^M21005”

?4Poe9UM?小100509Normal

Moanwrue^20^7-121005?NormH

“iatgfu①Q(mào))97.12100509Normal

悶.IfSIUOBMQW12X558MMOOOF49CO

R-t也332WM7.12X558AM80F40C1

網(wǎng).MiwaMMCX)0F4?C2

IHK5U*aiM?2M7-120e55WA28849c3

上圖中的電源、陣列、磁盤等均是通過自動發(fā)現(xiàn)的規(guī)則來生成的,這對擁有不同

陣列卡數(shù)量、網(wǎng)卡數(shù)量、路數(shù)等的XCC帶外服務(wù)器,都可以使用同一個模板,

設(shè)備變化完全交給Zabbix維護(hù)。另外,分享一個定制SNMP監(jiān)控過程中的經(jīng)

驗(yàn),首先在MIB文件中收集所有需要監(jiān)控的指標(biāo),對篩選的指標(biāo)做分組,找到

每個組的最高父級索引的OID,然后在ZabbixProxy上使用snmpwalk遍歷

這個OID找到所有OID內(nèi)容,區(qū)分出Index和Detail后,劃分常規(guī)監(jiān)控和

自動發(fā)現(xiàn)監(jiān)控,最后使用snmpget來逐個獲取OID的值確定對應(yīng)Zabbix上

的數(shù)值類型°需要特別注意,snmpwalk是遍歷,并不需要OID的完整值,而

snmpget則是根據(jù)一個完整的OID來檢索,對應(yīng)于Zabbix則是snmpwalk

類似自動發(fā)現(xiàn),snmpget類似常規(guī)監(jiān)控項(xiàng)。

存儲監(jiān)控

在數(shù)據(jù)中心中,存儲設(shè)備是非常核心且關(guān)鍵的基礎(chǔ)設(shè)施,任何一個相關(guān)告警都會

讓運(yùn)維人員警覺。在推進(jìn)Zabbix的存儲監(jiān)控的過程中,體會到一個非常棘手的

困難點(diǎn),即存儲不單單是硬件設(shè)備,SNMP的協(xié)議不能獲取到帶內(nèi)的性能信息,

但也不像主流操作系統(tǒng)那樣可以安裝ZabbixAgent來做數(shù)據(jù)采集。對于這種問

題的處理,我們積累的經(jīng)驗(yàn)是,首選使用RESTful等外部接口來獲取監(jiān)控數(shù)據(jù),

在不支持此條件的情況下,在ZabbixProxy服務(wù)器上通過自定義監(jiān)控封裝廠家

推薦工具或方法來監(jiān)控。

ZabbixAgent支持運(yùn)維人員自定義監(jiān)控,將執(zhí)行命令封裝成一個ZabbixItem

Key來供Zabbix調(diào)用,也支持額外的安全策略,例如AllowRoot可以設(shè)置是

否允許root來執(zhí)行agent,UnsafellserParameters參數(shù)能夠過濾特殊符號注

入。我們對自定義配置的標(biāo)準(zhǔn),以RedHat基線為例,在

/etc/zabbix/zabbix_agentd.d目錄一個監(jiān)控類為一份conf文件的形式保存,

命名形式為ClassA_ClassB_DetaiLconf,并且定義的執(zhí)行文件均放置于

/usr/local/zbxexec/ClassA/ClassB/xxxx.xxo

對于自定義監(jiān)控項(xiàng)的方法,能夠便捷地對接各個存儲廠家的產(chǎn)品監(jiān)控方式,將廠

家建議的監(jiān)控命令封裝為Zabbix的一個監(jiān)控項(xiàng)。這類被封裝的方法主要是CLI、

RESTful和SSH,例如以下我們目前對各產(chǎn)品使用的監(jiān)控方式:

方式AS工具

CLIunityuemdi

CLIvnxnaviseccli

RESTfulVMAXrequests(Python)

SSHV7000OpenSSH

除了跟廠家溝通對接Zabbix外,其實(shí)也可以借助開源生態(tài)和Zabbix的合作推

廣,也有很多企業(yè)與我們一樣會分享Zabbix的經(jīng)驗(yàn)、模板、工具到Zabbix

Share,可以斟酌篩選后使用。同時,Zabbix也一直努力與其他廠家共同合作,

共同推出每個廠家在Zabbix上的官方監(jiān)控模板,例如DELLEMC在Zabbix

中推出的各個產(chǎn)品的監(jiān)控模板(

/integrations/emc)0

通過上述的監(jiān)控方式,Zabbix對生產(chǎn)環(huán)境存儲設(shè)備的監(jiān)控效果讓運(yùn)維人員感到

比較滿意,agentless的架構(gòu)避免對重要設(shè)備的侵入,同時相關(guān)的存儲告警也能

夠及時觸發(fā),并幫助存儲管理人員迅速發(fā)現(xiàn)問題、定位原因。

主機(jī)監(jiān)控

我們目前的主機(jī)監(jiān)控主要包含了Power的小型機(jī)和x86的ESXi,這類對象有

一非常明顯的特點(diǎn),就是數(shù)量和信息不固定。一臺小型機(jī)可能需要為新部署的數(shù)

據(jù)庫劃分物理分區(qū)或虛擬分區(qū),亦或者要調(diào)整某個數(shù)據(jù)庫的CPU分配;一個

vSphere集群可能會擴(kuò)容ESXi主機(jī)數(shù)量或資源,亦或新建一個集群。在這種多

變的的環(huán)境里,首先考慮的是使用Zabbix的自動發(fā)現(xiàn)來適配,并且此場景有一

個非常明顯的相似特性,就是需要一個主控端來管理整個主機(jī)資源池。因此,我

們對主機(jī)的監(jiān)控常常采用的原則是,通過監(jiān)控主控端來自動發(fā)現(xiàn)主機(jī),讓被發(fā)現(xiàn)

的主機(jī)自動使用對應(yīng)模板。

主控端自動注冊主機(jī)模板

J_卜_.,J

ResourcePool

DRS

Cluster

HA

Host

CPU

Memory

Host

Storage

Status

Partition

Host

State

CPU

Memory

Partition

RefCode

State

上述的監(jiān)控流程主要是依賴Zabbix的自動注冊主機(jī)來實(shí)現(xiàn),不同于硬件監(jiān)控中

提及的自動注冊監(jiān)控項(xiàng),這里的自動注冊會直接根據(jù)主控端獲取的資源列表,自

動注冊一個待監(jiān)控的主機(jī),相關(guān)的主機(jī)配置包括主機(jī)名、可見名稱、agent接口

等都會繼承主控,然后會為每個主機(jī)都綁定一個預(yù)先配置的監(jiān)控模板。如果主控

端發(fā)現(xiàn)某一個主機(jī)不在上一次收集的資源列表中,會在超過資源保留策略時間后,

自動刪除該主機(jī)。例如自動發(fā)現(xiàn)的ESXi主機(jī):

DiscoverViAvarehypervisors:ESX_P1-F-=期集6范控項(xiàng)44帔發(fā)器12圖形自動發(fā)現(xiàn)1履

DiscoverVl^warehypervisors:ESX_P1-J.LFT3■■I期集6笈控項(xiàng)44娛3H2圖形自動發(fā)現(xiàn)1Web監(jiān)測

應(yīng)用集

DiscoverVMwarehypervisors:ESX.PI-LMUJFPB:睡6笈控項(xiàng)44敢發(fā)器12圖形自動發(fā)現(xiàn)1Weo£S!

DiscoverVMwarehypervisors:ESX_P1-\T則集6位控膜44帔發(fā)器12圖形自動發(fā)現(xiàn)1WM監(jiān)測

DiscoverV?4warehypervisors:ESX_P3-WWbJLr'L.一5應(yīng)用集6玄拄項(xiàng)44般發(fā)器12圖形自動發(fā)現(xiàn)1Wet)£?

DiscoverVMwarehypervisors:ESX_P3*VHWfVQI16應(yīng)用集6笈控埃44依發(fā)器12圖形自動發(fā)現(xiàn)1Web酬

DiscoverVI4warehypervisors:ES(PSWMW1-*■應(yīng)用集6玄拄項(xiàng)64位8820圖形目動發(fā)現(xiàn)1Web&i!

DiscoverVWwarehypeivisors:ESX_P3^HBnJfrti應(yīng)用集6飆暇64歌發(fā)as20圖形目動發(fā)現(xiàn)1Web有

DiscoverVWwarehypervisors:ESX_P3-i^MLWB.FA..應(yīng)用袈6融項(xiàng)64觸發(fā)器20圖形自動發(fā)現(xiàn)1Web同

DiscoverVWwarehypervisors:ESX_P4-??'TTI―.應(yīng)用袈6融項(xiàng)34觸發(fā)器28圖形自動發(fā)現(xiàn)1Web的

操作系統(tǒng)監(jiān)控

操作系統(tǒng)的監(jiān)控是非常龐大的,除了操作系統(tǒng)種類多,每個操作系統(tǒng)內(nèi)的監(jiān)控項(xiàng)

數(shù)量也是覆蓋面廣,再乘上物理機(jī)、虛擬機(jī)的數(shù)量,整個監(jiān)控面積會非常之大。

另外,將每一臺服務(wù)器納管至Zabbix中的操作也變得異常繁瑣。對此,我們保

持的思路是,通過自動化手段讓服務(wù)器自動上報到Zabbix,優(yōu)化模板以減少重

復(fù)監(jiān)控,定制觸發(fā)器的依賴關(guān)系。

操作系統(tǒng)的監(jiān)控都是使用ZabbixAgent方案來實(shí)現(xiàn)的,Zabbix也推出了各種

操作系統(tǒng)的agent,不需要編譯就能直接運(yùn)行。對此,我們的所有虛擬機(jī)基線、

小型機(jī)備份、物理機(jī)Ansible部署腳本里,都會事先準(zhǔn)備好對應(yīng)操作系統(tǒng)的

Agent安裝和配置。其中,推薦使用被動方式,并且主要修改agent配置的如

下內(nèi)容:

32.2#/24Server=

,/24#Hostname'IPHostname=

這種配置主要是方便于agent在多個Proxy中平移,在故障恢復(fù)、Zabbix升

級等場景下,可以非常便利的保證agent的持續(xù)有效。另外將本地回環(huán)地址也

寫入Server中,方便以后需要在此操作系統(tǒng)中通過agent調(diào)用本地腳本。

Hostname在被動模式下并不是必須的,配置管理IP可以保證主動模式和配置

管理的便利。

以上僅是agent的配置標(biāo)準(zhǔn),如果需要自動上報至Zabbix,還需要其他步驟。

目前我們對于物理機(jī)和虛擬機(jī)的x86操作系統(tǒng)實(shí)現(xiàn)了自動上報主機(jī)的機(jī)制,每

天上午八點(diǎn)會做一次上報,然后對新增的主機(jī)自動加入維護(hù)模式,避免部署階段

中各種不關(guān)鍵的異常帶來告警風(fēng)暴,直至系統(tǒng)穩(wěn)定才會退出維護(hù)模式。在物理機(jī)

的部署中,我們除了一套完善的自動化RAID配置、PXE安裝系統(tǒng)外,還有對

操作系統(tǒng)配置基線的Ansible方案,每個操作系統(tǒng)的roles里,都有一個

InstallZabbixAgentAndReport的task,這樣通過實(shí)現(xiàn)配置的好的vars即

可將此主機(jī)以標(biāo)準(zhǔn)命名添加到Zabbix中。而對于數(shù)量龐大的虛擬機(jī),我們編寫

了一套Python腳本,掃描各個機(jī)房vCenter中的虛擬機(jī)獲取到每日的虛擬機(jī)

差異,再使用其在CMDB的屬性、vCenter上的備注,來填充業(yè)務(wù)系統(tǒng)、應(yīng)用

集群、服務(wù)器描述等,最后注冊到Zabbix。這種機(jī)制除了極大程度地解放運(yùn)維

人員對新系統(tǒng)的主機(jī)監(jiān)控注冊外,還可以在腳本中指定納管策略來實(shí)現(xiàn)各種額外

的預(yù)期目標(biāo),列舉以下幾點(diǎn):

根據(jù)網(wǎng)段信息耨同機(jī)房的服務(wù)器接口對接同機(jī)房的Proxy避免機(jī)房流量交叉。

通過判斷當(dāng)前Zabbix各個Proxy的vps,將新增主機(jī)接入到低負(fù)載的Proxy。

將CMDB中現(xiàn)有的信息填入到被注冊主機(jī)的標(biāo)簽和資產(chǎn)信息中。

其架構(gòu)上的拓?fù)浜喕缦拢?/p>

在這套自動化機(jī)制下,極大地減輕了運(yùn)維人員對監(jiān)控配置的厭惡,也加到了對我

們CMDB的關(guān)聯(lián),為以后的工單系統(tǒng)打下架構(gòu)基礎(chǔ)。但是,我們對監(jiān)控系統(tǒng)的

分析和探索沒有僅僅止步于此,考慮到操作系統(tǒng)監(jiān)控中觸發(fā)器帶來的大量告警,

我們也研究了一些額外的措施,避免太寬泛的告警涌現(xiàn)。

首先,將模板細(xì)分為各個類別作為基類的template,然后根據(jù)應(yīng)用場景來指定

上層的模板由哪些基類組合,避免太多的定制模板中近似功能的監(jiān)控帶來重復(fù)監(jiān)

控。然后,對每個模板中的觸發(fā)器指定嚴(yán)格的依賴關(guān)系,避免告警的連帶觸發(fā)導(dǎo)

致風(fēng)暴。例如Linux系統(tǒng)的分區(qū)容量監(jiān)控觸發(fā)器,我們制定了幾個水位線之間的

依賴:

產(chǎn)里性名稱▲

警告TemplateOSLinux:Freeinodesislessthan20%onvolumeiffFStlAME)

□DGBOSLinux:卷({#FSNAME)]已使用空間>80%,當(dāng)前宜{ITEM.SSTVALUE)]

依籟于:

LNX—^/T"*1.f*24卷?#FSNAME)]已使用空間>90%蘭前面{ITEMIASTVALUE)]

LNX_*J-r*L:/V上24卷({#FSNAME)]已使用空間>95%蘭前值{{ITEM.LASTVALUE)]

LNX_F.X"24鐲悌FSNAME}]已?空曲99%當(dāng)前?KITEM.LASTVALUE}]

□重DGBOSLinux:覆隹FSNAME}]已鯨至|即90%,當(dāng)前(gRlTEMLASTVALUE}]

依賴于:

LNX_A>J4.1724:卷?#FSNAME)]已使用空間>95%當(dāng)前值lOTEMLASTVALUE)]

LNX_AN..1『417.24:卷{{#FSNAME)]已使用空間>99%當(dāng)前面{IT£M.SSTVALUE)]

□產(chǎn)里DGBOSLinux:希伸FSNAME})已麒空間>95%,當(dāng)前LASTVALUE})

依Jft于:

,小萄伊FSNAME}舊簸空曲99%當(dāng)前?1{ITEMLASTVALUE})

□旗DGBOSLinux擲桿SNAME})已OS空的99%,當(dāng)前面{ITEM.LASTVALUE))

□信息DGBOSLinux:分區(qū)[{#FSNAME)[宮化

數(shù)據(jù)庫監(jiān)控

數(shù)據(jù)庫監(jiān)控也是一條每個運(yùn)維人員心中緊繃的弦,除了普通的表空間使用、會話

數(shù)量、SGA使用、ASM使用、緩存命中、刷臟頻率等,還有宕機(jī)、切換等狀態(tài)

檢查。加上我們近幾年分布式數(shù)據(jù)庫落地,及嘗試國產(chǎn)數(shù)據(jù)庫的背景下,越來越

多的數(shù)據(jù)庫產(chǎn)品需要對接至目前我們對數(shù)據(jù)庫的監(jiān)控,結(jié)合了多種監(jiān)

Zabbixo

控思路,制定了各種數(shù)據(jù)庫產(chǎn)品的監(jiān)控指標(biāo),在性能數(shù)據(jù)追溯與故障告警的場景

下都體現(xiàn)出非常優(yōu)秀的表現(xiàn)。

在金融行業(yè)的傳統(tǒng)架構(gòu)中,Oracle數(shù)據(jù)庫往往是不可或缺的一個基座,我們通過

模板定制,提供了Sinlge-Instance.RAC、DG、F5等多種架構(gòu)的模板,覆蓋

了大部分OracleDBA關(guān)心的監(jiān)控項(xiàng)。在Zabbix中專門使用一臺高性能的

Proxy,通過自定義監(jiān)密的方式來執(zhí)行Oracle監(jiān)控腳本。除了應(yīng)急的故障告警

外,現(xiàn)在Zabbix也成為了DBA分析數(shù)據(jù)庫性能的工具,對比歷史數(shù)據(jù)排查數(shù)

據(jù)庫問題,這也依賴于Zabbix保存的大量監(jiān)控信息。如下為其中有給數(shù)據(jù)庫的

性能與RAC部分監(jiān)控指標(biāo):

ML訴加

?事Km*JM

y,M*g

BUv>xftfWMe?r??

XME.tm

WTVMM

—t3146*

W?Q>/???.?

K0^?.C?

XQ^f,

nnoYBgR

除了傳統(tǒng)架構(gòu)的數(shù)據(jù)庫,我們對其他數(shù)據(jù)庫產(chǎn)品也提供了全面的監(jiān)控,并且對此

監(jiān)控采用了主控服務(wù)(Rootservice)的思路,將數(shù)據(jù)庫更自動的納入監(jiān)控中。這

種方法的優(yōu)點(diǎn)是可以完美展現(xiàn)Zabbix自動注冊主機(jī)的機(jī)制,將數(shù)據(jù)庫添加到監(jiān)

控中,并使用自動注冊監(jiān)控原型的方式來識別數(shù)據(jù)庫開啟了哪些需要監(jiān)控的細(xì)節(jié)。

目前我們編寫了OceanBase.MySQL、DRDS等數(shù)據(jù)庫產(chǎn)品的監(jiān)控腳本,在

Zabbix中以全新的數(shù)據(jù)庫監(jiān)控架構(gòu)運(yùn)行自管理。此框架的工作流程如下。

以MySQL的監(jiān)控為例作為詳細(xì)描述整個過程,參見下圖。

1.發(fā)現(xiàn)showslavestatus

2.檢查fUg里FWWJtt)的穌

3.ZtSCshowengines返西2里.

在MySQL實(shí)例的配置zbxmysql.py文件中,新增一個testenvzabbix的

數(shù)據(jù)庫實(shí)例,這份文件是通過acl設(shè)置僅為zabbix用戶讀取的。當(dāng)作為

MySQLRootService的主機(jī)執(zhí)行自動發(fā)現(xiàn)主機(jī)的監(jiān)控時,會將新增的實(shí)例配置

生成Zabbix自動發(fā)現(xiàn)的json規(guī)則,根據(jù)配置信息創(chuàng)建監(jiān)控實(shí)例,并附加使用

MySQL基礎(chǔ)模板。在MySQL基礎(chǔ)模板中,配置了一系列特殊的監(jiān)控自動發(fā)現(xiàn)

規(guī)則,例如DiscoveryMySQLReplicationEnable會對發(fā)現(xiàn)的實(shí)例執(zhí)行show

slavestatus命令,這里仍會調(diào)用MySQLRootService的腳本,如果發(fā)現(xiàn)目標(biāo)

實(shí)例開啟了主從,則會在自動發(fā)現(xiàn)返回josn中包含一個{#REPLICATION):

"enabled"的字段,從而觸發(fā)主從復(fù)制的監(jiān)控項(xiàng)生效。

創(chuàng)建一臺邏輯主機(jī)作為主控服務(wù),以鏈?zhǔn)桨l(fā)散的傳播模式自動注冊主機(jī),然后根

據(jù)模板內(nèi)的自動發(fā)現(xiàn)判斷是否需要附加額外的監(jiān)控配置,這種在我們創(chuàng)新使用的

監(jiān)控方法,取到了非常好的成效,讓監(jiān)控系統(tǒng)變得更加智能,也不用像某些數(shù)據(jù)

庫監(jiān)控還需要將連接的用戶與密碼寫入到Zabbix的宏,而只要保證讀取的配置

文件在文件系統(tǒng)的ACL上是最小權(quán)限即可,提高了數(shù)據(jù)庫的訪問安全。另外一

點(diǎn),現(xiàn)在很多的分布式數(shù)據(jù)庫也是采用控制+計箕+存儲的架構(gòu),例如TiDB的

PD負(fù)責(zé)元數(shù)據(jù)管理、DB負(fù)責(zé)SQL解析與計算、KV負(fù)責(zé)底層鍵值對存儲,面

對眾多的分區(qū)也好,副本也罷,最有效的監(jiān)控方式就是直接對接其管控部件,將

Zabbix主控服務(wù)的起點(diǎn)映射至數(shù)據(jù)庫集群的管控上,不斷順著架構(gòu)分層,將各

個組件之間的監(jiān)控項(xiàng)固化成自動發(fā)現(xiàn)規(guī)則,實(shí)現(xiàn)精準(zhǔn)有效的監(jiān)控覆蓋。以目前我

們的OceanBase分布式數(shù)據(jù)庫監(jiān)控為例,以下從OBRootService自動發(fā)散

出OBZone、OBTenant.OBServer.OBPartition等監(jiān)控細(xì)節(jié)。

oe_oe_rsoGeoewrwa.HR-■ft+P5

*4wa

o?>c??wyueoe_ue.sa_9^i■W*'1AHtLKM'Bits?。&A

AU/Wl

DtQvroeswwroe.oe.SR.v/C?.加Attmta-a初直觀0.)■DG806OctJABOM

?2SitMH

063?v*r0e_06_SR_aiJ^,JfTWTS■能amn歡?血1■J—人DG806S?rvr

■2?1?■,

DiscMVrOBSwwcoe.OB.SR.dMr^B.:?Jf3.:■ft水3DCSD8OomBaseS?fvr

?2■i9

ottc^roes?w<oe.oe.sR.?r^i■WBttltR獸…DOB06OCMOOIX

?1?

oes??w<De.OG.$R_a0-*<■.0”?WQHMlwuM0G8060cMn8a“Servr

9L:Hit£A

08oe.oe.TNjif■■*“8t£R

an*21況,i

DucM^oeT?Mftoe.oemjaBw?p..MHY,fiRAtt?n■ft做皿1FT???DC806Temrl

?)a3i■21況,0

00TeM0e_Q8.TXJfWBR▲.1?OftestBtfOt工V?DG6D6Tefivl

■11M21■,一

oeNontoe.oe_2N,^piaLft^>.IonHg■WBttkR

G■?*

(xsc???froezo(M06.oe_ZN.do^^r*b1I-?j旗AftawR9Xtt?

?2a?■?

OBZon*06_08_ZW_dQt.:▼'mr?*a皿雙?■??5

■2C2$■13

除了監(jiān)控架構(gòu)的不斷靈活,我們也在考慮更

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論