docker container monitor

原文:利用TICK搭建Docker容器可视化监控中心

前言

前面已经搭建了私有docker仓库以及用docker-compose工具部署测试和正式的服务,接下来当然少不了这些容器的监控,将要部署的监控称为TICK(telegraf,influxdb,chronograf,kapacitor),原文作者是将tick直接用docker的命令部署的,本文会将tick用docker-compose来部署,这里会用到nginx做代理,该项目已放到github上,点击跳转,也可以直接跳转查看用法

介绍

tick原理
  • Telegraf:采用插件机制实现的数据采集服务,可以采集包含Docker容器在内的多种性能数据
  • InfluxDB:专门负责存储时序数据
  • Chronograf:基于React.js编写的性能数据可视化服务
  • Kapacitor:提供告警触发和处理功能

搭建

  1. 如果直接将原文中启动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,便能成功访问。

  1. 对于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服务

  1. github项目中的nginx.conf中修改server_name为自定义值

  2. 执行命令 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 就算完成,其他配置请自行了解。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 概述 性能监控是容器服务必不可少的基础设施,容器化应用运行于宿主机上,我们需要知道该容器的运行情况,包括 CPU使...
    CodeSheep阅读 10,575评论 5 34
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,124评论 19 139
  • 花落此时,何人惊扰,尽归烟雨中。行人与车,络绎不绝,佳人何处在。漫漫人生路,何去何从,知音难觅。 万卷书读遍,路早...
    游离世间的孤魂阅读 2,166评论 0 0
  • 如你所想,写这篇文章时,我已经连续两次面试失败了,有自身原因,也有其他原因。然后我总结了自己的错误,避免悲剧重演。...
    周老板啊阅读 7,276评论 0 1

友情链接更多精彩内容