监视器入门

Getting Started with Watcher

  当您将X-Pack安装到Elasticsearch和Kibana时,监视器会自动启用。

  设置监控开始发送警报:

  • 计划监控并定义输入。
  • 添加一个条件,检查是否需要发送警报。
  • 配置一个在满足条件时发送警报的操作。

Schedule the Watch and Define an Input

  一个监控计划控制触发监控的频率。监控输入获取希望评估的数据。   

  要定期搜索日志数据并将结果加载到监控中,您可以使用间隔时间表和搜索输入。例如,以下监控每10秒搜索logs索引错误。 

PUT _xpack/watcher/watch/log_error_watch
{
  "trigger" : {
    "schedule" : { "interval" : "10s" } 【1】
  },
  "input" : {
    "search" : {
      "request" : {
        "indices" : [ "logs" ],
        "body" : {
          "query" : {
            "match" : { "message": "error" }
          }
        }
      }
    }
  }
}

  【1】计划通常配置为运行频率较低。该例子将间隔设置为10秒,以便你可以轻松的查看正在触发的监控。由于此监控运行频繁,不要忘记在完成实验后删除监控。

  假如你去检查监控的历史,你将看到该监控每10秒被触发。然而,搜索没有返回任何结果,所以没有什么被加载到监控的有效负荷。

  例如,以下请求从监视历史记录中检索最后十次监视执行(观察记录):

GET .watcher-history*/_search?pretty
{
  "sort" : [
    { "result.execution_time" : "desc" }
  ]
}

Add a Condition

  条件评估您加载到监视的数据,并确定是否需要执行任何操作。现在,您已经将错误日志加载到监视中,您可以定义一个条件,以检查是否发现任何错误。

  例如,以下比较条件只需检查查询输入是否返回任何命中。

PUT _xpack/watcher/watch/log_error_watch
{
  "trigger" : { "schedule" : { "interval" : "10s" }},
  "input" : {
    "search" : {
      "request" : {
        "indices" : [ "logs" ],
        "body" : {
          "query" : {
            "match" : { "message": "error" }
          }
        }
      }
    }
  },
  "condition" : {
    "compare" : { "ctx.payload.hits.total" : { "gt" : 0 }} 【1】
  }
}  

  【1】:比较条件允许您轻松地与执行上下文中的值进行比较。

  为了将此比较条件求值为true,您需要向日志索引中添加一个包含错误的事件。例如,以下请求向日志索引中添加404错误:

POST logs/event
{
    "timestamp" : "2015-05-17T18:12:07.613Z",
    "request" : "GET index.html",
    "status_code" : 404,
    "message" : "Error: File not found"
}

  一旦您添加了该事件,在监视下一次执行的时候,该条件将评估为true。每次执行监视时,条件结果都将作为watch_record的一部分进行记录,因此您可以通过搜索监视历史记录来验证条件是否满足:

GET .watcher-history*/_search?pretty
{
  "query" : {
    "bool" : {
      "must" : [
        { "match" : { "result.condition.met" : true }},
        { "range" : { "result.execution_time" : { "from" : "now-10s" }}}
      ]
    }
  }
}

Configure an Action

  在监视历史中记录监视记录是不错的,但是当监控条件被满足时,监控的真正实力就能够做到。当监视条件被评估为true时,监视的动作定义应做什么。你可以发送电子邮件,调用第三方webhooks,向Elasticsearch索引写文档,或向标准Elasticsearch日志文件中记录消息。

  例如,当检测到错误时,以下操作会将消息写入Elasticsearch日志。

PUT _xpack/watcher/watch/log_error_watch
{
  "trigger" : { "schedule" : { "interval" : "10s" }},
  "input" : {
    "search" : {
      "request" : {
        "indices" : [ "logs" ],
        "body" : {
          "query" : {
            "match" : { "message": "error" }
          }
        }
      }
    }
  },
  "condition" : {
    "compare" : { "ctx.payload.hits.total" : { "gt" : 0 }}
  },
  "actions" : {
    "log_error" : {
      "logging" : {
        "text" : "Found {{ctx.payload.hits.total}} errors in the logs"
      }
    }
  }
}

Delete the Watch

  自由于log_error_watch被配置为每10秒运行,因此在完成实验后请确保将其删除。否则,该样本监视的噪音(niose)将使您很难看到您的监视历史记录和日志中发生了什么。

  移除该监视,使用DELETE watch API:

DELETE _xpack/watcher/watch/log_error_watch

Where to Go Next

  • 有关监视和监视生命周期的解剖结构的更多信息,请参阅监控器的工作原理
  • 有关设置监视的更多实例,请参阅监视例子
  • 请参阅Elastic实例中的监视例子,以获取更多监视实例,您可以将其作为构建自定义监视的起点。

原文地址:https://www.elastic.co/guide/en/x-pack/5.0/watcher-getting-started.html

时间: 2024-12-28 13:47:31

监视器入门的相关文章

HTTP监视器charles入门使用教程分享---http/s packet monitors---ubuntu installation

APT repository Charles has an APT repository for Debian-based Linux distributions. NB: The keys for the repo changed on 26 July 2016, to utilise a larger key size and stronger digests. Existing users of the APT repository will need to import the new

(转载)Java多线程入门理解

转载出处http://blog.csdn.net/evankaka 写在前面的话:此文只能说是java多线程的一个入门,其实Java里头线程完全可以写一本书了,但是如果最基本的你都学掌握好,又怎么能更上一个台阶呢?如果你觉得此文很简单,那推荐你看看Java并发包的的线程池(Java并发编程与技术内幕:线程池深入理解),或者看这个专栏:Java并发编程与技术内幕.你将会对Java里头的高并发场景下的线程有更加深刻的理解. 目录(?)[-] 一扩展javalangThread类 二实现javalan

Node.js入门:事件机制

Evented I/O for V8 JavaScript 基于V8引擎实现的事件驱动IO. 事件机制的实现 Node.js中大部分的模块,都继承自Event模块(http://nodejs.org/docs/latest/api/events.html ).Event模块(events.EventEmitter)是一个简单的事件监听器模式的实现.具有addListener/on,once,removeListener,removeAllListeners,emit等基本的事件监听模式的方法实现

Apache Commons IO入门教程(转)

Apache Commons IO是Apache基金会创建并维护的Java函数库.它提供了许多类使得开发者的常见任务变得简单,同时减少重复(boiler-plate)代码,这些代码可能遍布于每个独立的项目中,你却不得不重复的编写.这些类由经验丰富的开发者维护,对各种问题的边界条件考虑周到,并持续修复相关bug. 在下面的例子中,我们会向你演示一些不同功能的方法,这些功能都是在org.apache.commons.io包下.Apache Commons IO 是一个巨大工程,我们不会深入去剖析它的

JVM性能优化入门指南

前言 入门JVM垃圾回收机制后,接下来可以学习性能调优了.主要有两部分内容: JDK工具的使用. 调优策略. 兵器谱 jps 列出正在运行的虚拟机进程,用法如下: jps [-option] [hostid] 选项 作用 q 只输出LVMID,省略主类的名称 m 输出main method的参数 l 输出完全的包名,应用主类名,jar的完全路径名 v 输出jvm参数 jstat 监视虚拟机运行状态信息,使用方式: jstat -<option> <pid> [interval[s|

关于黑客,你了解多少?----黑客入门学习(常用术语+DOS操作)

关于黑客,你了解多少?----黑客入门学习(常用术语+DOS操作) ·1.1·前言 黑客一次是由英语"Hacker"英译出来的,是指专门研究.发现计算机和网络漏洞的计算机爱好者,他们伴随着计算机和网络的发展而产生成长.黑客对计算机有着狂热的兴趣和执着的追求,他们不断的研究计算机和网络知识,发现计算机和网络中存在的漏洞,喜欢挑战高难度的网络系统并从中找到漏洞,然后向管理员提出解决和修补漏洞的方法. 黑客的出现推动了计算机和网络的发展与完善.他们所做的不是恶意破坏,他们是一群纵横于网络的大

IOS开发语言Swift入门连载---属性

IOS开发语言Swift入门连载-属性 属性将值跟特定的类.结构或枚举关联.存储属性存储常量或变量作为实例的一部分,计算属性计算(而不是存储)一个值.计算属性可以用于类.结构体和枚举里,存储属性只能用于类和结构体. 存储属性和计算属性通常用于特定类型的实例,但是,属性也可以直接用于类型本身,这种属性称为类型属性. 另外,还可以定义属性监视器来监控属性值的变化,以此来触发一个自定义的操作.属性监视器可以添加到自己写的存储属性上,也可以添加到从父类继承的属性上. 存储属性 简单来说,一个存储属性就是

Xen的入门到放弃

Xen的入门到放弃 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Xen 是一个开放源代码虚拟机监视器(VMM),由剑桥大学的"Ina Pratt"和"Keir Fraser"的2个研究员在"Xenoserver"项目中共同开发. 它的虚拟化实现方式是:Type-I型.也就是说 一个主机不需要安装操作系统,只需要在这个硬件安装一个"Xen hypervisor",然后可以在这个"Xen hyper

Java 图形编程 一:入门

package second; import java.awt.Color; import java.awt.Frame; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.awt.*; public class Window extends Frame { public Window(String string){ super(string);//调用父类构造方法 } publ