nytimes / collectd-rabbitmq

A collected plugin, written in python, to collect statistics from RabbitMQ.
https://collectd-rabbitmq.readthedocs.org/
Other
145 stars 79 forks source link

Dataset messages_ready not found #64

Open emraanali11 opened 6 years ago

emraanali11 commented 6 years ago

Even after updating the types.db file, however still facing the issue. Sharing the error message along with collectd config. please help to fix.

Error Log: [2017-12-13 11:28:30] Failed to dispatch rabbitmq_default.queues.xxx.get_details.avg. Exception Dataset get_details not found [2017-12-13 11:28:30] Failed to dispatch rabbitmq_default.queues.xxx.get_details.avg_rate. Exception Dataset get_details not found [2017-12-13 11:28:30] Failed to dispatch rabbitmq_default.queues.xxx.get_details.rate. Exception Dataset get_details not found [2017-12-13 11:28:30] Failed to dispatch rabbitmq_default.queues.xxx.get_details.sample. Exception Dataset get_details not found [2017-12-13 11:28:30] Failed to dispatch rabbitmq_default.queues.xxx.redeliver_details.avg. Exception Dataset redeliver_details not found [2017-12-13 11:28:30] Failed to dispatch rabbitmq_default.queues.xxx.redeliver_details.avg_rate. Exception Dataset redeliver_details not found [2017-12-13 11:28:30] Failed to dispatch rabbitmq_default.queues.xxx.redeliver_details.rate. Exception Dataset redeliver_details not found [2017-12-13 11:28:30] Failed to dispatch rabbitmq_default.queues.xxx.redeliver_details.sample. Exception Dataset redeliver_details not found [2017-12-13 11:28:30] Failed to dispatch rabbitmq_default.queues.xxx.consumers.None. Exception Dataset consumers not found [2017-12-13 11:28:30] Failed to dispatch rabbitmq_default.queues.xxx.messages.None. Exception Dataset messages not found [2017-12-13 11:28:30] Failed to dispatch rabbitmq_default.queues.xxx.messages_ready.None. Exception Dataset messages_ready not found

Collectd config: TypesDB "/usr/share/collectd/types.db.custom" LoadPlugin python LogTraces true Interactive false Import "collectd_rabbitmq.collectd_plugin" <Module "collectd_rabbitmq.collectd_plugin"> Username "guest" Password "guest" Realm "RabbitMQ Management" Host "localhost" Port "15672"

jimbydamonk commented 6 years ago

What version are you using? I will try and reproduce.

emraanali11 commented 6 years ago

Thanks for the help. Below are the versions. Python 2.7.6 {running_applications, [{rabbitmq_management,"RabbitMQ Management Console","3.6.9"}, {rabbitmq_web_dispatch,"RabbitMQ Web Dispatcher","3.6.9"}, {rabbitmq_management_agent,"RabbitMQ Management Agent","3.6.9"}, {rabbit,"RabbitMQ","3.6.9"},

shymega commented 6 years ago

I also get this error with Python 2.7.13, collectd 5.7.1.git, and the latest version of the types.db.custom file & types.db. It is running on a Ubuntu 17.04 server, as well.

If you need anymore information, feel free to ping me.

emraanali11 commented 6 years ago

@shymega Is there any fix? Should we change the python version ?

shymega commented 6 years ago

@emraanali11 I don't know anymore than you do. Sorry.

jimbydamonk commented 6 years ago

I am trying to reproduce. I do not have a TypesDB "/usr/share/collectd/types.db.custom" but my config is

TypesDB "/usr/local/lib/python2.7/dist-packages/collectd_rabbitmq-1.19.0-py2.7.egg/share/collectd-rabbitmq/types.db.custom"

LoadPlugin python
<Plugin python>
  LogTraces true
  Interactive false
  Import "collectd_rabbitmq.collectd_plugin"
  <Module "collectd_rabbitmq.collectd_plugin">
    Username "collectd"
    Password "collectd"
    Realm "RabbitMQ Management"
    Host "localhost"
    Port "15672"
  </Module>

</Plugin>

That location is generated from the python setup.py. Do you have a types file in a similar location?

Also, did you install through pip or manually ?

emraanali11 commented 6 years ago

@jimbydamonk I have my file located at /usr/local/share/collectd-rabbitmq/types.db.custom and i used pip for installation. I will try and install it manually once.

shymega commented 6 years ago

My solution was to give up with collectd and use Telegraf instead. Telegraf seems to work better for my use-case. I hope this helps anyone who wants to gather metrics from RabbitMQ at the moment, and aren't having much luck with this plugin :smile:

emraanali11 commented 6 years ago

@shymega Can you share the plugin name or document which you used, will be a great help. Thanks

shymega commented 6 years ago

@emraanali11 This was what I used. Hope that helps.

josdirksen commented 6 years ago

I've run into this same issue as well, and this doesn't seem to be an issue with this plugin. For my version of collectd 5.5.1 on Ubuntu 16.04.3 LTS it seem collectd is kind of picky on how the additional types need to be defined. I've only had success with explicitly stating both configurations:

TypesDB "/usr/share/collectd/rabbitmq.types.db"
TypesDB "/usr/share/collectd/types.db"
...
LoadPlugin python
...
<Plugin python>
  LogTraces true
  Interactive false
  Import "collectd_rabbitmq.collectd_plugin"
  <Module "collectd_rabbitmq.collectd_plugin">

    Username "guest"
    Password "guest"
    Realm "RabbitMQ Management"
    Host "localhost"
    Port "15672"
    <Ignore "queue">
      Regex "^amq"
    </Ignore>
    <Ignore "exchange">
      Regex "my-exchange"
    </Ignore>
  </Module>
</Plugin>
Abdoubng commented 6 years ago

@shymega or @emraanali11 Is it normal that you guys are pointing to a types.db.custom rather than types.db ?

shymega commented 6 years ago

@Abdoubng Sorry, I really don't remember; it was so long ago. I now use Telegraf...

Abdoubng commented 6 years ago

@shymega ok, because i just tried it and i got the same errors, fixed by putting the "types.db" on the config rather that types.db.custom. Well while we're at a data_set topic question for @jimbydamonk is it possible to add other dataset to the types.db ? i want to add the message rate incoming one

sylvainfaivre commented 4 years ago

If you have the same problem, look for a types.db or types.db.custom file.

In my case, I installed collectd-rabbitmq with pip, and the file was found at /usr/local/share/collectd-rabbitmq/types.db.custom

So I added this line to rabbitmq.conf : TypesDB "/usr/local/share/collectd-rabbitmq/types.db.custom"