国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Zabbix的VMware產(chǎn)品的自動監(jiān)控系統(tǒng)設(shè)計

2022-06-10 07:13周美佳
關(guān)鍵詞:發(fā)送給觸發(fā)器虛擬化

周美佳, 趙 科

(中遠(yuǎn)海運科技股份有限公司, 上海 200135)

0 引 言

隨著中遠(yuǎn)海運集團及其下屬公司業(yè)務(wù)的快速發(fā)展,以及IaaS(Infrastructure-as-a-Service)基礎(chǔ)架構(gòu)層服務(wù)器虛擬化技術(shù)的應(yīng)用,云架構(gòu)模式逐漸代替了傳統(tǒng)的單機運行模式,虛擬化產(chǎn)品開始應(yīng)用于基礎(chǔ)架構(gòu)中。隨著虛擬化產(chǎn)品Vsphere Client的不斷升級,云數(shù)據(jù)中心內(nèi)納管Vsphere Client也同步升級,目前云數(shù)據(jù)中心內(nèi)在用的監(jiān)控系統(tǒng)APM因商業(yè)產(chǎn)品的許可證問題,無法添加新的組件功能,無法實現(xiàn)二次開發(fā),進而無法實現(xiàn)對Vsphere Client6及以上版本產(chǎn)品的監(jiān)控,需將對虛擬化云的監(jiān)控從傳統(tǒng)監(jiān)控平臺APM中分離出來,這樣既能節(jié)省原監(jiān)控系統(tǒng)的商業(yè)許可證,又能滿足對虛擬化資源的監(jiān)控需求。

如何以經(jīng)濟有效、自主可控的方式實現(xiàn)對高版本Vsphere Client的監(jiān)控,從而獲得Vsphere Client中納管資源的運行情況,是急需解決的問題,對新的監(jiān)控系統(tǒng)的功能提出了挑戰(zhàn)。

Zabbix作為業(yè)界廣泛使用的企業(yè)級監(jiān)控工具,具有開箱即用、靈活可擴展、分布式監(jiān)控、高可用和安全保障等諸多優(yōu)勢。Zabbix提供了自定義監(jiān)控項和遠(yuǎn)程運行自定義腳本的功能,通過編寫通用腳本和簡單的Web配置,可靈活展示,滿足個性化監(jiān)控和自動化運維需求。基于以上優(yōu)點,選擇Zabbix作為平臺的核心組件。自Zabbix2.2.0版本開始支持對VMware的監(jiān)控,支持VMware vCenter和vSphere的最低版本為4.1,目前監(jiān)控對象的版本在6.5以上,可通過Zabbix 4.4.7實現(xiàn)有效監(jiān)控。本文基于開源的監(jiān)控系統(tǒng)Zabbix,并配合自定義性能計數(shù)器,構(gòu)建自動化監(jiān)控系統(tǒng),高效地完成對各虛擬化云的監(jiān)控,同時提供事件預(yù)警、通知和集中展示功能,達到自主運維和自主可控的目的,較好地解決現(xiàn)有監(jiān)控系統(tǒng)無法監(jiān)控高版本虛擬化資源的問題,為后續(xù)擴大監(jiān)控系統(tǒng)監(jiān)控范圍提供參考。

1 Zabbix自動化監(jiān)控系統(tǒng)設(shè)計目標(biāo)

在日常運維工作中,對虛擬化VMware運維的關(guān)注主要集中在VMware vCenter 中VMware ESX主機的可用性、CPU(Central Processing Unit)利用率、內(nèi)存利用率和所屬存儲使用率等方面。另外,VMWARE ESX主機上虛擬機的運行情況也可通過對VMWARE ESX主機進行監(jiān)控獲取。通過對服務(wù)端Zabbix 4.4.7進行配置和自定義性能計數(shù)器,實現(xiàn)對以上監(jiān)控需求的郵件自動化告警。

2 Zabbix自動化監(jiān)控系統(tǒng)架構(gòu)

Zabbix自動化監(jiān)控系統(tǒng)采用3層C/S架構(gòu),分為服務(wù)端、被監(jiān)控客戶端和數(shù)據(jù)展示端等3部分,其中:服務(wù)端采用Zabbix server 4.4.7和Mysql8.0數(shù)據(jù)庫;客戶端一般安裝Zabbix agent;數(shù)據(jù)展示端為Zabbix自帶Web界面,可對日常監(jiān)控數(shù)據(jù)進行查詢和配置監(jiān)控設(shè)備。服務(wù)端主要負(fù)責(zé)對客戶端采集的數(shù)據(jù)進行處理和邏輯判斷,按監(jiān)控觸發(fā)器的規(guī)則生成對應(yīng)的告警事件,進行故障通知;所有配置信息和Zabbix采集到的數(shù)據(jù)都存儲在Mysql數(shù)據(jù)庫中,便于對日志和數(shù)據(jù)進行回溯查詢。被監(jiān)控客戶端通常安裝Zabbix agent,通過Zabbix agent、SOAP和SNMP等對被監(jiān)控點的性能和可用性進行監(jiān)控,并將收集的數(shù)據(jù)發(fā)送給Zabbix server。自動監(jiān)控系統(tǒng)架構(gòu)見圖1。

圖1 自動監(jiān)控系統(tǒng)架構(gòu)

3 技術(shù)實現(xiàn)及應(yīng)用

3.1 Zabbix實現(xiàn)VMware虛擬化監(jiān)控流程

Zabbix 4.4.7中默認(rèn)提供3個模板,可直接用來監(jiān)控VMware vCenter、ESX hypervisor和虛擬機。監(jiān)控虛擬機分以下2個步驟完成:

1) Zabbix通過VMware collector進程獲取虛擬機數(shù)據(jù)。這些進程通過SOAP協(xié)議,從VMware Web SDK服務(wù)中獲取必要的信息,收集的數(shù)據(jù)分為VMware配置數(shù)據(jù)和VMware性能數(shù)據(jù)2種,目前VMware性能統(tǒng)計信息有數(shù)據(jù)存儲、網(wǎng)絡(luò)接口、磁盤設(shè)備統(tǒng)計信息和自定義性能計數(shù)器項,Zabbix server對這些數(shù)據(jù)進行預(yù)處理并存儲到Zabbix server共享內(nèi)存中。

2) Zabbix pollers通過Zabbix簡單檢查VMware監(jiān)控項,檢索這些數(shù)據(jù)。

Zabbix監(jiān)控工作流程圖見圖2。

圖2 Zabbix監(jiān)控工作流程圖

3.2 VMware虛擬化平臺監(jiān)控實現(xiàn)

3.2.1 Zabbix server端配置

在一般情況下,Zabbix 4.4.7不滿足對虛擬機的監(jiān)控需求,在進行虛擬化平臺監(jiān)控時,Zabbix在編譯時需加上—with-libxml2和—with-libcurl,并在Zabbix server的配置文件中開啟StartVMwareCollectors、VMwareFrequency、VMwarePerfFrequency、VMwareCacheSize和VMwareTimeout。配置完成之后,重啟zabbix_server服務(wù),顯示支持對虛擬機的監(jiān)控。圖3為完成Zabbix server端配置之后的日志。

圖3 完成Zabbix server端配置之后的日志

3.2.2 以自定義性能計數(shù)器實現(xiàn)ESX各監(jiān)控項監(jiān)控

Zabbix內(nèi)置監(jiān)控VMware的3個模板分別是“Template VM VMware”“Template VM VMware Guest”和“Template VM VMware Hypervisor”。Template VM VMware用于對VCenter進行配置,通過配置的VMware Web SDK信息獲取信息;Template VM VMware Guest和Template VM VMware Hypervisor模板通過自動發(fā)現(xiàn)使用,通常設(shè)置為自動鏈接到主機,主要用來自動發(fā)現(xiàn)虛擬機和ESXI服務(wù)器。添加vcenter 地址,采用宏變量方式配置VC控制臺的{PASSWORD}、{URL}和{USERNAME}信息,鏈接到Template VM VMware模板,配置之后成功發(fā)現(xiàn)VC、虛擬機和ESXI服務(wù)器。

通過Zabbix實現(xiàn)對VMware虛擬化資源的監(jiān)控,具體如下。

1) VMware ESX主機可用性。

此部分需使用Zabbix ICMP模板。Zabbix服務(wù)器默認(rèn)未安裝fping服務(wù),需額外安裝fping服務(wù)并修改配置文件,添加參數(shù)“FpingLocation=/usr/local/fping/sbin/fping”,實現(xiàn)主機的fping功能。在Zabbix web主頁上添加主機ping,見圖4。

圖4 Zabbix Web主頁上添加主機ping截圖

2) 自定義實現(xiàn)VMWARE ESX主機CPU利用率。

通過創(chuàng)建新的item name “hypervisor_cpu_used_percent”定義ESX主機CPU利用率,方便進行自定義計算,item type設(shè)計為計算類型Calculated,key使用自定義key vmware.hv.cpu[usedpercent],通過獲取的CPU frequency、CPU cores和CPU usage自定義性能計數(shù)器“hypervisor_cpu_used_percent”,實現(xiàn)對主機CPU的計算,計算公式為

100·last(“VMware.hv.cpu.usage[{$URL},{HOST.HOST}]”)/(last(“VMware.hv.hw.cpu.freq[{$URL},{HOST.HOST}]”)·last(“VMware.hv.hw.cpu.num[{$URL},{HOST.HOST}]”))……

(1)

3) 自定義實現(xiàn)VMWARE ESX主機內(nèi)存利用率。

通過創(chuàng)建新的item name “hypervisor_memory_used_percent”定義ESX主機內(nèi)存利用率,方便進行自定義計算,item type設(shè)計為計算類型Calculated,key使用自定義key vmware.hv.memory[usedpercent],通過獲取的Total memory和Used memory自定義性能計數(shù)器“hypervisor_memory_used_percent”,實現(xiàn)對主機內(nèi)存的計算,計算公式為

100·last(“VMware.hv.memory.used[{$URL},{HOST.HOST}]”)/last(“VMware.hv.hw.memory[{$URL},{HOST.HOST}]”)

(2)

4) 自定義實現(xiàn)VMWARE ESX所屬存儲使用率。

(1) 自動發(fā)現(xiàn)主機關(guān)聯(lián)的所有存儲空間,發(fā)現(xiàn)規(guī)則為“Datastore discovery”,使用內(nèi)置key “vmware.hv.datastore.discovery[{$URL},{HOST.HOST}]”,item type為simple check。

(2) 在自動發(fā)現(xiàn)所有存儲的基礎(chǔ)上,根據(jù)日常監(jiān)控運維經(jīng)驗,經(jīng)常關(guān)注存儲剩余空間實際大小,方便根據(jù)存儲剩余空間實際大小定義觸發(fā)器。因此,自定義item prototype name “Free space on datastore {#DATASTORE} (sizeG)”,方便以后根據(jù)存儲剩余空間實際大小定義觸發(fā)器。key定義為

vmware.hv.datastore.size[{$URL},{HOST.HOST},{#DATASTORE},free]

(3)

3.2.3 創(chuàng)建各監(jiān)控項的觸發(fā)器

1) 定義VMware ESX主機可用性觸發(fā)器。

新建trigger name “Unavailable by ICMP ping”,自定義expression,當(dāng)主機無法ping通時定義為高危High,即

{Template VM VMware Hypervisor:icmpping.max(#3)}=0

(4)

2) 定義VMWARE ESX主機CPU利用率觸發(fā)器。

新建trigger name “esx cpu usage”,自定義expression,當(dāng)CPU利用率大于90%時定義為高危High,即

{Template VM VMware Hypervisor:vmware.hv.cpu[usedpercent].last()}≥90……

(5)

3) 定義VMWARE ESX主機內(nèi)存利用率觸發(fā)器。

新建trigger name “esx memory usage”,自定義expression,當(dāng)內(nèi)存利用率大于90%時定義為高危High,即

{Template VM VMware Hypervisor:vmware.hv.memory[usedpercent].last()}≥90

(6)

4) 定義VMWARE ESX 所屬存儲使用率觸發(fā)器。

新建trigger name “datastore{#DATASTORE} 可用空間小于200G”,自定義expression,當(dāng)剩余存儲空間小于200G時定義為高危High,即

{Template VM VMware Hypervisor:vmware.hv.datastore.size[{$URL},{HOST.HOST},{#DATASTORE},free].last()}≤200 000 000 000

(7)

3.2.4 配置告警動作

對于運維人員來說,第一時間得到潛在或發(fā)生的故障信息,及時發(fā)現(xiàn)并排除安全隱患至關(guān)重要,Zabbix 報警通過定義和動作來完成:通過比較監(jiān)控實時數(shù)值與預(yù)設(shè)的閾值判斷報警條件是否成立,通過動作設(shè)定執(zhí)行該報警如何發(fā)送、發(fā)送給誰和何時發(fā)送。報警事件亦有不同級別,可定義為消息、警告、錯誤和嚴(yán)重錯誤等,可設(shè)置為只有出現(xiàn)某類級別時才引發(fā)報警。在通知運維人員的方式方面,通過配置SMTP郵件媒介告警,當(dāng)收集到的數(shù)據(jù)在閾值范圍內(nèi)時,觸發(fā)告警動作,通過action郵件告警的方式將告警信息發(fā)送給管理員。郵件內(nèi)容包括主機名、IP地址、問題名稱和報警時間等,使運維人員能第一時間進行主動干預(yù),解決問題。

1) 配置告警一:Unavailable by ICMP ping告警。

設(shè)置以下告警信息:

(1) Problem started at {EVENT.TIME} on {EVENT.DATE};

(2) Problem name,即{EVENT.NAME};

(3) Host,即{HOST.NAME};

(4) Severity,即{EVENT.SEVERITY};

(5) Original problem ID,即{EVENT.ID};

(6) {TRIGGER.URL}。

當(dāng)ESX主機無法ping通時,自動發(fā)起郵件告警,發(fā)送給管理員。

2) 配置告警二:esx cpu memory high monitor up to 90%告警。

設(shè)置以下告警信息:

(1) 告警主機{HOST.NAME};

(2) 告警地址{HOST.IP};

(3) 監(jiān)控項目{ITEM.NAME};

(4) 監(jiān)控取{ITEM.LASTVALUE};

(5) 告警等級{TRIGGER.SEVERITY};

(6) 當(dāng)前狀態(tài){TRIGGER.STATUS};

(7) 告警信息{TRIGGER.NAME};

(8) 告警時間{EVENT.DATE} - {EVENT.TIME};

(9) 事件ID{EVENT.ID}。

當(dāng)ESX主機CPU或內(nèi)存使用率超過90%時,自動發(fā)起郵件告警,發(fā)送給管理員。

3) 配置告警三:DATASTORE 剩余空間小于200G告警。

設(shè)置以下告警信息:

(1) 告警主機{HOST.NAME};

(2) 告警地址{HOST.IP};

(3) 監(jiān)控項目{ITEM.NAME};

(4) 監(jiān)控取值{ITEM.LASTVALUE};

(5) 告警等級:{TRIGGER.SEVERITY};

(6) 當(dāng)前狀態(tài){TRIGGER.STATUS};

(7) 告警信息{TRIGGER.NAME};

(8) 告警時間{EVENT.DATE} - {EVENT.TIME};

(9) 事件ID{EVENT.ID}。

當(dāng)ESX存儲空間小于200G時,自動發(fā)起郵件告警,發(fā)送給管理員。

4 應(yīng)用效果

1) 當(dāng)ESX主機無法ping通時,自動發(fā)起郵件告警,發(fā)送給管理員。管理員收到的內(nèi)存告警郵件信息見圖5。

圖5 管理員收到的內(nèi)存告警郵件信息

2) ESX主機CPU或內(nèi)存使用率超過90%時,自動發(fā)起郵件告警,發(fā)送給管理員。管理員收到的內(nèi)存告警郵件信息見圖6。

圖6 管理員收到的CPU告警郵件信息

3) 當(dāng)ESX存儲空間小于200G時,自動發(fā)起郵件告警,發(fā)送給管理員。管理員收到的存儲告警郵件信息見圖7。

圖7 管理員收到的存儲告警郵件信息

5 結(jié) 語

虛擬化架構(gòu)是未來IT服務(wù)發(fā)展方向,在保障重要系統(tǒng)業(yè)務(wù)連續(xù)性運行、提升用戶體驗等方面具有積極作用,虛擬化架構(gòu)的業(yè)務(wù)連續(xù)性依賴于強大的監(jiān)控系統(tǒng),將運維故障終止于發(fā)生初期是監(jiān)控系統(tǒng)的目標(biāo)。本文基于Zabbix的自動化監(jiān)控系統(tǒng)實現(xiàn)了對虛擬化平臺的監(jiān)控,該系統(tǒng)已投產(chǎn)并穩(wěn)定運行,極大地減輕了運維壓力,提升了整體運維效率。運維人員日常只需查收相關(guān)的告警郵件,即可了解資源異常使用情況,做到提前干預(yù),盡早處理,提升系統(tǒng)的可用性。當(dāng)然,Zabbix的應(yīng)用遠(yuǎn)不止上述監(jiān)控功能,此外還包括操作系統(tǒng)日志監(jiān)控、數(shù)據(jù)庫監(jiān)控、中間件監(jiān)控、Web應(yīng)用監(jiān)控和機房環(huán)境監(jiān)控等,同時可配合Grafana提供更優(yōu)質(zhì)的可視化用戶體驗。未來將繼續(xù)開發(fā)Zabbix的更多應(yīng)用場景,并整合各類運維事件,提供低成本、高效益的智能化統(tǒng)一監(jiān)控運維平臺。

猜你喜歡
發(fā)送給觸發(fā)器虛擬化
配置觸發(fā)器有條件啟動Windows服務(wù)
基于Multisim14.0的雙D觸發(fā)器應(yīng)用與仿真
【微信小課堂】:如何向好友發(fā)送語音
觸發(fā)器在酒店管理系統(tǒng)中的應(yīng)用
你說我說大家說
公告
我的錄夢機
淺談虛擬化工作原理
用戶怎樣選擇虛擬化解決方案
虛擬化整合之勢凸顯
江油市| 常山县| 时尚| 西乌珠穆沁旗| 汉中市| 黄龙县| 栖霞市| 凭祥市| 昆山市| 兴文县| 泗阳县| 南岸区| 宝鸡市| 依安县| 建阳市| 那曲县| 梁河县| 绵阳市| 资溪县| 柳州市| 莱阳市| 肇源县| 盐山县| 微博| 墨脱县| 剑河县| 莆田市| 万荣县| 泸定县| 霍邱县| 通道| 玛曲县| 双城市| 唐河县| 图片| 永修县| 平江县| 手机| 古交市| 桦南县| 全椒县|