专栏首页腾讯云容器专家服务的专栏TKE集群日志解决方案之日志采集
原创

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

引言

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

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

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

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

可观测性的三大支柱:

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

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

TKE日志采集的场景及架构

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

架构图如下:

tke-log.png

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

T

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

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

业务应用场景

常规业务场景:

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

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

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

untitled.png

操作步骤

环境:

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

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

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

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

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

视频内容

常见问题

全文索引和键值索引有什么区别?

  • 全文索引:将整条日志按分词符拆分成多个分词,然后基于分词进行关键词查询。
  • 键值索引:将整条日志按格式拆分成多个键值对(key-value),然后基于键值对进行字段查询

日志集和日志主题的区别是什么?

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

总结

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

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

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

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 腾讯云TKE-日志案例: 基于fluentbit、elasticsearch、kibana日志解决方案

    本文介绍利用在腾讯云TKE应用市场中的三款软件 fluentbit,elasticsearch和kibana搭建一套适用于kubernetes环境的云原生一站式...

    朱瑞卿
  • TKE 实践亲和性与反亲和性

    通常情况下在Kubernetes 集群中部署一个Pod, 默认调度器将会自动进行合理的调度(例如, 将Pod分散到节点上, 根据节点上的资源情况进行分配), 但...

    朱瑞卿
  • 腾讯云-Istio案例分析: 请求中断分析

    请求异常,到底是 istio 流控规则导致,还是业务应用的返回,流量断点出现在哪个具体的 pod?

    朱瑞卿
  • 有赞百亿级日志系统架构设计

    日志是记录系统中各种问题信息的关键,也是一种常见的海量数据。日志平台为集团所有业务系统提供日志采集、消费、分析、存储、索引和查询的一站式日志服务。主要为了解决日...

    用户1278550
  • 小记 | 从 0 到 1,看我玩弄千万日志于股掌

    3. 调试程序,和控制台的作用类似,但是控制台中的内容并不会保存到文件中,而日志可以长期保存。

    程序员鱼皮
  • 腾讯云容器服务日志采集最佳实践

    roc,腾讯高级工程师,Kubernetes Contributor,热爱开源,专注云原生领域。目前主要负责腾讯云TKE 的售中、售后的技术支持,根据客户需求...

    腾讯云原生
  • 集中日志系统ELK

    以前都是登陆到每个机器去看日志,特别是一个服务有多个机器集群部署,还要下载多个机器的日志(运维下载日志,然后给开发排查问题),现在elk是集中式日志系统,所有的...

    青乡java
  • 关于日志打印的几点建议

    操作日志,主要针对的是用户,例如在Photoshop软件中会记录自己操作的步骤,便于用户自己查看。

    lyb-geek
  • 日志易:IT 运维分析及海量日志搜索的实践之路(上)

    IT运维分析(IT Operation Analytics, ITOA)是近年兴起的把大数据技术应用于分析IT运维产生的大量数据,数据来源主要有日志、网络流量、...

    日志易
  • Spring Boot系列——日志配置

    日志,通常不会在需求阶段作为一个功能单独提出来,也不会在产品方案中看到它的细节。但是,这丝毫不影响它在任何一个系统中的重要的地位。

    JackieZheng

扫码关注云+社区

领取腾讯云代金券