noxdafox / rabbitmq-cloudwatch-exporter

RabbitMQ Plugin for publishing cluster metrics to AWS CloudWatch
Mozilla Public License 2.0
41 stars 9 forks source link

Error: dependent plugins [goldrush] not found; used by [lager]. #24

Closed akshaysgithub closed 4 years ago

akshaysgithub commented 4 years ago

Hello,

I am trying to install the cloudwatch exporter plugin as mentioned in the documentation. Rest is working, I even get success plugins are applied, except this.

Error :


Applying plugin configuration to rabbit@ip-13-0-4-182... failed.
Error: dependent plugins [goldrush] not found; used by [lager].

Code I used

sudo wget https://github.com/noxdafox/rabbitmq-cloudwatch-exporter/releases/download/v1.0.0/base16-1.0.0.ez
sudo wget https://github.com/noxdafox/rabbitmq-cloudwatch-exporter/releases/download/v1.0.0/certifi-2.5.1.ez
sudo wget https://github.com/noxdafox/rabbitmq-cloudwatch-exporter/releases/download/v1.0.0/eini-git.ez
sudo wget https://github.com/noxdafox/rabbitmq-cloudwatch-exporter/releases/download/v1.0.0/elixir-1.8.2.ez
sudo wget https://github.com/noxdafox/rabbitmq-cloudwatch-exporter/releases/download/v1.0.0/erlcloud-3.3.2.ez
sudo wget https://github.com/noxdafox/rabbitmq-cloudwatch-exporter/releases/download/v1.0.0/ex_aws-2.1.0.ez
sudo wget https://github.com/noxdafox/rabbitmq-cloudwatch-exporter/releases/download/v1.0.0/ex_aws_cloudwatch-2.0.4.ez
sudo wget https://github.com/noxdafox/rabbitmq-cloudwatch-exporter/releases/download/v1.0.0/hackney-1.15.2.ez
sudo wget https://github.com/noxdafox/rabbitmq-cloudwatch-exporter/releases/download/v1.0.0/idna-6.0.0.ez
sudo wget https://github.com/noxdafox/rabbitmq-cloudwatch-exporter/releases/download/v1.0.0/jsx-2.9.0.ez
sudo wget https://github.com/noxdafox/rabbitmq-cloudwatch-exporter/releases/download/v1.0.0/lager-3.8.0.ez
sudo wget https://github.com/noxdafox/rabbitmq-cloudwatch-exporter/releases/download/v1.0.0/lager_cloudwatch-0.1.1.ez
sudo wget https://github.com/noxdafox/rabbitmq-cloudwatch-exporter/releases/download/v1.0.0/lhttpc-git.ez
sudo wget https://github.com/noxdafox/rabbitmq-cloudwatch-exporter/releases/download/v1.0.0/logger-1.8.2.ez
sudo wget https://github.com/noxdafox/rabbitmq-cloudwatch-exporter/releases/download/v1.0.0/metrics-1.0.1.ez
sudo wget https://github.com/noxdafox/rabbitmq-cloudwatch-exporter/releases/download/v1.0.0/mimerl-1.2.0.ez
sudo wget https://github.com/noxdafox/rabbitmq-cloudwatch-exporter/releases/download/v1.0.0/parse_trans-3.3.0.ez
sudo wget https://github.com/noxdafox/rabbitmq-cloudwatch-exporter/releases/download/v1.0.0/poison-3.1.0.ez
sudo wget https://github.com/noxdafox/rabbitmq-cloudwatch-exporter/releases/download/v1.0.0/singleton-1.2.0.ez
sudo wget https://github.com/noxdafox/rabbitmq-cloudwatch-exporter/releases/download/v1.0.0/ssl_verify_fun-1.1.5.ez
sudo wget https://github.com/noxdafox/rabbitmq-cloudwatch-exporter/releases/download/v1.0.0/unicode_util_compat-0.4.1.ez
sudo wget https://github.com/noxdafox/rabbitmq-cloudwatch-exporter/releases/download/0.3.1/rabbitmq_cloudwatch_exporter-0.3.1.ez
sudo rabbitmq-plugins enable rabbitmq_cloudwatch_exporter

I even installed erlang-goldrush package via apt-get.... No use. Any ideas.

The above error I had was on rabbit-3.6.2... When I change rabbitmq-3.8.2... I get a different error when enabling plugin :


sudo rabbitmq-plugins enable rabbitmq_cloudwatch_exporter
Enabling plugins on node rabbit@ip-13-0-4-159:
rabbitmq_cloudwatch_exporter
The following plugins have been configured:
  rabbitmq_cloudwatch_exporter
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_web_dispatch
Applying plugin configuration to rabbit@ip-13-0-4-159...
Stack trace: 

** (FunctionClauseError) no function clause matching in :rabbit_plugins.is_strictly_plugin/1
    (rabbit) :rabbit_plugins.is_strictly_plugin(false)
    (stdlib) lists.erl:1286: :lists."-filter/2-lc$^0/1-0-"/2
    (rabbitmqctl) lib/rabbitmq/cli/plugins/commands/enable_command.ex:161: RabbitMQ.CLI.Plugins.Commands.EnableCommand.filter_strictly_plugins/3
    (elixir) lib/stream.ex:1325: anonymous fn/2 in Stream.iterate/2
    (elixir) lib/stream.ex:1512: Stream.do_unfold/4
    (elixir) lib/stream.ex:1583: Enumerable.Stream.do_each/4
    (elixir) lib/stream.ex:952: Stream.do_enum_transform/7
    (elixir) lib/stream.ex:1583: Enumerable.Stream.do_each/4

:function_clause

And when I check rabbitmq enabled plugins, I get


sudo rabbitmq-plugins list
Listing plugins with pattern ".*" ...
 Configured: E = explicitly enabled; e = implicitly enabled
 | Status: * = running on rabbit@ip-13-0-4-159
 |/
[  ] rabbitmq_amqp1_0                  3.8.2
[  ] rabbitmq_auth_backend_cache       3.8.2
[  ] rabbitmq_auth_backend_http        3.8.2
[  ] rabbitmq_auth_backend_ldap        3.8.2
[  ] rabbitmq_auth_backend_oauth2      3.8.2
[  ] rabbitmq_auth_mechanism_ssl       3.8.2
[E*] rabbitmq_cloudwatch_exporter      0.3.1
noxdafox commented 4 years ago

The release is broken, I will fix it tonight.

akshaysgithub commented 4 years ago

The release is broken, I will fix it tonight.

Thanks a lot, I finally stopped getting that error, but adding metrics didn't help. This is the error I get, Just an FYI. :-) Thanks a lot for quick response. :-)


sudo rabbitmq-server

BOOT FAILED
===========

Config file generation failed:
08:44:29.773 [error] You've tried to set cloudwatch_exporter.metrics.exchange.enable, but there is no setting with that name.
08:44:29.773 [error]   Did you mean one of these?
08:44:29.845 [error]     cloudwatch_exporter.metrics.$metric
08:44:29.845 [error]     cloudwatch_exporter.export_regex.channel
08:44:29.845 [error]     cloudwatch_exporter.export_regex.exchange
08:44:29.845 [error] You've tried to set cloudwatch_exporter.metrics.exchange.export_metrics.1, but there is no setting with that name.
08:44:29.845 [error]   Did you mean one of these?
08:44:29.927 [error]     cloudwatch_exporter.metrics.$metric
08:44:29.927 [error]     cloudwatch_exporter.export_period
08:44:29.927 [error]     cloudwatch_exporter.aws.access_key_id
08:44:29.927 [error] You've tried to set cloudwatch_exporter.metrics.exchange.export_metrics.2, but there is no setting with that name.
08:44:29.927 [error]   Did you mean one of these?
08:44:30.008 [error]     cloudwatch_exporter.metrics.$metric
08:44:30.008 [error]     cloudwatch_exporter.export_period
08:44:30.008 [error]     cloudwatch_exporter.aws.access_key_id
08:44:30.009 [error] You've tried to set cloudwatch_exporter.metrics.exchange.export_regex, but there is no setting with that name.
08:44:30.009 [error]   Did you mean one of these?
08:44:30.085 [error]     cloudwatch_exporter.metrics.$metric
08:44:30.085 [error]     cloudwatch_exporter.export_period
08:44:30.085 [error]     cloudwatch_exporter.export_regex.exchange
08:44:30.086 [error] You've tried to set cloudwatch_exporter.metrics.queue.enable, but there is no setting with that name.
08:44:30.086 [error]   Did you mean one of these?
08:44:30.149 [error]     cloudwatch_exporter.metrics.$metric
08:44:30.149 [error]     cloudwatch_exporter.aws.region
08:44:30.149 [error]     cloudwatch_exporter.export_regex.channel
08:44:30.150 [error] You've tried to set cloudwatch_exporter.metrics.queue.export_regex, but there is no setting with that name.
08:44:30.150 [error]   Did you mean one of these?
08:44:30.222 [error]     cloudwatch_exporter.metrics.$metric
08:44:30.222 [error]     cloudwatch_exporter.export_period
08:44:30.222 [error]     cloudwatch_exporter.export_regex.exchange
08:44:30.222 [error] Error generating configuration in phase transform_datatypes
08:44:30.222 [error] Conf file attempted to set unknown variable: cloudwatch_exporter.metrics.queue.export_regex
08:44:30.223 [error] Conf file attempted to set unknown variable: cloudwatch_exporter.metrics.queue.enable
08:44:30.223 [error] Conf file attempted to set unknown variable: cloudwatch_exporter.metrics.exchange.export_regex
08:44:30.223 [error] Conf file attempted to set unknown variable: cloudwatch_exporter.metrics.exchange.export_metrics.2
08:44:30.223 [error] Conf file attempted to set unknown variable: cloudwatch_exporter.metrics.exchange.export_metrics.1
08:44:30.223 [error] Conf file attempted to set unknown variable: cloudwatch_exporter.metrics.exchange.enable
In case the setting comes from a plugin, make sure that the plugin is enabled.
Alternatively remove the setting from the config.
noxdafox commented 4 years ago

Rabbit 3.6.x might be too old to support this plugin. The plugin has been tested from 3.7.x onwards.

I updated the release adding the missing package. You need to add some dependencies in your wget list or use a script similar as for issue #23.

akshaysgithub commented 4 years ago

Rabbit 3.6.x might be too old to support this plugin. The plugin has been tested from 3.7.x onwards.

I updated the release adding the missing package. You need to add some dependencies in your wget list or use a script similar as for issue #23.

Hi,

Thank you. Actually my last reply is where I tried with RabbitMQ 3.8.2 Even though adding the plugins somehow is working, adding the metric options is not. Please check my last message. Thanks a lot. :-)

noxdafox commented 4 years ago

You need to pull the fixed release. The error in your second post was due to a missing artifact in the list. The list has been updated and new artifacts have been inserted. Make sure you are downloading all the artifacts.

In particular, you are pulling the wrong version of the plugin itself:

sudo wget https://github.com/noxdafox/rabbitmq-cloudwatch-exporter/releases/download/0.3.1/rabbitmq_cloudwatch_exporter-0.3.1.ez

Should be:

sudo wget https://github.com/noxdafox/rabbitmq-cloudwatch-exporter/releases/download/v1.0.0/rabbitmq_cloudwatch_exporter-1.0.0.ez
akshaysgithub commented 4 years ago

Fixed. Thanks a lot. :-)