Search code examples
dockerelasticsearchfilebeat

Elasticsearch docker slow log file location settings


I am having difficulties to write slow logs for elasticsearch into docker image.

Elasticsearch docker settings "HostConfig": { "Binds": [ "/mnt/mydisk/data:/usr/share/elasticsearch/data", "/mnt/mydisk/logs:/usr/share/elasticsearch/logs" ],

I changed elasticsearch index settings like below;

{
  "index.search": {
  "slowlog": {
        "level": "info",
        "threshold": {
          "fetch": {
            "warn": "2s",
            "trace": "200ms",
            "debug": "500ms",
            "info": "800ms"
          },
          "query": {
            "warn": "10s",
            "trace": "500ms",
            "debug": "2s",
            "info": "5s"
          }
}}}}

I can only see gc.logs in "/mnt/mydisk/logs" path, and there is no "/usr/share/elasticsearch/logs" folder or path.

How can I save slow logs into /mnt/mydisk/logs ?

BTW I can see slow logs via "docker logs elasticsearch" command, but I cannot find where its saved or change the path.


Solution

  • You are looking for this properties file: log4j2.properties. If you are using the official elastisearch image, the default setting is to log everything on stdout (i.e. docker logs )

    Read more here.