秦國華,李 良
(廣西廣電新媒體有限公司,廣西 南寧 530029)
廣西廣電新媒體自2013年以來陸續建設和整合了IPTV集成播控、廣西視聽、IPTV看吧、臺網站、大數據、媒資源站等業務系統。這些業務系統的穩定運行關系到廣西IPTV、廣西視聽和廣西網絡廣播電視的視頻內容運營和終端用戶體驗。為了對各個系統的可用性和穩定性進行量化,公司技術部在2017年年底通過管理層研討,并參照業界通用的SLA(Service Level Agreement,服務等級協議),定義了各個業務系統的故障等級和月度/年度考核規則。按照該考核規則,公司各業務系統年度可用率將逐漸從99%提升到99.99%。
這些考核管理辦法的逐步落地,使我們意識到對這些系統運行狀態進行實時監控和及時預警的重要性。
隨著Zabbix監控系統的建設和使用,在給大家帶來便利的同時,一些使用過程中的問題也凸顯了出來。
大部分系統除導入了Linux基礎監控模板之外,尚未針對各業務系統進行自定義監控。因此基本上只能監控CPU、文件存儲、內存、網卡出入口流量、業務進程狀態、業務端口等基礎性的應用及監控。
初期建設后,部門內部的Zabbix系統共有5套。
伴隨著監控系統使用,分散建設的弊端也逐步顯現:(1)由于搭建Zabbix先后不一致,因此有的Zabbix版本是2.1,有的是3.4,彼此之間的模板存在不兼容的情況。(2)分散建設的Zabbix系統基本都存在單點問題,如果要實現高可用,會消耗更多的虛擬機資源。(3)Zabbix的日常維護成本較高,且由于各小組對Zabbix的熟練程度有所差異,不利于Zabbix系統維護的專業化。
在同一個Zabbix系統上,由于缺乏前期統一的要求,在主機命名、告警級別定義、主機關聯模板等方面都沒有統一的規范,以致配置維護時偶爾會出現命名沖突、告警混亂(例如嚴重級別的告警被定義成致命級別)。對于Zabbix的管理沒有進行嚴格的權限劃分,使得在告警閾值調優時都得在模板基礎上去修改主機的信息,優化的配置信息難以通過模板進行復用。
不同的業務系統,實際上可以有不同的指標采集方式,例如除了Zabbix Agent之外,還包括JMX,SNMP,ICMP,SSH等多種監控方式。但各業務系統基本還停留在Zabbix Agent告警方式。
通過在研討小組提交的調研報告基礎上綜合利弊分析,我們最終決策整個監控運維體系的建設需要分階段進行,不適合盲目上馬一套大而全的監控運維系統,以避免出現重型的監控運維系統與公司當前系統、管理流程、甚至理念上的分歧。在當前階段,比較務實的策略是基于Zabbix開源軟件,進行監控系統設備和規范的統一,完善立體化的監控體系,并采取方式多樣的指標采集手段。
為了滿足Zabbix系統安全穩定可靠的運行,選擇采用物理機而不是虛擬機來進行Zabbix的部署安裝,并且支持Zabbix應用和數據庫的主備切換。優化之前我司的Zabbix部署,多個小組各自有一套服務器,且彼此之間的版本不一致。優化之后將業務運維、大數據、播控組及臺網3個小組的Zabbix Server進行了合并,如圖1所示,然后將Zabbix監控數據通過Grafana進行統一的圖形化展示[1]。

圖1 優化之后的Zabbix部署
3.2.1 模板命名規范
根據不同的監控對象設置不同的監控模板,我們規定模板名稱需要遵守以下規則。
模板名稱示例:zbx_os_linux_xxx,其中第一位zbx固定,第二位os代表監控大類,表示操作系統,第三位linux代表監控小類,表示具體的操作系統,第四位根據具體情況可以是應用系統名稱/版本/IP等。名稱盡量都采用小寫[2]。
3.2.2 監控項數據保留時長規范
統一規定采集數據的歷史保留時長和趨勢數據保留時長,如果沒有特殊要求,歷史數據保留兩周,趨勢數據保留1年。
3.2.3 觸發器命名規范
觸發器的名稱盡量能夠包含最直觀的信息,比如,操作系統:ABCD(11.22.33.44)CPU使用率大于70%。
對不同的監控大類需要在觸發器名稱的開頭添加相應內容。
3.2.4 觸發器閾值規范
模板中觸發器表達式中設置的閾值,除狀態值外都需要使用用戶宏,這樣在主機中就能夠修改從模板繼承的用戶宏,而不影響其他的主機。
3.2.5 主機關聯模板規范
主機層面無特殊情況不允許創建主機、觸發器等元素,只能將這些元素定義在模板中然后與主機關聯。在主機層面修改繼承來的用戶宏是允許的,也是比較推薦的。
3.2.6 告警動作配置規范
告警動作根據現有環境配置,支持可擴展,不能因為添加一臺主機或一個群組就要單獨創建另外的告警動作。
設置合理的告警升級策略,避免發送嚴重級別不高的信息給上級,造成告警泛濫[3]。
每套Zabbix系統只指定兩人擁有Zabbix超級管理員權限,其他人員只有查看權限,所有的修改操作只能由兩名管理員執行。管理員進行修改操作時,需要將操作內容記錄下來,并共享給另一位管理員。默認的Admin用戶禁止開啟,管理員不能將自己的用戶和密碼提供給不熟悉Zabbix的人員,獲取用戶密碼的人員如果沒有獲得修改允許,不能進行修改操作。
經過近兩個月的咨詢和整改,基本完成了基于Zabbix開源軟件進行監控系統設備和規范的統一,基于Agent,JMX,SSH,ICMP等多種形式的指標采集手段,初步實現了基礎硬件環境、操作系統軟件、業務應用系統以及用戶業務入口的立體化監控,為業務系統的穩定可靠運行提供保障。
今后,對已有的指標告警項需要分析核實,并將告警閾值調整至與業務應用相協調統一的范圍;根據業務系統建設規劃和部署,繼續補充和完善監控指標應用集;根據業務系統日志,通過自定義Python腳本,完善業務系統各接口和代碼的業務層面告警;根據釘釘電子流審批的接口文檔,研究Zabbix告警與釘釘電子流的對接,實現告警處理的工單化。