如果没有正确的工具来汇总和解析日志数据,则几乎不可能找到并了解您正在寻找的信息。
日志有无穷无尽的用途,因为日志本身是无止境的。 应用程序日志,安全日志,BI日志, 林肯日志 (好吧,也许不是)…
暂时搁置安全性,BI和童年时的乐趣,即使仅着眼于应用程序日志的用途,也有无数的用途。 生产监控,性能监控,支持,故障排除,质量检查分辨率等。 实际上,这全都取决于您记录的方式和内容。 此处的所有工具都可以用来更好地理解日志并从日志中获得更多价值,但是它们也各有优缺点。 为了充分利用您的工具,根据您的需求和目标进行选择非常重要。
记录最佳实践(充分利用您的工具)
首先,我们需要意识到我们的目标是什么。 我们为什么首先要在代码中添加日志语句? 我们是否要使用它们进行应用程序监视? 支持和故障排除? 安全? 根据您的目标,可能会更改整个日志记录方法以及所需的工具。
一旦确定了日志的用途,对它们进行结构化就很重要,这样您和您的团队成员以及您选择使用的任何日志记录工具都可以理解它们。 JSON和KVP(键值对)都是不错的选择。
日志会生成大量数据,并且这些数据可能来自许多服务器上的多个环境。 为了确保这些数据不会丢失并且可以有效使用,应将它们合并并集中到一个存储位置。 当然,这可能代价高昂,这就是为什么在几乎所有情况下都会在生产中关闭TRACE,INFO和DEBUG级别的日志的原因。
最后,我们需要意识到日志数据的局限性。 我们的第一个警告信号是,我们在生产中关闭的那些日志级别(TRACE,INFO,DEBUG)构成了接近我们所有日志的三分之二 。 那是很多丢失的信息。
日志已用于故障排除和对年龄的支持,但是考虑到它们为应用程序错误提供的上下文有限,因此它们更适合用于其他目的。 这些日志聚合和分析工具对于安全性和BI用途或识别用户事件和活动的趋势最为有用。
最后一点,不要以为日志是唯一可以获取的数据。 这些工具都与其他工具集成在一起,使您可以将日志记录工具的数据分析功能与更有意义的应用程序数据结合起来。
6个推荐的日志管理工具
- Splunk
- 发电企业解决方案
- 本地(现在有SaaS选件)
- 有弹性
- Logstash的日志
- 搜索弹性
- Kibana可视化
- 复杂的设置
- 相扑逻辑
- SaaS竞争对手Splunk
- 企业价值
- Loggly
- 更多面向开发人员和DevOps的资源(企业级)
- 解析来自App服务器的数据
- PaperTrail
- 简单的日志聚合器
- 没有所有的风吹草动
- 灰色日志
- 也适合开发人员
- 开源的
- 较新的领域,但努力为企业做好准备
- 可以处理多种数据格式
1. Splunk
Splunk是日志管理领域中最大的工具。 它是成熟的,功能齐全的企业级产品。 作为本地工具,它在该领域中是独一无二的(尽管它们也提供了Cloud版本)。
何时使用它:具有大量功能需求并且需要分析各种数据的企业公司。
价钱:
-企业:$ 50-173 / GB /月,具体取决于数据量
-Cloud:联系以获取价格信息 -Light:$ 87 / GB /月,每天最多20GB(最多5位用户)
优点:
功能最丰富(超过500个应用)
内置搜索和可视化工具 适用于安全性,BI和基础架构监视
缺点:
复杂的设置和维护
支持现实应用的高成本
2.弹性
Elastic (以前是ELK – ElasticSearch,Logstash,Kibana)是一个开源项目,由许多用于应用程序数据分析和可视化的工具组成。 Logstash特别是用于收集和管理日志文件。 除了日志聚合,它还包括用于索引和搜索数据的ElasticSearch和用于图表化和可视化数据的Kibana。 它们共同构成了功能强大的日志管理解决方案。
何时使用:如果您要使用开源工具。 如果您对实现整个Elastic Stack感兴趣,或者至少在使用ElasticSearch或Kibana时分别看到了价值,并希望结合使用这些工具而获得交互收益。
定价:免费
优点:
开源工具具有很多控制权
使用3个成熟的组件形成1个强大的解决方案 快速简便的开源解决方案设置
缺点:
组件本质上应视为单个产品
Logstash过滤器使用Ruby编写,Kibana是纯Javascript,ElasticSearch拥有自己的REST API和JSON模板
3.相扑逻辑
Sumo Logic最初是Splunk的SaaS版本,后来甚至模仿了Splunk的某些功能和视觉效果。 从那时起,Sumo Logic本身就发展成为成熟的企业级日志管理解决方案。 Sumo Logic是本地企业中最关注云的日志分析器。
何时使用它:如果您是一家企业型公司,但愿意为SaaS的利益而牺牲一些功能,那么Sumo Logic值得探索。 如果您非常注重安全性,那也很好。 它不仅是面向开发人员的工具,而且对安全团队和业务目的都有好处。
价钱:
-企业:$ 150 / GB /月,最低3GB
-专业版:每月每GB $ 90,最少3GB -免费:免费最大500MB
优点:
与本地解决方案相比,安装简便
用于日志,指标和外部数据的高级分析和机器学习 跟踪基线以进行异常检测
缺点:
功能列表不如Splunk
4. Loggly
Loggly是一款功能强大的日志分析器,专注于简单性和易用性。 它面向开发人员和DevOps-使其对企业的关注程度降低。
何时使用:主要用例是用于故障排除和客户支持方案。 对于DevOps团队来说,这是一个很好的工具。
价钱:
-Enterprise:每月$ 349起
-Pro:每月$ 199美元起,最多可容纳5位用户 -Standard:每月$ 79美元起,最多可容纳3位用户 -免费:单用户
优点:
对开发人员非常友好
轻松创建自定义性能和DevOps仪表板
缺点:
最适合分析较小的Dev或DevOps团队的应用程序数据
不能作为成熟的基础架构/安全/分析解决方案
5. PaperTrail
PaperTrail是在一个统一的易于使用的界面中查看和搜索多台机器的日志的一种简单方法。 这是一个SaaS工具,旨在增强您已经收集或生成的日志。
何时使用:如果您想要一个简单明了的工具,而又没有很多多余的东西。 如果您想要一个精简而基本的日志分析器,该分析器非常适合查看聚合中的日志文件,而无需尝试更多。
价钱:
范围从$ 7 /月(1GB)到$ 395 /月(50GB),并可以根据容量要求定制计划
优点:
在云端以单一视图查看来自多台计算机的日志文件的简单方法
快速设置 非常实惠
缺点:
UX主要基于文本,类似于查看实际日志
没有高级集成,预测或报告功能
6. Graylog
Graylog是一个由MongoDB和ElasticSearch(类似于Logstash)支持的开源日志分析器,用于存储和搜索日志错误。 它主要致力于帮助开发人员检测和修复其应用程序中的错误,但他们还发布了正式的企业就绪平台。
何时使用: Graylog比其他开源日志管理工具更面向开发人员。 另外,如果您想要一个旨在既可用于企业又可开源的日志管理工具,则Graylog当然应该与Elastic / Logstash结合使用。
定价:免费
优点:
可以处理多种数据格式
精细的身份验证和用户权限控制 警报您指定的流可进行快速分析 使用REST API分发和发送数据
缺点:
仪表板正面的管理不是特别友好
报表功能有点缺乏 作为一种较新的工具,尤其是在企业方面,它不如其他选项成熟和经过全面审查
最后的想法
那是很多信息要吸收。 让我们总结一下,每个工具的基本用例都可以吗?
对于资金较少关注的企业公司来说, Splunk是最好的“开箱即用”工具。 Elastic是最强大的开源项目,不利之处在于复杂的设置和维护。 Sumo Logic基本上是Splunk的SaaS版本,但价格便宜,功能列表也不太广泛。 对于较小的Dev和DevOps团队, Loggly是一个可靠的解决方案,专注于监视和故障排除。 PaperTrail是一种简单且价格合理的工具,可以以单个视图在云中查看多台计算机的日志文件。 Graylog是Elastic Stack框架中Logstash的可靠替代品。
最后的最后一个想法……这些日志管理工具可帮助您理解日志文件,但仅基于日志文件包含的信息。 如果生产中发生错误,则日志很可能不会包含所需的数据(例如,源代码和变量状态)。
翻译自: https://www.javacodegeeks.com/2018/07/6-log-management-tools-you-need-to-know-and-how-to-use-them.html