前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >分钟级落地,基于腾讯云ES Serverless的云原生容器服务日志分析

分钟级落地,基于腾讯云ES Serverless的云原生容器服务日志分析

原创
作者头像
用户10023828
发布2024-05-14 15:06:44
3930
发布2024-05-14 15:06:44

引言

作为云原生技术的爱好者,笔者活跃在各种开发者社群,这不,又让我发现了一个宝藏:腾讯云Elasticsearch Serverless服务,具备自动弹性、免运维的特性,丰富的产品能力,能分钟级实现容器服务的日志采集与可观测分析。当然,秉持着“不吃独食”的开源心态,为了让大家也能免费体验到这款开箱即用的产品,笔者连着请小编吃了一周的宵夜,最终领取到了免费体验卷➕资源包特惠1元购➕开发者课程(也有免费代金券,爱了!)等满满福利,具体领取方式可见文末相关链接。

云原生与容器

随着容器、Serverless、微服务等技术快速发展,云原生已逐步构建出繁荣的技术体系。如今云原生凭借降本增效、提高持续交付能力、易于开发等优势,正在不断激活应用构建范式,引起企业系统架构、生产方式、商业模式等发生变革,毋庸置疑,云原生已成为企业数字化转型的最短路径。

腾讯云容器服务(TKE)是基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,本文将基于腾讯云ES Serverless服务,构建TKE容器服务日志分析体系,实现分钟级落地,帮助企业轻量化构建容器服务可观测分析的同时实现降本提效。

腾讯云ES Serverless介绍

笔者认真学习了腾讯云《ES Serverless 一站式日志分析从入门到精通》课程,简单而言,该产品的设计理念、产品能力与优势如下:

设计理念

让算力像自来水一样按需使用一直都是各大云厂商的目标,Serverless概念的设计思想提出,极大的影响了近几年云计算的发展。在云计算的发展初期,侧重的是能够快速平滑迁移上云,例如把IDC资源换成云服务器以及云硬盘等。而现在,客户的需求已经从上好云逐步到转变到用好云,即在释放运维与管理成本的同时,能够更加聚焦于业务,提高效率,实现降本增效。

为了帮助企业能够更好的聚焦于业务,ES Serverless服务在设计开发中始终坚持以下目标:

1) 索引即服务,无集群概念,可按需创建与使用索引。

2) 按需使用,按量付费,按照实际使用的计算与存储资源按量计费。

3) 不止索引,还是场景化的一站式解决方案,针对每个场景提供相应的开箱即用的能力,提升整体的的使用效率,当前已支持日志分析场景。

值得一提的是,在2023年3月29日召开的企业上云暨算云融合产业大会上,腾讯云ES Serverless服务被评为「信通院 “2022 可信算力服务 · 领航者计划” 优秀案例奖」。

设计思路

从设计思路上,ES Serverless服务坚持以下几个点:

1、提升易用性,除了提供开箱即用的一站式场景解决方案外,还实现了集群免运维、索引免运维以及数据链路免运维。

2、降低成本,基于自研存算分离技术,实现自动伸缩,去除冗余成本,同时,完全按照使用量计费。

3、提升稳定性,集群、索引等由平台统一运维调优,避免因使用不当造成的故障。

4、 完全兼容原生ES生态与API,实现无缝迁移。

产品能力

从产品架构上,面向日志场景,ES Serverless服务提供自动弹性、完全免运维的一站式日志分析解决方案,在使用时,用户仅需关注数据源以及检索分析等业务逻辑即可,中间的流量调度、链路调度以及资源调度全部由 ES Serverless服务完成,不需要再关注底层的数据链路、消息队列、集群运维以及索引配置等等,平台提供端到端的SLA保障。

除了支持原生的ES API写入方式之外,控制台已支持云服务器CVM、容器服务TKE、EMR、云数据仓库TCHouse-C等云产品的一站式数据采集分析,同时也支持通过Logstash、Flink以及Kafka等将数据投递到ES Serverless服务的索引中。简单而言,只需3步,我们即可完成一站式日志分析场景的落地。

在索引管理方面,则提供了配置管理、指标监控、用户管理以及告警管理等能力,可方便我们快速完成数据应用。而在检索分析能力方面,除了支持原生的Kibana能力,ES Serverless服务也在控制台内嵌了Kibana的相关核心能力,无需外链访问,即可快速进行检索分析。

产品优势

自动弹性:索引粒度的自动弹性伸缩,从容应对突发流量增长,在保证业务连续性的同时降低日志分析、可观测性等场景下业务波峰波谷导致的运维与管理成本高等问题 。

完全免运维:内置分片自动调优、智能生命周期管理以及故障自愈等能力,用户可按需创建与使用索引,无需关心底层的资源配置、集群扩缩容和索引设置等问题,整个使用过程完全免运维。

灵活易用:提供端到端从数据接入、到数据管理、再到数据分析探索的一站式产品能力,极大降低业务上云门槛,可在分钟级实现业务落地。

极致成本:自研低成本、高性能、高可用的存算分离架构,根据实际访问与存储量计费,实现业务负载与资源动态匹配的按需付费,减少闲置资源导致的冗余成本支出,大幅降低成本。

开放集成:完全兼容Elastic Stack生态,保留用户原有使用习惯,实现无缝迁移,助力业务快速上云;同时,打通云上数据源(如云服务器CVM、容器服务TKE),降低数据接入门槛,实现分钟级业务落地。

稳定可靠:集群配置、读写性能由后台统一优化,减少由于使用不当带来的故障问题,提升稳定性,为业务保驾护航。

日志分析实践

日志采集

ES Serverless服务目前已在控制台提供了一站式的容器服务日志采集,只需简单的选择需采集的容器集群,设置相关采集参数,同时设置数据保存时长等,即可快速完成TKE日志接入。参考如下:

1)在ES Serverless控制台选择「容器服务TKE」:

2)选择TKE集群,目前支持基于命名空间、Pod标签、容器名称或是主机路径进行日志筛选:

3)如需对上报到的日志进行解析,可设置采集解析,当前已支持全文日志、JSON格式以及分隔符解析,如有更丰富的解析需求,也可自行编写Processors,实现自定义解析。此处我们选择「全文日志」:

解析模式

描述

全文日志

日志数据不做任何键值提取,日志内容将存储到名称为"message"的字段中,您可通过自动分词能力进行检索分析。

JSON

对于内容为标准 JSON 格式的日志,按照日志中的 Key:Value 提取对应的字段。

分隔符

对于固定分隔符分割内容的日志,我按照指定分隔符对日志进行键值提取,分隔符支持单个字符或者是字符串,可在控制台选择或输入分隔符。

4)设置索引名称以及数据存储时长,同时需设置时间字段,该字段指在实际数据中类型为date的字段,通过设置该字段,可有助于提升查询效率。

通过以上简单几步,我们即可快速将容器日志采集到ES Serverless的索引中,点击「确认创建」,等待约5-10秒即可。

报表建设

ES Serverless目前已在控制台集成了日志检索、开发工具以及监控告警等能力,可帮助我们快速实现检索分析。作为二流“资深”ES使用者,笔者习惯使用Kibana进行分析,方便通过外链进行分享交流。

监控告警

为了在错误日志出现时能及时发现与处理,我们可先在控制台配置监控告警,例如,通过统计五分钟内来自/var/log/error.log路径的日志条数,快速识别异常,当超出阈值时,告警到我们的邮箱与企业微信。

可观测分析

首先登录Kibana,我们找到Kibana的公网访问地址,为确保公网访问安全性,在访问前,需将我们的IP地址设置到公网访问策略中。

点击Dashboard,我们可快速创建图表:

点击「Create visualization」:

Kibana的Lens功能非常易用跟强大,仅需将光标移动到左侧的字段,并拖拽到中间,即可生成图表,同时下方还提供了其他图表建议,方便我们快速进行分析。如下图,我们将「@timestamp」以及「pod.name」两个字段拖拽到了中间,Lens快速生成了柱状图,通过该图,我们可快速了解每个时间段每个Pod上报的日志数量。

在捣腾了将近30秒后,笔者制作了如下分析大盘,事不宜迟,让我们来看看效果:

1)首先第一行,是各种总览数据,如节点数量、Pod数量以及日志条数;第二行是节点-Pod分布;第三行则是具体的日志数据。即整体按照总览-多维分布-日志层层下钻。

2)从上图中,我们看到10.0.0.2这个节点的日志数量占比将近一半,ok,那我们可以逮着它来分析,只需在上图的「节点-Pod」多维分析图中,点击该节点所在的区域,即可自动生成筛选条件,将该节点相关的数据全部筛选出来并在日志中高亮。

3)当想改变日志展示风格时,下方支持了表单模式跟JSON模式,任君选择;当发现当前日志发生的问题可能需要上下文才能辅助分析,OK,点击「view surrouding documents」即可。

例如,查看该日志的前一条与后一条日志:

权限控制

当然,在实际业务应用场景中,我们难免需要将权限分享给团队的其他同事,这时候,权限管控的就显得尤为重要,例如对于A同事,仅分配查看某些索引的读权限,而对于B同事,则支持读写所有索引。

关于这个场景的能力,ES Serverless也充分帮我们考虑到了(爱了!),在控制台,我们点击「新建用户」,即可开始创建用户:

权限类型目前支持「只读」与「读写」,权限范围包含所有索引以及指定索引,填写完成后,点击「确定」即可:

例如我设置「hd_man」用户仅对TKE相关的索引有只读权限,那么设置完成之后,我通过该用户登入Kibana,即只能查看到TKE日志相关的索引:

总结

本文简单介绍了基于腾讯云ES Serverless服务实现一站式容器服务可观测分析,在实践中,笔者只花了几分钟,轻松完成了日志接入与可观测分析报表建设,从这点上来说,ES Serverless服务真正做到了轻量、零门槛。当然,看了这么多,是时候展示笔者跪求小编拿到的优惠了,链接如下:

免费体验券与资源包1元购:

腾讯云大数据Elasticsearch Serverless服务首发上线

外部开发者课程:

ES Serverless一站式日志分析入门到精通学习课程_ES Serverless一站式日志分析入门到精通视频教程-腾讯云开发者社区

如对该产品感兴趣,也可控制台扫码加入交流群,ES Serverless服务的产品小哥非常nice~

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 引言
  • 云原生与容器
  • 腾讯云ES Serverless介绍
    • 设计理念
      • 设计思路
        • 产品能力
          • 产品优势
          • 日志分析实践
            • 日志采集
              • 报表建设
                • 监控告警
                • 可观测分析
              • 权限控制
              • 总结
              相关产品与服务
              容器服务
              腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档