elasticsearch - 与Kibana进行的 session 总数

标签 elasticsearch monitoring kibana

我在Kibana中的总和有问题。

我的用例是,我的每个服务器都会定期报告打开的 session 数。在Kibana中,我想可视化所有服务器上所有 session 的总数。但是,即使只有一台服务器联机且只有一个 session ,该计数也是错误的(更高)。这是因为Elasticsearch对给定时间段的所有值求和。因此,如果我每10秒报告一次,并且间隔为1分钟秒,则Kibana将 session 计数显示为6。

Kibana sum aggregation

一种方法是将时间间隔手动设置为报告时间间隔(在此示例中为10s)。

Kibana date histogram interval

另一种方法是通过脚本缩放值(将它们除以6):
Kibana script

但是,这两种方法都是很棘手的,需要了解报告间隔。如果以后决定多多少少报告一次,则该图又是错误的。

有人知道更好的解决方案吗?

编辑:

我可以添加一个子存储桶并按服务器分割行,但是我的数据模型稍微复杂一些。我使用多个标签来区分服务器。我目前正在使用application hostinstance标签。在一台主机上,同一应用程序可以有多个实例。实例可以是testdevintegration-testprod等等。一个特定的实例可以部署在不同的主机上。例如,prod可能群集在多个主机上。因此,我至少必须按主机和实例进行拆分,以显示一个应用程序的正确结果,但这在kibana中是不可能的。另外,将来还可以添加其他标签,例如datacenterregion,...

编辑2

这是一个示例数据点:

{
    "name": "http_sessions",
    "application": "My Application",
    "host": "My Host",
    "instance": "Loadtest",
    "count": 21
}

最佳答案

您应该采用平均聚合,然后将其乘以服务器数量。

关于elasticsearch - 与Kibana进行的 session 总数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32761614/

相关文章:

java - elasticsearch lib不能同时添加commons-beanutils和commons-collections

azure - 删除 Log Analytics 工作区是否安全

linux - Munin 内存图缺失

Java异常监控

elasticsearch - Elasticsearch多级嵌套对象过滤器和更新

elasticsearch - Elasticsearch映射通过模板选择所有字段以更改其数据类型Elasticsearch

elasticsearch - geopoint kibana elasticsearch没有出现在tilemap上

javascript - 在 Lambda 的索引名称中包含日志组名称

elasticsearch - 如何根据字段A是否存在或字段B是否存在在Elasticsearch中进行搜索?

docker - 无法连接到在远程Ubuntu服务器上运行的elasticsearch或kibana