🔎 Open source distributed and RESTful search engine.
Go to file
Alexander Reelsen baf1596418 Watcher: Introduce dedicated reporting attachment type (elastic/elasticsearch#3665)
Instead of using the long running and long blocking single polling HTTP attachment for our reporting,
we should use the async API provided by kibana. The new workflow (all blocking and in a single watch)
looks like this:

1. An initial request is sent to trigger the report generation, which returns a path
2. This path is used to continuously check if the report is done (then it is sent back) or kibana sends another HTTP error code, which will result in watcher to sleep for another interval until the report is finally returned.

Features include configurable interval time and retry count, so that the total amount of waiting can be tweaked into two directions.

This is what the reporting type looks like right now

```
{
   "my-attachment":{
      "reporting":{
         "url":"http://www.example.org/my-dashboard",
         "retries":6, // optional, default 40
         "interval":"1s", // optional, default 15s
         "auth":{
            "basic":{
               "username":"foo",
               "password":"secret"
            }
         }
      }
   }
}
```

The interval/retries can also be configured via settings.

Note, that this is just a temporal workaround until the watcher execution can execute in an asynchronous fashion.

Closes elastic/elasticsearch#3524

Original commit: elastic/x-pack-elasticsearch@d1eaa856b9
2016-10-19 12:21:25 +02:00
buildSrc Build: Change x-plugins setup with elasticsearch to a sibling directory 2015-11-23 14:20:48 -08:00
dev-tools test: add bwc indices for 2.4.1 2016-10-07 14:21:48 -04:00
elasticsearch Watcher: Introduce dedicated reporting attachment type (elastic/elasticsearch#3665) 2016-10-19 12:21:25 +02:00
elasticsearch-transport-client build: use artifactId instead pom.projectIdentity.artifactId 2016-10-05 11:08:13 -04:00
license-tools Changes to support the removal of the now callable in core (elastic/elasticsearch#3685) 2016-10-07 10:26:42 +01:00
qa Handle reindex's change to whitelist 2016-10-18 21:46:30 -04:00
.dir-locals.el Update .dir-locals.el for enforced line length 2016-02-04 14:55:41 -07:00
.projectile Add .dir-locals.el and .projectile 2015-10-30 11:16:29 -06:00
GRADLE.CHEATSHEET.asciidoc Fixing grammar in GRADLE.CHEATSHEET 2016-05-18 14:17:13 -04:00
LICENSE.txt Initial X-Pack commit 2018-04-20 14:16:58 -07:00
README.asciidoc Update README.asciidoc 2016-05-09 14:05:19 +02:00
build.gradle Build: Reorganize src roots 2016-10-01 09:46:43 +02:00
gradle.properties Gradle daemon is a demon 2015-11-25 10:39:08 -05:00
settings.gradle Build: Change x-plugins setup with elasticsearch to a sibling directory 2015-11-23 14:20:48 -08:00

README.asciidoc

= Elasticsearch X Plugins

A set of Elastic's commercial plugins:

- License
- Security
- Watcher
- Monitoring

= Setup
You must checkout x-plugins and elasticsearch in the same directory as siblings. This
elasticsearch checkout will be used when building x-plugins.

= Build

- Run unit tests:
+
[source, txt]
-----
gradle clean test
-----

- Run all tests:
+
[source, txt]
-----
gradle clean check
-----

- Run integration tests:
+
[source, txt]
-----
gradle clean integTest
-----

- Package X-Pack (wihtout running tests)
+
[source, txt]
-----
gradle clean assemble
-----

- Install X-Pack (wihtout running tests)
+
[source, txt]
-----
gradle clean install
-----

- If you don't work on the UI side of x-plugins, you can force gradle to skip building kibana by adding
  `xpack.kibana.build=false` to your `~/.gradle/gradle.properties`. Alternatively you add `-Pxpack.kibana.build=false`
  on the command line if you only want to do this on individual builds (or `-Pxpack.kibana.build=true` if you need to
  override having added this to your `gradle.properties`).