监视器入门

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了监视器入门相关的知识,希望对你有一定的参考价值。

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

以上是关于监视器入门的主要内容,如果未能解决你的问题,请参考以下文章

监视器入门

Atom编辑器入门到精通 Atom使用进阶

Cg入门20:Fragment shader - 片段级模型动态变色(实现汽车动态换漆)

Cg入门19:Fragment shader - 片段级模型动态变色

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

three.js入门