summaryrefslogtreecommitdiff
path: root/manifests/service/mysql.pp
blob: d09f335f2f7c6ec363fad36519c9774c09700d30 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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}",
                },
            }
        }
    }
}