New upstream version 2.3.4
This commit is contained in:
parent
e7bdd1c6c6
commit
de72f6f588
556 changed files with 90432 additions and 53391 deletions
|
@ -34,7 +34,7 @@ const char *progname = "check_mysql";
|
|||
const char *copyright = "1999-2011";
|
||||
const char *email = "devel@monitoring-plugins.org";
|
||||
|
||||
#define SLAVERESULTSIZE 70
|
||||
#define SLAVERESULTSIZE 96
|
||||
|
||||
#include "common.h"
|
||||
#include "utils.h"
|
||||
|
@ -89,6 +89,8 @@ static const char *metric_counter[LENGTH_METRIC_COUNTER] = {
|
|||
"Uptime"
|
||||
};
|
||||
|
||||
#define MYSQLDUMP_THREADS_QUERY "SELECT COUNT(1) mysqldumpThreads FROM information_schema.processlist WHERE info LIKE 'SELECT /*!40001 SQL_NO_CACHE */%'"
|
||||
|
||||
thresholds *my_threshold = NULL;
|
||||
|
||||
int process_arguments (int, char **);
|
||||
|
@ -108,7 +110,7 @@ main (int argc, char **argv)
|
|||
|
||||
char *result = NULL;
|
||||
char *error = NULL;
|
||||
char slaveresult[SLAVERESULTSIZE];
|
||||
char slaveresult[SLAVERESULTSIZE] = { 0 };
|
||||
char* perf;
|
||||
|
||||
perf = strdup ("");
|
||||
|
@ -138,7 +140,10 @@ main (int argc, char **argv)
|
|||
mysql_ssl_set(&mysql,key,cert,ca_cert,ca_dir,ciphers);
|
||||
/* establish a connection to the server and error checking */
|
||||
if (!mysql_real_connect(&mysql,db_host,db_user,db_pass,db,db_port,db_socket,0)) {
|
||||
if (ignore_auth && mysql_errno (&mysql) == ER_ACCESS_DENIED_ERROR)
|
||||
/* Depending on internally-selected auth plugin MySQL might return */
|
||||
/* ER_ACCESS_DENIED_NO_PASSWORD_ERROR or ER_ACCESS_DENIED_ERROR. */
|
||||
/* Semantically these errors are the same. */
|
||||
if (ignore_auth && (mysql_errno (&mysql) == ER_ACCESS_DENIED_ERROR || mysql_errno (&mysql) == ER_ACCESS_DENIED_NO_PASSWORD_ERROR))
|
||||
{
|
||||
printf("MySQL OK - Version: %s (protocol %d)\n",
|
||||
mysql_get_server_info(&mysql),
|
||||
|
@ -275,11 +280,30 @@ main (int argc, char **argv)
|
|||
/* Save slave status in slaveresult */
|
||||
snprintf (slaveresult, SLAVERESULTSIZE, "Slave IO: %s Slave SQL: %s Seconds Behind Master: %s", row[slave_io_field], row[slave_sql_field], seconds_behind_field!=-1?row[seconds_behind_field]:"Unknown");
|
||||
|
||||
/* Raise critical error if SQL THREAD or IO THREAD are stopped */
|
||||
/* Raise critical error if SQL THREAD or IO THREAD are stopped, but only if there are no mysqldump threads running */
|
||||
if (strcmp (row[slave_io_field], "Yes") != 0 || strcmp (row[slave_sql_field], "Yes") != 0) {
|
||||
mysql_free_result (res);
|
||||
mysql_close (&mysql);
|
||||
die (STATE_CRITICAL, "%s\n", slaveresult);
|
||||
MYSQL_RES *res_mysqldump;
|
||||
MYSQL_ROW row_mysqldump;
|
||||
unsigned int mysqldump_threads = 0;
|
||||
|
||||
if (mysql_query (&mysql, MYSQLDUMP_THREADS_QUERY) == 0) {
|
||||
/* store the result */
|
||||
if ( (res_mysqldump = mysql_store_result (&mysql)) != NULL) {
|
||||
if (mysql_num_rows(res_mysqldump) == 1) {
|
||||
if ( (row_mysqldump = mysql_fetch_row (res_mysqldump)) != NULL) {
|
||||
mysqldump_threads = atoi(row_mysqldump[0]);
|
||||
}
|
||||
}
|
||||
/* free the result */
|
||||
mysql_free_result (res_mysqldump);
|
||||
}
|
||||
mysql_close (&mysql);
|
||||
}
|
||||
if (mysqldump_threads == 0) {
|
||||
die (STATE_CRITICAL, "%s\n", slaveresult);
|
||||
} else {
|
||||
strncat(slaveresult, " Mysqldump: in progress", SLAVERESULTSIZE-1);
|
||||
}
|
||||
}
|
||||
|
||||
if (verbose >=3) {
|
||||
|
@ -291,7 +315,7 @@ main (int argc, char **argv)
|
|||
}
|
||||
|
||||
/* Check Seconds Behind against threshold */
|
||||
if ((seconds_behind_field != -1) && (strcmp (row[seconds_behind_field], "NULL") != 0)) {
|
||||
if ((seconds_behind_field != -1) && (row[seconds_behind_field] != NULL && strcmp (row[seconds_behind_field], "NULL") != 0)) {
|
||||
double value = atof(row[seconds_behind_field]);
|
||||
int status;
|
||||
|
||||
|
@ -551,7 +575,7 @@ print_help (void)
|
|||
printf (" %s\n", _("Exit with CRITICAL status if slave server is more then INTEGER seconds"));
|
||||
printf (" %s\n", _("behind master"));
|
||||
printf (" %s\n", "-l, --ssl");
|
||||
printf (" %s\n", _("Use ssl encryptation"));
|
||||
printf (" %s\n", _("Use ssl encryption"));
|
||||
printf (" %s\n", "-C, --ca-cert=STRING");
|
||||
printf (" %s\n", _("Path to CA signing the cert"));
|
||||
printf (" %s\n", "-a, --cert=STRING");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue