做好基礎設施監(jiān)控,防范意外停機
譯文
【51CTO.com快譯】基礎設施監(jiān)控是基礎設施管理的一個組成部分。它是IT管理員防范意外停機的***道防線。嚴重的問題可能導致基礎設施出現(xiàn)大量停機時間,有時導致嚴重的經濟損失。
監(jiān)控系統(tǒng)從你的基礎設施收集時間序列數(shù)據(jù),以便對其進行分析,預測基礎設施及底層部件即將出現(xiàn)的問題。這使得IT管理員或支持人員有時間在問題發(fā)生之前準備并運用解決方案。
一套良好的監(jiān)控系統(tǒng)具有以下功能:
1. 長期測量基礎設施的性能
2. 節(jié)點級分析和警報
3. 網絡級分析和警報
4. 停機分析和警報
5. 回答事件管理和根本原因分析(RCA)的五個W:
○實際問題是什么?
○什么時候發(fā)生的?
○為什么會發(fā)生?
○什么系統(tǒng)或部件出現(xiàn)停機?
○需要采取什么措施才能在將來避免?
建立強大的監(jiān)控系統(tǒng)
有許多工具可以構建可行且強大的監(jiān)控系統(tǒng)。唯一的決定是使用哪個工具;答案在于你希望通過監(jiān)控實現(xiàn)的目標以及要考慮的各種財務和業(yè)務因素。
雖然一些監(jiān)控工具是專有的,但許多開源工具(無人管理的軟件或社區(qū)管理的軟件)的效果甚至比閉源工具還好。
本文將介紹開源工具以及如何用它們來構建一套強大的監(jiān)控架構。
日志收集和分析
日志大有幫助。日志不僅有助于調試問題,還提供了大量信息,幫助預測即將發(fā)生的問題。遇到軟件組件問題時,應首先分析日志。
Fluentd和Logstash都可用于收集日志;我選擇Fluentd而不是Logstash的唯一原因是因為它獨立于Java進程;它是用C + Ruby編寫的,得到Docker等容器運行時環(huán)境和Kubernetes等編排工具的廣泛支持。
日志分析是指分析逐漸收集的日志數(shù)據(jù),并生成實時日志度量指標。Elasticsearch是這方面的一款強大工具。
***,你需要一個工具來收集日志度量指標,以便能夠使用易于理解的圖表和圖形直觀地顯示日志趨勢。Kibana是我在這方面所青睞的選擇。
圖1. 日志工作流程
由于日志可能保存敏感信息,因此需要記住幾個安全要點:
•始終通過安全的連接傳輸日志。
•應在受限制的子網內實施日志/監(jiān)控基礎設施。
•應僅限于利益相關者訪問監(jiān)控用戶界面(比如Kibana和Grafana)。
節(jié)點級度量指標
并非一切都記入日志!
沒錯,日志監(jiān)控的是軟件或進程,而不是基礎設施中的每個部件。
操作系統(tǒng)磁盤、外部掛載的數(shù)據(jù)磁盤、Elastic Block Store、CPU、I/O、網絡數(shù)據(jù)包、入站和出站連接、物理內存、虛擬內存、緩沖區(qū)空間和隊列是很少出現(xiàn)在日志中的一些主要部件,除非它們出了故障。
那么,如何收集這類數(shù)據(jù)呢?
Prometheus是個答案。你只需在虛擬機節(jié)點上安裝針對特定軟件的導出器,并配置Prometheus,從這些無人值守的部件收集基于時間的數(shù)據(jù)。Grafana使用Prometheus收集的數(shù)據(jù)來實時直觀地顯示節(jié)點的當前狀態(tài)。
如果你在尋找一個更簡單的解決方案來收集時間序列指標,不妨考慮Etricbeat,這是Elastic.io的內部開源工具,它可以與Kibana一起使用以取代Prometheus和Grafana。
警報和通知
沒有警報和通知,你就無法充分利用監(jiān)控。除非利益相關者(無論他們人在哪里)接到有關問題的通知,否則他們就無法分析和解決問題、防止客戶受到影響并在將來避免它。
Prometheus使用其內部的Alertmanager和Grafana來創(chuàng)建預定義的警報規(guī)則,可以基于配置的規(guī)則發(fā)送警報。Sensu和Nagios是提供警報和監(jiān)控服務的其他開源工具。
人們在開源警報工具方面遇到的唯一問題是,配置時間和過程有時看起來很費勁,但是一旦設置好,這些工具的效果比專有工具還好。
然而,開源工具的***優(yōu)點是我們可以控制它們的行為。
監(jiān)控工作流程和架構
良好的監(jiān)控架構是強大而穩(wěn)定的監(jiān)控系統(tǒng)的支柱。它可能看起來像這個圖。
圖2. Devops監(jiān)控架構
***,你要根據(jù)自己的需求和基礎設施來選擇工具。許多企業(yè)組織使用本文中討論的開源工具來監(jiān)控基礎設施并確保正常運行時間很長。
原文標題:Infrastructure monitoring: Defense against surprise downtime,作者:Abhishek Tamrakar
【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】