指标和事件之间有什么区别?

当我们采用监控技术和工具时,我们从系统中收集所有类型的数据。例如,我们可能希望并排查看应用程序指标,数据库日志和网络流量。我们并不总是谈论这些类型的数据的差异,所以今天我们讨论的问题是我最常问的问题:指标和事件之间有什么区别?

图片标题

看看你是否能发现差异!

技术差异

度量和事件是两种不同类型的时间序列数据:常规和不规则。常规数据(指标)在时间上均匀分布,可用于预测等流程。不规则数据(事件)是不可预测的,虽然它们仍按时间顺序发生,但事件之间的间隔不一致,这意味着使用它们进行预测或平均可能会导致不可靠的结果。

基本差异是指标以固定间隔发生,而事件则没有。想象一下,我正在监控我的个人网站 - 我想跟踪响应代码以确保网站可用,所以我会经常收集它们。然后,我可以查询这些响应代码指标,以确定我的网站停机时间的百分比(因为它太受欢迎)。但我也想知道用户何时点击广告。我不知道何时或是否会发生这种咔嗒声,所以定期收集是没有意义的。如果我在过去一年中有12次点击,那么平均每月只需点击一次,无论他们是否都可以在10月份(我的受欢迎程度达到顶峰)。

图片标题

它的时间序列与八卦相遇!

为了将事件数据用于预测或平均值,必须将其转换为常规数据。如果您对时间序列数据建模感兴趣,我建议您阅读此博客,了解如何对数据进行整形和分析。如果您正在使用InfluxDB,您可以在此处查看使用不规则时间序列数据的示例。

因为度量和事件是不同类型的数据,所以这改变了数据库如何有效地存储和压缩被摄取的数据(例如,对于不同类型的数据可能需要不同的压缩算法)。这就是为什么在InfluxDB,我们强调跟踪指标和事件的能力 - 不是每个系统都能同时做到这两点,并不是每个系统都针对这两个系统进行了优化。理想情况下,我们的数据库可以完成它的工作,我们不必担心它处理数据的方式。我们可以将指标和事件发送到InfluxDB,而无需了解或关心数据库如何区分这两者。

实际差异

我们与数据交互的方式取决于它是常规还是不规则,因此有时我们需要知道我们收集的数据是指标还是事件。例如,指标可用于聚合,因为我们的数据在时间上均匀分布。我们不希望使用不规则数据来查找聚合,因为它们不会在时间上均匀分布,并且它们将返回一些无用的结果。

监控指标和事件

我想密切关注我的存钱罐。现在,我只关心一个指标:总资金。任何人都可以把钱存入我的存钱罐,所以我想以一分钟的间隔报告总资金。这意味着每分钟,我的数据库都会收到一个数据点,其中包含我的存钱罐中的时间戳和总资金数量。

图片标题

她的名字是Oinky,她是一名优秀的会计师。

现在,我想跟踪我的存钱罐的具体事件:存款和取款。当存款发生时,我的数据库将收到一个带有“存款”标签的数据点,时间戳和存款金额。同样,当发生提款时,我的数据库将收到一个带有“提款”标签,时间戳和提款金额的数据点。

这个非常简单的数据集可以确保我的存钱罐报告的总资金与总存款和取款相匹配。这与我的父母平衡支票簿的方式相同,就像我在零售生涯中用来关闭收银机一样。

想象一下,这与网上银行背后的基本理念相同。我们可以添加更多元数据来为事件添加细节,例如将用户ID附加到存款或取款。

结论

指标和事件是互补的。监控这两者的能力比以往任何时候都更加必要,而且不应该让数据科学家能够做到这一点(尽管数据科学家非常酷)。

猜你喜欢

转载自blog.csdn.net/Tybyqi/article/details/88691092