首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在节点js中发出应用程序级别指标

问在节点js中发出应用程序级别指标
EN

Stack Overflow用户
提问于 2020-07-06 10:19:51
回答 1查看 83关注 0票数 0

我想从我的节点应用程序发出指标,以监控到达某个代码分支的频率。例如,我想知道服务调用有多少次没有返回预期的响应。此外,我还希望能够为每个服务调用发出它所花费的时间等。

我希望我将在代码中使用一个客户端,该客户端将向服务器发出指标,然后我将能够在服务器上的仪表板中查看指标。我对可以在我自己的基础设施上托管的开源解决方案更感兴趣。

请注意,我对CPU、内存使用等系统指标不感兴趣。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-06 10:34:58

实现普及日志记录,然后使用Elasticsearch + Kibana之类的东西在仪表板中显示它们。

还有其他的指标仪表板系统,如Grafana,Graphite,Tableu等。其中许多系统发送的指标是与标签相关的数字,如计数函数调用,CPU负载等。我喜欢Kibana解决方案的主要原因是它不是基于指标,而是从您的日志文件中提取指标。

对于您的代码,您真正需要做的唯一一件事就是确保您的日志带有时间戳。

Google for Kibana或"ELK stack“(ELK代表Elasticsearch + Logstash + Kibana),了解如何设置。我第一次设置它时,只花了几个小时就得到了结果。

Node有几个记录器,可以配置为将日志事件发送到ELK。此外,ELK的Logstash (或现代的"Beats")部分可以摄取任何日志文件,并使用regexp解析它们以将数据转发到Elasticsearch,因此您不需要修改软件。

ELK解决方案可以进行简单的配置,或者您可以花费数周的时间来调整您的数据解析和图表,以获得更多的见解-它非常灵活,如何使用它取决于您。

指标vs日志(观点):

当然,您需要的是指标。但是,仅有指标并不能说明问题。你最终想要的是能够分析你的系统以进行调试和优化。这就是日志记录的优势所在。

使用从Kibana之类的日志中提取指标的解决方案,您可以在指标背后深入研究另一层。您可以对其进行查询,以找出导致指标的事件。这在正在运行的系统上并不容易做到,因为您通常必须模拟系统的输入,以获得类似的度量来找出正在发生的事情。但是使用Kibana,你可以分析已经发生的历史事件!

这是我几年前做的一个Kibana设置的旧屏幕截图,用于监控web服务(包括它收到的所有电子邮件):

​

​

注意上面的屏幕截图-除了我从我的系统中提取的图形和指标之外,我还在仪表板的底部显示解析的日志,因此我几乎可以实时查看正在发生的事情。这是我们用来监控订阅、投诉、点击率等的电子邮件接收仪表板。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62748376

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档