来自 科技之门 2019-10-05 00:49 的文章
当前位置: 金沙澳门官网4066 > 科技之门 > 正文

开发者最有用的监控工具有哪些呢,个有用的开

这些日志还有助于公司遵守适用于欧盟内任何实体的《通用数据保护条例》。因为如果你的网站要在欧盟是可浏览的,那么就必须遵守 GDPR。

这种搭配也不是绝对的,可不使用redis,可考虑kafka来做消息队列,也可让shipper直接从你希望的日志中获取数据,若你喜欢也可让数据存到ES后在存一份进入hdfs等。

SaaS工具

作为网络审计的一部分,Nagios 将根据日志数据来源的地理位置过滤日志数据。这意味着你可以使用映射技术构建一个全面的仪表板,以了解 Web 流量是如何流动的。Elastic Stack (即 ELK Stack)

多个独立的Agent(Shipper)运行在不同的服务器终端,用来收集不同来源的数据,一个中心Agent(Indexer)用来负责汇总数据,在中心Agent前的Broker作为缓冲区,中心Agent后面ElasticSearch用于存储和搜索数据,前端Kibana用于提供UI展示。
Shipper表示收集日志,使用LogStash收集各种来源的日志数据,可能是系统日志、文件、redis、mq...
Broker作为远端Agent与中心Agent之间的缓冲区,使用Redis实现,用来提升系统性能与可靠性,当中心Agent提取数据失败时,数据保存在redis中不至于丢失。
中心Agent也是Logstash,从Broker中读取数据执行相关的分析和处理(Filter)。
ElasticSearch用于存储最终的数据(结果数据)并提供搜索功能。
Kibana提供一个简单丰富的Web界面,数据来自于ES,支持各种查询统计和展示。

缺点:它是一个只可用在 JVM 层上的工具,因此 JVM 不支持的语言它也不支持。目前,它也没有可以与其他告警工具集成在一起的 API。

LOGalyze 被设计成一个巨大的管道,其中可以有多个服务器、应用程序和网络设备使用简单对象访问协议(Simple Object Access Protocol,SOAP)方法提供信息。它提供了一个前端界面,管理员可以登录该界面监控数据收集并开始分析数据。

Logstash

Datadog 的一个优点是了开放所有 API,可以让你很灵活的开发自己的指标或整合。

ELK Stack 的一个独特特性是,它允许你监控构建在 WordPress 开源版本上的应用程序。与大多数跟踪管理和 PHP 日志的开箱即用的安全审计日志工具相比,ELK Stack 可以筛选 Web 服务器和数据库日志。

图片 1

4. Rollbar

Nagios始于 1999 年,当时只有一名开发人员,后来发展成为管理日志数据的最可靠的开源工具之一。当前版本的 Nagios 可以与运行 Microsoft Windows、Linux 或 Unix 的服务器集成。

Elasticsearch 是一个实时的分布式搜索和分析引擎,用于全文搜索,构化搜索和分析。它是一个建立在全文搜索引擎Apache Lucene基础上的搜索引擎,使用Java编写。

Sensu 是一个面向应用和系统服务的开源监控框架。它能收集和使用多种工具的度量值,并提供已定义事件报警。Sensu,使用 Ruby 实现,采用“检查和处理器”设定,周期性运行检查脚本,查找预定义条件,如果条件满足,则向处理器报告。处理器用于发送通告或采取其他处置方法。

LOGalyze是一个位于匈牙利的组织,它为系统管理员和安全专家构建开源工具,帮助他们管理服务器日志并将其转换为有用的数据点。其主要产品可供个人或商业用户免费下载。

图片 2

监测是当今生产环境中很重要的一个功能。错误和性能问题任何时间都会出现 —— 不仅仅在业务时间内 —— 所以好的监控工具需要 7 天 24 小时。目前有许多从不同角度解决这个问题的工具,所以弄清楚去采用哪个不是那么简单。

监控网络活动可能是一项单调而乏味的工作,但你有充分的理由要这样做。首先,它可以帮助你查找和调查工作站、连网设备和服务器上的可疑登录,同时确定管理员滥用的源头。还可以跟踪软件安装和数据传输,以便实时识别潜在的问题。

ELK工作流程
在需手机日志的所有服务器部署Logstash,作为Logstash agent(Logstash shipper)用于监控并过滤收集日志,将过滤后的内容发送到Redis,然后Logstash indexer将日志收集在一起交给全文搜索服务Elasticsearch,可用Elasticsearch进行自定义搜索通过Kibana来结合自定义搜索进行页面展示。

ELK Stack 视图

当发生安全或性能事件时,IT 管理员希望能够尽可能快地从症状追溯到根源。Graylog 中的搜索功能使这项工作变得简单。它具有内置的容错功能,可以运行多线程搜索,因此,你可以同时分析多个潜在的威胁。Nagios

图片 3

图片 4

ELK Stack 的最后一部分是 *Logstash*,它是作为一个纯粹的、进入 Elasticsearch 数据库的服务器端管道。你可以使用各种编码语言和 API 集成 Logstash。这样,你的网站和移动应用程序中的信息就可以直接输入到强大的 Elastic Stalk 搜索引擎中。

ELK架构图

其他: ELK Stack,包括 ElasticSearch Logstash, 和 Kibana,是一整套提供搜索分析日志并带有可视化功能的开源工具。这一套工具整合地非常好,所以使用起来也很简单(虽然它并不是必须的)。

如果你的组织的数据源位于许多不同的位置和环境中,那么你的目标应该是尽可能地集中它们。否则,你将难以监控性能并防范安全威胁。

tu开源实时日志分析ELK(ElasticSearch, Logstash, Kibana),方便收集日志,进行集中化管理方便进行日志的统计和检索。日志主要包括系统日志、应用程序日志和安全日志。通常日志被分散存储不同的设备上,若你管理多台服务器,可使用集中化的日志管理,例如开源syslog将所有服务器上的日志收集汇总。

java支持方面:官方文档中说明,Datadog API 支持 Python,Ruby 和 C#。不过,由于它的 API 访问是开放的,因此 Datalog 社团编写了几个 Java 方面的库,其中包括对 StatsD 和 Codahale 测量支持的库。

*Kibana* 是一个可视化工具,它与 Elasticsearch 一起运行,允许用户分析他们的数据并构建强大的报告。当你第一次在服务器集群上安装 Kibana 引擎时,你将获得一个显示数据统计、图形甚至动画的界面。

ELK协议栈

Takipi 的错误分析界面

它主要由以下三个独立的产品组成:

Logstash其实就是一个收集器而已,需为其指定Input和Output。

它由 Dynatrace 开发,Ruxit 是一个应用性能监控工具,它作用于 SaaS 模型。它通过 SaaS 提供不同的 APM 体验,并工作在高扩展性环境中。它作为一个代理安装,不需要你配置环境,它还提供了一个类似于 New Relic 的易于安装的工具。他们监控用户的活动,应用性能,服务器和网络活动。

Nagios 最常用于需要监视本地网络安全性的组织。它可以审计一系列与网络相关的事件,并帮助你自动分发警报。如果满足特定的条件,甚至可以将 Nagios 配置为运行预定义的脚本,从而让你可以在人员介入之前解决问题。

图解:Logstash收集AppServer产生的Log,并存放到Elasticsearch集群中,而Kibana则从ES集群中查询数据生成图表,再返回给浏览器。

2. Ruxit

图片 5

The Elastic Stack不是一个软件而是Elasticsearch、Logstash、Kibana开源软件的集合,对外是作为一个日志管理系统的开源方案。可从任何来源、任何格式进行日志搜索,分析获取数据,并实时进行展示。像盾牌(安全)、监护者(警报)、Marvel(监测)一样为你的 产品提供更多的可能。

图片 6

Fluentd 最大的好处是它与当今最常见的技术工具兼容。例如,你可以使用 Fluentd 从 Web 服务器收集数据,从智能设备收集传感器数据,从 MongoDB 收集动态记录。如何处理这些数据完全由你决定。

解决方案
简单的 Rsyslog、Syslog-ng
商业的Splunk
开源的 Facebook的Scribe, Apache 的 Chukwa、Linkedin的Kafak、Cloudera的Fluented、ELK...

概述: Rollbar 是基于堆栈的错误追踪应用,它能兼容大多数开发语言。但负面影响是它仅能捕获程序未捕捉异常及手动发送的事件。

在 LOGalyze 的 Web 界面中,你可以运行动态报告,并将其导出成 Excel 文件、PDF 或其他格式。这些报告基于 LOGalyze 后台管理的多维统计数据。它甚至可以跨服务器或应用程序组合数据字段,以帮助你发现性能趋势。

集中式日志系统ELK协议栈
一个集中式日志系统特点

图片 7

图片 8

  • Elasticsearch 搜索,提供分布式全文搜索引擎
  • Logstash 日志搜集、管理、存储
  • Kibana 日志过滤web显示
  • Filebeat 监控日志文件、转发

今天,我带来了 7 个监测工具以及它们的新一面,它们都是值得考虑作为像 New Relic 或 AppDynamics 的替代或补充。这些工具包括混合开源和 SaaS 模式,它们每个人都有其在度量、可视化或跟踪错误方面的专长或缺憾。

LOGalyze 被设计成在不到一个小时内就可以完成安装和配置。它预先构建的功能使它能够以法规所要求的格式收集审计数据。例如,LOGalyze 可以很容易地运行不同的 HIPAA 报告,以确保你的组织遵守卫生法规并保持合规性。Fluentd

图片 9

概述: Sensu 是云和服务器监控的一个开源替代框架实现,在搞扩展性和复杂性上还存在一些问题,但它仍然不失为一个度量参数值收集和服务监控的强力工具。

IT 管理员会发现,Graylog 的前端界面易于使用,并且功能强大。Graylog 是围绕仪表板的概念构建的,它允许你选择你认为最有价值的度量标准或数据源,并快速查看随着时间的变化趋势。

The Elastic Stack

劣势: Rollbar 仅能捕获“程序未捕捉异常”。如果你打算捕获程序捕捉异常或其他,只好手工来做。由于依赖顶层程序未捕捉异常处理器,它能忽略由框架产生的异常,避免线程死锁。

Fluentd是一个健壮的数据收集解决方案,并且完全是开源的。它没有提供完整的前端界面,而是作为一个集合层来帮助组织不同的管道。Fluentd 被世界上一些最大的公司使用,但是也可以在较小的组织中实施。

  • Elasticsearch 是一个开源分布式搜索引擎,特点是分布式、零配置、自动发现、索引自动分片、索引副本机制、RESTful风格接口、多数据源、自动搜索负载等。
  • Logstash 是一个完全开源工具,可对日志进行收集、分析,并将其存储供日后使用。
  • Kibana 是一个开源和免费的工具,可为Logstash和Elasticsearch提供日志分析友好的web界面,可帮助您汇总、分析、搜索重要数据日志。

Java视角: Sensu 的检查和处理器脚本能用任何开发语言编写, Sensu 社区提供了Java支持插件。

图片 10

集中化管理日志后,日志统计和检索又称为一件比较麻烦的事情,一般使用grep、awk、wc等命令实现检索和统计,但对于要求更高的查询、排序、统计等要求和庞大的机器数量,依然使用这样的方法难免力不从心。开源实时日志分析ELK平台能完美的解决上述问题。

如今,监控工具是生产环境的重要组成部分。测量结果的可视化、错误追踪、性能监控和应用分析是对应用的运行状况进行深入观测的基本手段。认识到这一需求非常容易,但要选择哪一款监控工具或者哪一组监控工具却异常困难。

图片 11

ELK工作原理

Datadog 仪表盘示例

由于其易于扩展,Graylog 在系统管理员中建立了良好的声誉。大多数 Web 项目开始时规模很小,但是之后可能会成倍增长。Graylog 可以平衡跨后端服务器网络的负载,每天处理几 TB 的日志数据。

环境规划图

结论

它的主要产品是一个日志服务器,其目的是简化数据收集并使系统管理员更容易访问信息。Nagios 日志服务器引擎将实时捕获数据并将其提供给一个强大的搜索工具。由于内置了安装向导,集成新端点或应用程序变得很容易。

图片 12

Graphite 提供了强大的查询访问API和特性丰富的设置。它并不需要设置自身的度量,而是提供Graphite metric protocol ,被多种度量采集器选择的事实协议格式。因此,输入给它的数据完全不是问题。使用 Graphite 能使你为你的应用创建各种视图。

顾名思义,*Elasticsearch* 旨在帮助用户使用多种查询语言和类型在数据集中找出匹配项。速度是这个工具的最大优势。它可以扩展成由数百个服务器节点组成的集群,轻松处理 PB 级的数据。

ELK由Elasticsearch、Logstash、Kibana三部分组成:

成本: 作为开源工具,ELK Stack 没有任何价格负担,但它也可以提供来自 Elastic 专业的服务支持。

Fluentd 基于 JSON 数据格式,可以与500 多个由著名开发人员创建的插件一起使用。这使你可以将日志数据扩展到其他应用程序中,并通过最少的手工工作来进行更好地分析。小结

图片 13

The Java Angle: Ruxit 可以工作在任何 Java 1.5 版本以上的 Java 服务器上。Java 是他们首选语言,因此能获得更好的支持。

如果你还没有把活动日志用于安全考量、政府合规性和生产力度量,那么请务必改变这种情况。市场上有很多插件,它们可以用于多种环境和平台,甚至可以用在你的内部网络上。不要等到发生了严重的事件,才开始采取积极主动的方法来维护和监督日志。

Logstash功能

缺点: Datadog 尚未提供太多数据统计功能,做为一个监控软件,这些功能可能恰恰是你正在寻找的。他们还需要植入你的代码,这会产生代码依赖。

现下有相当多的开源日志跟踪器和分析工具可供使用,这使得为活动日志选择正确的资源变得比想象中更容易。免费和开源软件社区提供了适用于各种站点以及几乎任何操作系统的日志设计,为大家推荐 5 个非常好用的开源日志分析工具。Graylog

ELK协议栈
ELK其实并不是一款软件而是一整套解决方案。

默认的Graphite仪表盘GUI

图片 14

  • 收集 能够采集多种来源的日志数据
  • 传递 能够稳定的把日志数据传输到中央系统
  • 存储 如何存储日志数据
  • 分析 可支持UI分析
  • 警告 能提供错误报告监控机制

开销: 下载 Graphite 是免费的,但是你需要将硬件的因素以及运维的开销考虑在内。 相对于 Graphite 而言,也有许多替代品,如 Grafana 和 InfluxDB 也是免费的。如果你想使用 Graphite,而不希望自己部署,也可以通过付费的方式进行托管。

糟糕的日志跟踪和数据库管理是导致网站性能差的最常见原因之一。如果没有定期检查、优化和清空数据库日志,不仅会降低站点的运行速度,还可能导致完全崩溃。因此,ELK 堆栈对于每个 WordPress 开发人员的工具包来说都是一个优秀的工具。LOGalyze

ELK工作流程

成本: 免费版本, $29/每月, $99/月 and $249/月,区别在与追踪到的事件数量及数据保留长度.

Graylog于 2011 年在德国创建,现在作为开源工具或商业解决方案提供。它被设计成一个集中式日志管理系统,接收来自不同服务器或端点的数据流,并允许用户快速浏览或分析该信息。

图片 15

7. Graphite

日志记录应该是任何监控基础设施中的一个基本过程。要从灾难中恢复 SQL Server 数据库,就需要事务日志文件。此外,通过跟踪日志文件,DevOps 团队和数据库管理员可以保持最佳的数据库性能,或者在网络受到攻击的情况下找到未授权活动的证据。因此,定期监视和分析系统日志非常重要。

5. Sensu

Elastic Stack,通常称为 ELK Stack,是那些需要筛选大量数据并理解其系统日志的组织中最流行的开源工具之一。

图片 16

ELK Stack, 严格来讲,不是一个新产品,但我们常常忽略掉它,不放到我们的讨论列表中。  ELK stack 是一个流行的工具套件,功能涵盖监控、日志和数据可视化。它由 ElasticSearch, Logstash, and Kibana 三部分组成。其中,Elasticsearch 负责搜索和分析,Logstash 是日志聚积器,而 Kibana则提供华丽的可视化仪表盘。我们已经在 Takipi中 使用 ELK Stack一段时间,使用 java 通过日志和Redis 提供输入。这既适用于开发者,同样可用于 BI。今天, Elasticsearch 完美内置了 Logstash,  Kibana 也是灵活的独立工具。它们集成和设置都很简单。你可以按照你的需要灵活搭配这三个工具使用。当实施(推出)新的部署时,仪表盘会遵照你设定的应用健康参数 阀值指示器工作。这些指示器会实时更新,同样允许你在上传产品补丁代码时,暂时关闭监控。

3. Takipi

费用:免费级;专业级,其费用可上下浮动,69美元/服务器/月;企业级。级别的划分是根据保存的数据量,分析的错误数和部署选项而确定的。

Java视角: Graphite 是语言无关的,有许多工具可以从 Java 应用程序收集指标,并将它们发送给 Graphite。

缺点: Graphite 面临开源工具的共同困境(也就是,安装的开销以及部署的问题)。另外,Graphite 在大规模的情况下会遇到问题,这些问题是由 Carbon 和 Whisper 组件的设计决策而来。这是一个偏好问题,但是人们对默认的 GUI 也没有太大的热情。

Takipi告 知你生产环境下的代码在什么时候、因什么原因而终止执行。它对所有错误进行检测,同时会给出出现错误时代码的位置和变量的状态。Takipi 是以 Java 代理的身份运行的,与任何日志文件无关,这样就会减少小于 %3 的 CPU 和 IO 运行花费。安装 Takipi 的时候,也不需要进行代码更改,不需要安装二进制依赖包或者进行构建配置的设置。就像集成 JIRA 和 Slack 那样,Takipi 可以非常简单地插入到工作流程中。

Sensu中的警报

纪要: Graphite 是一个受欢迎的开源软件工具,它以可视化的方式展示从应用程序收集的指标。它有开源软件共同的缺点,以及规模化的限制。不过,如果你愿意付费或者定制,这两方面的缺点都可以通过许多不同的方式来克服。

Ruxit面板

Java支持方面:Takipi 是运行在 JVM 层上的工具。任何不需要其它环境就可以运行在 JVM 上的语言,它都支持。

成本: Sensu Core 核心版(其中的开源项目)免费, 但也提供企业版本,企业版提供附加的集成、支持和特性。企业版费用标准: $2/每服务器/每月, 大规模部署享受折扣.

Rollbar 着眼于错误追踪与监控。它使用堆栈追踪来捕捉应用中出现的错误。这样做的好处是可以支持更多的语言和环境。Rollbar 也提供手工方式深入异常、事件内部,并提供报告的能力。除提供强大的异常捕获能力外,还提供了一些警报和分析能力。

Java支持: Rollbar 没有提供 Java 的官方支持库,但社区提供了一些实现,可以讲你的日志发给 Rollbar.

Takeaway: Ruxit 是一个 SaaS APM 工具,并且它易于安装也易于集成到你的环境中去。工具为你的环境提供一个良好的范围广度,并提供几个不同区域的视图。

劣势:ELK Stack 有着开源工具所通用的缺点(即你需要自己承担工具的安装成本和部署问题)。在大规模数据情况下,需要运行 ELK Stack 的机器数量成倍增长,这就需要你自己来监控和维护这些额外的机器。一种可行的方案是使用托管服务,例如 Logz.io 来减轻这种监控的压力。

图片 17

开放源代码(的监控工具)

上面我提到的7个工具:Datalog,Ruxit,Takipi,Rollbar,Sensu,ELK Stack 和 Graphite 都是值得考虑的。这些工具要么是最近才创建的,要么是这篇文章中未提到的一些大型监控工具的替代工具。选择部署哪款监控工具要明确在哪儿才能搜索这些工 具。这儿所提到的工具就是一个很好的开始。

消耗: Ruxit 监控应用会消耗 $0.15/主机/小时,并且对真实的用户监控(Real User Monitoring)来说每 1000 个访问者就花费 $0.15。

图片 18

费用:它有免费版本和15美元/台/月的标准版本,标准版费用可上下浮动,浮动的多少要看主机的数量。

缺点: Ruxit 没有在空间上提供很多深度功能给其他的 APM 工具。

劣势: 不像 Ruxit,Sensu 并没有真正的实现 APM 工具。它着重于服务器监控。在安装前端, Sensu 依赖 RabbitMQ 和 Redis,及其他依赖,这些依赖包可以在指定的软件仓库中找到。还有一些对于可扩展能力和维护复杂性的担忧。当然,你的需求可能不同。

Rollbar 仪表板

其他:由于 Datadog 具有告警功能,而且可监控性能,因此它可作为一个价格相对便宜的应用程序性能监控器(APM)。有许多集成方案可以让你毫不费力地把它集成到你的运行环境 中。Datadog 是一个强大的采集并可视化测量结果的工具,而不是分析工具,因此如果你需要的是分析工具,那就要另寻它物了。

Java视角: ELK Stack 转为 Java 设计。事实上,ElasticSearch 和 Logstash 运行在 Java 环境。Elastic 要求的 Java 版本最低为 Java7,且所有的 ElasticSearch 节点的 JVM 版本必须相同。

Graphite 是应用程序监控度量值的可视化工具,包括三个组件 (Carbon, Whisper, 和Graphite-web),它的开源特性使得它能被方便定制和改进. 如何构建你自己的 Graphite 构架,可以参看我们的文章 here。

6. ELK stack

1. Datadog

图片 19

Datadog 是 SaaS 监测工具,针对 DevOps 团队,从你的 app 或者其他各种工具获取数据并提供数据可视化功能。它把从你基础设备和软件采集的数据统一处理并存储。允许你创建仪表盘和搜索访问你提供的数据。他们目前提供数据的聚合和展示而不是提供数据分析。

其他:与其他停留在栈追踪层级的工具不同,Takipi 深入到 JVM 层级上,可以按照你的要求向你展示实际运行的代码和变量的状态,以达到对每个错误的解析。通过 Takipi,你可以确定是否是新部署终止了正在运行的代码, 通过深入地分析应用出现的所有错误,聚焦出问题的关键所在。

图片 20

本文由金沙澳门官网4066发布于科技之门,转载请注明出处:开发者最有用的监控工具有哪些呢,个有用的开

关键词: