summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--manifests/defaults/commands.pp6
-rw-r--r--manifests/service/mysql.pp35
2 files changed, 41 insertions, 0 deletions
diff --git a/manifests/defaults/commands.pp b/manifests/defaults/commands.pp
index b7c16df..342fed1 100644
--- a/manifests/defaults/commands.pp
+++ b/manifests/defaults/commands.pp
@@ -35,6 +35,12 @@ class nagios::defaults::commands {
command_line => '$USER1$/check_http --ssl -H $ARG1$ -u $ARG2$';
check_https_url_regex:
command_line => '$USER1$/check_http --ssl -H $ARG1$ -u $ARG2$ -e $ARG3$';
+ check_mysql:
+ command_line => '$USER1$/check_mysql -u $ARG1$ -p $ARG2$ -d $ARG3$ ';
+ check_mysql_socket:
+ command_line => '$USER1$/check_mysql -s $ARG1$ -u $ARG2$ -p $ARG3$ -d $ARG4$ ';
+ check_mysql_tcp:
+ command_line => '$USER1$/check_mysql -H $ARG1$ -u $ARG2$ -p $ARG3$ -d $ARG4$';
check_ntp_time:
command_line => '$USER1$/check_ntp_time -H $HOSTADDRESS$ -w 0.5 -c 1';
check_silc:
diff --git a/manifests/service/mysql.pp b/manifests/service/mysql.pp
new file mode 100644
index 0000000..d09f335
--- /dev/null
+++ b/manifests/service/mysql.pp
@@ -0,0 +1,35 @@
+define nagios::service::mysql(
+ $ensure = present,
+ $check_hostname = 'localhost',
+ $check_socket = 'absent',
+ $check_username = 'nagios',
+ $check_password = '',
+ $check_database = '',
+ $check_mode = 'absent'
+){
+
+ $real_check_mode = $check_mode ? {
+ 'absent' => 'tcp',
+ default => 'socket',
+ }
+
+ case $real_check_mode {
+ # Check MySQL using TCP
+ 'tcp': {
+ nagios::service { 'mysql_tcp':
+ ensure => $ensure,
+ check_command => "check_mysql_tcp!${check_hostname}!${check_username}!${check_password}!${check_database}",
+ }
+ }
+ # Check MySQL using local socket
+ 'socket': {
+ nagios::service { 'mysql_socket':
+ ensure => $ensure,
+ check_command => $check_socket ? {
+ 'absent' => "check_mysql!${check_username}!${check_password}!${check_database}",
+ default => "check_mysql_socket!${check_socket}!${check_username}!${check_password}!${check_database}",
+ },
+ }
+ }
+ }
+}