帮酷LOGO
  • 显示原文与译文双语对照的内容
A server that runs ElastAlert and exposes REST API's for manipulating rules and alerts.

  • 源代码名称:elastalert
  • 源代码网址:http://www.github.com/bitsensor/elastalert
  • elastalert源代码文档
  • elastalert源代码下载
  • Git URL:
    git://www.github.com/bitsensor/elastalert.git
  • Git Clone代码到本地:
    git clone http://www.github.com/bitsensor/elastalert
  • Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/bitsensor/elastalert
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
  • Elastalert服务器

    为运行 ElastAlert的服务器 ,并公开api操作规则和警报的REST 。 它与我们的ElastAlert Kibana插件插件

    Docker 安装

    默认配置使用localhost作为主机主机。 你需要装入配置和规则文件的卷,以便在容器更新后保留它们。 为了做到 conviniently,请做一个 git clone https://github.com/bitsensor/elastalert.git; cd elastalert

    Bash

    docker run -d -p 3030:3030 
     -v `pwd`/config/elastalert.yaml:/opt/elastalert/config.yaml 
     -v `pwd`/config/config.json:/opt/elastalert-server/config/config.json 
     -v `pwd`/rules:/opt/elastalert/rules 
     -v `pwd`/rule_templates:/opt/elastalert/rule_templates 
     --net="host" 
     --name elastalert bitsensor/elastalert:latest

    docker run -d -p 3030:3030 
     -v (pwd)/config/elastalert.yaml:/opt/elastalert/config.yaml 
     -v (pwd)/config/config.json:/opt/elastalert-server/config/config.json 
     -v (pwd)/rules:/opt/elastalert/rules 
     -v (pwd)/rule_templates:/opt/elastalert/rule_templates 
     --net="host" 
     --name elastalert bitsensor/elastalert:latest

    配置

    ElastAlert参数

    ElastAlert支持其他参数,可以在 config.json 文件中传递这些参数。 示例中给出了 config/config-historic-data-example.json

    使用npm和手动ElastAlert设置的安装

    要求

    基于源代码的

    • 克隆存储库
    git clone https://github.com/bitsensor/elastalert.git elastalertcd elastalert
    • 运行 nvm install"$(cat. nvmrc)" 要安装 &,请使用所需的NodeJS版本。
    • 运行 npm install 以安装所有依赖项。
    • 查看 Config 部分来设置ElastAlert实例的路径。

    现在,你可以使用 npm start 运行服务器。 默认情况下,服务器在 http://localhost:3030 服务器上运行。

    建筑

    如果你要构建服务器并运行生成版本:

    • 运行上面显示的安装指南
    • 运行 npm run build

    然后,通过运行 node lib/index.js 来启动构建。

    构建 Docker 映像

    • 克隆存储库
    git clone https://github.com/bitsensor/elastalert.git &&cd elastalert
    • 使用以下方法生成图像
    make build
    ,它等效于:
    docker pull alpine:latest && docker pull node:latest
    docker build -t elastalert. 

    yelp版本( 来自github的一个版本。) 比如 master 或者 v0.1.28的自定义 Elastalert:

    make build v=v0.1.28

    自定义镜像:

    docker build --build-arg ELASTALERT_URL=http://example.mirror.com/master.zip -t elastalert .

    将ElastAlert安装到/opt/elastalert

    并运行 pip install -r requirements.txt 或者阅读ElastAlert的安装指南。

    配置

    config/config.example.json 中,你将找到缺省配置。 你可以在同一文件夹中创建 config.json 文件,该文件夹覆盖默认配置。 当分叉这个存储库时,建议从 .gitignore 文件中删除 config.json 。 对于本地测试目的,你可以使用 config.dev.json 文件替代 config.json

    你可以使用以下配置选项:

    {
     "appName":"elastalert-server", // The name used by the logging framework."port":3030, // The port to bind to"elastalertPath":"/opt/elastalert", // The path to the root ElastAlert folder. It's the folder that contains the `setup.py` script."start":"2014-01-01T00:00:00", // Optional date to start querying from"end":"2016-01-01T00:00:00", // Optional date to stop querying at"verbose":true, // Optional, will increase the logging verboseness, which allows you to see information about the state of queries."es_debug":true, // Optional, will enable logging for all queries made to Elasticsearch"debug":false, // Will run ElastAlert in debug mode. This will increase the logging verboseness, change all alerts to DebugAlerter, which prints alerts and suppresses their normal action, and skips writing search and alert metadata back to Elasticsearch."rulesPath": { // The path to the rules folder containing all the rules. If the folder is empty a dummy file will be created to allow ElastAlert to start."relative":true, // Whether to use a path relative to the `elastalertPath` folder."path":"/rules"// The path to the rules folder.  },
     "templatesPath": { // The path to the rules folder containing all the rule templates. If the folder is empty a dummy file will be created to allow ElastAlert to start."relative":true, // Whether to use a path relative to the `elastalertPath` folder."path":"/rule_templates"// The path to the rule templates folder. },
     "dataPath": { // The path to a folder that the server can use to store data and temporary files."relative":true, // Whether to use a path relative to the `elastalertPath` folder."path":"/server_data"// The path to the data folder. }
    }

    API

    这里服务器公开以下 REST: api

    • 获取 /

      公开当前运行的版本

    • 获取 /status

      返回'设置'。'就绪'。'错误'。'开始'。'关闭'。'first_run'或者'空闲',具体取决于当前的ElastAlert进程状态。

    • 获取 /status/control/:action

      其中 :action 可以是'开始'或者'停止',这将分别启动或者停止当前的ElastAlert进程。

    • [WIP] get /status/errors

      /status 返回'错误'时,返回一个被触发的错误列表。

    • 获取 /rules

      返回 rulesPath ( 从配置) 中存在的目录和规则的列表,这些目录和规则正由ElastAlert进程运行。

    • 获取 /rules/:id

      Where :id返回的规则的id,它将返回该规则的文件内容。

    • POST /rules/:id

      其中,:id获取 /rules的规则的id,这将允许你编辑规则。 正文发送应该是:

      ```javascript
      {
      //Required - The full yaml rule config.
      "yaml":"..."
      }
      ```
    • 删除 /rules/:id

      其中 :id获取 /rules 所返回规则的id,这将删除给定的规则。

    • 获取 /templates

      返回 templatesPath ( 从配置) 中存在的目录和模板的列表,这些目录和模板正由ElastAlert进程运行。

    • 获取 /templates/:id

      Where :id is模板返回的模板的id,它将返回这里模板的文件内容。

    • POST /templates/:id

      其中,:idget返回模板的id,这允许你编辑模板。 正文发送应该是:

      ```javascript
      {
      //Required - The full yaml template config.
      "yaml":"..."
      }
      ```
    • 删除 /templates/:id

      其中 :id获取 /templates的模板的id,它将删除给定的模板。

    • POST /test

      这允许你测试规则。 正文发送应该是:

      ```javascript
      {
      //Required - The full yaml rule config.
      "rule":"...",
      //Optional - The options to use for testing the rule.
      "options": {
      //Can be either"all","schemaOnly" or"countOnly"."all" will give the full console output. 
      //"schemaOnly" will only validate the yaml config."countOnly" will only find the number of matching documents and list available fields.
      "testType":"all",
      //Can be any number larger than 0 and this tells ElastAlert over a period of how many days the test should be run
      "days":"1"
      //Whether to send real alerts
      "alert": false
       }
      }
      ``` 
    • [WIP] get /config

      elastalertPath ( 从配置) 中的config.yaml 获取ElastAlert配置。

    • [WIP] 邮政 /config

      允许你从 elastalertPath ( 从配置) 中的config.yaml 编辑ElastAlert配置。 完成这里API的工作时将编辑要发送的所需正文。

    • [WIP] 邮政 /download

      允许你从给定的HTTP端点下载带有规则的. tar 存档。 档案将被下载,提取和删除。 请注意,正文应该包含指向tar归档的URL,并带有tar扩展。

      用法示例:

      curl -X POST localhost:3030/download -d "url=https://artifactory.com:443/artifactory/raw/rules/rules.tar"

    希望对此项目做出贡献? 好请在提交问题或者请求请求前阅读我们的贡献指南。

    我们只接受我们的 GitHub存储库中的请求请求。

    联系人

    如果你有任何问题,我们愿意帮助你。 你可以通过发送 E-mail 至 dev@bitsensor.io 或者使用我们网站上的联系信息联系我们。

    许可证

    这个项目是 BSD许可证,有一些修改。 注意,这只是ElastAlert服务器的帐户,而不是ElastAlert本身的( ElastAlert许可协议) 。

    免责声明

    我们在 Yelp上没有对最初的ElastAlert项目拥有任何权利。 我们不拥有任何商标或者版权对 NAME"ElastAlert"( ElastAlert,但是,由于它们的2许可以证) 。 我们在本项目的源代码中拥有版权,这意味着下面的版权声明应该包括在( 合并/已经更改) 版本中。 BSD许可还表示,禁止使用'bitsensor'制作促销内容。 然而,我们在促销内容中授予希望使用'。bitsensor ElastAlert插件'。'bitsensor软件'或者'bitsensor警报'的短语的许可以。 当只使用我们的ElastAlert服务器时,像'我们使用 BitSensor'或者'我们使用BitSensor安全性'这样的短语被禁止。

    版权

    版权所有 © 2018,BitSensor B.V. 所有权利保留。




    Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语