aboutsummaryrefslogtreecommitdiffstats
path: root/modules/xymon/manifests/init.pp
blob: 826812e08c73ff25e96602e5ce6471bdc7781c1f (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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
class xymon {
    class client {
        package { xymon-client: }

        service { xymon-client:
            ensure => running,
            path => '/etc/init.d/xymon-client',
            require => Package['xymon-client'],
        }

        # TODO replace with a exported ressource
        $server = extlookup('hobbit_server','x')
        file { '/etc/sysconfig/xymon-client':
            content => template("xymon/xymon-client"),
        }
    }

    class server {
        package { ["xymon","fping"]: }

        service { xymon:
                ensure => running,
                path => '/etc/init.d/xymon',
        }

        File {
            group => xymon,
            require => Package["xymon"],
            notify => Exec["service xymon reload"],
        }

        file {
            # Environment variables user by hobbitd,hobbitlaunch,hobbitd_rrd,CGIs
            # and bbgen (which generates the static html pages)
            # hobbitlaunch (started by init script) may need to be restarted for
            # changes here, for hobbitd_rrd (e.g. TEST2RRD), it is sufficient to
            # kill hobbitd_rrd, hobbitlaunch will respawn it
            '/etc/xymon/hobbitserver.cfg': content => template("xymon/hobbitserver.cfg");

            # Define hosts and web view layout, and lists tests to be run against
            # host by e.g. network tests from xymon server
            '/etc/xymon/bb-hosts': content => template("xymon/bb-hosts");

            # Defines thresholds for test data reported by clients, e.g. load
            # disk, procs, ports, memory, as well as those which require some
            # configuration server side to the client: files, msgs, 
            '/etc/xymon/hobbit-clients.cfg': content => template("xymon/hobbit-clients.cfg");

            # Configuration for the xymon clients, which log files to process etc.
            '/etc/xymon/client-local.cfg': content => template("xymon/client-local.cfg");

            # Used for alerting, changes should be taken into effect immediately
            '/etc/xymon/hobbit-alerts.cfg': content => template("xymon/hobbit-alerts.cfg");
        }

        # Most changes should take effect immediately, but sometimes threshold
        # changes take effect sooner if hobbit is HUPd
        exec { "service xymon reload":
            refreshonly => true,
            require => Package["xymon"],
        }
    }
}