wecenter采集接口(Rancher平台内如何做容器日志收集现状纵览(一))

优采云 发布时间: 2022-01-29 13:15

  wecenter采集接口(Rancher平台内如何做容器日志收集现状纵览(一))

  介绍文档参考。对于一个完整的容器平台来说,容器日志采集也是一个重要的环节。尤其是在微服务架构大行其道的时候,很多程序的访问监控和健康状态检查都依赖于日志信息的采集。由于 Docker 的存在,容器平台中的日志采集与传统方式有很大不同。日志的输出和采集不同于传统的方式。以前很不一样。本文讨论如何在 Rancher 平台采集容器日志。现状 纵观目前容器日志采集的解决方案,无外乎两种方式:一、直接采集Docker标准输出,可以通过Docker的日志驱动(log driver)发送给对应的采集程序;二、非标准输出,延续传统的日志写入方式,容器内的服务直接将日志写入Log文件,以及通过Docker卷映射形式将日志文件映射到Host,日志采集程序直接采集映射后的Log文件。三、通过 Journald 采集二进制日志数据。PS:标准输出:通过docker logs查看的日志信息。在 Ubuntu OS 下,这些信息默认保存在 /var/lib/docker/containers 路径下名为 container ID 的文件夹下的 -json.log 文件中,并以容器 ID 为前缀。非标准输出:根据Docker容器的特点,

  如果一个容器要运行多个服务,那么按照启动顺序,前面的服务必须在后台运行。因此,默认情况下,这些后台运行的服务生成的日志无法获取为标准输出,生成的日志默认存放在/var/log目录下。第一种方法比较简单,可以直接配置相关的日志驱动(Log driver),但是这种方法也有一些缺点:当宿主机的容器密度比较高的时候,Docker Engine的压力比较大,之后all,容器的标准输出全部由 Docker Engine 处理。虽然原则上我们希望遵循每个容器部署一个服务的原则,但有时在特殊情况下,容器中存在多个业务服务是不可避免的。这时候,很难做到所有服务的标准输出日志。采集日志日志的方法。虽然我们可以从很多种 Log Drivers 中进行选择,但有些 Log Drivers 会破坏 Docker 的原生体验。例如,日志输出到其他日志服务器后,docker logs 将无法看到容器日志。基于以上考虑,一个完整的日志采集方案必须同时满足标准输出采集和日志量(非标准输出)采集或通过journald采集二进制日志数据。当然,在一个完整的日志系统中,不仅仅是采集,还有日志存储和UI展示。日志存储的开源实现有很多,普通用户会有自己喜欢的选择。而UI展示是每个公司都有自己的需求,很难形成更好的标准,一般通过定制来解决。因此,本文的主要解决方案是 log采集 解决方案。当然,存储和 UI 显示将连接到开源实现。如果没有特殊要求,也可以有完整的体验。

  

  Rancher下的解决方案(json-file驱动)如上图介绍,ElasticSearch & Kibana可以直接用于*敏*感*词*志卷(非标准输出)映射的路径,并通知Fluentd到采集。Fluentd 采集到数据后,再将数据传递到 ES 中存储,最后 Kibana 直接在 ES 中展示数据。下面开始描述整个程序的部署过程。先用一张图来描述一下整体的部署结构,如下:

  

  方案部署 ElasticSearch & Kibana 部署 通过web登录Rancher,进入应用商店,搜索ElasticSearch,推荐安装2.x版本。

  

  点击查看详情,进入后修改最后一个Public端口,默认为80端口,改成其他端口,避免端口冲突。然后去应用商店搜索 Kibana。

  

  在配置选项中,需要选择 Elasticsearch-clients

  

  最终的Public端口根据实际情况修改,避免冲突。

  

  服务正常启动后,即可通过该端口访问 Kibana 网页。

  

  Rancher日志服务部署 目前Rancher日志不在官方仓库中,所以需要添加自定义的存储地址才能使用Rancher日志。点击缩略图管理系统设置进入,点击添加应用商店,名称:rancher -logging 地址:分支:master 最后点击保存返回应用商店。进入应用商店登录搜索:

  

  点击查看详情进入进入配置页面: 本例中,除了Elasticsearch源配置如图所示,其他保持默认:

  

  以上部署完成后,部署一些应用并生成一些访问日志,在Kibana界面可以看到:

  

  使用日志卷方式,需要在Service启动时配置Volume,并且Volume名称需要与之前设置的Volume Pattern相匹配:

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线