summaryrefslogtreecommitdiffstats
path: root/plugins/check_mysql_query.c
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/check_mysql_query.c')
-rw-r--r--plugins/check_mysql_query.c45
1 files changed, 28 insertions, 17 deletions
diff --git a/plugins/check_mysql_query.c b/plugins/check_mysql_query.c
index 79b6e2f4..480453b1 100644
--- a/plugins/check_mysql_query.c
+++ b/plugins/check_mysql_query.c
@@ -67,35 +67,39 @@ int main(int argc, char **argv) {
67 /* Parse extra opts if any */ 67 /* Parse extra opts if any */
68 argv = np_extra_opts(&argc, argv, progname); 68 argv = np_extra_opts(&argc, argv, progname);
69 69
70 if (process_arguments(argc, argv) == ERROR) 70 if (process_arguments(argc, argv) == ERROR) {
71 usage4(_("Could not parse arguments")); 71 usage4(_("Could not parse arguments"));
72 }
72 73
73 MYSQL mysql; 74 MYSQL mysql;
74 /* initialize mysql */ 75 /* initialize mysql */
75 mysql_init(&mysql); 76 mysql_init(&mysql);
76 77
77 if (opt_file != NULL) 78 if (opt_file != NULL) {
78 mysql_options(&mysql, MYSQL_READ_DEFAULT_FILE, opt_file); 79 mysql_options(&mysql, MYSQL_READ_DEFAULT_FILE, opt_file);
80 }
79 81
80 if (opt_group != NULL) 82 if (opt_group != NULL) {
81 mysql_options(&mysql, MYSQL_READ_DEFAULT_GROUP, opt_group); 83 mysql_options(&mysql, MYSQL_READ_DEFAULT_GROUP, opt_group);
82 else 84 } else {
83 mysql_options(&mysql, MYSQL_READ_DEFAULT_GROUP, "client"); 85 mysql_options(&mysql, MYSQL_READ_DEFAULT_GROUP, "client");
86 }
84 87
85 /* establish a connection to the server and error checking */ 88 /* establish a connection to the server and error checking */
86 if (!mysql_real_connect(&mysql, db_host, db_user, db_pass, db, db_port, db_socket, 0)) { 89 if (!mysql_real_connect(&mysql, db_host, db_user, db_pass, db, db_port, db_socket, 0)) {
87 if (mysql_errno(&mysql) == CR_UNKNOWN_HOST) 90 if (mysql_errno(&mysql) == CR_UNKNOWN_HOST) {
88 die(STATE_WARNING, "QUERY %s: %s\n", _("WARNING"), mysql_error(&mysql)); 91 die(STATE_WARNING, "QUERY %s: %s\n", _("WARNING"), mysql_error(&mysql));
89 else if (mysql_errno(&mysql) == CR_VERSION_ERROR) 92 } else if (mysql_errno(&mysql) == CR_VERSION_ERROR) {
90 die(STATE_WARNING, "QUERY %s: %s\n", _("WARNING"), mysql_error(&mysql)); 93 die(STATE_WARNING, "QUERY %s: %s\n", _("WARNING"), mysql_error(&mysql));
91 else if (mysql_errno(&mysql) == CR_OUT_OF_MEMORY) 94 } else if (mysql_errno(&mysql) == CR_OUT_OF_MEMORY) {
92 die(STATE_WARNING, "QUERY %s: %s\n", _("WARNING"), mysql_error(&mysql)); 95 die(STATE_WARNING, "QUERY %s: %s\n", _("WARNING"), mysql_error(&mysql));
93 else if (mysql_errno(&mysql) == CR_IPSOCK_ERROR) 96 } else if (mysql_errno(&mysql) == CR_IPSOCK_ERROR) {
94 die(STATE_WARNING, "QUERY %s: %s\n", _("WARNING"), mysql_error(&mysql)); 97 die(STATE_WARNING, "QUERY %s: %s\n", _("WARNING"), mysql_error(&mysql));
95 else if (mysql_errno(&mysql) == CR_SOCKET_CREATE_ERROR) 98 } else if (mysql_errno(&mysql) == CR_SOCKET_CREATE_ERROR) {
96 die(STATE_WARNING, "QUERY %s: %s\n", _("WARNING"), mysql_error(&mysql)); 99 die(STATE_WARNING, "QUERY %s: %s\n", _("WARNING"), mysql_error(&mysql));
97 else 100 } else {
98 die(STATE_CRITICAL, "QUERY %s: %s\n", _("CRITICAL"), mysql_error(&mysql)); 101 die(STATE_CRITICAL, "QUERY %s: %s\n", _("CRITICAL"), mysql_error(&mysql));
102 }
99 } 103 }
100 104
101 char *error = NULL; 105 char *error = NULL;
@@ -140,8 +144,9 @@ int main(int argc, char **argv) {
140 /* close the connection */ 144 /* close the connection */
141 mysql_close(&mysql); 145 mysql_close(&mysql);
142 146
143 if (verbose >= 3) 147 if (verbose >= 3) {
144 printf("mysql result: %f\n", value); 148 printf("mysql result: %f\n", value);
149 }
145 150
146 int status = get_status(value, my_thresholds); 151 int status = get_status(value, my_thresholds);
147 152
@@ -170,8 +175,9 @@ int process_arguments(int argc, char **argv) {
170 {"version", no_argument, 0, 'V'}, {"help", no_argument, 0, 'h'}, {"query", required_argument, 0, 'q'}, 175 {"version", no_argument, 0, 'V'}, {"help", no_argument, 0, 'h'}, {"query", required_argument, 0, 'q'},
171 {"warning", required_argument, 0, 'w'}, {"critical", required_argument, 0, 'c'}, {0, 0, 0, 0}}; 176 {"warning", required_argument, 0, 'w'}, {"critical", required_argument, 0, 'c'}, {0, 0, 0, 0}};
172 177
173 if (argc < 1) 178 if (argc < 1) {
174 return ERROR; 179 return ERROR;
180 }
175 181
176 char *warning = NULL; 182 char *warning = NULL;
177 char *critical = NULL; 183 char *critical = NULL;
@@ -180,8 +186,9 @@ int process_arguments(int argc, char **argv) {
180 int option = 0; 186 int option = 0;
181 int option_char = getopt_long(argc, argv, "hvVP:p:u:d:H:s:q:w:c:f:g:", longopts, &option); 187 int option_char = getopt_long(argc, argv, "hvVP:p:u:d:H:s:q:w:c:f:g:", longopts, &option);
182 188
183 if (option_char == -1 || option_char == EOF) 189 if (option_char == -1 || option_char == EOF) {
184 break; 190 break;
191 }
185 192
186 switch (option_char) { 193 switch (option_char) {
187 case 'H': /* hostname */ 194 case 'H': /* hostname */
@@ -247,17 +254,21 @@ int process_arguments(int argc, char **argv) {
247} 254}
248 255
249int validate_arguments(void) { 256int validate_arguments(void) {
250 if (sql_query == NULL) 257 if (sql_query == NULL) {
251 usage("Must specify a SQL query to run"); 258 usage("Must specify a SQL query to run");
259 }
252 260
253 if (db_user == NULL) 261 if (db_user == NULL) {
254 db_user = strdup(""); 262 db_user = strdup("");
263 }
255 264
256 if (db_host == NULL) 265 if (db_host == NULL) {
257 db_host = strdup(""); 266 db_host = strdup("");
267 }
258 268
259 if (db == NULL) 269 if (db == NULL) {
260 db = strdup(""); 270 db = strdup("");
271 }
261 272
262 return OK; 273 return OK;
263} 274}