Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >TKE集群日志解决方案之日志采集

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

原创
作者头像
朱瑞卿
修改于 2020-12-16 04:51:43
修改于 2020-12-16 04:51:43
2.1K0
举报

引言

当前技术领域容器盛行,已然是一个云原生的时代, 在技术领域都或多或少跟云计算、容器、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 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Linux安装JDK完整步骤
首先到jdk官网上下载你想要的jdk版本,下载完成之后将需要安装的jdk安装包放到Linux系统指定的文件夹下,并且命令进入该文件夹下:
周小董
2019/03/25
1.3K0
java开发环境搭建(jdk安装)
  当前最新版本下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html
samRsa
2025/02/24
5160
java开发环境搭建(jdk安装)
CentOS7上安装 JDK8 Hadoop Hive
下载:https://pan.baidu.com/s/17ZDrs9n3geawFZZltvsbTQ 提取码: ph6v
hankleo
2020/09/17
4660
CentOS 7单机部署ELK+x-pack 及问题解决
ELK分布式框架作为现在大数据时代分析日志的常为大家使用。现在我们就记录下单机CentOS7部署ELK的过程和遇到的问题。
星哥玩云
2022/07/14
8141
CentOS 7单机部署ELK+x-pack 及问题解决
「Zabbix连载系列」之Zabbix 4.X安装指南
前提准备 准备系统环境 安装基础环境 $ yum -y install wget vim tree lrzsz epel-release bash-completion ntpdate ntp 关闭SELinux $ setenforce 0 #此为临时生效,建议编辑 /etc/selinux/config ,将SELINUX的值改为disabled 关闭防火墙 $ systemctl stop firewalld $ systemctl disable firewalld
用户1456517
2019/05/15
1.6K0
快速优雅的在linux服务器上安装jdk8
要在linux下安装jdk,首先你得先有一台linux服务器,作为小白,手头的机器肯定都是windows的,搞个虚拟机安装对我这种小白简直是折磨人;这里使用最简单的方式获得一台linux服务器,就是从阿里云或者腾讯云上租一台。镜像选择CentOS7.3 64位。
程序员小明
2019/06/17
15.9K0
快速优雅的在linux服务器上安装jdk8
CentOS7安装java8和java11,实现版本共存且自由切换
链接:https://pan.baidu.com/s/1LszbdHk31yqIIHjfh_SOlA
郑郑SunUp
2025/01/01
4690
Linux系统下安装jdk与tomcat
在前面的Linux文章里面,遇到了一个问题,安装Apache之后,在浏览器中无法访问问题,排除了防火墙的问题和80端口安全组的问题之后,还是没有办法访问。作为一个从零开始的小白,忽略了一个很基本的问题,检查一下你的Linux系统下是否安装了jdk与tomcat。
王小婷
2019/07/19
2.1K0
Linux系统下安装jdk与tomcat
Linux使用Shell脚本部署jar包项目
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
Dream城堡
2019/06/04
3.7K0
Linux使用Shell脚本部署jar包项目
Spring boot with Docker
本文节选自 《Netkiller Linux 手札》 163.6.1. Spring boot with Docker 163.6.1.1. 获取 CentOS 7 镜像 docker pull centos:7 # docker pull centos:7 7: Pulling from library/centos 343b09361036: Pull complete Digest: sha256:bba1de7c9d900a898e3cadbae040dfe8a633c06bc104a0df7
netkiller old
2018/03/05
6950
CentOS 6.5 安装配置 Tomcat
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
星哥玩云
2022/07/27
5700
CentOS 6.5 安装配置 Tomcat
Centos7安装CDH(1、环境配置)
下载地址:http://archive.cloudera.com/cm5/repo-as-tarball/5.7.0/cm5.7.0-centos7.tar.gz
余生大大
2022/11/02
3580
Centos7安装CDH(1、环境配置)
如何将Kerberos环境下CDH集群JAVA升级至JDK8
大家都知道在安装CDH时默认安装的JDK版本为jdk1.7.0_67,部分企业开发环境为JDK8版本,这个时候可能会出现在本地开发的应用在集群中无法正常运行。前面Fayson也讲过《如何将CDH集群JAVA升级至JDK8》。本篇文章主要讲述如何将Kerberos环境下CDH集群的JAVA版本升级至JDK8。
Fayson
2018/03/29
1.4K0
如何将Kerberos环境下CDH集群JAVA升级至JDK8
Centos6.9下RocketMQ3.4.6高可用集群部署记录(双主双从+Nameserver+Console)
之前的文章已对RocketMQ做了详细介绍,这里就不再赘述了,下面是本人在测试和生产环境下RocketMQ3.4.6高可用集群的部署手册,在此分享下:
洗尽了浮华
2018/09/28
1.2K0
Ubuntu 16.04 Spark单机环境搭建
红色石头
2017/12/28
1.1K0
Ubuntu 16.04 Spark单机环境搭建
cordova 安卓开发环境搭建(Mac OSX
版权声明:本文为吴孔云博客原创文章,转载请注明出处并带上链接,谢谢。 https://blog.csdn.net/wkyseo/article/details/77979617
空空云
2018/09/27
1.1K0
cordova 安卓开发环境搭建(Mac OSX
如何将CDH集群JAVA升级至JDK8
大家都知道在安装CDH时默认安装的JDK版本为jdk1.7.0_67,部分企业开发环境为JDK8版本,这个时候可能会出现在本地开发的应用在集群中无法正常运行。那么如何将CDH集群中的JAVA版本升级至jdk8呢?本篇文章主要讲述如何将CDH集群的JAVA版本升级至JDK8。
Fayson
2018/03/29
3K0
如何将CDH集群JAVA升级至JDK8
Linux下载安装jdk1.8
注:如果没有返回版本信息,查看一下 /etc/profile 环境目录是否是存在Java包
误入歧途
2024/05/08
1.2K0
【CentOS环境部署】CentOS下部署Java7/Java8
一、前言 适用范围 1.CentOS 6+ 2.Java 7+ (示例使用Java8) 二、部署过程 1、下载 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html #(1)下载之后FTP到服务器 #(2)获取到下载链接后,用wget命令下载 2、解压到指定目录 sudo mkdir -p /usr/java sudo tar zvxf jdk-8u131-linux-x64.tar.gz
KenTalk
2018/09/11
1.1K0
相关推荐
Linux安装JDK完整步骤
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档