diff options
-rw-r--r-- | manifests/defaults/commands.pp | 6 | ||||
-rw-r--r-- | manifests/service/mysql.pp | 35 |
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}", + }, + } + } + } +} |