Skip to content

gravitee-io/gravitee-reporter-elasticsearch

Repository files navigation

Gravitee Elasticsearch Reporter

Gravitee.io License Releases CircleCI Join the community forum

Presentation

This reporter writes access logs to an Elasticsearch instance

Compatibility with APIM

Plugin version APIM version ES version JDK version

5.x

4.0.x

7.x and later

17

4.x

3.20.x to 4.0.x

5.x and later

11

3.x

3.18.x to 3.19.x

5.x to 7.x

8

Configuration

Please visit our documentation website for further information.

ILM

If you use ElasticSearch in version 7 minimum, you can configure your reporter to use ILM (Index Lifecyle Management) policies.

First, you need to define ILM policies in your ES instance. You may find the documentation here

Then you can activate the ILM feature by adding these settings in the gravitee.yml file of APIM Gateway:

  elasticsearch:
    enabled: true # Is the reporter enabled or not (default to true)
    endpoints:
      - http://${ds.elastic.host}:${ds.elastic.port}
    lifecycle:
      policies:
        health: hot_delete_health # ILM policy for the gravitee-health-* indexes
        monitor: hot_delete_monitor # ILM policy for the gravitee-monitor-* indexes
        request: hot_delete_request # ILM policy for the gravitee-request-* indexes
        log: hot_delete_log # ILM policy for the gravitee-log-* indexes
    index_mode: ilm         # "daily" indexes, suffixed with date. Or "ilm" managed indexes, without date

Testing

By default, unit tests are run with a TestContainer version of ElasticSearch 8.5.2, but sometimes it can be useful to run them against other version of ElasticSearch. To do so you can use the following commands:

  • ES 7.x: mvn clean test -Delasticsearch.version=7.17.7

  • ES 8.x: mvn clean test -Delasticsearch.version=8.5.2 (Default)