所有应用运行在容器云上,那么日志管理应该如何设计?

4回答

caikaicaikai  系统架构师 , KYLERC
yinxinhunobowuwenpin等赞同了此回答
容器常被用来运行需要快速故障迁移、弹性伸缩的应用或微服务,因此容器中运行的应用,在运行的过程中随着迁移、弹性伸缩的发生,应用日志很可能会在不同的运行节点中产生,对应用通过日志进行监控、问题排查带来了很大的麻烦,所以和大多数传统应用把日志写在本地文件系统不同的是...显示全部

容器常被用来运行需要快速故障迁移、弹性伸缩的应用或微服务,因此容器中运行的应用,在运行的过程中随着迁移、弹性伸缩的发生,应用日志很可能会在不同的运行节点中产生,对应用通过日志进行监控、问题排查带来了很大的麻烦,所以和大多数传统应用把日志写在本地文件系统不同的是,容器应用需要考虑把日志进行集中收集,写入外部的集中日志管理系统中,比如上面bryan提到的ELK方案,或者采用Flume进行采集,进一步通过Kafka等消息队列把日志信息实时传递到外部的日志收集、日志分析系统;或者最简单的方式就是让容器在运行时挂载外部共享存储卷当做应用的日志目录,这样应用的日志会被实时写入外部共享存储以备后续处理,这种方式对外部工具依赖少,但需要我们做好控制,不同的容器不能挂载同一个外部卷,否则就会出现写日志冲突的问题,容器迁移的时候还需要重新挂卷。

除了日志的集中收集这一系统层面需要做的工作,在应用改造上我们还应该重视容器应用的日志标准化问题。通过标准化应用写日志的格式和内容,我们可以通过应用日志进行交易率、成功率、响应时间等关键业务指标的分析,用作问题预警、容量扩缩的依据。越来越多的容器应用正在采用这一做法,原因一是因为某些传统的APM工具因容器快速迁移、实例数量、IP地址都在不断变化的特点而失去监控能力,其二是避免传统埋设探针方式带来的性能下降太多、监控指标变化不灵活的特点。

此外,越来越多的用户采用容器来运行微服务架构应用,一个业务调用往往需要经过多个微服务的调用链,整个业务处理过程的日志记录分散在不同的微服务日志中,这对通过日志进行问题诊断带来了不小的困难。通过标准化日志,例如带上唯一的ID信息等,我们做到把同一个业务在不同微服务中的处理过程给关联起来。针对这一点,微服务框架在一定程度上已经帮我们做到了,例如Spring Cloud Sleuth,如果只是微服务服务链路的追踪,使用这样的框架工具可以很好地帮到我们,它其实就是在应用写日志的时候,添加上标准化的字段内容实现的。

收起
 2017-10-16
浏览967
bryanbryan  软件架构设计师 , 金融研发
aixchina王磊磊彬彬赞同了此回答
如果将容器看做一个微型操作系统,那么云上的应用就是多个应用组成的一个集群。这种分布式应用,和部署在多个虚拟机或者物理机的应用集群一样,面临如何进行日志管理的问题,一般来说,目前流程的做法是ELK(ElasticSerarch+Logstash+kibana)。由于容器运行在宿主操作系统上的进程,...显示全部

如果将容器看做一个微型操作系统,那么云上的应用就是多个应用组成的一个集群。这种分布式应用,和部署在多个虚拟机或者物理机的应用集群一样,面临如何进行日志管理的问题,一般来说,目前流程的做法是ELK(ElasticSerarch+Logstash+kibana)。由于容器运行在宿主操作系统上的进程,日志采集时一种方式是在容器内部安装一个采集日志的代理,一种是将容器日志写在宿主操作系统的文件系统上进行采集。

收起
 2017-10-15
浏览982
namelessnameless  技术总监 , 某云计算厂商
aixchina赞同了此回答
应用运行在docker中,应用的相关日志都是输出到统一的日志平台,如ELK、Graylog等。所有应用规定统一的日志输入路径,由日志收集模块统一收集至日志平台,当应用出现故障时,在日志平台可以检索相关日志关键字。如果日志量比较大,需要kafka等消息队列一起处理,加了kafka后,日志的处理...显示全部

应用运行在docker中,应用的相关日志都是输出到统一的日志平台,如ELK、Graylog等。
所有应用规定统一的日志输入路径,由日志收集模块统一收集至日志平台,当应用出现故障时,在日志平台可以检索相关日志关键字。如果日志量比较大,需要kafka等消息队列一起处理,加了kafka后,日志的处理速度可以达到2w条/s。

收起
 2017-10-17
浏览910
匿名用户匿名用户
统一管理吧。包括统一收集,统一处理和分析,统一监控以及备份。显示全部

统一管理吧。包括统一收集,统一处理和分析,统一监控以及备份。

收起
 2019-06-05
浏览268

提问者

chaozi84系统运维工程师, 某股份制商业银行

问题状态

  • 发布时间:2017-10-12
  • 关注会员:5 人
  • 问题浏览:3584
  • 最近回答:2019-06-05
  • 关于TWT  使用指南  社区专家合作  厂商入驻社区  企业招聘  投诉建议  版权与免责声明  联系我们
    © 2019  talkwithtrend — talk with trend,talk with technologist 京ICP备09031017号-30