成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

利用TICK搭建Docker容器可視化監(jiān)控中心

LiuZh / 3267人閱讀

摘要:在我的前文容器可視化監(jiān)控中心搭建之中我們就實踐過容器的可視化監(jiān)控,在那篇文章中我們是使用了技術(shù)棧來完成的。


概述

性能監(jiān)控是容器服務(wù)必不可少的基礎(chǔ)設(shè)施,容器化應(yīng)用運行于宿主機上,我們需要知道該容器的運行情況,包括 CPU使用率、內(nèi)存占用、網(wǎng)絡(luò)狀況以及磁盤空間等等一系列信息。在我的前文《Docker容器可視化監(jiān)控中心搭建》之中我們就實踐過Docker容器的可視化監(jiān)控,在那篇文章中我們是使用了 cAdvisor + influxdb + grafana 技術(shù)棧來完成的。然而容器化世界里向來不會只有一種方法來實現(xiàn)某項功能,可以說有一百條大路來通到羅馬,因此本文再來探討另一種稱為 TICK 的技術(shù)棧方案來實現(xiàn)Docker容器的性能監(jiān)控。

注: 本文首發(fā)于 My 公眾號 CodeSheep ,可 長按掃描 下面的 小心心 來訂閱 ↓ ↓ ↓



TICK架構(gòu)解析

基于TICK技術(shù)棧實現(xiàn)的Docker容器可視化監(jiān)控方案架構(gòu)圖如下所示:

Telegraf:采用插件機制實現(xiàn)的數(shù)據(jù)采集服務(wù),可以采集包含Docker容器在內(nèi)的多種性能數(shù)據(jù)

InfluxDB:專門負責存儲時序數(shù)據(jù)

Chronograf:基于React.js編寫的性能數(shù)據(jù)可視化服務(wù)

Kapacitor:提供告警觸發(fā)和處理功能

這四個組件組成了性能監(jiān)控的數(shù)據(jù)管道:Telegraf負責采集節(jié)點上的性能數(shù)據(jù),然后放入InfluxDB數(shù)據(jù)庫進行存儲,Kapacitor通過監(jiān)聽InfluxDB的性能數(shù)據(jù)來對異常指標發(fā)出告警,而Chronograf用來展示集群實時的各項性能指標和狀態(tài),提供一個可視化的界面。

下面開始實踐的過程!



部署InfluxDB服務(wù)

首先準備好 InfluxDB 配置文件:influxdb.conf

mkdir /etc/influxdb
cd /etc/influxdb
touch influxdb.conf
[meta]
  dir = "/var/lib/influxdb/meta"
[data]
  dir = "/var/lib/influxdb/data"
  wal-dir = "/var/lib/influxdb/wal"

然后利用Docker來啟動InfluxDB服務(wù):

docker run -d 
--name influxdb 
-p 8086:8086 
-v /etc/influxdb/influxdb.conf:/etc/influxdb/influxdb.conf 
-v /var/lib/influxdb:/var/lib/influxdb 
docker.io/influxdb


部署Telegraf服務(wù)

Telegraf服務(wù)需要部署在需要采集數(shù)據(jù)的節(jié)點上。我們首先來準備Telegraf服務(wù)的配置文件telegraf.conf

[agent]
  interval = "10s"
  round_interval = true
  metric_batch_size = 1000
  metric_buffer_limit = 10000
  collection_jitter = "0s"
  flush_interval = "10s"
  flush_jitter = "0s"
  debug = false
  quiet = false
  hostname = "www.codesheep.cn"
  omit_hostname = false

[[outputs.influxdb]]
  urls = ["http://192.168.31.177:8086"]
  database = "telegraf"
  username = ""
  password = ""
  write_consistency = "any"
  timeout = "5s"

[[inputs.docker]]
  endpoint = "unix:///var/run/docker.sock"
  container_names = []
  timeout = "5s"
  perdevice = true
  total = false

[[inputs.cpu]]
[[inputs.system]]

該配置文件比較簡化,inputs插件是負責數(shù)據(jù)采集,可以看出來上面的配置說明了我們想采集節(jié)點的CPU、System以及Docker容器的各項性能數(shù)據(jù);而outputs插件指明了我們將采集到的性能數(shù)據(jù)放入InfluxDB數(shù)據(jù)庫進行存儲。

然后同樣利用Docker來啟動Telegraf服務(wù)

docker run -d 
--name telegraf 
--network host 
-v /etc/telegraf/telegraf.conf:/etc/telegraf/telegraf.conf 
docker.io/telegraf


Chronograf部署
docker run -d 
--name chronograf 
-p 8888:8888 
-v /var/lib/chronograf:/var/lib/chronograf 
docker.io/chronograf 
--influxdb-url=http://192.168.31.177:8086

注意從上面的指令我們可以看出,Chronograf服務(wù)是需要連接到InfluxDB服務(wù)中去的,服務(wù)啟動以后利用瀏覽器訪問8888端口可以打開Chronograf的可視化監(jiān)控界面



Kapacitor部署
docker run -d 
--name kapacitor 
-p 9092:9092 
-v /var/lib/kapacitor:/var/lib/kapacitor 
docker.io/kapacitor

好了,至此 TICK 組件已經(jīng)部署完成,我們可以查看一下宿主機上的容器情況,發(fā)現(xiàn)服務(wù)都已經(jīng)啟動起來了:



實際試驗

瀏覽器打開:localhost:8888來訪問 Chronograf 提供的可視化界面,后續(xù)所有的操作都基于該界面。

點擊 Chronograf 主界面左側(cè)菜單的 Host List,可以看到被監(jiān)控的節(jié)點信息:

然后我們點擊節(jié)點名進入后,就可以查看從該節(jié)點上采集到的各項主要指標數(shù)據(jù)的圖表:

除此之外,我們還可以點擊節(jié)點上的 Apps 具體監(jiān)控小類,如 docker類別,這樣可以得到僅僅與docker相關(guān)的性能數(shù)據(jù)展示:

然后我們點擊 Chronograf 主界面左側(cè)菜單的 Data Explorer,可以看到從InfluxDB那里獲得的數(shù)據(jù)表,以及存儲于InfluxDB數(shù)據(jù)表中的各項具體指標

最后我們來看一下如何利用Kapacitor來實現(xiàn)告警功能。

點擊 Chronograf 主界面左側(cè)菜單的 Alert,可以自定義創(chuàng)建告警規(guī)則:

這里給出一個規(guī)則配置示例:我們可以監(jiān)控某個具體性能指標的變化,如配置一個告警規(guī)則等:



后記

作者更多的原創(chuàng)文章在此,歡迎觀賞

My Personal Blog

作者更多的SpringBt實踐文章在此:

Spring Boot應(yīng)用監(jiān)控實戰(zhàn)

SpringBoot應(yīng)用部署于外置Tomcat容器

ElasticSearch搜索引擎在SpringBt中的實踐

初探Kotlin+SpringBoot聯(lián)合編程

Spring Boot日志框架實踐

SpringBoot優(yōu)雅編碼之:Lombok加持


如果有興趣,也可以抽點時間看看作者一些關(guān)于容器化、微服務(wù)化方面的文章:

利用K8S技術(shù)棧打造個人私有云 連載文章

從一份配置清單詳解Nginx服務(wù)器配置

Docker容器可視化監(jiān)控中心搭建

利用ELK搭建Docker容器化應(yīng)用日志中心

RPC框架實踐之:Apache Thrift

RPC框架實踐之:Google gRPC

微服務(wù)調(diào)用鏈追蹤中心搭建

Docker容器跨主機通信

Docker Swarm集群初探

高效編寫Dockerfile的幾條準則



文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/27367.html

相關(guān)文章

  • 高效編寫Dockerfile的幾條準則

    摘要:在構(gòu)建鏡像的過程中會緩存一系列中間鏡像。鏡像時,會順序執(zhí)行中的指令,并同時比較當前指令和其基礎(chǔ)鏡像的所有子鏡像,若發(fā)現(xiàn)有一個子鏡像也是由相同的指令生成,則命中緩存,同時可以直接使用該子鏡像而避免再去重新生成了。 showImg(https://segmentfault.com/img/remote/1460000015606308?w=2000&h=1428); 概述 Docker...

    Alan 評論0 收藏0
  • Docker容器視化監(jiān)控中心搭建

    showImg(https://segmentfault.com/img/remote/1460000014421849); 概述 一個宿主機上可以運行多個容器化應(yīng)用,容器化應(yīng)用運行于宿主機上,我們需要知道該容器的運行情況,包括 CPU使用率、內(nèi)存占用、網(wǎng)絡(luò)狀況以及磁盤空間等等一系列信息,而且這些信息隨時間變化,我們稱其為時序數(shù)據(jù),本文將實操 如何搭建一個可視化的監(jiān)控中心 來收集這些承載著具體應(yīng)...

    yunhao 評論0 收藏0
  • Docker 容器監(jiān)控系統(tǒng)初探

    摘要:是一個時序數(shù)據(jù)庫,專門用于存儲時序相關(guān)數(shù)據(jù),很適合存儲的數(shù)據(jù)。容器監(jiān)控數(shù)據(jù)存儲配置和運行是一個開源的分布式時序數(shù)據(jù)庫,使用語言開發(fā)。的特色功能作為時序數(shù)據(jù)庫,相比傳統(tǒng)數(shù)據(jù)庫它有很多特色功能,比如獨有的一些特色函數(shù)和連續(xù)查詢功能。 本文已獲得原作者__七把刀__授權(quán)。 隨著線上服務(wù)的全面 docker 化,對 docker 容器的監(jiān)控就很重要了。SA 的監(jiān)控系統(tǒng)是物理機的監(jiān)控,在一個物理...

    aboutU 評論0 收藏0
  • Docker 容器監(jiān)控系統(tǒng)初探

    摘要:是一個時序數(shù)據(jù)庫,專門用于存儲時序相關(guān)數(shù)據(jù),很適合存儲的數(shù)據(jù)。容器監(jiān)控數(shù)據(jù)存儲配置和運行是一個開源的分布式時序數(shù)據(jù)庫,使用語言開發(fā)。的特色功能作為時序數(shù)據(jù)庫,相比傳統(tǒng)數(shù)據(jù)庫它有很多特色功能,比如獨有的一些特色函數(shù)和連續(xù)查詢功能。 本文已獲得原作者__七把刀__授權(quán)。 隨著線上服務(wù)的全面 docker 化,對 docker 容器的監(jiān)控就很重要了。SA 的監(jiān)控系統(tǒng)是物理機的監(jiān)控,在一個物理...

    cyixlq 評論0 收藏0
  • 利用ELK搭建Docker容器化應(yīng)用日志中心

    摘要:概述應(yīng)用一旦容器化以后,需要考慮的就是如何采集位于容器中的應(yīng)用程序的打印日志供運維分析。 showImg(https://segmentfault.com/img/remote/1460000014146680); 概述 應(yīng)用一旦容器化以后,需要考慮的就是如何采集位于Docker容器中的應(yīng)用程序的打印日志供運維分析。典型的比如 SpringBoot應(yīng)用的日志 收集。本文即將闡述如何利...

    周國輝 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<