前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >TKE集群日志解决方案之日志采集

TKE集群日志解决方案之日志采集

原创
作者头像
朱瑞卿
修改2020-12-16 12:51:43
2K1
修改2020-12-16 12:51:43
举报

引言

当前技术领域容器盛行,已然是一个云原生的时代, 在技术领域都或多或少跟云计算、容器、Kubernetes、云原生应用有着不同的渊源。云原生的技术变更带来了革命性的变化, 节省了成本,使得系统能够快速应对业务的快速迭代发布, 从而推动业务的快速发展。但同时导致了公司对于上云后对于应用的监控,管理发生了很大的变化.

在云原生代我们如何去应对与传统的方式差距比较监控和管理方式,是不是可以有一套方法论可以遵循解决这类问题呢?Google的SRE体系里面提出过可观测行,那可观测性是什么呢,可观测性一套理念或者说是方法论. 这套方法论没有具体的要求. 大体的定义: "监控告诉我们系统的那部分是工作的,可观测性告诉我们哪里为什么不工作了",可观测性似乎更有助于我们诊断系统健康与否。这里就不详细展讨论,后面有时间单独讨论这个问题.

那监控和可观测性的关系,直接上图:

可观测性和监控的关系.png
可观测性和监控的关系.png

可观测性的三大支柱:

  • Log (日志)
  • Metric (指标)
  • Tracing (应用追踪)

今天我们讲在TKE中如何将业务调用链上的日志采集,在下一篇文章中将基于日志的报警。

TKE日志采集的场景及架构

日志采集功能是容器服务为用户提供的集群内日志采集工具,可以将集群内服务或集群节点特定路径文件的日志发送至 Kafka、Elasticsearch 或者 腾讯云日志服务(CLS)。日志采集功能适用于需要对 Kubernetes 集群内服务日志进行存储和分析的用户。

架构图如下:

tke-log.png
tke-log.png

日志采集功能需要为每个集群手动开启。日志采集功能开启后,日志采集 Agent 会在集群内以 DaemonSet 的形式运行,并根据用户通过日志采集规则配置的采集源和消费端,从采集源进行日志采集,将日志内容发送到消费端

T

KE 日志采集支持以下采集方式:

  • 采集容器标准输出日志
  • 采集容器内的文件日志
  • 采集主机内的文件日志

业务应用场景

常规业务场景:

公网域名-->入口Nginx(ingress) --> 业务应用容器

我们使用nginx的容器标准输出给大家演示标准输出的采集方式

通过业务应用容器内的文件日志演示容器内的文件日志采集方式

untitled.png
untitled.png

操作步骤

环境:

  • TKE(容器服务) 集群
  • 业务应用容器
  • CLS 日志系统

为什么采用CLS而不是ELK, 对于中小企业自建一套ELK维护成本比较高,对技术人员的要求也高,

而且扩容不是很便利, CLS具有一下优势:

  • 功能丰富:
    • 提供采集、存储、检索、转存投递等功能一站式日志服务
    • 采集客户端 LogListener 提供单行/多行全文、分隔符、JSON、正则等日志结构化解析方式
    • 提供多种数据接入方式,用户可根据业务情况选择适合的接入方式
    • 提供丰富的检索语法,方便用户进行关键词查询、模糊查询、范围查询等日志查询操作
  • 稳定可靠
    • 日志服务采用高可扩展性的分布式存储架构,支持横向水平扩容,服务弹性伸缩,轻松存储管理海量日志数据
    • 日志服务后端存储采用多副本机制管理存储日志数据,为数据安全提供可靠性保障
  • 简单高效
    • 采集端 LogListener 提供界面式的配置方式,配置简单直观,使用 LogListener 可快速接入日志服务
    • 数据写入 CLS 即可被消费,亿级数据查询支持秒级返回结果
    • 服务按实际用量收费,无需单独搭建和运维日志系统,避免了资源闲置浪费问题
  • 生态扩展
    • 部分云产品日志已接入 CLS
    • 日志数据投递 COS,满足对日志数据长时间归档存储的需求
    • 日志数据投递 Ckafka,满足对日志数据实时消费的需求,便于进一步处理分析

具体的操作流程我们通过短视频来给大家演示

视频内容

常见问题

全文索引和键值索引有什么区别?
  • 全文索引:将整条日志按分词符拆分成多个分词,然后基于分词进行关键词查询。
  • 键值索引:将整条日志按格式拆分成多个键值对(key-value),然后基于键值对进行字段查询
日志集和日志主题的区别是什么?

日志服务提供两层概念逻辑:日志集和日志主题,一个日志集包含多个日志主题,如同一个项目包含多个应用服务。一般而言,每个服务的日志格式都不相同,因此日志主题作为采集、检索等配置管理的最小单元。

总结

这里给大家简单分享了下TKE中采集应用日志的具体操作流程, 在这里给大家演示的日志系统是使用的CLS, CLS功能非常强大,简单易用。当详细的日志使用文档可以参考CLS的官方文档或者在本专栏中给我们留言。

欢迎大家关注本栏目,我们专注于Kubernetes生态,持续给大家分享。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 引言
  • TKE日志采集的场景及架构
  • 业务应用场景
  • 操作步骤
  • 常见问题
    • 全文索引和键值索引有什么区别?
      • 日志集和日志主题的区别是什么?
        • 总结
        相关产品与服务
        日志服务
        日志服务(Cloud Log Service,CLS)是腾讯云提供的一站式日志服务平台,提供了从日志采集、日志存储到日志检索,图表分析、监控告警、日志投递等多项服务,协助用户通过日志来解决业务运维、服务监控、日志审计等场景问题。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档