带你读《Elastic Stack 实战手册》之55:——3.5.14.Watcher(2)

简介: 带你读《Elastic Stack 实战手册》之55:——3.5.14.Watcher(2)


《Elastic Stack 实战手册》——三、产品能力——3.5 进阶篇——3.5.14.Watcher(1) https://developer.aliyun.com/article/1228143



Watch 定义

 

Watch 由 Trigger、Input、Condition 、Transform 和在满足 Watch Condition 时希望执行的 Actions 组成。

 

l Trigger

l 确定何时检查 watch,watch 必须有触发器。

 

l Input

l 将数据加载到 watch 中。

 

l Condition

l 控制是否执行 watch 操作,如果没有指定条件,条件默认为 always。

 

l Transform

l 处理监视有效负载,使其为监视操作做好准备。你可以在监视级别定义转换或定义特定于操作的转换。可选的。

 

l Action

l 指定在满足监视条件时发生的动作。

 

例如,下面的代码片段显示了 Put Watch 请求,它定义了查找日志错误事件的监视


PUT _watcher/watch/log_error_watch
{
  "trigger": {
    "schedule": {
      "interval": "1m"
    }
  },
  "input": {
  "search": {
      "request": {
        "indices": [
          "logs"
        ],
        "body": {
          "query": {
            "bool": {
              "must": [
                {
                  "match": {
                    "message": "error"
                  }
                }
              ],
              "filter": [
                {
                  "range": {
                    "@timestamp": {
                      "from": "{{ctx.trigger.scheduled_time}}||-5m",
                      "to": "{{ctx.trigger.triggered_time}}"
                    }
                  }
                }
              ]
                  }
          }
        }
      }
    }
  },
  "condition": {
    "compare": {
      "ctx.payload.hits.total": {
        "gt": 3
      }
    }
  },
  "actions": {
    "log_error": {
      "logging": {
        "text": "Found {{ctx.payload.hits.total}} errors in the logs"
      }
    }
  }
  }

1、Metadata

元数据——可以将可选的静态元数据附加到 watch 上。

 

2、Trigger

触发器——这个调度触发器每5分钟执行一次 watch。

 

3、Input

输入—检索 log-events 索引中的错误。


 4、Condition

条件——这个条件检查是否有超过5个错误事件,如果满足条件,将触发 actions。

 

5、Actions

动作-这个 watch 有两个动作。my_webhook 动作将问题通知给第三方系统。 email_administrator 动作向系统管理员发送邮件。

 

测试Watcher

 

在上面,我们每隔 1 分钟检查一次,但是在实际的实践中,我们的这个 interval 可能会是1个小时,或者是1天的实践。我们不可能去等这么长的时间来测试这个 watcher。Elastic 为了方便我们的测试,提供了 _execute 接口:


PUT _watcher/watch/log_error_watch/_execute

通过上面的接口,我们不需要等在 schedule 中设置的那么久的时间才运行一下我们的 watcher。上面的命令可以直接帮我们运行 watcher。

 

我们连续运行如下的命令4次:


POST logs/event?pipeline=add-timestamp
{
  "request": "GET index.html",
  "status_code": 404,
  "message": "Error: File not found"
}

然后接着运行:

PUT _watcher/watch/log_error_watch/_execute

这样,我们就不用等每隔1分钟才可以看到输出的结果。我们立马在 Elasticsearch Server 的日志中看到输出:

image.png


至此,我们已经完整地创建并测试了我们的 Watcher。

 

《Elastic Stack 实战手册》——三、产品能力——3.5 进阶篇——3.5.14.Watcher(3) https://developer.aliyun.com/article/1228141


相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
相关文章
|
SQL IDE 关系型数据库
入职必会-开发环境搭建18-DataGrip下载和安装
DataGrip是一款由JetBrains开发的跨平台数据库集成开发环境(IDE)软件,支持Windows、macOS和Linux操作系统。它提供了丰富的功能和工具,旨在简化数据库开发和管理的过程。下面是DataGrip的主要特点和功能。
903 0
|
存储 Shell 对象存储
Python 自动化指南(繁琐工作自动化)第二版:十三、使用 EXCEL 电子表格
Python 自动化指南(繁琐工作自动化)第二版:十三、使用 EXCEL 电子表格
888 0
Python 自动化指南(繁琐工作自动化)第二版:十三、使用 EXCEL 电子表格
带你读《Elastic Stack 实战手册》之55:——3.5.14.Watcher(1)
带你读《Elastic Stack 实战手册》之55:——3.5.14.Watcher(1)
410 0
|
JavaScript 网络协议 PHP
使用阿里云npm镜像加速
npm(node package manager)是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种: 允许用户从NPM服务器下载别人编写的第三方包到本地使用。 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。 允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。 由于新版的nodejs已经集成了npm,所以之前npm也一并安装好了。同样可以通过输入 "npm -v" 来测试是否成功安装。命令如下,出现版本提示表示安装成功
58974 4
|
15天前
|
人工智能 自然语言处理 文字识别
阿里云百炼Qwen3.7-Max简介:能力、优势、支持订阅计划参考
Qwen3.7-Max是阿里云百炼面向智能体时代推出的新一代旗舰模型,对标GPT-5.5、Claude Opus 4.7等闭源旗舰。该模型支持百万级token上下文窗口,具备顶级推理能力、多模态搜索与视觉理解增强、流式输出低延迟响应等核心优势,覆盖编程、办公、长周期自主执行等复杂场景。同时支持OpenAI接口兼容,便于系统快速迁移。用户可通过Token Plan团队或节省计划等订阅方式灵活调用,适合企业级高要求场景使用。
5791 29
阿里云百炼Qwen3.7-Max简介:能力、优势、支持订阅计划参考
|
10天前
|
存储 定位技术 数据库
CodeGraph 如何让 Claude Code减少 7 成工具调用?
CodeGraph 为 Coding Agent 提供本地代码知识图谱,把函数、类、调用链和框架路由提前整理成“项目地图”,减少盲目搜索和文件读取。它不是新 Agent,而是上下文基础设施,让 Agent 更快找到正确代码路径,平均减少 7 成工具调用。
1168 2
|
7天前
|
人工智能 安全 定位技术
CodeGraph深度解析 让Claude Code工具调用直降七成的核心原理与实操教程
如今以Claude Code为代表的AI编程智能体已经成为开发者日常编码、项目重构、漏洞修复的必备工具。但在长期使用过程中,几乎所有开发者都会遇到同一个明显痛点:AI虽然具备强大的代码生成与分析能力,却常常陷入盲目探索的循环中。
941 1

热门文章

最新文章