marksteele / collectd-plugins Goto Github PK
View Code? Open in Web Editor NEWCollectd Plugins
Collectd Plugins
I found a small typo in the readme and docstring for MySQL.pm. The namespace is shown as Collectd::Plugins which does not match the namespace for MySQL.pm. One point of interest is that the collectd docs say Perl plugins should use the Collectd::Plugins namespace while all these plugins use the Collectd::Plugin namespace. I wanted your opinion on whether to change the plugins' namespaces to match the best practices or update the readme and docstrings to show Collectd::Plugin.
Hello :)
Your plugins seem very useful but it would be great if you could add a license file to the repository. I would love to use some of these in my projects.
Cheers!
Hi,
That variable from MySQL isn't growing? When you do a SHOW GLOBAL STATUS WHERE variable_name = 'Innodb_buffer_pool_pages_dirty'; You get an instant value of that variable, in the code we can see that it belongs to a counter object. I'm asking because when I'm using Graphite plugin with : StoreRates true it's converting the counter to rate and I'm getting those weird values:
db-098.mysql-status.counter-innodb_buffer_pool_pages_dirty 2.067185 1400620329
db-098.mysql-status.counter-innodb_buffer_pool_pages_dirty 71584374.348543 1400620389
db-098.mysql-status.counter-innodb_buffer_pool_pages_dirty 1.666663 1400620449
db-098.mysql-status.counter-innodb_buffer_pool_pages_dirty 1.000010 1400620509
db-098.mysql-status.counter-innodb_buffer_pool_pages_dirty 71582376.493464
From 0 to 71M every minutes which doesn't make any sense.
Thank you,
Hi Mark,
I'm currently trying to use the RabbitMQ.pm plugin in our environment with collectd and graphite, unfortunately I'm not having much luck.
On the initial launch of collectd I recieve an error :
parse error in file `/opt/collectd/etc/plugins/rabbitmq.conf', line 137 near `': syntax error, unexpected $end, expecting EOL
I've overcome this error by modifying the rabbitmq.conf file, adding or removing an empty line seems to do the trick. Once collectd starts I can see in the collectd logs that your RabbitMQ.pm plugin appears to be communicating with the RabbitMQ server:
[2013-06-07 08:01:59] perl: perl_read: c_ithread: interp = 0x7f1dc40008e0 (active threads: 4)
[2013-06-07 08:01:59] perl: Collectd::plugin_call: type = "1" (read), args=""
[2013-06-07 08:01:59] RabbitMQ: starting http request
[2013-06-07 08:01:59] RabbitMQ: finished http request
[2013-06-07 08:01:59] RabbitMQ: got 200 response
[2013-06-07 08:01:59] RabbitMQ: decoded response
[2013-06-07 08:01:59] RabbitMQ: done processing results
However I'm not sure where this data is going. We are using the write_graphite plugin to send collectd data to a remote graphite server. Using the RabbitMQ.pm by default causes write_graphite to crash due to a send_buffer overflow. I've overcome this by commenting out lines in the RabbitMQ.pm file.
119 foreach my $result (@{$ref}) {
120 $vl->{'plugin_instance'} = $result->{'vhost'};
121 $vl->{'type_instance'} = $result->{'name'};
122 $vl->{'plugin_instance'} =~ s#[/-]#_#g;
123 $vl->{'type_instance'} =~ s#[/-]#_#g;
124 $vl->{'values'} = [
125 $result->{'messages'} ? $result->{'messages'} : 0,
126 #$result->{'messages_details'}->{'rate'} ? $result->{'messages_details'}->{'rate'} : 0,
127 $result->{'messages_unacknowledged'} ? $result->{'messages_unacknowledged'} : 0,
128 #$result->{'messages_unacknowledged_details'}->{'rate'} ? $result->{'messages_unacknowledged_details '}->{'rate'} : 0,
129 $result->{'messages_ready'} ? $result->{'messages_ready'} : 0,
130 #$result->{'message_ready_details'}->{'rate'} ? $result->{'message_ready_details'}->{'rate'} : 0,
131 $result->{'memory'} ? $result->{'memory'} : 0,
132 #$result->{'consumers'} ? $result->{'consumers'} : 0,
133 $result->{'message_stats'}->{'publish'} ? $result->{'message_stats'}->{'publish'} : 0,
134 #$result->{'message_stats'}->{'publish_details'}->{'rate'} ? $result->{'message_stats'}->{'publish_d etails'}->{'rate'} : 0,
135 $result->{'message_stats'}->{'deliver_no_ack'} ? $result->{'message_stats'}->{'deliver_no_ack'} : 0,
136 #$result->{'message_stats'}->{'deliver_no_ack_details'}->{'rate'} ? $result->{'message_stats'}->{'de liver_no_ack_details'}->{'rate'} : 0,
137 #$result->{'message_stats'}->{'deliver_get'} ? $result->{'message_stats'}->{'deliver_get'} : 0,138 #$result->{'message_stats'}->{'deliver_get_details'}->{'rate'} ? $result->{'message_stats'}->{'deliv er_get_details'}->{'rate'} : 0,
139 ];
I've tried to run the plugin on it's own and get multiple errors, such as:
Bareword "LOG_ERR" not allowed while "strict subs" in use at Collectd.pm line 165.
Bareword "TYPE_CONFIG" not allowed while "strict subs" in use at Collectd.pm line 119.
I guess my question is, where is this data going? Is there any hint you can give me to help test this plugin on it's own to ensure it's getting data out of RabbitMQ? Are there any options I can use in the rabbitmq.conf file to only grab specific stats (so that I don't clobber write_graphite)?
I'm sure I've missed something, and apologize for reaching out as an "issue" when it's more than likely something I've overlooked. Anything you can do to help would be greatly appreciated.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.