array(2) { ["docs"]=> array(10) { [0]=> array(10) { ["id"]=> string(3) "428" ["text"]=> string(77) "Visual Studio 2017 单独启动MSDN帮助(Microsoft Help Viewer)的方法" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(8) "DonetRen" ["tagsname"]=> string(55) "Visual Studio 2017|MSDN帮助|C#程序|.NET|Help Viewer" ["tagsid"]=> string(23) "[401,402,403,"300",404]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400964" ["_id"]=> string(3) "428" } [1]=> array(10) { ["id"]=> string(3) "427" ["text"]=> string(42) "npm -v;报错 cannot find module "wrapp"" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "zzty" ["tagsname"]=> string(50) "node.js|npm|cannot find module "wrapp“|node" ["tagsid"]=> string(19) "[398,"239",399,400]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400760" ["_id"]=> string(3) "427" } [2]=> array(10) { ["id"]=> string(3) "426" ["text"]=> string(54) "说说css中pt、px、em、rem都扮演了什么角色" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(12) "zhengqiaoyin" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400640" ["_id"]=> string(3) "426" } [3]=> array(10) { ["id"]=> string(3) "425" ["text"]=> string(83) "深入学习JS执行--创建执行上下文(变量对象,作用域链,this)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "Ry-yuan" ["tagsname"]=> string(33) "Javascript|Javascript执行过程" ["tagsid"]=> string(13) "["169","191"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511399901" ["_id"]=> string(3) "425" } [4]=> array(10) { ["id"]=> string(3) "424" ["text"]=> string(30) "C# 排序技术研究与对比" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "vveiliang" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(8) ".Net Dev" ["catesid"]=> string(5) "[199]" ["createtime"]=> string(10) "1511399150" ["_id"]=> string(3) "424" } [5]=> array(10) { ["id"]=> string(3) "423" ["text"]=> string(72) "【算法】小白的算法笔记:快速排序算法的编码和优化" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "penghuwan" ["tagsname"]=> string(6) "算法" ["tagsid"]=> string(7) "["344"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511398109" ["_id"]=> string(3) "423" } [6]=> array(10) { ["id"]=> string(3) "422" ["text"]=> string(64) "JavaScript数据可视化编程学习(二)Flotr2,雷达图" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "chengxs" ["tagsname"]=> string(28) "数据可视化|前端学习" ["tagsid"]=> string(9) "[396,397]" ["catesname"]=> string(18) "前端基本知识" ["catesid"]=> string(5) "[198]" ["createtime"]=> string(10) "1511397800" ["_id"]=> string(3) "422" } [7]=> array(10) { ["id"]=> string(3) "421" ["text"]=> string(36) "C#表达式目录树(Expression)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "wwym" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(4) ".NET" ["catesid"]=> string(7) "["119"]" ["createtime"]=> string(10) "1511397474" ["_id"]=> string(3) "421" } [8]=> array(10) { ["id"]=> string(3) "420" ["text"]=> string(47) "数据结构 队列_队列实例:事件处理" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "idreamo" ["tagsname"]=> string(40) "C语言|数据结构|队列|事件处理" ["tagsid"]=> string(23) "["246","247","248",395]" ["catesname"]=> string(12) "数据结构" ["catesid"]=> string(7) "["133"]" ["createtime"]=> string(10) "1511397279" ["_id"]=> string(3) "420" } [9]=> array(10) { ["id"]=> string(3) "419" ["text"]=> string(47) "久等了,博客园官方Android客户端发布" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(3) "cmt" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511396549" ["_id"]=> string(3) "419" } } ["count"]=> int(200) } 222 如何选择正确的日志管理工具? - 爱码网

Sumo Logic,Graylog,Loggly,PaperTrail,Logentries,Stackify

每个人都使用日志文件来搜索和了解其应用程序中的错误,崩溃和异常。 有些使用直接方法并在纯文本日志文件中进行筛选,而另一些则依靠日志管理工具来帮助他们在日志草垛中查找错误。

在下面的文章中,我们将介绍一些日志管理工具,这些工具并不总是会得到应有的关注,但是绝对值得一提。 您准备好整理日志了吗?

答案在日志中

如果您不得不大胆猜测,您认为日志文件每天会累积多少数据? 您的答案会以GB为单位吗? 还是结核病?

日志文件是我们应用程序的恐龙骨骼之上的沙子。 这意味着我们必须清除大量沙子才能获得实际数据,该数据将告诉我们到目前为止所发生的事情。 我们手动或通过正则表达式查询在日志中逐行筛选,以尝试分析代码中导致错误或异常的情况。

日志管理工具可帮助我们更好地了解应用程序的数据。 有些工具会收集类似的错误,一些工具会生成图表,而其他工具会在事件发生时尝试提供上下文数据。

我们已经介绍了市场上的两大工具,包括Splunk和ELK 这就是为什么在这篇文章中,我们收集了其他可能与您相关的工具,每个工具都有自己的特殊技能。

Loggly提供了无代理日志收集器,因此您无需安装任何工具即可从日志文件收集信息。 使用已经拥有的软件,数据通过令牌或标准syslog和HTTP或HTTPS发送到Loggly。

它接受来自任何来源(服务器或客户端)的基于文本的日志,并支持多种语言和平台,例如Ruby,Java,Python,Javascript,PHP,Apache服务器,Tomcat,MySQL,syslog-ng,rsyslog,nxlog等。

仪表板和功能

Loggy自动检测和解析常见的日志类型,让您定义自定义的解析规则并将其添加到日志事件中。 您可以创建自定义标签来标记某些错误消息,因此您可以对其进行跟进。

您可以使用这些标签创建仪表板的自定义概述,或基于主机,应用程序和与您相关的任何其他过滤选项查看组。 图形用于显示日志数据中的模式,识别异常并更好地概述应用程序的当前状态。

整合方式

New Relic,Nagios,Slack和HipChat。

价钱

免费的精简版提供高达200MB /天的数据,大约6GB /月。 标准计划的起价为49美元/月,1 GB /天,相当于30 GB /月。

专业计划包括1 GB – 1.5 TB /天,相当于30 GB – 45 TB /月,价格为199美元/月,企业版价格为349美元/月,并针对每个公司的需求制定了详细的计划。

底线:无代理方法意味着它主要用于将数据从应用程序服务器发送到Loggly。

如何选择正确的日志管理工具?

Loggly的仪表板

PaperTrail将应用程序日志,文本日志文件和系统日志收集到一个仪表板中。 它为您提供了当前事件的概述,并向您展示了已收集的日志中的见解。

它支持Android,C#、. NET,Do​​cker,Java(通过log4j和logback),JavaScript,MySQL,Node.js,PHP,Perl,Python,Ruby和systemd。

仪表板和功能

仪表板收集各种事件,包括客户问题,错误消息,应用程序请求,数据库查询缓慢,配置更改以及其他可能相关的信息。 当相关事件收集在一起时,您可以实时查看事件,并进行实时记录。

在过滤和搜索事件时,实时日志记录也很方便,一旦事件进入系统就显示结果。 您可以保存搜索查询,并为每个查询创建自定义警报。 这样,您就可以知道何时通过电子邮件或一种受支持的工具引发了某些错误或异常。

如何选择正确的日志管理工具?

PaperTrail的仪表板

整合方式

篝火,Datadog,Geckoboard,Hipchat,Librato,New Relic,OpsGenie,PagerDuty,Slack,StatHat。

价钱

免费计划在第一个月提供5GB容量,然后在其余计划中提供每月100MB /月的容量,搜索时间为48小时,存档为7天。

付费计划从$ 5 /月开始,一直到$ 35 /月,$ 75 /月,$ 150 /月,$ 230 /月及更高。 您可以自定义每个计划中的可搜索持续时间,范围从1天到4周,这会影响价格。

底线:实时监控有助于发现问题的发生,减少开发团队的响应时间并及时发现问题。

Logentries实时显示所有日志文件中的数据,使您可以选择使用syslog或LogStash在代理之间进行选择或采用无代理方法。 您可以概览应用程序的当前状态,检测错误,异常和其他可能伤害用户的问题。

该工具支持.NET,Android,GoLang,iOS,Java,Javascript / HTML5,node.js,PHP,Python和Ruby。

仪表板和功能

仪表板显示来自各种服务器,应用程序,数据库,防火墙,负载平衡器,路由器以及您希望在应用程序中进行后续跟踪的任何其他内容的日志。 有多种可视化选项,例如图形,饼图,条形图,表格视图等。您也可以将其导出到Hosted Graphite和Geckoboard。

您可以实时过滤日志,在事件发生时进行搜索,并为每次搜索创建自定义标签和警报。 这些警报可以是基于模式的,异常检测或其他您想知道的其他信息。

Logentries使用LEQL,这是他们自己的基于SQL的查询语言。 这样就可以执行诸如平均值,和,最小值,最大值或百分位数之类的计算。 您还可以使用它对结果进行排序,按时间片或您感兴趣的任何其他过滤器指定视图。

如何选择正确的日志管理工具?

Logentries的仪表板

整合方式

REST API使您可以自动执行报告,管理用户或创建自定义集成。 除此之外,该工具还可以与Slack,HipChat,PagerDuty,OpsGenie,BigPanda,Campfire和Webhooks配合使用。

价钱

免费计划可让您每月最多发送5GB,保留7天。 付费计划的费用为每月39美元起,最多30GB /月,保留14天;如果费用高达150美元/月,最多30天,则可高达329美元/月。 定价范围取决于您感兴趣的数据量,并且有针对年度计划的特殊折扣。

底线:独特的搜索语言很有趣,但是这意味着您必须重新调整搜索条件以匹配LEQL。

Stackify提供了用于日志管理以及错误跟踪和监视的组合工具,专为开发人员而设计,可帮助他们更好地了解其应用程序。 当然,该工具包括一个清晰的仪表板,可以一目了然地了解应用程序内部发生了什么。

它带有一个支持.NET,Java,PHP,Node.js和Ruby的API,该API收集所有日志消息,并允许您将它们与上下文信息一起查看。 您还可以使用REST API为其他语言构建自定义库。

仪表板和功能

仪表板从应用程序和环境中的每个异常收集并显示数据,包括每个错误的类型,引发错误的位置以及发生的时间。 您可以应用过滤器以查看错误趋势,查看具有发生次数的单个错误实例或任何其他适合您的选项。

还有第二个仪表板专注于日志,它汇总了整个应用程序中的日志。 您可以在不同的服务器,应用程序和环境中进行搜索,以找到需要注意的某些事件,或者有时跳转到特定位置以查看相关日志。

如何选择正确的日志管理工具?

Stackify的错误仪表板

整合方式

JIRA,Slack,TFS(Windows Team Foundation Server),Microsoft Azure。

价钱

Stackify有一些产品,其中包括对应用程序的全面监视和处理。 但是,由于我们专注于日志管理工具,因此我们已经检查了独立的错误和日志工具的价格。

价格从每月15美元起,包括没有代理的错误和日志API,每分钟最多1000个错误/日志,保留30天。

底线:有一个选项可以购买错误和日志工具,大多数价值来自可以同时使用这两个工具。 因此,在评估此工具时请牢记这一点。

Sumo Logic是一款全面的搜索,分析和监视SaaS日志管理工具,该工具以企业为中心。 它着重于将日志事件减少为模式组,识别异常并帮助您检测代码中什么地方不太正确。

在官方网站上,Sumo Logic 汇总了与其工具相关的Github项目 它具有一个Log4J 2追加器,可将数据发送到Sumo Logic,Python收集器管理脚本,面向Ruby用户的Fluentd插件以及用于其他语言的其他工具。

仪表板和功能

Sumo逻辑具有2个仪表板:实时仪表板和交互式仪表板。

实时仪表板一经系统记录就提供实时数据。 它会显示新数据,但是没有提供回顾较早事件的选项。 这就是为什么您还拥有交互式仪表板的原因,该仪表板提供了事件,趋势以及到目前为止发生的所有事件的完整概述。

您可以将各种事件查看为图表,并确定应用程序中发生的峰值或不规则事件。 您可以搜索要关注的特定错误或异常,并将其生成为新视图以供将来检查。

如何选择正确的日志管理工具?

Sumo Logic的仪表板

整合方式

PagerDuty,Slack,HipChat,厨师,MongoDB。

价钱

免费版本最多可供3个用户使用,容量为500MB /天,并提供7天的数据保留。 专业报价的价格为每月90美元/月(1GB /天和30天的数据保留),企业定价计划的起始价格为150美元/月(1GB /天),不受用户和多年数据保留的限制。

底线:由于Sumo Logic专注于企业,因此对于您想要的东西来说可能算是过高了,所以值得在30天的免费专业试用期间查看完整功能列表。

与该列表上的其他工具不同,Graylog是一个开源日志分析器。 您可以从任何数据源解析日志,并在单个仪表板中查看所有数据。

您可以通过多种方式来安装Graylog,这取决于MongoDB和Elasticsearch的操作。

仪表板和功能

Graylog的仪表板由小部件组成,每个小部件都可以提供所需的信息。 您可以添加搜索值计数,直方图或查看堆叠的图表,并创建自定义视图以与团队成员共享。

您可以搜索事件以查找特定的错误或异常,然后将搜索结果添加到仪表板。 在不同的查看选项中,您将能够查看某个应用程序或某天发生的事件数以及您可能感兴趣的任何其他指标。

如何选择正确的日志管理工具?

Graylog的仪表板

整合方式

Slack,Redis,PagerDuty,HipChat,Splunk。

价钱

该工具是开源的,因此您可以免费使用它。 此外,Graylog提供的企业许可费用为您的Graylog集群中每个Graylog服务器实例约1,500美元,并附带商业支持合同。

底线:开源工具可能是您的答案,但最终需要进行一些设置。

托管ELK

独自托管ELK堆栈可能会给您和您的团队带来很多开销。 为了解决这个问题,您可能需要查看市场上一些托管的ELK工具。 您将能够从结构化和非结构化来源获得相同的见解和数据,让第三方工具完成所有“繁重的工作”和配置。

这个市场上有很多工具,例如Sematext的Logsene,Logz.io,FacetFlow等。 如果您仍然不确定要迁移到托管的ELK,我们将发布一篇帖子来帮助您做出决定。 检查一下

使日志更好

我们都知道一个日志,是一个日志,是一个日志。 通过Splunk,ElasticSearch或记事本使用它都没关系。

日志管理工具的清单很长,每种工具都是用来帮助您更好地阅读日志的,但是大多数工具都基于这样一个事实,即您正在寻找的信息很容易获得,并且实际上位于日志文件中。 在大多数情况下,甚至没有记录您需要用来了解发生了什么的变量。

使用OverOps,您可以在整个调用堆栈中查看完整的源代码和变量状态。 传递到导致失败的事务或工作流程中的每个参数和每个变量。

OverOps可以与您现有的日志管理工具一起使用,从而使其变得更好。 它将超链接注入到日志中的错误或异常中,然后单击它可以直接进入错误的分析。

如何选择正确的日志管理工具?

OverOps的错误分析屏幕

这样,您将获得最大的可视性和生产力,以及在现有工具中已学会使用和喜爱的一系列功能。 查看并获得14天免费试用

最后的想法

尽管每个公司都有自己独特的小功能,但是所有日志管理工具都提供了几乎相同的捆绑包:将日志聚集在一个位置,跟踪错误和异常,并在一个不错的仪表板上查看所有内容。 这就是为什么寻找正确的工具非常困难的原因,您必须深入研究才能了解一种工具或另一种工具的好处。

如果您问我们,我们的方法是“尝试一切,看看适合您的人”。 所有这些工具都提供了试用期,您可以在该试用期内查看它是否是您所要的,或者是否应该继续寻找合适的工具。

翻译自: https://www.javacodegeeks.com/2016/10/choose-right-log-management-tool.html

相关文章: