Sending the changes as a diff, as the sgi mail server refused an attachment.
diff /tmp/pmdamysql.pl /var/lib/pcp/pmdas/mysql/pmdamysql.pl
35,36c35,36
< use vars qw( $pmda %status %variables @processes %slave_status );
< use vars qw( $dbh $sth_variables $sth_status $sth_processes
$sth_slave_status );
---
> use vars qw( $pmda %status %variables @processes );
> use vars qw( $dbh $sth_variables $sth_status $sth_processes );
51d50
< $sth_slave_status = $dbh->prepare('show slave status');
105,118d103
< sub mysql_slave_status_refresh
< {
< # $pmda->log("mysql_slave_status_refresh\n");
<
< %slave_status = (); # clear any previous contents
< if (defined($dbh)) {
< $sth_slave_status->execute();
< my $result = $sth_slave_status->fetchrow_hashref();
< while ( my ($key, $value) = each(%$result) ) {
< $slave_status{lc $key} = $value;
< }
< }
< }
<
127d111
< elsif ($cluster == 3) { mysql_slave_status_refresh; }
164,169d147
< elsif ($cluster == 3) {
< $mysql_name =~ s/^mysql\.slave_status\.//;
< $value = $slave_status{$mysql_name};
< if (!defined($value)) { return (PM_ERR_APPVERSION, 0); }
< return ($value, 1);
< }
1657,1753d1634
< $pmda->add_metric(pmda_pmid(3,0), PM_TYPE_STRING, PM_INDOM_NULL,
< PM_SEM_INSTANT, pmda_units(0,0,0,0,0,0),
< 'mysql.slave_status.slave_io_state', '', '');
< $pmda->add_metric(pmda_pmid(3,1), PM_TYPE_STRING, PM_INDOM_NULL,
< PM_SEM_INSTANT, pmda_units(0,0,0,0,0,0),
< 'mysql.slave_status.slave_io_running', '', '');
< $pmda->add_metric(pmda_pmid(3,2), PM_TYPE_STRING, PM_INDOM_NULL,
< PM_SEM_INSTANT, pmda_units(0,0,0,0,0,0),
< 'mysql.slave_status.slave_sql_running', '', '');
< $pmda->add_metric(pmda_pmid(3,3), PM_TYPE_U32, PM_INDOM_NULL,
< PM_SEM_INSTANT, pmda_units(1,0,0,PM_TIME_SEC,0,0),
< 'mysql.slave_status.seconds_behind_master', '', '');
< $pmda->add_metric(pmda_pmid(3,4), PM_TYPE_STRING, PM_INDOM_NULL,
< PM_SEM_INSTANT, pmda_units(0,0,0,0,0,0),
< 'mysql.slave_status.master_log_file', '', '');
< $pmda->add_metric(pmda_pmid(3,5), PM_TYPE_U32, PM_INDOM_NULL,
< PM_SEM_INSTANT, pmda_units(0,0,1,0,0,PM_COUNT_ONE),
< 'mysql.slave_status.read_master_log_pos', '', '');
< $pmda->add_metric(pmda_pmid(3,6), PM_TYPE_STRING, PM_INDOM_NULL,
< PM_SEM_INSTANT, pmda_units(0,0,0,0,0,0),
< 'mysql.slave_status.relay_master_log_file', '', '');
< $pmda->add_metric(pmda_pmid(3,7), PM_TYPE_U32, PM_INDOM_NULL,
< PM_SEM_INSTANT, pmda_units(0,0,1,0,0,PM_COUNT_ONE),
< 'mysql.slave_status.exec_master_log_pos', '', '');
< $pmda->add_metric(pmda_pmid(3,8), PM_TYPE_STRING, PM_INDOM_NULL,
< PM_SEM_INSTANT, pmda_units(0,0,0,0,0,0),
< 'mysql.slave_status.relay_log_file', '', '');
< $pmda->add_metric(pmda_pmid(3,9), PM_TYPE_U32, PM_INDOM_NULL,
< PM_SEM_INSTANT, pmda_units(0,0,1,0,0,PM_COUNT_ONE),
< 'mysql.slave_status.relay_log_pos', '', '');
< $pmda->add_metric(pmda_pmid(3,10), PM_TYPE_STRING, PM_INDOM_NULL,
< PM_SEM_INSTANT, pmda_units(0,0,0,0,0,0),
< 'mysql.slave_status.until_log_file', '', '');
< $pmda->add_metric(pmda_pmid(3,11), PM_TYPE_U32, PM_INDOM_NULL,
< PM_SEM_INSTANT, pmda_units(0,0,1,0,0,PM_COUNT_ONE),
< 'mysql.slave_status.until_log_pos', '', '');
< $pmda->add_metric(pmda_pmid(3,12), PM_TYPE_STRING, PM_INDOM_NULL,
< PM_SEM_DISCRETE, pmda_units(0,0,0,0,0,0),
< 'mysql.slave_status.master_ssl_cipher', '', '');
< $pmda->add_metric(pmda_pmid(3,13), PM_TYPE_STRING, PM_INDOM_NULL,
< PM_SEM_DISCRETE, pmda_units(0,0,0,0,0,0),
< 'mysql.slave_status.master_ssl_ca_file', '', '');
< $pmda->add_metric(pmda_pmid(3,14), PM_TYPE_U32, PM_INDOM_NULL,
< PM_SEM_INSTANT, pmda_units(0,0,1,0,0,PM_COUNT_ONE),
< 'mysql.slave_status.skip_counter', '', '');
< $pmda->add_metric(pmda_pmid(3,15), PM_TYPE_U32, PM_INDOM_NULL,
< PM_SEM_INSTANT, pmda_units(0,0,1,0,0,PM_COUNT_ONE),
< 'mysql.slave_status.relay_log_space', '', '');
< $pmda->add_metric(pmda_pmid(3,16), PM_TYPE_STRING, PM_INDOM_NULL,
< PM_SEM_DISCRETE, pmda_units(0,0,0,0,0,0),
< 'mysql.slave_status.until_condition', '', '');
< $pmda->add_metric(pmda_pmid(3,17), PM_TYPE_U32, PM_INDOM_NULL,
< PM_SEM_DISCRETE, pmda_units(1,PM_TIME_SEC,0,0,0,0),
< 'mysql.slave_status.connect_retry', '', '');
< $pmda->add_metric(pmda_pmid(3,18), PM_TYPE_STRING, PM_INDOM_NULL,
< PM_SEM_DISCRETE, pmda_units(0,0,0,0,0,0),
< 'mysql.slave_status.master_host', '', '');
< $pmda->add_metric(pmda_pmid(3,19), PM_TYPE_U32, PM_INDOM_NULL,
< PM_SEM_INSTANT, pmda_units(0,0,0,0,0,0),
< 'mysql.slave_status.last_errno', '', '');
< $pmda->add_metric(pmda_pmid(3,20), PM_TYPE_STRING, PM_INDOM_NULL,
< PM_SEM_DISCRETE, pmda_units(0,0,0,0,0,0),
< 'mysql.slave_status.master_ssl_cert', '', '');
< $pmda->add_metric(pmda_pmid(3,21), PM_TYPE_STRING, PM_INDOM_NULL,
< PM_SEM_DISCRETE, pmda_units(0,0,0,0,0,0),
< 'mysql.slave_status.replicate_do_db', '', '');
< $pmda->add_metric(pmda_pmid(3,22), PM_TYPE_STRING, PM_INDOM_NULL,
< PM_SEM_DISCRETE, pmda_units(0,0,0,0,0,0),
< 'mysql.slave_status.replicate_ignore_db', '', '');
< $pmda->add_metric(pmda_pmid(3,23), PM_TYPE_STRING, PM_INDOM_NULL,
< PM_SEM_DISCRETE, pmda_units(0,0,0,0,0,0),
< 'mysql.slave_status.master_user', '', '');
< $pmda->add_metric(pmda_pmid(3,24), PM_TYPE_STRING, PM_INDOM_NULL,
< PM_SEM_DISCRETE, pmda_units(0,0,0,0,0,0),
< 'mysql.slave_status.replicate_do_table', '', '');
< $pmda->add_metric(pmda_pmid(3,25), PM_TYPE_STRING, PM_INDOM_NULL,
< PM_SEM_DISCRETE, pmda_units(0,0,0,0,0,0),
< 'mysql.slave_status.replicate_wild_do_table', '', '');
< $pmda->add_metric(pmda_pmid(3,26), PM_TYPE_STRING, PM_INDOM_NULL,
< PM_SEM_DISCRETE, pmda_units(0,0,0,0,0,0),
< 'mysql.slave_status.replicate_wild_ignore_table', '', '');
< $pmda->add_metric(pmda_pmid(3,27), PM_TYPE_STRING, PM_INDOM_NULL,
< PM_SEM_DISCRETE, pmda_units(0,0,0,0,0,0),
< 'mysql.slave_status.replicate_ignore_table', '', '');
< $pmda->add_metric(pmda_pmid(3,28), PM_TYPE_STRING, PM_INDOM_NULL,
< PM_SEM_DISCRETE, pmda_units(0,0,0,0,0,0),
< 'mysql.slave_status.master_ssl_allowed', '', '');
< $pmda->add_metric(pmda_pmid(3,29), PM_TYPE_STRING, PM_INDOM_NULL,
< PM_SEM_DISCRETE, pmda_units(0,0,0,0,0,0),
< 'mysql.slave_status.master_ssl_ca_path', '', '');
< $pmda->add_metric(pmda_pmid(3,30), PM_TYPE_U32, PM_INDOM_NULL,
< PM_SEM_DISCRETE, pmda_units(0,0,0,0,0,0),
< 'mysql.slave_status.master_port', '', '');
< $pmda->add_metric(pmda_pmid(3,31), PM_TYPE_STRING, PM_INDOM_NULL,
< PM_SEM_DISCRETE, pmda_units(0,0,0,0,0,0),
< 'mysql.slave_status.master_ssl_key', '', '');
<
On 27/10/12 08:50, Chandana De Silva wrote:
Hello Nathan,
Thank you very much for your help. I got the new metrics working. The
reason it did not work last evening was that the data returned from
'show slave status' is a single row, not a bunch of rows.
I have now added all the slave status metrics in, hope I have got the
semantics right. I would appreciate if you (or someone) can cast an
eye over them.
I need to get these metrics into my environment as soon as possible. I
would like to generate a new pcp rpm with the new code. How should I
name the rpm to ensure that the change goes in cleanly when I upgrade
?. The current RPM is pcp-3.6.9-1. If the next RPM is going to be
pcp-3.6.10-1, then I can safely use pcp-3.6.9.1-1. Is that ok ?
Regards
Chandana
On 22/10/12 16:53, Nathan Scott wrote:
----- Original Message -----
Nathan,
Many thanks.
I will get this working.
|