當前位置:首頁 > 工業(yè)控制 > 《機電信息》
[導讀]摘要:隨著分布式計算服務的不斷發(fā)展,信息系統(tǒng)所使用的服務資源越來越多,所涉及的設備也越來越多,而出于成本的考慮,運維人員卻越來越少,因此,如何通過運維自動化緩解工作人員的壓力顯得尤為重要?,F(xiàn)通過Zabbix自動告警配合Jenkins的任務配置,提出了一種能夠可視化、可追蹤的自動故障處理方式,可以有效提升系統(tǒng)的自動化運維水平。

引言

隨著分布式系統(tǒng)以及x86服務器的大規(guī)模運營,系統(tǒng)所涉及的主機越來越多,應用的服務器類型也越來越多,使得業(yè)務復雜度逐步提升,運維人員的工作強度和壓力也越來越大。為解決這一問題,提升維護工作的自動化水平勢在必行。在系統(tǒng)日常維護工作中,故障處理是最常見的問題,對常見故障進行自動化處理,能夠在極大程度上減輕維護人員的壓力。本文將基于Zabbix和Jenkins,研究并設計一個自動化故障處理方案。

1Zabbix和Jenkins簡介

Zabbix是開源分布式監(jiān)控方案之一,具有良好的可用性和可靠性,能夠對系統(tǒng)中的機器磁盤、CpU、內存以及網(wǎng)絡狀況進行實時監(jiān)控并進行可視化呈現(xiàn)。相對于其他的開源監(jiān)控軟件,如Nagios、Cacti等,Zabbix具有更好的中文兼容性以及更好的文檔支持。

Jenkins是一個開源軟件,其主要目的是為了對于持續(xù)的重復性工作進行可視化展現(xiàn),旨在提供一個開放易用的軟件平臺。Jenkins具有豐富的插件,包括ssH、0rac1e、HTTpp0sT等,提供了易于擴展的能力,為配置化操作提供了便利。

2系統(tǒng)設計總體介紹

系統(tǒng)總體設計流程如圖1所示。

故障自動化處理是通過使用Zabbix對主機進行監(jiān)控,配合Zabbix配置的觸發(fā)器進行動作觸發(fā)、告警,并通過調用在Jenkins配置的任務而實現(xiàn)的,并且可以運用短信進行可視化追蹤呈現(xiàn)。整體設計包括4個模塊:服務器監(jiān)控模塊、告警觸發(fā)模塊、預案調用模塊、可視化配置操作模塊。

2.1服務器監(jiān)控模塊

服務器監(jiān)控模塊主要用來采集每臺生產機器的信息,是整個監(jiān)控系統(tǒng)的核心。利用部署在每臺生產機器上的ZabbixC1ient客戶端對主機的信息進行采集,信息包括內存、CpU、磁盤、網(wǎng)絡狀況以及服務運行情況等。

監(jiān)控平臺通過服務器主機1p或者主機名對于不同的主機進行區(qū)分,實時對系統(tǒng)上報的信息進行處理,同時進行數(shù)據(jù)存儲和展示。

2.2告警觸發(fā)模塊

告警觸發(fā)模塊是通過配置在Zabbix主機中的觸發(fā)器和閥值來實現(xiàn)的,例如,當CpU可利用率高于閥值時就會進行告警:內存剩余可利用率低于閥值觸發(fā)告警。對于一個具有較小容量的磁盤來說,80%的磁盤利用率已經(jīng)具有很高的風險性了,而對于一個較大空間的磁盤而言,10%的磁盤剩余足夠安全運行很長時間。因此,對于不同的指標、不同的業(yè)務場景,需要配置不同的觸發(fā)器以及閥值。服務器監(jiān)控模塊中的數(shù)據(jù)一旦滿足觸發(fā)器條件,觸發(fā)器即會工作,觸發(fā)相應的動作,Zabbix提供了多種操作方式,如Cur1調用、ssH命令執(zhí)行以及短信郵件等操作。

2.3預案調用模塊

相對于Zabbix提供的操作方式,Jenkins的擴展性更為優(yōu)秀,提供更多插件,Jenkins提供了極具擴展性的使用方式,無需進行代碼編寫,即可實現(xiàn)數(shù)據(jù)庫s0L執(zhí)行、she11腳本執(zhí)行、HTTp請求執(zhí)行等功能,具有優(yōu)秀的可視化能力。本文采用ssH方法對遠程主機的服務進行重啟,磁盤空間清理、對數(shù)據(jù)庫長會話進行監(jiān)控處理、對鎖表進行殺鎖操作等,均可以通過Jenkins的配置操作方法實現(xiàn)。

2.4可視化配置模塊

在Zabbix以及Jenkins中通過配置化的操作告警以及觸發(fā)器和預案處理方式進行配置,避免了傳統(tǒng)告警觸發(fā)機制的黑盒化、腳本化。將故障和數(shù)據(jù)清晰展示在維護人員面前,進一步提高了運維水平,并降低了人員要求。

3系統(tǒng)配置實現(xiàn)方法

3.l系統(tǒng)短信發(fā)送

Zabbix的短信發(fā)送預置方式為調用串口進行短信發(fā)送,直接調用即可發(fā)送到設備。在目前的系統(tǒng)建設中,較少采用這種方式,而是采用PosT請求或者數(shù)據(jù)庫插表的方式實現(xiàn)。短信內容在數(shù)據(jù)庫插入表之后,后臺發(fā)送進行掃描,這種處理方式具有較好的抗擠壓性,可以提供較好的緩沖能力。本文通過編寫腳本,將告警短信的接收者和接受短信設置為參數(shù),傳入后臺sqlplus腳本中進行數(shù)據(jù)插入,Zabbix的短信模板如下:

Problemstartedat(EVENT.TIME}on(EVENT.DATE}Problemname:EVENT.NAME}:(ITEM.VALUE}Host:(HosT.NAME}

severity:(EVENT.sEVERITY}

originalproblemID:(EVENT.ID}(TRIGGER.URL}

對于sqlPlus腳本而言,不同參數(shù)的傳遞是根據(jù)空格區(qū)分的,需要對后續(xù)參數(shù)進行合并,sqlplus腳本中第一個參數(shù)為接收者號碼,而第二、第三以及第N個參數(shù)均為告警內容,在shell中使用msg='echos(@:2}'進行合并,將msg向后傳輸即可,最終生成接收者號碼和短信內容的腳本進行傳送。

3.2動作調用

觸發(fā)器被觸發(fā)后,調用短信模塊將告警信息發(fā)送給接收者,同時利用Curl工具調用Jenkins中已經(jīng)配置好的預案。

Jenkins出于安全的考慮,在遠程調用過程中,需要通過驗證用戶密碼和token來進行安全認證。為此,建議設置獨立的用戶進行遠程調用。遠程調用的格式是由用戶名、key、JoB對應的URL以及token共同構成。例如:http://triggerurl:d2一4f3347d982c一ca12一cc69323190a3@IP:Port/0enkins/0ob/dblogspartitiondrop/buildjtoken=tokenName。

其中,key的查看需要在Jenkins設置中通過查看用戶APIToken實現(xiàn),且每次查看后都會發(fā)生變更。token保護是針對任務而單獨設置,不同的任務可以具有不同的token,是通過在Jenkins任務中"觸發(fā)遠程構建(例如,使用腳本)"來設定的。

3.3Jenkins預案配置

系統(tǒng)觸發(fā)告警后,如果立即觸發(fā)故障處理,有可能在測試中造成系統(tǒng)不可用,因此,在預案被調用后,故障處理的最合適時間應該是等待N分鐘后,并能夠提供可取消的方案,從而避免被認為是誤操作。在本文設計的方案中,調用預案后,通過Jenkins發(fā)送觸發(fā)短信。系統(tǒng)提供URL可以實時取消,如果無人取消或者操作,系統(tǒng)將繼續(xù)下一步,等待任務,并在完成后進行結果告知。

觸發(fā)短信的模板是通過Jenkins預置參數(shù)來構建的,Jenkins的常用預置參數(shù)如表1所示:

利用這些內置參數(shù),可以構建短信模板:如"xxxx告警觸發(fā)任務:s(JoBNAME}?s(BUILDURL},讓系統(tǒng)等待5min后自動處理,可通過點擊URL查看或取消",系統(tǒng)等待功能可通過sleep命令實現(xiàn),最終配置如圖2所示。

完成后可以進一步在Jenkins中添加其他故障處理配置,如重啟服務、清理磁盤文件、調用數(shù)據(jù)庫腳本等,從而實現(xiàn)系統(tǒng)故障的自動化處理。

3.4Zabbix動作配置

Zabbix采集到的數(shù)據(jù)經(jīng)過觸發(fā)器后,需要調用Jenkins中的任務進行處理,在Zabbix中進行動作添加即可實現(xiàn)。在Zabbix的動作操作中選擇Zabbix服務器執(zhí)行命令,腳本如下:

curl-,PosThttp://triggerurl:d2一4f3347d902c一ca12一cc69323190a3@IP:Port/0enkins/0ob/dblogspartitiondrop/buildjtoken=tokenName,即可調用相關配置預案從而進行相關處理。

4方案實現(xiàn)效果

在Zabbix收集到的數(shù)據(jù)經(jīng)過服務器處理后,如果達到了觸發(fā)器條件,則會首先發(fā)送告警短信給運維人員,然后調用Jenkins中的預置任務進行處理。Jenkins再次發(fā)送確認短信,如果無人操作,則繼續(xù)工作,完成任務并發(fā)送結束告知短信。系統(tǒng)設計的最終效果如圖3所示。

圖3系統(tǒng)設計的最終效果

5結語

隨著分布式系統(tǒng)的廣泛應用,可視化維護以及自動化運維已經(jīng)成為當前研究的熱點話題,相對于傳統(tǒng)的監(jiān)控告警、人工上線等處理方式,本文設計的基于Zabbix和Jenkins的自動化故障處理方案具有可視化、可追蹤的特點,一方面實現(xiàn)了對系統(tǒng)健康度的監(jiān)控,另一方面能夠對于常見故障進行實時自動處理,具有一定的實用價值和先進性,并進一步提高了運維質量,有效緩解了運維人員的工作壓力。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉