When fluentd is running with an OSS Elasticsearch version as backend, it fails with an error like:
2021-12-10 17:35:57 +0000 [error]: fluent/log.rb:372:error: unexpected error error_class=Elasticsearch::UnsupportedProductError error="The client noticed that the server is not a supported distribution of Elasticsearch."
2021-12-10 17:35:57 +0000 [error]: fluent/supervisor.rb:967:main_process: /opt/td-agent/lib/ruby/gems/2.7.0/gems/elasticsearch-7.15.0/lib/elasticsearch.rb:85:in `verify_with_version_or_header'
2021-12-10 17:35:57 +0000 [error]: fluent/supervisor.rb:967:main_process: /opt/td-agent/lib/ruby/gems/2.7.0/gems/elasticsearch-7.15.0/lib/elasticsearch.rb:66:in `verify_elasticsearch'
2021-12-10 17:35:57 +0000 [error]: fluent/supervisor.rb:967:main_process: /opt/td-agent/lib/ruby/gems/2.7.0/gems/elasticsearch-7.15.0/lib/elasticsearch.rb:40:in `method_missing'
2021-12-10 17:35:57 +0000 [error]: fluent/supervisor.rb:967:main_process: /opt/td-agent/lib/ruby/gems/2.7.0/gems/elasticsearch-api-7.15.0/lib/elasticsearch/api/actions/info.rb:37:in `info'
2021-12-10 17:35:57 +0000 [error]: fluent/supervisor.rb:967:main_process: /opt/td-agent/lib/ruby/gems/2.7.0/gems/fluent-plugin-elasticsearch-5.1.4/lib/fluent/plugin/out_elasticsearch.rb:498:in `detect_es_major_version'
2021-12-10 17:35:57 +0000 [error]: fluent/supervisor.rb:967:main_process: /opt/td-agent/lib/ruby/gems/2.7.0/gems/fluent-plugin-elasticsearch-5.1.4/lib/fluent/plugin/out_elasticsearch.rb:490:in `block in handle_last_seen_es_major_version'
2021-12-10 17:35:57 +0000 [error]: fluent/supervisor.rb:967:main_process: /opt/td-agent/lib/ruby/gems/2.7.0/gems/fluent-plugin-elasticsearch-5.1.4/lib/fluent/plugin/elasticsearch_index_template.rb:52:in `retry_operate'
2021-12-10 17:35:57 +0000 [error]: fluent/supervisor.rb:967:main_process: /opt/td-agent/lib/ruby/gems/2.7.0/gems/fluent-plugin-elasticsearch-5.1.4/lib/fluent/plugin/out_elasticsearch.rb:487:in `handle_last_seen_es_major_version'
2021-12-10 17:35:57 +0000 [error]: fluent/supervisor.rb:967:main_process: /opt/td-agent/lib/ruby/gems/2.7.0/gems/fluent-plugin-elasticsearch-5.1.4/lib/fluent/plugin/out_elasticsearch.rb:339:in `configure'
2021-12-10 17:35:57 +0000 [error]: fluent/supervisor.rb:967:main_process: /opt/td-agent/lib/ruby/gems/2.7.0/gems/fluentd-1.14.3/lib/fluent/plugin.rb:187:in `configure'
2021-12-10 17:35:57 +0000 [error]: fluent/supervisor.rb:967:main_process: /opt/td-agent/lib/ruby/gems/2.7.0/gems/fluentd-1.14.3/lib/fluent/plugin/multi_output.rb:110:in `block in configure'
2021-12-10 17:35:57 +0000 [error]: fluent/supervisor.rb:967:main_process: /opt/td-agent/lib/ruby/gems/2.7.0/gems/fluentd-1.14.3/lib/fluent/plugin/multi_output.rb:99:in `each'
2021-12-10 17:35:57 +0000 [error]: fluent/supervisor.rb:967:main_process: /opt/td-agent/lib/ruby/gems/2.7.0/gems/fluentd-1.14.3/lib/fluent/plugin/multi_output.rb:99:in `configure'
2021-12-10 17:35:57 +0000 [error]: fluent/supervisor.rb:967:main_process: /opt/td-agent/lib/ruby/gems/2.7.0/gems/fluentd-1.14.3/lib/fluent/plugin/out_copy.rb:39:in `configure'
2021-12-10 17:35:57 +0000 [error]: fluent/supervisor.rb:967:main_process: /opt/td-agent/lib/ruby/gems/2.7.0/gems/fluentd-1.14.3/lib/fluent/plugin.rb:187:in `configure'
2021-12-10 17:35:57 +0000 [error]: fluent/supervisor.rb:967:main_process: /opt/td-agent/lib/ruby/gems/2.7.0/gems/fluentd-1.14.3/lib/fluent/agent.rb:132:in `add_match'
2021-12-10 17:35:57 +0000 [error]: fluent/supervisor.rb:967:main_process: /opt/td-agent/lib/ruby/gems/2.7.0/gems/fluentd-1.14.3/lib/fluent/agent.rb:74:in `block in configure'
2021-12-10 17:35:57 +0000 [error]: fluent/supervisor.rb:967:main_process: /opt/td-agent/lib/ruby/gems/2.7.0/gems/fluentd-1.14.3/lib/fluent/agent.rb:64:in `each'
2021-12-10 17:35:57 +0000 [error]: fluent/supervisor.rb:967:main_process: /opt/td-agent/lib/ruby/gems/2.7.0/gems/fluentd-1.14.3/lib/fluent/agent.rb:64:in `configure'
2021-12-10 17:35:57 +0000 [error]: fluent/supervisor.rb:967:main_process: /opt/td-agent/lib/ruby/gems/2.7.0/gems/fluentd-1.14.3/lib/fluent/root_agent.rb:149:in `configure'
2021-12-10 17:35:57 +0000 [error]: fluent/supervisor.rb:967:main_process: /opt/td-agent/lib/ruby/gems/2.7.0/gems/fluentd-1.14.3/lib/fluent/engine.rb:105:in `configure'
2021-12-10 17:35:57 +0000 [error]: fluent/supervisor.rb:967:main_process: /opt/td-agent/lib/ruby/gems/2.7.0/gems/fluentd-1.14.3/lib/fluent/engine.rb:80:in `run_configure'
2021-12-10 17:35:57 +0000 [error]: fluent/supervisor.rb:967:main_process: /opt/td-agent/lib/ruby/gems/2.7.0/gems/fluentd-1.14.3/lib/fluent/supervisor.rb:716:in `block in run_worker'
2021-12-10 17:35:57 +0000 [error]: fluent/supervisor.rb:967:main_process: /opt/td-agent/lib/ruby/gems/2.7.0/gems/fluentd-1.14.3/lib/fluent/supervisor.rb:968:in `main_process'
2021-12-10 17:35:57 +0000 [error]: fluent/supervisor.rb:967:main_process: /opt/td-agent/lib/ruby/gems/2.7.0/gems/fluentd-1.14.3/lib/fluent/supervisor.rb:708:in `run_worker'
2021-12-10 17:35:57 +0000 [error]: fluent/supervisor.rb:967:main_process: /opt/td-agent/lib/ruby/gems/2.7.0/gems/fluentd-1.14.3/lib/fluent/command/fluentd.rb:372:in `<top (required)>'
2021-12-10 17:35:57 +0000 [error]: fluent/supervisor.rb:967:main_process: /opt/td-agent/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:83:in `require'
2021-12-10 17:35:57 +0000 [error]: fluent/supervisor.rb:967:main_process: /opt/td-agent/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:83:in `require'
2021-12-10 17:35:57 +0000 [error]: fluent/supervisor.rb:967:main_process: /opt/td-agent/lib/ruby/gems/2.7.0/gems/fluentd-1.14.3/bin/fluentd:15:in `<top (required)>'
2021-12-10 17:35:57 +0000 [error]: fluent/supervisor.rb:967:main_process: /opt/td-agent/bin/fluentd:23:in `load'
2021-12-10 17:35:57 +0000 [error]: fluent/supervisor.rb:967:main_process: /opt/td-agent/bin/fluentd:23:in `<top (required)>'
2021-12-10 17:35:57 +0000 [error]: fluent/supervisor.rb:967:main_process: /usr/sbin/td-agent:15:in `load'
2021-12-10 17:35:57 +0000 [error]: fluent/supervisor.rb:967:main_process: /usr/sbin/td-agent:15:in `<main>'
This is similar to https://bugs.launchpad.net/kolla/+bug/1941073, except that now the elasticsearch ruby gems are involved instead of the python modules.
The issue can be fixed by downgrading the gems that are delivered within the td-agent omnibus pkg:
(fluentd)[root@testbed-node-1 /]# td-agent-gem list|grep elas
elasticsearch (7.15.0)
elasticsearch-api (7.15.0)
elasticsearch-transport (7.15.0)
fluent-plugin-elasticsearch (5.1.4)
(fluentd)[root@testbed-node-1 /]# td-agent-gem install elasticsearch --version =7.13.0
Fetching elasticsearch-api-7.13.0.gem
Fetching elasticsearch-7.13.0.gem
Fetching elasticsearch-transport-7.13.0.gem
Successfully installed elasticsearch-transport-7.13.0
Successfully installed elasticsearch-api-7.13.0
Successfully installed elasticsearch-7.13.0
Parsing documentation for elasticsearch-transport-7.13.0
Installing ri documentation for elasticsearch-transport-7.13.0
Parsing documentation for elasticsearch-api-7.13.0
Installing ri documentation for elasticsearch-api-7.13.0
Parsing documentation for elasticsearch-7.13.0
Installing ri documentation for elasticsearch-7.13.0
Done installing documentation for elasticsearch-transport, elasticsearch-api, elasticsearch after 8 seconds
3 gems installed
(fluentd)[root@testbed-node-1 /]# td-agent-gem uninstall elasticsearch --version =7.15.0
Successfully uninstalled elasticsearch-7.15.0
(fluentd)[root@testbed-node-1 /]# td-agent-gem uninstall elasticsearch-api --version =7.15.0
Successfully uninstalled elasticsearch-api-7.15.0
(fluentd)[root@testbed-node-1 /]# td-agent-gem uninstall elasticsearch-transport --version =7.15.0
Successfully uninstalled elasticsearch-transport-7.15.0
(fluentd)[root@testbed-node-1 /]# td-agent-gem list|grep elas
elasticsearch (7.13.0)
elasticsearch-api (7.13.0)
elasticsearch-transport (7.13.0)
fluent-plugin-elasticsearch (5.1.4)
(fluentd)[root@testbed-node-1 /]#
cf. https://github.com/uken/fluent-plugin-elasticsearch/blob/master/README.Troubleshooting.md#cannot-send-events-to-elasticsearch
This is for Ubuntu source-based images in stable/wallaby, but likely affects other images, just the method for downgrading gems may vary.
Fix proposed to branch: master /review. opendev. org/c/openstack /kolla/ +/821695
Review: https:/