行业解决方案:优化啦智能邮箱qq采集器与Keyword Researcher Pro关键词管理
优采云 发布时间: 2022-10-15 07:50行业解决方案:优化啦智能邮箱qq采集器与Keyword Researcher Pro关键词管理
关键字 Researcher Pro(关键词管理软件)是一种帮助用户和朋友管理其计算机关键词的工具,如果您在日常生活和办公室中经常使用关键词,则可以输入此工具进行热键编辑和长尾搜索。
关键字研究员专业版是一种易于使用的关键字发现管理工具。这是唯一可以帮助您找到长尾关键词并为您的网站创建SEO优化内容的SEO软件。该软件使用谷歌自动完成自动模拟真实操作,并将数千个查询重新输入到谷歌。每次你输入一个部分短语时,谷歌都会尝试预测它认为整个短语可能是什么,并保存所有的预测,事实证明,当你使用字母表的每个字母(A-Z)时,你会留下数百个短语关键词长尾巴。使用此工具可以越来越容易地优化管理关键词。
解决方案:云原生Kubernetes日志落地方案
我在日志领域工作了几年。在过去的一年里,越来越多的学生来咨询如何为 Kubernetes 搭建日志系统,或者来寻求帮助。如何解决过程中遇到的一系列问题,授人以鱼不如授人以渔,所以想把我们这些年积累的经验以文章的形式贴出来,让看到这个文章的同学可以少走弯路。本系列文章定位为长篇连载,内容偏向实操和经验分享,内容会随着技术的迭代不定期更新。
前言
第一次听到 Kubernetes 这个名字是在 2016 年,当时 Kubernetes 还处于 Docker Swarm 和 Mesos 解决方案的“三国时代”。由于一系列优势(可扩展性、声明式接口、云友好性)从竞争中脱颖而出并最终获得主导地位。作为 CNCF 的核心项目(没有),Kubernetes 是实现 Cloud Native 的基础。目前,阿里巴巴已全面开展基于Kubernetes的全站云原生改造。1-2年内,阿里巴巴所有业务100%运行在公有云上。
CloudNative在CNCF中定义的核心是:在公有云、私有云、混合云等环境中,通过Containers、Service Meshes、MicroServices、Immutable Infrastructure、Declarative APIs来构建和运行弹性可扩展、高容错、易管理,可观察的,松耦合的应用系统。可观察性是应用系统的重要组成部分。云原生设计概念之一是可诊断性,包括集群级别的日志、指标和跟踪。
为什么我们需要一个日志系统
通常,定位在线问题的过程是:通过Metric找到问题,根据Trace定位问题模块,根据模块的具体日志定位问题原因。日志包括错误、关键变量和代码运行路径等信息。这些是故障排除的核心。因此,日志永远是在线故障排除的唯一途径。
在阿里巴巴的十余年里,日志系统随着计算形态的发展而不断演进,大致可以分为三个主要阶段:
在单机时代,几乎所有的应用程序都部署在单机上。当服务压力增加时,只能切换更高规格的IBM小型机。日志作为应用系统的一部分,主要用于程序调试,通常结合常用的Linux文本命令如grep进行分析。随着单机系统成为制约阿里业务发展的瓶颈,为了真正的横向扩展,飞天项目启动:飞天5K项目于2013年正式启动。现阶段各业务开始分布式改造,并且服务之间的调用也从本地变为分布式。为了更好地管理、调试和分析分布式应用程序,我们开发了Trace(分布式链路追踪)系统,各种监控系统,这些系统的统一特点是所有日志(包括metrics等)的集中存储。为了支持更快的开发和迭代效率,近年来,我们开始了容器化改造,开始拥抱 Kubernetes 生态,全面上云,Serverless。现阶段,原木无论是规模还是类型都呈现爆发式增长,对原木数字化、智能化分析的需求也在不断增加。因此,统一的日志平台应运而生。我们已经开始容器化转型,开始拥抱 Kubernetes 生态,全面上云,Serverless。现阶段,原木无论是规模还是类型都呈现爆发式增长,对原木数字化、智能化分析的需求也在不断增加。因此,统一的日志平台应运而生。我们已经开始容器化转型,开始拥抱 Kubernetes 生态,全面上云,Serverless。现阶段,原木无论是规模还是类型都呈现爆发式增长,对原木数字化、智能化分析的需求也在不断增加。因此,统一的日志平台应运而生。
可观察性的终极解释
在 CNCF 中,可观察性的主要功能是诊断问题,上升到公司的整体层面。可观察性不仅包括DevOps领域,还包括业务、运营、BI、审计、安全等领域。可观察性最终目标是实现公司各方面的数字化和智能化。
在阿里巴巴,几乎所有的业务角色都涉及到各种日志数据。为了支持各种应用场景,我们开发了很多工具和功能:实时日志分析、链路跟踪、监控、数据处理、流计算、离线计算、BI系统、审计系统等。日志系统主要专注于数据的实时采集、清洗、智能分析和监控,以及连接各种流计算和离线系统。
搭建Kubernetes日志系统的难点
简单的日志系统有很多解决方案,都比较成熟。我不会在这里详细介绍。这次我们只关注在 Kubernetes 上构建日志系统。Kubernetes上的日志方案与我们之前基于物理机和虚拟机场景的日志方案有很大不同,例如:
日志的形式变得更加复杂,不仅仅是物理机/虚拟机上的日志,还有容器的标准输出、容器中的文件、容器事件、Kubernetes事件等信息需要采集 . 环境的动力变得更强。在 Kubernetes 中,机器宕机、离线、在线、Pod 销毁、扩容/缩容等都是正常的。在这种情况下,日志的存在是瞬时的(例如,如果 Pod 被销毁,则 Pod 日志不再可见),因此日志数据必须实时 采集 到服务器。同时,还需要保证日志的采集能够适应这种极其动态的场景。有更多类型的日志。上图是一个典型的 Kubernetes 架构。客户端的一个请求需要经过CDN、Ingress、Service Mesh、Pod等多个组件,涉及多种基础设施,日志种类增加不少,比如K8s各种系统组件日志、审计日志、ServiceMesh 日志、Ingress 等。业务架构发生了变化。现在越来越多的公司开始在 Kubernetes 上实现微服务架构。在微服务体系中,服务的开发更加复杂,服务与服务的底层产品之间的依赖也越来越多。这时候排错会比较复杂,跨维度关联日志会是个难题。很难集成日志解决方案。通常,我们在 Kubernetes 上构建 CICD 系统。这个 CICD 系统需要尽可能地自动化业务的集成和部署。日志、存储、清理等的采集也需要集成到这个系统中,并且尽可能与K8s的声明式部署方式保持一致。现有的日志系统通常是相对独立的系统,集成到CICD的成本极高。日志规模问题,通常在系统的初始阶段,我们会选择构建一个开源的日志系统。这种方式在测试验证阶段或者公司发展初期是没有问题的,但是当业务逐渐增长,日志量增长到一定规模时,自建开源系统经常会遇到各种问题,比如租户隔离、查询延迟、数据可靠性、系统可用性等。虽然日志系统不是IT中最核心的路径,但是一旦在关键时刻出现这些问题,就会产生非常可怕的影响。例如,在大促期间发生紧急情况时,多个工程师在排查过程中并发查询日志系统,导致故障。恢复时间较长,影响大促。
总结
相信从事K8s日志系统搭建的同学会被以上难点的分析深深打动。后面我们会从落地的角度出发,详细介绍我们在阿里巴巴是如何搭建K8s日志系统的。请注意。
原创链接