# Logstash cannot use docker metadata to build a dynamic index

**URL:** https://discuss.elastic.co/t/logstash-cannot-use-docker-metadata-to-build-a-dynamic-index/271032
**Category:** Logstash
**Tags:** docker
**Created:** [April 23, 2021, 4:00am UTC](https://discuss.elastic.co/t/logstash-cannot-use-docker-metadata-to-build-a-dynamic-index/271032 "2021-04-23T04:00:39Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![ktpktr0](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/ktpktr0/32/87157_2.png) [@ktpktr0](https://discuss.elastic.co/u/ktpktr0)
#### Post date: [April 23, 2021, 4:00am UTC](https://discuss.elastic.co/t/logstash-cannot-use-docker-metadata-to-build-a-dynamic-index/271032/1 "2021-04-23T04:00:39Z")

</div>

I use filebeat to collect docker logs and add a label when the docker container starts.  
 ![1](https://us1.discourse-cdn.com/elastic/original/3X/8/0/80699afde11aaef36d2ac13dfb7c62fac11d75ad.png)

```auto
- type: docker
  enabled: true
  containers.ids:
    - '*'  
  tail_files: true

```

The following configuration is made in logstash to build a dynamic index.

```auto
filter {
     json {
       source => "message"
   }
}

output {
    elasticsearch {
        hosts => ["192.168.6.155:9200","192.168.6.156:9200","192.168.6.157:9200"]
        ssl => true
        cacert => "/etc/logstash/ssl/root.pem"
        index => "%{[container.labels.service]}-%{+YYYY.MM.dd}"
    }
}

```

But I failed and got the following index

![2](https://us1.discourse-cdn.com/elastic/original/3X/f/c/fc3f9e3c02b3b25f6daaba62bec600a9560c1e08.png)

---

<div class="post-metadata">

### Author: ![leandrojmp](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/leandrojmp/32/107231_2.png) [@leandrojmp](https://discuss.elastic.co/u/leandrojmp)
#### Post date: [April 23, 2021, 4:46am UTC](https://discuss.elastic.co/t/logstash-cannot-use-docker-metadata-to-build-a-dynamic-index/271032/2 "2021-04-23T04:46:08Z")

</div>

You should use `[container][labels][service]` and not `[container.labels.service]`.

Try to change the `index` option in your output to this:

```auto
index => "%{[container][labels][service]}-%{+YYYY.MM.dd}"

```

---

<div class="post-metadata">

### Author: ![ktpktr0](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/ktpktr0/32/87157_2.png) [@ktpktr0](https://discuss.elastic.co/u/ktpktr0)
#### Post date: [April 23, 2021, 5:05am UTC](https://discuss.elastic.co/t/logstash-cannot-use-docker-metadata-to-build-a-dynamic-index/271032/3 "2021-04-23T05:05:37Z")

</div>

I tried to follow your example, and I got the following results：

%{[container][labels][service]}-2021.04.23

---

<div class="post-metadata">

### Author: ![ktpktr0](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/ktpktr0/32/87157_2.png) [@ktpktr0](https://discuss.elastic.co/u/ktpktr0)
#### Post date: [April 25, 2021, 6:23am UTC](https://discuss.elastic.co/t/logstash-cannot-use-docker-metadata-to-build-a-dynamic-index/271032/4 "2021-04-25T06:23:05Z")

</div>

After many tests, I solved the problem, it needs to meet some conditions. Thank you very much for your help

---

<div class="post-metadata">

### Author: ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)
#### Post date: [May 23, 2021, 6:23am UTC](https://discuss.elastic.co/t/logstash-cannot-use-docker-metadata-to-build-a-dynamic-index/271032/5 "2021-05-23T06:23:18Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
