带你读《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并实现搜索。  
相关文章
|
前端开发 JavaScript Python
flask 项目目录结构
flask 项目目录结构
467 0
|
机器学习/深度学习 JSON 算法
智能零售柜商品检测软件(Python+YOLOv5深度学习模型+清新界面)
智能零售柜商品检测软件(Python+YOLOv5深度学习模型+清新界面)
1588 0
|
人工智能 物联网 5G
5G如何重塑远程医疗——低延迟、高速连接背后的技术革命
5G如何重塑远程医疗——低延迟、高速连接背后的技术革命
414 12
|
SQL IDE 关系型数据库
入职必会-开发环境搭建18-DataGrip下载和安装
DataGrip是一款由JetBrains开发的跨平台数据库集成开发环境(IDE)软件,支持Windows、macOS和Linux操作系统。它提供了丰富的功能和工具,旨在简化数据库开发和管理的过程。下面是DataGrip的主要特点和功能。
783 0
|
存储 Shell 对象存储
Python 自动化指南(繁琐工作自动化)第二版:十三、使用 EXCEL 电子表格
Python 自动化指南(繁琐工作自动化)第二版:十三、使用 EXCEL 电子表格
830 0
Python 自动化指南(繁琐工作自动化)第二版:十三、使用 EXCEL 电子表格
|
存储 弹性计算 数据库
阿里云优惠券是什么?2024最新阿里云优惠券领取入口、查询和使用方法
阿里云优惠券为用户提供了订单金额抵扣。领取入口包括活动中心和学生专享无门槛300元代金券。com与cn域名有优惠口令可用,代金券可在控制台查询并在结算时使用。
1402 0
|
Linux
centos6和7如何关闭和开启图形界面
centos6和7如何关闭和开启图形界面
868 1
|
安全 数据安全/隐私保护
FileZilla软件下载、站点配置与文件传输的方法
本文介绍FileZilla软件的下载、配置与使用方法~
1124 1
FileZilla软件下载、站点配置与文件传输的方法
|
自然语言处理 Java 物联网
干货!MFTCoder论文多任务微调技术详解
代码大模型(Code LLMs)已经成为一个专门的研究领域,通过使用代码相关数据对预训练模型进行微调来提升模型的编码能力。以往的微调方法通常针对特定的下游任务或场景进行定制,意味着每个任务需要单独进行微调,需要大量的训练资源,并且由于多个模型并存而难于维护和部署。此外,这些方法未能利用不同代码任务之间的内在联系。
1006 0
|
Web App开发 JSON 缓存
HTTP的请求方法,空行,body,介绍请求报头的内部以及粘包问题
HTTP的请求方法,空行,body,介绍请求报头的内部以及粘包问题

热门文章

最新文章

下一篇
开通oss服务