`
corejava2008
  • 浏览: 295950 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

4.ElasticSearch预警服务-Watcher详解-Input配置

阅读更多

Watcher的Input设置用于加载数据到执行Context中,目前支持三种模式设置,分别为simple,search,http。

1.Simple简单输入


    可以设定一些静态数据,供Watcher后续阶段进行计算,存储等。
    这里可以定义静态数据作为一个字符串(STR),数值(NUM),或一个对象(Object)

 

{
  "input" : {
    "simple" : {
      "str" : "tyler",
      "num" : 29,
      "obj" : {
        "str" : "this is a err alert config."
      }
    }
  }
  ...
}

 
    详细案例,可以在input中定义个Name字段,然后在Action中使用ctx.payload.name来调用..

 

 

{
  "trigger" : {
    "schedule" : {
      "daily" : { "at" : "noon" }
    }
  },
  "input" : {
    "simple" : {
      "name" : "John"
    }
  },
  "actions" : {
    "reminder_email" : {
      "email" : {
        "to" : "to@host.domain",
        "subject" : "Reminder",
        "body" : "Dear {{ctx.payload.name}}, by the time you read these lines, I'll be gone"
      }
     }
}

 
2.Search Input 搜索输入

 


指定一个搜索条件,这里针对ElasticSearch,并将返回结果加载到Context中。

支持的属性列表:

request.search_type  搜索类型       
默认操作 count  可选操作count, dfs_query_and_fetch, dfs_query_then_fetch, query_and_fetch,         query_then_fetch, and scan. Elasticsearch 默认为 query_then_fetch.
request.indices  搜索索引列表,默认搜索所有
request.types    搜索文档类型. 默认搜索所有
request.body     搜索请求返回体
request.template 搜索模板内容
request.indices_options.expand_wildcards  默认open 可选值 all, open, closed, none
equest.indices_options.ignore_unavailable 默认true 是否忽略不可用索引
request.indices_options.allow_no_indices  默认true 是否允许使用模糊查询
extract  指定返回结果字段数组

 
Context中提供的属性列表

 

ctx.watch_id Watch编号
ctx.execution_time 执行时间
ctx.trigger.triggered_time 触发时间
ctx.trigger.scheduled_time 计划触发时间
ctx.metadata.* 相关的元数据

 
案例,搜素Logs索引,类型为event的所有数据   

{
  "input" : {
    "search" : {
      "request" : {
        "indices" : [ "logs" ],
        "types" : [ "event" ],
        "body" : {
          "query" : { "match_all" : {} }
        }
      }
    }
  }
  ...
}

 
使用tempalte搜索

{
  "input" : {
    "search" : {
      "request" : {
        "indices" : [ "logs" ],
        "template" : {
          "id" : "my_template",
          "params" : {
            "value" : 23
          }
        }
      }
    }
  }
  ...
}


带条件的输入      

{
  "input" : {
    "search" : {
      "request" : {
        "indices" : [ "logs" ],
        "body" : {
          "query" : { "match_all" : {} }
        }
      }
    }
  },
  "condition" : {
    "script" : "return ctx.payload.hits.total > 5"
  }
  ...
}      

 

3.Http input:HTTP请求输入


允许调用HTTP服务并将返回的Json加载到Context中。
请注意,返回结果必须为Json格式。例如查询ES集群状态,WebService服务等。

支持的属性列表:

request.scheme 默认Http,可选http,https
request.host 必填,host名称
request.port 必填 端口
request.path 路径
request.method HTTP请求方法head, get, post, put,delete.
request.headers 请求头   
request.params  请求参数   
request.auth Http头认证信息
request.body HTTP请求体   
extract 指定返回结果字段数组

 
查询其他的ElasticSearch案例:

{
  "input" : {
    "http" : {
      "request" : {
        "host" : "example.com",
        "port" : 9200,
        "path" : "/idx/_search"
      }
    }
  }
  ...
}

 
使用完成的ElasticSearch Query DSL案例

{"input" : {
  "http" : {
    "request" : {
      "host" : "host.domain",
      "port" : 9200,
      "path" : "/idx/_search",
      "body" :  "\"query\" :  {  \"match\" : { \"category\" : \"event\"}"
    }
  }
}

 
使用Template案例:

{"input" : {
  "http" : {
    "request" : {
      "host" : "host.domain",
      "port" : 9200,
      "path" : "/{{ctx.watch_id}}/_search",
      "body" : "\"query\" : {\"range\": {\"@timestamp\" : {\"from\": \"{{ctx.trigger.triggered_time}}||-5m\",\"to\": \"{{ctx.trigger.triggered_time}}\"}}}"
      }
    }
  }
  

 
调用ElasticSearch API 案例

{
  "input" : {
     "http" : {
       "request" : {
         "host" : "host.domain",
         "port" : "9200",
         "path" : "/_cluster/stats",
         "params" : {
           "human" : "true"  #优化展示结果
         }
       }
     }
  }
  ...


调用WebService案例:

{
  "input" : {
     "http" : {
       "request" : {
         "host" : "host.domain",
         "port" : "9200",
         "path" : "/myservice",
         "auth" : {
           "basic" : {
             "username" : "user",
             "password" : "pass"
           }
         }
       }
     }
  }
  ...
}









     
     
     
     

2
1
分享到:
评论

相关推荐

    windows版本ES7.17.3中文分词器elasticsearch-analysis-ik-7.17.3 .zip

    用于elasticsearch7.17.3这个版本的ik中文分词器,考虑到官网有时网络不稳定下载不下来,这里特意上传,方便大家使用; 目录结构如下: config -- 文件夹 plugin-security.policy plugin-descriptor.properties ...

    elasticsearch-analysis-ik-7.17.0

    《Elasticsearch全文检索插件IK分析器7.17.0详解》 Elasticsearch是一种流行的开源全文搜索引擎,广泛应用于大数据和big data环境中的数据检索与分析。它以其高效、灵活和可扩展性赢得了业界的青睐。在Elastic...

    最新版linux elasticsearch-7.13.4-linux-x86_64.tar.gz

    1. 打开配置文件`/usr/local/elasticsearch/elasticsearch-7.13.4/config/elasticsearch.yml` 2. 修改`network.host`设置为服务器的IP地址或`0.0.0.0`允许所有IP连接。 3. 如果需要远程访问,设置`...

    elasticsearch-analysis-ik-7.16.2.zip

    《Elasticsearch分词器:elasticsearch-analysis-ik-7.16.2深度解析》 在信息爆炸的时代,搜索引擎的效能成为了数据检索的关键。Elasticsearch作为一款强大的开源搜索引擎,其灵活性和可扩展性备受青睐。而在中文...

    最新版 elasticsearch-analysis-ik-7.9.3.zip

    《Elasticsearch Analysis IK插件7.9.3详解》 Elasticsearch作为一个强大的全文搜索引擎,其灵活性和可扩展性深受开发者喜爱。然而,对于中文处理,Elasticsearch原生支持并不理想,这时就需要借助于插件来实现,...

    elasticsearch-head-compile-after.tar.gz+node-v8.1.2-linux-x64.ta

    用户在使用前需要先解压,然后根据项目文档指示,安装必要的依赖,配置环境,最后启动Node.js服务来运行Elasticsearch-Head。 总的来说,这个压缩包提供了用于管理和监控Elasticsearch集群的前端工具,以及运行这个...

    最新版 elasticsearch-analysis-ik-7.13.4.zip

    这个最新的版本 "elasticsearch-analysis-ik-7.13.4.zip" 提供了针对 Elasticsearch 7.13.4 的优化和增强,旨在提高中文文本处理的效率和准确性。IK 分词器在处理中文词汇时,能够根据上下文信息进行智能切词,从而...

    elasticsearch-analysis-ik-7.3.2.zip

    《Elasticsearch中文分词器IK插件详解》 Elasticsearch(ES)作为一个强大的全文搜索引擎,其在处理中文文档时,对中文分词的准确性和效率有着至关重要的作用。"elasticsearch-analysis-ik"是ES中最受欢迎的中文...

    elasticsearch-7.8.0-x86_64.rpm + kibana-7.8.0-x86_64.rpm + logstash-7.8.0.rpm

    Elasticsearch、Kibana和Logstash是 Elastic Stack(前称为 ELK Stack)的重要组成部分,这是一个流行的开源数据处理和分析工具链。这三个组件在大数据、日志管理和实时分析领域广泛应用。 1. **Elasticsearch**:...

    最新版 elasticsearch-analysis-ik-8.5.1.zip

    Elasticsearch Analysis IK 是一个为 Elasticsearch 设计的强大中文分词插件,它的最新版本是 8.5.1。这个插件的主要目的是优化中文文本的检索效率和精度,通过提供高效的分词算法来提升 Elasticsearch 在处理中文...

    最新版windows elasticsearch-7.17.6-windows-x86_64.zip

    5. **配置文件**: 解压后的目录中包含一个名为`elasticsearch.yml`的配置文件,这是Elasticsearch的主要配置文件。你可以在这里修改集群名称、节点角色、网络设置、索引存储等参数。 6. **Java运行环境**: Elastic...

    elasticsearch-7.17.4-x86-64.rpm文件(分享给需要的同学)

    elasticsearch-7.17.4-x86_64.rpm文件 elasticsearch-7.17.4-x86_64.rpm文件 elasticsearch-7.17.4-x86_64.rpm文件 elasticsearch-7.17.4-x86_64.rpm文件 elasticsearch-7.17.4-x86_64.rpm文件 elasticsearch-7.17.4...

    最新版 elasticsearch-analysis-ik-7.17.6.zip

    《Elasticsearch Analysis IK插件详解与7.17.6版本特性》 Elasticsearch是一种流行的开源全文搜索引擎,以其高效、灵活和可扩展性深受开发者喜爱。在处理中文分词方面,Elasticsearch-analysis-ik插件是不可或缺的...

    elasticsearch-analysis-ik-7.16.3.zip

    4. 启动Elasticsearch:安装完成后,重启Elasticsearch服务,让插件生效。 五、配置与使用 1. 配置分词器:在Elasticsearch的索引模板或映射设置中,添加IK分词器配置,例如: ```json { "settings": { ...

    elasticsearch-analysis-ik-7.12.0.zip

    《Elasticsearch IK 分析器插件7.12.0版详解》 Elasticsearch是一种流行的开源全文搜索引擎,以其强大的搜索能力和灵活的数据处理能力深受开发者喜爱。在处理中文文本时,选择合适的分析器至关重要,而`elastic...

    elasticsearch-analysis-ik-7.10.0.zip下载

    安装IK分词器通常需要将jar文件复制到Elasticsearch的plugins目录,然后重启Elasticsearch服务。在使用过程中,可以通过Elasticsearch的配置文件(如elasticsearch.yml)设置分词器参数,或者在创建索引时指定分词器...

    elasticsearch-7.13.2-darwin-x86_64.tar.gz

    解压完成后,进入解压后的目录,启动Elasticsearch服务,通常执行`bin/elasticsearch`脚本即可。 **配置** Elasticsearch的配置文件位于`config/elasticsearch.yml`。你可以根据需求调整设置,比如更改默认端口、...

    elastic-agent-7.17.4-x86-64.rpm文件(分享给需要的同学)

    elastic-agent-7.17.4-x86_64.rpm文件 elastic-agent-7.17.4-x86_64.rpm文件 elastic-agent-7.17.4-x86_64.rpm文件 elastic-agent-7.17.4-x86_64.rpm文件 elastic-agent-7.17.4-x86_64.rpm文件 elastic-agent-7.17.4...

    最新版 elasticsearch-analysis-ik-7.6.2.zip

    Elasticsearch 是一款高度可扩展的开源全文搜索引擎,它提供了实时、分布式的搜索和分析功能。在处理中文文档时,我们需要一个能够理解中文语言的分词器,这就是IK(Intelligent Chinese)分析器的用武之地。...

    最新版windows elasticsearch-7.15.2-windows-x86_64.zip

    1. bin目录:包含启动和停止Elasticsearch的脚本,如`elasticsearch.bat`(Windows批处理文件)和`elasticsearch-service.bat`(用于Windows服务管理)。 2. config目录:存储Elasticsearch的配置文件,如`elastic...

Global site tag (gtag.js) - Google Analytics