大家好,我是悟空。Java架构进阶网站:passjava.cn原文:https://sourl.cn/WmX6SD对于日志管理,目前网上提供了大量的日志工具。今天,我就为大家分析总结一下这些常用工具的特点。这在选择模型时很有帮助。如果有用,记得一键三连1、FilebeatFilebeat是一个轻量级的日志数据转发和集中传输程序。作为服务器上的代理安装,Filebeat监控日志文件或您指定的位置,收集日志事件,并将它们转发到Elasticsearch或Logstash以进行索引。Filebeat的工作原理如下:当您启动Filebeat时,它会启动一个或多个输入,它会在为日志数据指定的位置查找这些输入。对于Filebeat找到的每个日志,Filebeat都会启动一个收集器。每个收集器读取新内容的日志并将新日志数据发送到libbeat,libbeat聚合事件并将聚合数据发送到您为Filebeat配置的输出。1.1主要特性轻量级且易于使用的常见用例模块(例如Apache访问日志)。只需几个命令,您就可以使用它们来设置Filebeat、Ingest和Kibana仪表板1.2价格免费开源1.3优点资源使用率低良好的性能1.4缺点有限的解析和丰富的功能分析、审计、可视化和预警工具。功能上类似ELK,但比ELK更简单,凭借更简洁、高效、易于部署和使用等优势,迅速受到很多人的青睐。2.1主要特点一个软件包,包括日志处理的所有要素:收集、解析、缓冲、索引、搜索、分析。开源ELK堆栈中不可用的其他功能,例如基于角色的访问控制和警报2.2价格免费和开源,但也有企业版(根据要求定价)2.3优点满足大多数集中式日志管理用例打包轻松扩展存储(Elasticsearch)并获取渠道2.4缺点可视化功能有限,至少与ELK的Kibana相比无法使用整个ELK生态系统,因为它们无法直接访问ElasticsearchAPI。相反,Graylog有自己的API3,即LogDNA,而LogDNA是日志管理领域的新来者。LogDNA作为SaaS和本地提供,提供所有日志基础:通过系统日志和HTTP(S)进行基于代理和无代理的日志收集,以及全文搜索和可视化,价格清晰且具有竞争力。3.1主要功能用于在组织外部共享日志的嵌入式视图自动解析常见的日志格式3.2价格免费:无存储费用:付费计划起价为每月每GB1.50美元,保留7天3.3优势用于搜索日志的简单UI,类似于Papertrail易于使用了解计划3.4缺点有限的可视化能力保留期取决于计划(从7天到30天)。用户数量也是如此(最便宜的计划只允许5个)4.ELK4.1主要特性ELK堆栈包括日志管理解决方案所需的大部分工具:日志传送器:例如Logstash和FilebeatElasticsearch是一种可扩展的搜索engineKibana作为用于搜索日志或构建可视化以集中日志的UI非常受欢迎,网络上有很多关于如何使用它的教程。您可以在基本设置之上使用庞大的工具生态系统,通过警报、基于角色的访问控制等对其进行增强。我们将在这篇博文中详细介绍这些新增功能,我们将在其中讨论ElasticStack功能的替代方案。Elasticsearch默认对每个字段进行索引,使搜索更快通过API和Kibana实时可视化索引前的数据解析和丰富4.2价格免费开源。一些公司提供托管的ELK,见上文。还有ElasticCloud,它是云中ELK的一种纯形式,您主要是自己管理。4.3优点作为日志存储的可扩展搜索引擎成熟的日志传送器WebUI和Kibana中的可视化4.4缺点在规模上,它可能变得难以维护。这就是Sematext提供ELKStack咨询、生产支持和培训的原因。ELKStack的开源版本缺少一些功能,例如基于角色的访问控制和警报。您可以通过商业“ElasticStackFeatures”或其替代品或VisaOpenDistroforElasticsearch获得这些功能。5.GrafanaLokiLoki及其生态系统是ELK堆栈的替代方案,但它做出了不同的权衡。通过仅索引某些字段(标签),它可以具有完全不同的模式。即主要的写入组件(Ingester)在内存中保存了大量的日志,使得最近的查询速度更快。随着块变老,它们被写入两个地方:标签的键值存储(例如Cassandra)和块数据的对象存储(例如AmazonS3)。当您添加数据时,它们都不需要后台维护(例如Elasticsearch/Solr需要合并)。如果您要查询较旧的数据,通常会按标签和时间范围进行过滤。这限制了必须从长期存储中检索的块数。5.1主要特点日志和指标同一个UI(Grafana)Loki标签可以和Prometheus标签保持一致5.2PriceFree:免费开源费用:还有GrafanaCloud,提供Loki的SaaS服务(也有内部部署的选项).价格从49美元起,包括100GB的日志存储(30天保留)和3000个指标系列5.3优点与ELK相比,摄取速度更快:索引更少,无需合并存储占用空间小:索引更小,数据仅写入一次到长期存储(通常带有内置复制)使用更便宜的存储(例如AWSS3)5.4缺点与ELK相比,在更长的时间范围内查询和分析缓慢与ELK相比,日志托运人选项比ELK更好例如更难安装)6.DatadogDatadog是一个SaaS,最初是一个监控(APM)工具,后来添加了日志管理。您可以通过HTTP(S)或系统日志、现有日志传输(rsyslog、syslog-ng、Logstash等)或通过Datadog自己的代理发送日志。它具有LoggingwithoutLimits?,这是一把双刃剑:更难预测和管理成本,但您可以获得按需付费的定价(见下文)以及您可以存档和从存档恢复的事实。6.1主要特性用于解析和丰富日志的服务器端处理管道自动检测常见日志模式可以将日志存档到AWS/Azure/Google云存储并在以后重用它们6.2定价处理起价为每月每GB0.10美元(例如每天3美元)对于1GB)处理也适用于从档案中获取,尽管这里的数据是压缩的1M事件的存储起价为3天1.59美元(例如1GB/天47.7美元,每个1K,存储3天)6.3优点易于搜索,自动完成良好(基于方面)与DataDog指标集成和跟踪负担得起,特别是对于短期保留和/或如果您依赖存档进行某些搜索6.4缺点现场不可用。一些用户抱怨成本失控(由于定价灵活)。虽然您可以设置每日处理配额7,但LogstashLogstash是一个日志收集和处理引擎,附带各种插件,使您能够轻松地从各种来源摄取数据,将其转换并转发到定义的目的地。它与Elasticsearch和Kibana一起是ElasticStack的一部分,这就是为什么它最常用于将数据传送到Elasticsearch。7.1主要特点许多内置输入、过滤/转换和输出插件灵活的配置格式:您可以添加内联脚本,包括其他配置文件等7.2价格免费开源7.3优点易于启动和迁移到复杂的配置灵活:Logstash适用于各种日志记录用例,即使是非日志记录数据编写良好的文档和广泛的操作指南7.4缺点与其他日志传送器相比,资源使用率高与替代方案相比,性能较差8.Fluentd作为Logstash的绝佳替代品,Fluentd是DevOps最喜欢,尤其是对于Kubernetes部署,因为它有丰富的插件库。与Logstash一样,它可以将数据结构化为JSON,并涉及日志数据处理的所有方面:收集、解析、缓冲和输出各种来源和目的地的数据。8.1主要特点与库和Kubernetes良好集成许多内置插件,易于编写新插件8.2价格免费开源8.3优点良好的性能和资源使用良好的插件生态系统易于使用的配置有据可查8.4缺点解析前没有缓冲,这可能会导致日志管道中的背压对转换数据的支持有限,例如您可以使用Logstash的mutate过滤器或rsyslog的变量和模板。典型的部署是本地部署(SplunkEnterprise),尽管它也作为服务提供(SplunkCloud)。您可以将日志和指标发送到Splunk并一起进行分析。9.1主要特性用于搜索和分析的强大查询语言搜索时间字段提取(摄取时间解析之外)自动将频繁访问的数据移动到快速存储,将不经常访问的数据移动到慢速存储9.2价格免费:每天500MB数据的付费计划可根据要求提供,但常见问题解答建议1GB起价为每月150美元9.3优点成熟且功能丰富适合大多数用例的良好数据压缩(假设索引有限,如建议的那样)9.4缺点昂贵对于更长的时间范围,查询速度较慢(推荐使用有限的索引)用于度量存储比以监控为中心的工具效率低
