Closed jze1 closed 3 years ago
$ docker run -it --entrypoint=/bin/bash ruby:2.4.0
$ apt-get update; apt-get install -y sudo
$ curl -L https://toolbelt.treasuredata.com/sh/install-debian-jessie-td-agent3.sh | sh
$ gem install fluent-plugin-prometheus
$ td-agent
This works with latest plugin version, fluentd 1.12.1 and ruby 2.4. There must be something wrong in your install
I am not using docker, why? td-agent3 package already has embedded ruby 2.4.0. Yet fluent-plugin-prometheus tries to load ripper module which was deprecated in ruby 1.9 AFAIK.
Maybe, the problem is your td-agent is old: https://github.com/treasure-data/omnibus-td-agent/issues/242
The agent is maybe old but the embedded ruby is still 2.4.0.
@jze1 docker was for reproducibility from a ruby 2.4.0 base image, seems to work launching directly fluentd, and with td agent 3 version provided (which embeds ruby 2.4.5) seems also to work
$ pwd /opt/td-agent/embedded/bin $ ./gem install fluent-plugin-prometheus Building native extensions. This could take a while... Successfully installed msgpack-1.4.2 Fetching: serverengine-2.2.3.gem (100%) Successfully installed serverengine-2.2.3 Fetching: fluentd-1.12.1.gem (100%) Successfully installed fluentd-1.12.1 Fetching: prometheus-client-2.1.0.gem (100%) Successfully installed prometheus-client-2.1.0 Fetching: fluent-plugin-prometheus-2.0.0.gem (100%) Successfully installed fluent-plugin-prometheus-2.0.0 Parsing documentation for msgpack-1.4.2 Installing ri documentation for msgpack-1.4.2 Parsing documentation for serverengine-2.2.3 Installing ri documentation for serverengine-2.2.3 Parsing documentation for fluentd-1.12.1 Installing ri documentation for fluentd-1.12.1 Parsing documentation for prometheus-client-2.1.0 Installing ri documentation for prometheus-client-2.1.0 Parsing documentation for fluent-plugin-prometheus-2.0.0 Installing ri documentation for fluent-plugin-prometheus-2.0.0 Done installing documentation for msgpack, serverengine, fluentd, prometheus-client, fluent-plugin-prometheus after 8 seconds 5 gems installed
$ service td-agent start Starting td-agent: /opt/td-agent/embedded/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in
require': cannot load such file -- ripper (LoadError) from /opt/td-agent/embedded/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in
require' from /opt/td-agent/embedded/lib/ruby/gems/2.4.0/gems/fluentd-1.12.1/lib/fluent/config/literal_parser.rb:22:in<top (required)>' from /opt/td-agent/embedded/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in
require' from /opt/td-agent/embedded/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:inrequire' from /opt/td-agent/embedded/lib/ruby/gems/2.4.0/gems/fluentd-1.12.1/lib/fluent/config/element.rb:18:in
<top (required)>' from /opt/td-agent/embedded/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:inrequire' from /opt/td-agent/embedded/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in
require' from /opt/td-agent/embedded/lib/ruby/gems/2.4.0/gems/fluentd-1.12.1/lib/fluent/config.rb:18:in<top (required)>' from /opt/td-agent/embedded/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in
require' from /opt/td-agent/embedded/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:inrequire' from /opt/td-agent/embedded/lib/ruby/gems/2.4.0/gems/fluentd-1.12.1/lib/fluent/supervisor.rb:20:in
<top (required)>' from /opt/td-agent/embedded/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:inrequire' from /opt/td-agent/embedded/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in
require' from /opt/td-agent/embedded/lib/ruby/gems/2.4.0/gems/fluentd-1.12.1/lib/fluent/command/fluentd.rb:19:in<top (required)>' from /opt/td-agent/embedded/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in
require' from /opt/td-agent/embedded/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:inrequire' from /opt/td-agent/embedded/lib/ruby/gems/2.4.0/gems/fluentd-1.12.1/bin/fluentd:8:in
<top (required)>' from /opt/td-agent/embedded/bin/fluentd:23:inload' from /opt/td-agent/embedded/bin/fluentd:23:in
<top (required)>' ... ...