问题标签 [elasticsearch-watcher]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2635 浏览

json - Elasticsearch watcher and Microsoft Teams webhook

I have been trying desperately for 5 days to create an elasticsearch watcher alert that sends a notification on an incoming webhook teams. However, the answer I receive is "Bad payload received by generic incoming webhook". I do not understand why it does not work.

And this is the response when I launch it:

0 投票
1 回答
501 浏览

elasticsearch - elasticsearch观察者没有显示正确的时间格式

我正在构建一个观察者,以根据该索引何时收到有关失败作业的报告来发送警报。在“发现”选项卡中,日期NextRunDate显示得非常好:

但是当我试图用观察者拉它时,它不知何故落后了:

我不得不将“(减去 5 小时)”部分添加到查询中,以便它暂时正确显示。这是完整的观察者:

不确定问题是什么,因为 kibana 本身在“发现”选项卡上正确显示了日期。我的format领域没有了吗?

0 投票
1 回答
58 浏览

elastic-stack - 基于监视器关闭/恢复的电子邮件警报

我对此很陌生,但我需要一些关于我的观察者设置的帮助。- 我正在使用 X-Pack Watchers。

我已经设置了 Heartbeat,我目前有 7 台显示器。即monitor-01 monitor-02等。

我需要帮助设置我的确切场景,我需要 3 个场景的帮助:

场景 1:如果 monitor-01 离线,我只想向“test@domain.com”发送 1 封电子邮件,正文为:“您好,monitor-01 刚刚离线!请检查,谢谢。”

如果 monitor-02 离线,我想要与上面完全相同的结果。如果监视器关闭,我不希望每秒/分钟有多封电子邮件提醒我,我只想要一封电子邮件。

场景 2:如果 monitor-01 或我的任何监视器处于脱机状态...每 3 小时,我希望发送一封刷新电子邮件(我希望电子邮件正文包含特定监视器停机的时间,即监视器停机 120 小时13 分钟)。因此,如果 3 小时过去了,我想向“test@domain.com”发送一封电子邮件,正文为:“您好,这是一个提醒电子邮件,monitor-01 仍处于离线状态!请检查,谢谢。”

场景 3:如果任何监视器重新联机,我想向“test@domain.com”发送一封电子邮件,正文如下:“您好,好消息!监视器 02 重新联机。监视器已关闭7 小时 12 分钟。谢谢。”

有人可以帮忙吗?我到处寻找,找不到创建上述场景的正确语法。这些将是我认为可以使社区的其他成员受益的场景。

Ps,我目前在论坛上找到了一块高级手表,但不符合我的标准。这是它的代码:

如果监视器出现故障,我整理的上述脚本每 30 秒发送一封电子邮件,这不是我想要的。

将所有内容放在一起后,电子邮件中的内容如下: 主题:监视器已关闭:[UAT] 测试网站正文:您好,当前有一个监视器离线。请检查...

有人可以协助我的方案吗?我已经在这上面花了好几天了。很多小时过去了,没有多少可以从中出来!

谢谢。

0 投票
0 回答
94 浏览

elasticsearch - 什么是watcher管理&执行节点

我们有一个拥有大量观察者的弹性集群。正因为如此,我们有一个连续的峰值搜索负载,但能够处理它。在越来越多的观察者看来,我们不确定当前的实现是否真的可扩展。

我找不到任何解释观察者工作流程并寻找更多详细知识的来源。问题如下:

  • 谁管理/协调观察者的执行?是当前的主节点吗?
  • 哪个节点发出观察者执行?还是现在的主人?
  • 在哪个节点上执行搜索、转换和操作阶段?掌握?
  • 有没有配置观察者管理/执行节点的选项?
  • 并发观察者执行是否有任何限制?例如,如果在给定时间有许多观察者计划执行,执行顺序是什么,工作人员/线程数是否受到限制?

参考/来源将不胜感激,在此先感谢您!

0 投票
0 回答
454 浏览

elasticsearch - 带有中间数组的弹性搜索观察者链输入

问题

我在观察者中链接不同的弹性搜索查询。我简短我想这样做:

  • 找到 container_ids
  • 对具有任何这些 container_id 的所有条目运行查询

第一个查询给了我一个数组。所以我想将该数组作为输入传递给terms query。麻烦的是ctx.payload...变量似乎只在字符串中扩展。

会给我这样的错误:

无法识别的令牌“ctx”

有没有办法在不扩展为字符串的情况下插入数组?如果我使用“ctx.payload.first_query._value”,他将查询字符串"[id1, id2]"...

当前的解决方法

我目前已经实现了一个通过正则表达式传递的解决方法,但这似乎有点笨拙:

0 投票
0 回答
260 浏览

kibana - Kibana Watcher 到 Slack 调用导致 400

我已经设置了一个 Kibana 观察者,它应该在满足条件时向通道发送一条松弛消息。Watcher 似乎工作正常,它能够查询日志、获取命中、准备有效负载以将消息发布到 Slack 频道。但是对 slack 的调用会导致 400 错误(无效的有效负载),而当通过邮递员尝试相同的有效负载时,似乎没问题。(唯一的区别是在 Kibana watcher 中,用于松弛 POST 调用的 body json 被视为字符串,而在尝试通过邮递员时,我必须使用已解析的 json 对象)。

观察者动作:

watcher error 中记录的响应:

如果我使用上面相同的正文字段,将其解析为 json,并使用邮递员进行 post 调用,我会得到 200 Ok 响应,并且消息会发布到 slack 频道。不知道我错过了什么。

0 投票
0 回答
86 浏览

elasticsearch - kibana watcher 中的条件警报

是否可以设置警报条件,如..警报应在达到阈值后 10 分钟后触发..

注意:我们必须在达到阈值后等待 10 分钟 .. 只想知道该值是否正在耗尽 .. 如果没有,则应该触发警报。

谢谢, 维卢 G

0 投票
1 回答
236 浏览

elasticsearch - Elasticsearch Kibana 中同一字段的多个通配符条件

我正在elasticsearch中寻找与此等效的东西-

它有多个匹配条件和一个固定条件为 CITY。

我正在尝试像上面那样,但它不起作用。我只能使用一个通配符参数使其工作。但是,一旦我尝试为同一字段保留多个结果,我得到的结果为零。

0 投票
1 回答
618 浏览

elasticsearch - 日志中出现错误时通过弹性发送电子邮件

每当我的 Elastic 搜索出现任何错误时,我都需要自动发送电子邮件。有没有办法做到。我不想为此使用 Elastic Cloud。

我可以在 Kibana 中使用 Watcher,但我的问题是“Watcher”是否在本地也可以与云一起使用?请帮忙!

0 投票
0 回答
53 浏览

java - Watcher 中的空哈希映射值

我有 2 个 hashmap 对象,ctx.vars.hashOld并且ctx.vars.hashNew包含:

{(agg_ecpm_hourly_prt_20210103_20210109 AND anly_prod AND anly_prod_db AND anly_prod)=7918041, (multikey_lift_history AND anly_prod AND anly_prod_db AND anly_prod)=32306281, (agg_dmm_hourly_prt_20210103_20210109 AND anly_prod AND anly_prod_db AND anly_prod)=39292548, (agg_dmm_daily_prt_20201129_20201205 AND anly_prod AND anly_prod_db AND anly_prod)=6065195, ( dim_global_multikey_lookup_history AND anly_prod AND anly_prod_db AND anly_prod)=79897376, (traceability_stats_hourly_prt_20201101_20201107 AND ops_ma AND anly_prod_db AND anly_prod)=20613344, (traceability_line_item_prt_20210103_20210109 AND ops_ma AND anly_prod_db AND anly_prod)=29406842, (rtap_agg_pacing_health AND anly_prod AND anly_prod_db AND anly_prod)=18532079, (traceability_stats_hourly_prt_20201213_20201219 AND ops_ma AND anly_prod_db AND anly_prod)=25817110,(agg_trafficscope_hourly_prt_20210103_20210109 AND anly_prod AND anly_prod_db AND anly_prod)=18463490, (traceability_line_item_prt_20201227_20210102 AND ops_ma AND anly_prod_db AND anly_prod)=38672393, (traceability_stats_hourly_prt_20201206_20201212 AND ops_ma AND anly_prod_db AND anly_prod)=26292726, (agg_dmm_daily_prt_20201108_20201114 AND anly_prod AND anly_prod_db AND anly_prod)=5677117, (traceability_io_prt_20210103_20210109 AND ops_ma AND anly_prod_db AND anly_prod)=11932531, (agg_settings_model_hourly_prt_20210103_20210109 AND anly_prod AND anly_prod_db AND anly_prod)=3690857, (dim_company_multikey_lookup_history AND anly_prod AND anly_prod_db AND anly_prod)=52817881, (agg_stats_new_metrics AND anly_prod AND anly_prod_db AND anly_prod)=1312744,(traceability_stats_hourly_prt_20201220_20201226 AND ops_ma AND anly_prod_db AND anly_prod)=25207340, (agg_stats_daily AND anly_prod AND anly_prod_db AND anly_prod)=1930913, (rtap_agg_pacing_health AND anly_stage AND anly_prod_db AND anly_prod)=946000, (traceability_stats_hourly_prt_20201108_20201114 AND ops_ma AND anly_prod_db AND anly_prod)=22141144, (traceability_line_item_prt_20201220_20201226 AND ops_ma AND anly_prod_db AND anly_prod)=38034899, (traceability_stats_hourly_prt_20210103_20210109 AND ops_ma AND anly_prod_db AND anly_prod)=17349196, (agg_dmm_daily_prt_20201122_20201128 AND anly_prod AND anly_prod_db AND anly_prod)=6195309, (traceability_io_prt_20201227_20210102 AND ops_ma AND anly_prod_db AND anly_prod)=15908106, (traceability_io_prt_20201220_20201226 AND ops_ma AND anly_prod_db AND anly_prod)=16732576}(agg_stats_daily AND anly_prod AND anly_prod_db AND anly_prod)=1930913, (rtap_agg_pacing_health AND anly_stage AND anly_prod_db AND anly_prod)=946000, (traceability_stats_hourly_prt_20201108_20201114 AND ops_ma AND anly_prod_db AND anly_prod)=22141144, (traceability_line_item_prt_20201220_20201226 AND ops_ma AND anly_prod_db AND anly_prod)=38034899, (traceability_stats_hourly_prt_20210103_20210109 AND ops_ma AND anly_prod_db AND anly_prod)=17349196, (agg_dmm_daily_prt_20201122_20201128 AND anly_prod AND anly_prod_db AND anly_prod)=6195309, (traceability_io_prt_20201227_20210102 AND ops_ma AND anly_prod_db AND anly_prod)=15908106, (traceability_io_prt_20201220_20201226 AND ops_ma AND anly_prod_db AND anly_prod)=16732576}(agg_stats_daily AND anly_prod AND anly_prod_db AND anly_prod)=1930913, (rtap_agg_pacing_health AND anly_stage AND anly_prod_db AND anly_prod)=946000, (traceability_stats_hourly_prt_20201108_20201114 AND ops_ma AND anly_prod_db AND anly_prod)=22141144, (traceability_line_item_prt_20201220_20201226 AND ops_ma AND anly_prod_db AND anly_prod)=38034899, (traceability_stats_hourly_prt_20210103_20210109 AND ops_ma AND anly_prod_db AND anly_prod)=17349196, (agg_dmm_daily_prt_20201122_20201128 AND anly_prod AND anly_prod_db AND anly_prod)=6195309, (traceability_io_prt_20201227_20210102 AND ops_ma AND anly_prod_db AND anly_prod)=15908106, (traceability_io_prt_20201220_20201226 AND ops_ma AND anly_prod_db AND anly_prod)=16732576}(traceability_stats_hourly_prt_20201108_20201114 AND ops_ma AND anly_prod_db AND anly_prod)=22141144, (traceability_line_item_prt_20201220_20201226 AND ops_ma AND anly_prod_db AND anly_prod)=38034899, (traceability_stats_hourly_prt_20210103_20210109 AND ops_ma AND anly_prod_db AND anly_prod)=17349196, (agg_dmm_daily_prt_20201122_20201128 AND anly_prod AND anly_prod_db AND anly_prod)=6195309, (traceability_io_prt_20201227_20210102 AND ops_ma AND anly_prod_db AND anly_prod)=15908106, (traceability_io_prt_20201220_20201226 AND ops_ma AND anly_prod_db AND anly_prod)=16732576}(traceability_stats_hourly_prt_20201108_20201114 AND ops_ma AND anly_prod_db AND anly_prod)=22141144, (traceability_line_item_prt_20201220_20201226 AND ops_ma AND anly_prod_db AND anly_prod)=38034899, (traceability_stats_hourly_prt_20210103_20210109 AND ops_ma AND anly_prod_db AND anly_prod)=17349196, (agg_dmm_daily_prt_20201122_20201128 AND anly_prod AND anly_prod_db AND anly_prod)=6195309, (traceability_io_prt_20201227_20210102 AND ops_ma AND anly_prod_db AND anly_prod)=15908106, (traceability_io_prt_20201220_20201226 AND ops_ma AND anly_prod_db AND anly_prod)=16732576}(traceability_stats_hourly_prt_20210103_20210109 AND ops_ma AND anly_prod_db AND anly_prod)=17349196, (agg_dmm_daily_prt_20201122_20201128 AND anly_prod AND anly_prod_db AND anly_prod)=6195309, (traceability_io_prt_20201227_20210102 AND ops_ma AND anly_prod_db AND anly_prod)=15908106, (traceability_io_prt_20201220_20201226 AND ops_ma AND anly_prod_db AND anly_prod)=16732576}(traceability_stats_hourly_prt_20210103_20210109 AND ops_ma AND anly_prod_db AND anly_prod)=17349196, (agg_dmm_daily_prt_20201122_20201128 AND anly_prod AND anly_prod_db AND anly_prod)=6195309, (traceability_io_prt_20201227_20210102 AND ops_ma AND anly_prod_db AND anly_prod)=15908106, (traceability_io_prt_20201220_20201226 AND ops_ma AND anly_prod_db AND anly_prod)=16732576}

{(agg_dmm_daily_prt_20201122_20201128 AND anly_prod AND anly_prod_db AND anly_prod)=6215465, (traceability_stats_hourly_prt_20210103_20210109 AND ops_ma AND anly_prod_db AND anly_prod)=17935050, (dim_global_multikey_lookup_history AND anly_prod AND anly_prod_db AND anly_prod)=82151687, (agg_dmm_hourly_prt_20210103_20210109 AND anly_prod AND anly_prod_db AND anly_prod)=42790683, ( traceability_io_prt_20201220_20201226 AND ops_ma AND anly_prod_db AND anly_prod)=15834156, (agg_ecpm_hourly_prt_20210103_20210109 AND anly_prod AND anly_prod_db AND anly_prod)=8532763, (agg_dmm_daily_prt_20201108_20201114 AND anly_prod AND anly_prod_db AND anly_prod)=5682918, (traceability_stats_hourly_prt_20201220_20201226 AND ops_ma AND anly_prod_db AND anly_prod)=23179579, (traceability_line_item_prt_20210110_20210116 AND ops_ma AND anly_prod_db AND anly_prod)=6030912,(traceability_line_item_prt_20210103_20210109 AND ops_ma AND anly_prod_db AND anly_prod)=30413191, (agg_settings_model_hourly_prt_20210103_20210109 AND anly_prod AND anly_prod_db AND anly_prod)=4302495, (agg_trafficscope_hourly_prt_20210103_20210109 AND anly_prod AND anly_prod_db AND anly_prod)=23497940, (agg_dmm_hourly_prt_20210110_20210116 AND anly_prod AND anly_prod_db AND anly_prod)=8878420, (agg_stats_daily AND anly_prod AND anly_prod_db AND anly_prod)=1942286, (traceability_stats_hourly_prt_20201206_20201212 AND ops_ma AND anly_prod_db AND anly_prod)=24699429, (traceability_stats_hourly_prt_20201101_20201107 AND ops_ma AND anly_prod_db AND anly_prod)=20613344, (agg_stats_new_metrics AND anly_prod AND anly_prod_db AND anly_prod)=1487951, (multikey_lift_history AND anly_prod AND anly_prod_db AND anly_prod)=33413054,(dim_company_multikey_lookup_history AND anly_prod AND anly_prod_db AND anly_prod)=57462519, (traceability_stats_hourly_prt_20201108_20201114 AND ops_ma AND anly_prod_db AND anly_prod)=22081784, (traceability_io_prt_20210103_20210109 AND ops_ma AND anly_prod_db AND anly_prod)=12327906, (agg_dmm_daily_prt_20201129_20201205 AND anly_prod AND anly_prod_db AND anly_prod)=6072952, (rtap_agg_pacing_health AND anly_prod AND anly_prod_db AND anly_prod)=18430105, (traceability_line_item_prt_20201220_20201226 AND ops_ma AND anly_prod_db AND anly_prod)=38564796, (traceability_io_prt_20201227_20210102 AND ops_ma AND anly_prod_db AND anly_prod)=14163152, (traceability_line_item_prt_20201227_20210102 AND ops_ma AND anly_prod_db AND anly_prod)=34909797, (traceability_stats_hourly_prt_20201213_20201219 AND ops_ma AND anly_prod_db AND anly_prod)=23921212}(traceability_stats_hourly_prt_20201213_20201219 AND ops_ma AND anly_prod_db AND anly_prod)=23921212}

分别。它们包含相同的键,但具有不同的值。我正在尝试计算同一键的值之间的差异,但是null在使用一个对象的键作为获取另一个对象的值的输入时获取值:

我会得到这样的东西test

{0=[null, 18430105], 1=[null, 6030912], 2=[null, 6215465], 3=[null, 17935050], 4=[null, 23497940], 5=[null, 23179579], 6 =[null, 15834156], 7=[null, 6072952], 8=[null, 42790683], 9=[null, 57462519], 10=[null, 82151687], 11=[null, 1487951], 12=[空, 14163152], 13=[空, 30413191], 14=[空, 22081784], 15=[空, 1942286], 16=[空, 33413054], 17=[空, 12327906], 18=[空, 23921212], 19=[null, 5682918], 20=[null, 38564796], 21=[null, 34909797], 22=[null, 20613344], 23=[null, 4302495], 24=[null, 24699429] , 25=[null, 8878420], 26=[null, 8532763]}

即使mapOld肯定有相同的键mapNew。关于为什么会发生这种情况的任何想法?

更新我实际上是在将一个 StringBuilder 对象传递给密钥。使用 更改为字符串类型toString()。除此之外,我没有使用来自 的键keySet(),而是将它们放入单独的字符串列表中并使用它,现在我看到了想要的结果。