summaryrefslogtreecommitdiff
path: root/manifests/server/nagios.pp
blob: 4c1c153556c8a06e7a28b3e619bf603f28a31bcd (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
# manifests/server/nagios.pp

class mysql::server::nagios {
    case $nagios_mysql_password {
        '': { fail("please specify \$nagios_mysql_password to enable nagios mysql check")}
    }
    
    # Flip this variable if you need to check MySQL through check_ssh or check_nrpe,
    # in that case you will have to manually define nagios::service::mysql
    if ($nagios_mysql_notcp != true) {
        $nagios_mysql_user = 'nagios@%'
        nagios::service::mysql { 'mysql':
            check_hostname => $fqdn,
            check_username => 'nagios',
            check_password => $nagios_mysql_password,
            check_mode => 'tcp',
            require => Mysql_grant[$nagios_mysql_user],
        }
    }
    else {
        $nagios_mysql_user = 'nagios@localhost'
    }
    
    mysql_user{$nagios_mysql_user:
        password_hash => mysql_password("${nagios_mysql_password}"),
        require => Package['mysql'],
    }

    mysql_grant{$nagios_mysql_user:
        privileges => 'select_priv',
        require => [ Mysql_user[$nagios_mysql_user], Package['mysql'] ],
    }
}