前言
前面已经搭建了私有docker仓库以及用docker-compose工具部署测试和正式的服务,接下来当然少不了这些容器的监控,将要部署的监控称为TICK(telegraf,influxdb,chronograf,kapacitor),原文作者是将tick直接用docker的命令部署的,本文会将tick用docker-compose来部署,这里会用到nginx做代理,该项目已放到github上,点击跳转,也可以直接跳转查看用法
介绍
- Telegraf:采用插件机制实现的数据采集服务,可以采集包含Docker容器在内的多种性能数据
- InfluxDB:专门负责存储时序数据
- Chronograf:基于React.js编写的性能数据可视化服务
- Kapacitor:提供告警触发和处理功能
搭建
- 如果直接将原文中启动docker时的配置写入docker-compose.yml时,会发现chronograf可视化服务在访问influxdb的时候被拒绝(用docker-compose logs命令会打印信息),因为chronograf访问的influxdb的链接是http://localhost:8086,而在docker-compose.yml中访问某个服务是根据服务名进行访问的,所以在chronograf的配置中增加一行配置
environment:
- influxdb-url:http://influxdb:8086
chronograf服务会访问环境变量中配置的influxdb-url,便能成功访问。
- 对于kapacitor警告服务,同样会出现访问不了influxdb的问题,所以在install.sh中将/etc/kapacitor/kapacitor.conf的配置文件中这样写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就能正常访问influxdb服务
在github项目中的nginx.conf中修改server_name为自定义值
执行命令
sh install.sh
,之后访问步骤3中配置的server_name
5.在web连接influxdb时的url为http://influxdb:8086,而连接kapacitor的url为http://kapacitor:9092
总结
除了将原文中有的配置移到docker-compose.yml中,另外缺少的配置会导致tick的配置失败,如不能正常连接到influxdb。这些配置都需要从该项目所在的github上寻找配置方式。
至此,使用docker-compose配置docker container monitor 就算完成,其他配置请自行了解。