# Failed to install template logstash error

**URL:** <https://discuss.elastic.co/t/failed-to-install-template-logstash-error/176646>\
**Category:** Logstash\
**Created:** [April 12, 2019, 2:21pm UTC](https://discuss.elastic.co/t/failed-to-install-template-logstash-error/176646 "2019-04-12T14:21:17Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![xabush](https://avatars.discourse-cdn.com/v4/letter/x/bc8723/32.png) [@xabush](https://discuss.elastic.co/u/xabush)\
**Post date:** [April 12, 2019, 2:21pm UTC](https://discuss.elastic.co/t/failed-to-install-template-logstash-error/176646/1 "2019-04-12T14:21:17Z")

</div>

I am trying to send data from MySQL to Elasticsearch using Logstash. However, after it starts Logstash fails with the following error:

> Failed to install template. {:message=\>" **undefined method** `update' for nil:NilClass", :class=>"NoMethodError"om,mon.rb:50:in `block in setup\_after\_successful\_connection'  
> [/details]

Here the full stacktrace:

> **Stacktrace**
>
> > Failed to install template. {:message=\>"undefined method `update' for nil:NilClass", :class=>"NoMethodError", :backtrace=>["/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-output-elasticsearch-10.0.1-java/lib/logstash/outputs/elasticsearch/template_manager.rb:39:in `add\_ilm\_settings\_to\_template'", "/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-output-elasticsearch-10.0.1-java/lib/logstash/outputs/elasticsearch/template\_manager.rb:14:in `install_template'", "/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-output-elasticsearch-10.0.1-java/lib/logstash/outputs/elasticsearch/common.rb:129:in `install\_template'", "/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-output-elasticsearch-10.0.1-java/lib/logstash/outputs/elasticsearch/common.rb:50:in `block in setup\_after\_successful\_connection'

Here is my Logstash config

```
input {
    jdbc {
        jdbc_connection_string => "jdbc:mysql://exampleserver:3306/resource_map_development"
        jdbc_driver_library => "/usr/share/logstash/lib/mysql-connector.jar"
        jdbc_driver_class => "com.mysql.cj.jdbc.Driver"
        jdbc_user => "***"
        jdbc_password => "**"
        statement => "select * from site
        where st.id > :sql_last_value
        order by site_id;"
        
        schedule => "*/10 * * * *"
        use_column_value => true
        tracking_column => site_id
    }
}

filter {
    json {
        source => "property"
    }

    date {
        match => ["createdAt", "YYYY-MM-dd HH:mm:ss"]
        target => "createdAt"
     }

    if ![grade] {
        mutate {
            add_field => {"grade" => -1}
        }
    }
    if [latitude] != 0 and [longitude] != 0 {
        mutate { convert => {"latitude" => "float"} }
        mutate { convert => {"longitude" => "float"} }
        mutate { rename => {"latitude" => "[location][lat]"} }
        mutate { rename => {"longitude" => "[location][lon]"} }

    }
    else {
        mutate {
            remove_field => ["latitude", "longitude"]
        }
    }

output {
    stdout {codec => json_lines}
    elasticsearch {
        template => "/usr/share/template/elastic-template.json"
        hosts => "elasticsearch:9200"
        index => "facility"
        template_overwrite => true
        manage_template => true
        document_id => "%{site_id}"
    }
}

```

I am using a docker setup to run Logstash and Elasticsearch using [this repo](https://github.com/deviantony/docker-elk) as a template

How can I solve this issue?

---

<div class="post-metadata">

**Author:** ![davidbkemp](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/davidbkemp/32/594_2.png) [@davidbkemp](https://discuss.elastic.co/u/davidbkemp)\
**Post date:** [April 14, 2019, 9:33am UTC](https://discuss.elastic.co/t/failed-to-install-template-logstash-error/176646/2 "2019-04-14T09:33:27Z")

</div>

I am getting a similar error after upgrading to Elasticsearch 7.0.0 (was working in 6.3).

I am getting

```
[2019-04-14T09:15:36,933][ERROR][logstash.outputs.elasticsearch] Failed to install template. {:message=>"undefined method `update' for nil:NilClass", :class=>"NoMethodError", :backtrace=>["/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-output-elasticsearch-10.0.1-java/lib/logstash/outputs/elasticsearch/template_manager.rb:39:in `add_ilm_settings_to_template'", "/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-output-elasticsearch-10.0.1-java/lib/logstash/outputs/elasticsearch/template_manager.rb:14:in `install_template'", "/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-output-elasticsearch-10.0.1-java/lib/logstash/outputs/elasticsearch/common.rb:129:in `install_template'", "/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-output-elasticsearch-10.0.1-java/lib/logstash/outputs/elasticsearch/common.rb:50:in `block in setup_after_successful_connection'"]}
```

---

<div class="post-metadata">

**Author:** ![xabush](https://avatars.discourse-cdn.com/v4/letter/x/bc8723/32.png) [@xabush](https://discuss.elastic.co/u/xabush)\
**Post date:** [April 15, 2019, 10:44am UTC](https://discuss.elastic.co/t/failed-to-install-template-logstash-error/176646/3 "2019-04-15T10:44:29Z")

</div>

@davidbkemp You are right. The problem occurs on v7.x. I downgraded Logstash to v6.7 and it is working.

---

<div class="post-metadata">

**Author:** ![davidbkemp](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/davidbkemp/32/594_2.png) [@davidbkemp](https://discuss.elastic.co/u/davidbkemp)\
**Post date:** [May 4, 2019, 6:37am UTC](https://discuss.elastic.co/t/failed-to-install-template-logstash-error/176646/4 "2019-05-04T06:37:53Z")

</div>

The latest patch release (ie. 7.0.1) seems to have fixed the problem for me.

---

<div class="post-metadata">

**Author:** ![Kenneth\_M\_Kolano](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/kenneth_m_kolano/32/38752_2.png) [@Kenneth\_M\_Kolano](https://discuss.elastic.co/u/Kenneth_M_Kolano)\
**Post date:** [May 9, 2019, 8:29pm UTC](https://discuss.elastic.co/t/failed-to-install-template-logstash-error/176646/5 "2019-05-09T20:29:00Z")

</div>

I'm still seeing this in 7.0.1

```
May 9 16:07:40 pass logstash[8614]: [2019-05-09T16:07:40,972][INFO][logstash.runner] Starting Logstash {"logstash.version"=>"7.0.1"}
...
May 9 16:07:51 pass logstash[8614]: [2019-05-09T16:07:51,685][INFO][logstash.outputs.elasticsearch] Installing elasticsearch template to _template/logstash
May 9 16:07:51 pass logstash[8614]: [2019-05-09T16:07:51,978][ERROR][logstash.outputs.elasticsearch] Failed to install template. {:message=>"Got response code '400' contacting Elasticsearch at URL 'http://localhost:9200/_template/logstash'", :class=>"LogStash::Outputs::ElasticSearch::HttpClient::Pool::BadResponseCodeError", :backtrace=>["/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-output-elasticsearch-10.1.0-java/lib/logstash/outputs/elasticsearch/http_client/manticore_adapter.rb:80:in `perform_request'", "/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-output-elasticsearch-10.1.0-java/lib/logstash/outputs/elasticsearch/http_client/pool.rb:291:in `perform_request_to_url'", "/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-output-elasticsearch-10.1.0-java/lib/logstash/outputs/elasticsearch/http_client/pool.rb:278:in `block in perform_request'", "/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-output-elasticsearch-10.1.0-java/lib/logstash/outputs/elasticsearch/http_client/pool.rb:373:in `with_connection'", "/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-output-elasticsearch-10.1.0-java/lib/logstash/outputs/elasticsearch/http_client/pool.rb:277:in `perform_request'", "/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-output-elasticsearch-10.1.0-java/lib/logstash/outputs/elasticsearch/http_client/pool.rb:285:in `block in Pool'", "/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-output-elasticsearch-10.1.0-java/lib/logstash/outputs/elasticsearch/http_client.rb:352:in `template_put'", "/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-output-elasticsearch-10.1.0-java/lib/logstash/outputs/elasticsearch/http_client.rb:86:in `template_install'", "/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-output-elasticsearch-10.1.0-java/lib/logstash/outputs/elasticsearch/template_manager.rb:28:in `install'", "/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-output-elasticsearch-10.1.0-java/lib/logstash/outputs/elasticsearch/template_manager.rb:16:in `install_template'", "/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-output-elasticsearch-10.1.0-java/lib/logstash/outputs/elasticsearch/common.rb:130:in `install_template'", "/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-output-elasticsearch-10.1.0-java/lib/logstash/outputs/elasticsearch/common.rb:51:in `block in setup_after_successful_connection'"]}
```

---

<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:** [June 6, 2019, 8:38pm UTC](https://discuss.elastic.co/t/failed-to-install-template-logstash-error/176646/6 "2019-06-06T20:38:01Z")

</div>

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