原文:利用TICK搭建Docker容器可視化監(jiān)控中心
前言
前面已經(jīng)搭建了私有docker倉(cāng)庫(kù)以及用docker-compose工具部署測(cè)試和正式的服務(wù),接下來(lái)當(dāng)然少不了這些容器的監(jiān)控,將要部署的監(jiān)控稱(chēng)為T(mén)ICK(telegraf,influxdb,chronograf,kapacitor),原文作者是將tick直接用docker的命令部署的,本文會(huì)將tick用docker-compose來(lái)部署,這里會(huì)用到nginx做代理,該項(xiàng)目已放到github上,點(diǎn)擊跳轉(zhuǎn),也可以直接跳轉(zhuǎn)查看用法
介紹

- Telegraf:采用插件機(jī)制實(shí)現(xiàn)的數(shù)據(jù)采集服務(wù),可以采集包含Docker容器在內(nèi)的多種性能數(shù)據(jù)
- InfluxDB:專(zhuān)門(mén)負(fù)責(zé)存儲(chǔ)時(shí)序數(shù)據(jù)
- Chronograf:基于React.js編寫(xiě)的性能數(shù)據(jù)可視化服務(wù)
- Kapacitor:提供告警觸發(fā)和處理功能
搭建
- 如果直接將原文中啟動(dòng)docker時(shí)的配置寫(xiě)入docker-compose.yml時(shí),會(huì)發(fā)現(xiàn)chronograf可視化服務(wù)在訪問(wèn)influxdb的時(shí)候被拒絕(用docker-compose logs命令會(huì)打印信息),因?yàn)閏hronograf訪問(wèn)的influxdb的鏈接是http://localhost:8086,而在docker-compose.yml中訪問(wèn)某個(gè)服務(wù)是根據(jù)服務(wù)名進(jìn)行訪問(wèn)的,所以在chronograf的配置中增加一行配置
environment:
- influxdb-url:http://influxdb:8086
chronograf服務(wù)會(huì)訪問(wèn)環(huán)境變量中配置的influxdb-url,便能成功訪問(wèn)。
- 對(duì)于kapacitor警告服務(wù),同樣會(huì)出現(xiàn)訪問(wèn)不了influxdb的問(wèn)題,所以在install.sh中將/etc/kapacitor/kapacitor.conf的配置文件中這樣寫(xiě)influxdb的配置
[[influxdb]]
# Connect to an InfluxDB cluster
# Kapacitor can subscribe, query and write to this cluster.
# Using InfluxDB is not required and can be disabled.
enabled = true
default = true
name = "influxdb"
urls = ["http://influxdb:8086"]
這樣kapacitor就能正常訪問(wèn)influxdb服務(wù)
在github項(xiàng)目中的nginx.conf中修改server_name為自定義值
執(zhí)行命令
sh install.sh,之后訪問(wèn)步驟3中配置的server_name
5.在web連接influxdb時(shí)的url為http://influxdb:8086,而連接kapacitor的url為http://kapacitor:9092
總結(jié)
除了將原文中有的配置移到docker-compose.yml中,另外缺少的配置會(huì)導(dǎo)致tick的配置失敗,如不能正常連接到influxdb。這些配置都需要從該項(xiàng)目所在的github上尋找配置方式。
至此,使用docker-compose配置docker container monitor 就算完成,其他配置請(qǐng)自行了解。