版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年冷鏈物流貨運(yùn)代理服務(wù)外包專項(xiàng)合作協(xié)議
- 2025年度企業(yè)終止勞務(wù)派遣合作框架協(xié)議及人力資源優(yōu)化升級合同
- 2025年度生態(tài)農(nóng)業(yè)灌溉用水及居民飲用水安全服務(wù)合同
- 2025年白酒品牌授權(quán)與全國渠道庫存管理代理合同
- 2025年城市綠化工程宣傳冊印刷及配送服務(wù)合同
- 2025年教育機(jī)構(gòu)保潔人員績效考核與職業(yè)技能培訓(xùn)協(xié)議書
- 2025年個性化DIY益智玩具制造及全球市場拓展合作協(xié)議
- 航天遙感圖像處理技術(shù)保密及項(xiàng)目執(zhí)行合同
- 2025年高端食品冷鏈倉儲及物流配送服務(wù)合同
- 2025年度高端寵物航空托運(yùn)及定制化營養(yǎng)補(bǔ)給服務(wù)合同
- 新航標(biāo)職業(yè)英語語音技能教程unit
- 天津高考語文卷各題型思路要點(diǎn)提示
- ktv轉(zhuǎn)讓標(biāo)準(zhǔn)合同范本(3篇)
- 普外科醫(yī)療質(zhì)量評價體系與考核標(biāo)準(zhǔn)
- 普通高中語文課程標(biāo)準(zhǔn)測試題及答案
- 正確認(rèn)識胰島素
- 吞咽障礙患者的營養(yǎng)支持課件
- DL∕T 617-2019 氣體絕緣金屬封閉開關(guān)設(shè)備技術(shù)條件
- 諾如病毒感染暴發(fā)調(diào)查和預(yù)防控制技術(shù)指南(2023版)
- 班級管理(第3版)教學(xué)課件匯總?cè)纂娮咏贪?完整版)
- 行政處罰案卷制作規(guī)范課件
評論
0/150
提交評論