diff options
Diffstat (limited to 'web/attachments/406534-nagiosplug_mysql.diff')
| -rw-r--r-- | web/attachments/406534-nagiosplug_mysql.diff | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/web/attachments/406534-nagiosplug_mysql.diff b/web/attachments/406534-nagiosplug_mysql.diff new file mode 100644 index 0000000..991ce1a --- /dev/null +++ b/web/attachments/406534-nagiosplug_mysql.diff | |||
| @@ -0,0 +1,74 @@ | |||
| 1 | diff --git a/REQUIREMENTS b/REQUIREMENTS | ||
| 2 | index fd41ded..33c5eb9 100644 | ||
| 3 | --- a/REQUIREMENTS | ||
| 4 | +++ b/REQUIREMENTS | ||
| 5 | @@ -36,10 +36,9 @@ check_ldap: | ||
| 6 | |||
| 7 | check_mysql, check_mysql_query: | ||
| 8 | - Requires the MySQL libraries available from | ||
| 9 | - http://www.mysql.org/ | ||
| 10 | + http://dev.mysql.com/downloads/ | ||
| 11 | Lib: libmysql, libmysqlclient | ||
| 12 | - Redhat Powertools Source: mysql-3.20.32a-3.i386.rpm, mysql-devel-3.20.32a-3.i386.rpm (these seem to be broken, however) | ||
| 13 | - RPMS from www.mysql.org work better | ||
| 14 | + Redhat Source (RHEL6, YUM): mysql-devel, mysql-libs | ||
| 15 | Must have mysql_config in PATH or specified with --with-mysql=DIR for DIR/bin/mysql_config | ||
| 16 | |||
| 17 | check_pqsql: | ||
| 18 | diff --git a/plugins/check_mysql.c b/plugins/check_mysql.c | ||
| 19 | index d9b4e53..0dfb1fd 100644 | ||
| 20 | --- a/plugins/check_mysql.c | ||
| 21 | +++ b/plugins/check_mysql.c | ||
| 22 | @@ -5,7 +5,7 @@ | ||
| 23 | * License: GPL | ||
| 24 | * Copyright (c) 1999 Didi Rieder (adrieder@sbox.tu-graz.ac.at) | ||
| 25 | * Copyright (c) 2000 Karl DeBisschop (kdebisschop@users.sourceforge.net) | ||
| 26 | -* Copyright (c) 1999-2009 Nagios Plugins Development Team | ||
| 27 | +* Copyright (c) 1999-2011 Nagios Plugins Development Team | ||
| 28 | * | ||
| 29 | * Description: | ||
| 30 | * | ||
| 31 | @@ -31,7 +31,7 @@ | ||
| 32 | *****************************************************************************/ | ||
| 33 | |||
| 34 | const char *progname = "check_mysql"; | ||
| 35 | -const char *copyright = "1999-2007"; | ||
| 36 | +const char *copyright = "1999-2011"; | ||
| 37 | const char *email = "nagiosplug-devel@lists.sourceforge.net"; | ||
| 38 | |||
| 39 | #define SLAVERESULTSIZE 70 | ||
| 40 | @@ -157,7 +157,7 @@ main (int argc, char **argv) | ||
| 41 | } | ||
| 42 | |||
| 43 | } else { | ||
| 44 | - /* mysql 4.x.x */ | ||
| 45 | + /* mysql 4.x.x and mysql 5.x.x */ | ||
| 46 | int slave_io_field = -1 , slave_sql_field = -1, seconds_behind_field = -1, i, num_fields; | ||
| 47 | MYSQL_FIELD* fields; | ||
| 48 | |||
| 49 | @@ -178,13 +178,17 @@ main (int argc, char **argv) | ||
| 50 | } | ||
| 51 | } | ||
| 52 | |||
| 53 | + /* Check if slave status is available */ | ||
| 54 | if ((slave_io_field < 0) || (slave_sql_field < 0) || (num_fields == 0)) { | ||
| 55 | mysql_free_result (res); | ||
| 56 | mysql_close (&mysql); | ||
| 57 | die (STATE_CRITICAL, "Slave status unavailable\n"); | ||
| 58 | } | ||
| 59 | |||
| 60 | + /* Save slave status in slaveresult */ | ||
| 61 | 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"); | ||
| 62 | + | ||
| 63 | + /* Raise critical error if SQL THREAD or IO THREAD are stopped */ | ||
| 64 | if (strcmp (row[slave_io_field], "Yes") != 0 || strcmp (row[slave_sql_field], "Yes") != 0) { | ||
| 65 | mysql_free_result (res); | ||
| 66 | mysql_close (&mysql); | ||
| 67 | @@ -199,6 +203,7 @@ main (int argc, char **argv) | ||
| 68 | } | ||
| 69 | } | ||
| 70 | |||
| 71 | + /* Check Seconds Behind against threshold */ | ||
| 72 | if ((seconds_behind_field != -1) && (strcmp (row[seconds_behind_field], "NULL") != 0)) { | ||
| 73 | double value = atof(row[seconds_behind_field]); | ||
| 74 | int status; | ||
