首页 文章

与Kibana会话的总和数

提问于
浏览
2

我在Kibana中遇到了汇总问题 .

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

Kibana sum aggregation

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

Kibana date histogram interval

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

但是这两种方法都非常糟糕,需要了解报告间隔 . 如果之后决定更频繁或更不频繁地报告图表再次出错 .

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

Edit

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

Edit 2

这是一个示例数据点:

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

1 回答

  • 0

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

相关问题