第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

容器監(jiān)控平臺概覽

1. 監(jiān)控的意義和目的

監(jiān)控是管理基礎(chǔ)設(shè)施的核心工具。沒有監(jiān)控,我們將無法了解系統(tǒng)環(huán)境、進行診斷故障、制定容量計劃,最糟的就是,故障發(fā)生了也不會被發(fā)現(xiàn)。

從技術(shù)角度來看,監(jiān)控是衡量和管理技術(shù)系統(tǒng)的工具和流程。監(jiān)控將系統(tǒng)和應(yīng)用程序生成的指標轉(zhuǎn)換為對應(yīng)的業(yè)務(wù)價值。監(jiān)控系統(tǒng)需要在基于容器的微服務(wù)中自動且快速地識別生命周期,并持續(xù)地提供實時的監(jiān)控檢測。

在上一節(jié)中,我們已經(jīng)使用WeaveScope搭建了一個容器監(jiān)控管理系統(tǒng),并帶有一些基本的監(jiān)控功能。但它對于自定義數(shù)據(jù)獲取、自動告警、細化監(jiān)控指標和展示的時候,生態(tài)、功能性和擴展性都有欠缺,系統(tǒng)及需求復(fù)雜時難以滿足我們的定制化的監(jiān)控需求。這時,我們就需要圍繞Premetheus,配合其生態(tài)及相關(guān)工具,配置我們的監(jiān)控平臺。

2. Prometheus

Prometheus 的靈感來自 Google 的 Borgmon, 是由前 Google 工程師從 2012 年開始在 Soundcloud以開源軟件的形式進行研發(fā)的系統(tǒng)監(jiān)控和告警工具包,自此以后,許多公司和組織都采用了 Prometheus 作為監(jiān)控告警工具。Prometheus 的開發(fā)者和用戶社區(qū)非?;钴S,它現(xiàn)在是一個獨立的開源項目,可以獨立于任何公司進行維護。

Prometheus 已被全球眾多企業(yè)廣泛使用,以滿足上面提到的復(fù)雜的監(jiān)控需求,當然,它也可以用來監(jiān)控屬于傳統(tǒng)架構(gòu)的資源。

Prometheus 的整體架構(gòu)以及生態(tài)系統(tǒng)組件如下圖所示:
圖片描述

2.1 基本原理

Prometheus 專注于現(xiàn)在正在發(fā)生的事情,而不是追蹤數(shù)周或數(shù)月前的數(shù)據(jù)。Prometheus 通常不用于長期數(shù)據(jù)保留,默認保存 15 天的時間序列數(shù)據(jù)。它有這樣一個前提,即大多數(shù)監(jiān)控查詢和警報都是從最近的數(shù)據(jù)中生成的。

Prometheus的基本原理是通過HTTP協(xié)議周期性抓取被監(jiān)控組件的狀態(tài),任意組件只要提供對應(yīng)的HTTP接口就可以接入監(jiān)控。不需要任何SDK或者其他的集成過程。

輸出被監(jiān)控組件信息的HTTP接口被叫做exporter 。常用的組件大部分都有exporter可以直接使用,比如Nginx、MySQL、Linux系統(tǒng)信息等等。

大致工作流程如下:

  1. Prometheus定時去目標上抓取指標監(jiān)控數(shù)據(jù),抓取目標需要暴露一個http服務(wù)的接口給它定時抓取。對于不能直接抓取的目標,Prometheus支持這些應(yīng)用服務(wù)主動推送監(jiān)控指標到PushGateway,而后Prometheus定時去這些網(wǎng)關(guān)上抓取數(shù)據(jù)。

  2. Prometheus在本地存儲保存抓取的數(shù)據(jù),并按規(guī)則進行過濾和整理數(shù)據(jù)。

  3. Prometheus支持很多方式的圖表可視化,例如Grafana、自帶的Promdash以及自身提供的模版引擎等等。Prometheus還提供HTTP API的查詢方式,自定義所需要的輸出。

2.2 Prometheus 的優(yōu)勢

Prometheus 的主要優(yōu)勢有:

  • 由指標名稱和和鍵/值對標簽標識的時間序列數(shù)據(jù)組成的多維數(shù)據(jù)模型;
  • 強大的查詢語言 PromQL;
  • 不依賴分布式存儲;單個服務(wù)節(jié)點具有自治能力;
  • 時間序列數(shù)據(jù)是服務(wù)端通過 HTTP 協(xié)議主動拉取獲得的;
  • 也可以通過中間網(wǎng)關(guān)來推送時間序列數(shù)據(jù);
  • 可以通過靜態(tài)配置文件或服務(wù)發(fā)現(xiàn)來獲取監(jiān)控目標;
  • 支持多種類型的圖表和儀表盤。

3. Prometheus 的組件與生態(tài)

3.1 cAdvisor

Prometheus 支持了多種方法來監(jiān)控 Docker,推薦的方法是使用 Google 的 cAdvisor 工具。cAdvisor是Google開源的一款用于展示和分析容器運行狀態(tài)的可視化工具。通過在主機上運行cAdvisor用戶可以輕松的獲取到當前主機上容器的運行統(tǒng)計信息,并以圖表的形式向用戶展示。
圖片描述

cAdvisor是一個簡單易用的工具,用戶不用再登錄到服務(wù)器中即可以可視化圖表的形式查看主機上所有容器的運行狀態(tài)。cAdvisor 作為 Docker 容器運行,它可以對宿主機上的資源及容器進行實時監(jiān)控和性能數(shù)據(jù)采集,包括CPU使用情況、內(nèi)存使用情況、網(wǎng)絡(luò)吞吐量及文件系統(tǒng)使用情況。

cAdvisor默認只保存幾分鐘分鐘的監(jiān)控數(shù)據(jù),Prometheus 支持通過它導(dǎo)出指標,并將數(shù)據(jù)傳輸?shù)酱鎯ο到y(tǒng)中。

3.2 Grafana

Prometheus本身的界面比較簡潔,為了給 Prometheus 添加一個功能更全面的可視化界面,我們可以與開源儀表板工具 Grafana 集成。
圖片描述
Grafana 接受來自不同數(shù)據(jù)源的數(shù)據(jù),提供可視化儀表板。它支持多種數(shù)據(jù)源。

Tips:

數(shù)據(jù)可視化既是一門非常強大的分析和解釋技術(shù)。我們在查看可視化圖像時,往往會從隨機無關(guān)聯(lián)的數(shù)據(jù)中找到有價值的聯(lián)系,而數(shù)據(jù)的顆粒度或分辨率、表示數(shù)據(jù)的方式以及數(shù)據(jù)的規(guī)??赡軙M一步加劇這種飛躍。

理想的可視化應(yīng)該能夠清晰地顯示數(shù)據(jù),避免不重要的數(shù)據(jù)堆砌,突出重點。

3.3 Alertmanager

Prometheus 服務(wù)器沒有內(nèi)置警報工具,而是將警報從 Prometheus 服務(wù)器推送到 Alertmanager警報管理器的單獨服務(wù)器。Alertmanager 可以管理、整合和分發(fā)各種警報到不同目的地,并能夠防止重復(fù)發(fā)送。

我們將在 Prometheus 服務(wù)器上編寫警報規(guī)則 ,這些規(guī)則將使用我們收集的指標并在指定的閾值或標準上觸發(fā)警報。當指標達到閾值時,會生成一個警報,并將其推送到 Alertmanager。

4. 小結(jié)

目前,Prometheus 已成為企業(yè)構(gòu)建容器云架構(gòu)的首選開源監(jiān)控工具。下一節(jié)我們將進入實戰(zhàn)環(huán)節(jié),運用這些工具,搭建一個完整的監(jiān)控平臺。