4c. Configure Fluentd for the NGINX to Elasticsearch pipeline

Lab 4c.
It turned out that faraday installed two versions (2.6.0, 1.10.2)

  1. During running fluentd -c ~/lab4/lab4.conf, I saw an error like this:

2022-11-10 09:47:42 +0000 [info]: init supervisor logger path=nil rotate_age=nil rotate_size=nil
2022-11-10 09:47:42 +0000 [info]: parsing config file is succeeded path="/home/ubuntu/lab4/lab4.conf"
2022-11-10 09:47:42 +0000 [info]: gem 'fluent-plugin-elasticsearch' version '5.2.4'
2022-11-10 09:47:42 +0000 [info]: gem 'fluent-plugin-mongo' version '1.6.0'
2022-11-10 09:47:42 +0000 [info]: gem 'fluent-plugin-nginx-error-multiline' version '0.2.0'
2022-11-10 09:47:42 +0000 [info]: gem 'fluentd' version '1.15.3'
2022-11-10 09:47:43 +0000 [info]: init supervisor logger path=nil rotate_age=nil rotate_size=nil
2022-11-10 09:47:43 +0000 [info]: parsing config file is succeeded path="/home/ubuntu/lab4/lab4.conf"
2022-11-10 09:47:43 +0000 [info]: gem 'fluent-plugin-elasticsearch' version '5.2.4'
2022-11-10 09:47:43 +0000 [info]: gem 'fluent-plugin-mongo' version '1.6.0'
2022-11-10 09:47:43 +0000 [info]: gem 'fluent-plugin-nginx-error-multiline' version '0.2.0'
2022-11-10 09:47:43 +0000 [info]: gem 'fluentd' version '1.15.3'
Traceback (most recent call last):
24: from /usr/local/bin/fluentd:23:in <main>' 23: from /usr/local/bin/fluentd:23:inload'
22: from /var/lib/gems/2.7.0/gems/fluentd-1.15.3/bin/fluentd:15:in <top (required)>' 21: from /usr/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:inrequire'
20: from /usr/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in require' 19: from /var/lib/gems/2.7.0/gems/fluentd-1.15.3/lib/fluent/command/fluentd.rb:350:in'
18: from /var/lib/gems/2.7.0/gems/fluentd-1.15.3/lib/fluent/supervisor.rb:731:in run_supervisor' 17: from /var/lib/gems/2.7.0/gems/fluentd-1.15.3/lib/fluent/engine.rb:80:inrun_configure'
16: from /var/lib/gems/2.7.0/gems/fluentd-1.15.3/lib/fluent/engine.rb:105:in configure' 15: from /var/lib/gems/2.7.0/gems/fluentd-1.15.3/lib/fluent/root_agent.rb:149:inconfigure'
14: from /var/lib/gems/2.7.0/gems/fluentd-1.15.3/lib/fluent/agent.rb:64:in configure' 13: from /var/lib/gems/2.7.0/gems/fluentd-1.15.3/lib/fluent/agent.rb:64:ineach'
12: from /var/lib/gems/2.7.0/gems/fluentd-1.15.3/lib/fluent/agent.rb:74:in block in configure' 11: from /var/lib/gems/2.7.0/gems/fluentd-1.15.3/lib/fluent/agent.rb:130:inadd_match'
10: from /var/lib/gems/2.7.0/gems/fluentd-1.15.3/lib/fluent/plugin.rb:114:in new_output' 9: from /var/lib/gems/2.7.0/gems/fluentd-1.15.3/lib/fluent/plugin.rb:169:innew_impl'
8: from /var/lib/gems/2.7.0/gems/fluentd-1.15.3/lib/fluent/registry.rb:44:in lookup' 7: from /var/lib/gems/2.7.0/gems/fluentd-1.15.3/lib/fluent/registry.rb:100:insearch'
6: from /var/lib/gems/2.7.0/gems/fluentd-1.15.3/lib/fluent/registry.rb:100:in each' 5: from /var/lib/gems/2.7.0/gems/fluentd-1.15.3/lib/fluent/registry.rb:103:inblock in search'
4: from /usr/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in require' 3: from /usr/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:inrequire'
2: from /var/lib/gems/2.7.0/gems/fluent-plugin-elasticsearch-5.2.4/lib/fluent/plugin/out_elasticsearch.rb:20:in <top (required)>' 1: from /usr/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:inrequire'
**/usr/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in require': cannot load such file -- fluent/log-ext (LoadError)** 27: from /usr/local/bin/fluentd:23:in

'
26: from /usr/local/bin/fluentd:23:in load' 25: from /var/lib/gems/2.7.0/gems/fluentd-1.15.3/bin/fluentd:15:in'
24: from /usr/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in require' 23: from /usr/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:inrequire'
22: from /var/lib/gems/2.7.0/gems/fluentd-1.15.3/lib/fluent/command/fluentd.rb:350:in <top (required)>' 21: from /var/lib/gems/2.7.0/gems/fluentd-1.15.3/lib/fluent/supervisor.rb:731:inrun_supervisor'
20: from /var/lib/gems/2.7.0/gems/fluentd-1.15.3/lib/fluent/engine.rb:80:in run_configure' 19: from /var/lib/gems/2.7.0/gems/fluentd-1.15.3/lib/fluent/engine.rb:105:inconfigure'
18: from /var/lib/gems/2.7.0/gems/fluentd-1.15.3/lib/fluent/root_agent.rb:149:in configure' 17: from /var/lib/gems/2.7.0/gems/fluentd-1.15.3/lib/fluent/agent.rb:64:inconfigure'
16: from /var/lib/gems/2.7.0/gems/fluentd-1.15.3/lib/fluent/agent.rb:64:in each' 15: from /var/lib/gems/2.7.0/gems/fluentd-1.15.3/lib/fluent/agent.rb:74:inblock in configure'
14: from /var/lib/gems/2.7.0/gems/fluentd-1.15.3/lib/fluent/agent.rb:130:in add_match' 13: from /var/lib/gems/2.7.0/gems/fluentd-1.15.3/lib/fluent/plugin.rb:114:innew_output'
12: from /var/lib/gems/2.7.0/gems/fluentd-1.15.3/lib/fluent/plugin.rb:169:in new_impl' 11: from /var/lib/gems/2.7.0/gems/fluentd-1.15.3/lib/fluent/registry.rb:44:inlookup'
10: from /var/lib/gems/2.7.0/gems/fluentd-1.15.3/lib/fluent/registry.rb:100:in search' 9: from /var/lib/gems/2.7.0/gems/fluentd-1.15.3/lib/fluent/registry.rb:100:ineach'
8: from /var/lib/gems/2.7.0/gems/fluentd-1.15.3/lib/fluent/registry.rb:103:in block in search' 7: from /usr/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:inrequire'
6: from /usr/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in require' 5: from /var/lib/gems/2.7.0/gems/fluent-plugin-elasticsearch-5.2.4/lib/fluent/plugin/out_elasticsearch.rb:20:in'
4: from /usr/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:156:in require' 3: from /usr/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:161:inrescue in require'
2: from /usr/lib/ruby/2.7.0/rubygems.rb:209:in try_activate' 1: from /usr/lib/ruby/2.7.0/rubygems/specification.rb:1371:inactivate'
/usr/lib/ruby/2.7.0/rubygems/specification.rb:2245:in `raise_if_conflicts': Unable to activate fluent-plugin-elasticsearch-5.2.4, because faraday-2.6.0 conflicts with faraday (~> 1.10) (Gem::ConflictError)

I've checked faraday versions and noticed that two version installed:
ubuntu@lfs242:~/lab4$ fluent-gem list | grep -i faraday

faraday (2.6.0, 1.10.2)
faraday-em_http (1.0.0)
faraday-em_synchrony (1.0.0)
faraday-excon (1.1.0)
faraday-httpclient (1.0.1)
faraday-multipart (1.0.4)
faraday-net_http (3.0.1, 1.0.1)
faraday-net_http_persistent (1.2.0)
faraday-patron (1.0.0)
faraday-rack (1.0.0)
faraday-retry (1.0.3)

After uninstalling faraday 2.6.0(fluent-gem uninstall faraday -v 2.6.0) it works well.

I wonder when both versions were installed.

Comments

  • ChristianLacsina964
    edited November 2022
    ubuntu@labsys:~$ sudo fluent-gem install -N \
    'fluent-plugin-nginx-error-multiline:~>0.2.0' \
    'elasticsearch:~>8.2.2' \
    'fluent-plugin-elasticsearch:~>5.2.2'
    Fetching fluent-plugin-nginx-error-multiline-0.2.0.gem
    Successfully installed fluent-plugin-nginx-error-multiline-0.2.0
    Fetching elasticsearch-8.2.2.gem
    Fetching ruby2_keywords-0.0.5.gem
    Fetching faraday-net_http-3.0.1.gem
    Fetching faraday-2.6.0.gem
    Fetching multi_json-1.15.0.gem
    Fetching elastic-transport-8.1.0.gem
    Fetching elasticsearch-api-8.2.2.gem
    Successfully installed faraday-net_http-3.0.1
    Successfully installed ruby2_keywords-0.0.5
    Successfully installed faraday-2.6.0
    Successfully installed multi_json-1.15.0
    Successfully installed elastic-transport-8.1.0
    Successfully installed elasticsearch-api-8.2.2
    Successfully installed elasticsearch-8.2.2
    Fetching faraday-em_http-1.0.0.gem
    Fetching faraday-em_synchrony-1.0.0.gem
    Fetching faraday-excon-1.1.0.gem
    Fetching faraday-httpclient-1.0.1.gem
    Fetching multipart-post-2.2.3.gem
    Fetching faraday-multipart-1.0.4.gem
    Fetching faraday-net_http-1.0.1.gem
    Fetching faraday-net_http_persistent-1.2.0.gem
    Fetching fluent-plugin-elasticsearch-5.2.4.gem
    Fetching faraday-patron-1.0.0.gem
    Fetching faraday-rack-1.0.0.gem
    Fetching faraday-retry-1.0.3.gem
    Fetching faraday-1.10.2.gem
    Fetching excon-0.94.0.gem
    Successfully installed faraday-em_http-1.0.0
    Successfully installed faraday-em_synchrony-1.0.0
    Successfully installed faraday-excon-1.1.0
    Successfully installed faraday-httpclient-1.0.1
    Successfully installed multipart-post-2.2.3
    Successfully installed faraday-multipart-1.0.4
    Successfully installed faraday-net_http-1.0.1
    Successfully installed faraday-net_http_persistent-1.2.0
    Successfully installed faraday-patron-1.0.0
    Successfully installed faraday-rack-1.0.0
    Successfully installed faraday-retry-1.0.3
    Successfully installed faraday-1.10.2
    Successfully installed excon-0.94.0
    Successfully installed fluent-plugin-elasticsearch-5.2.4
    22 gems installed
    

    I see faraday getting installed twice: once after installing fluent-plugin-nginx-error-multiline (2.6.0)P and the other after the elastcisearch-8.2.2 install (1.102).

    Looks like it was an upstream update to one of the package dependencies. Your solution is the correct way to resolve this.

Categories

Upcoming Training