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
|
define check_mk::ps (
$target,
$host,
$desc,
$procname = "/usr/sbin/${desc}",
$levels = '1, 1, 1, 1',
$user = undef
) {
# This class is called on check-mk agent machines in order to create
# checks using the built-in ps check type. They create stored configs
# and then the check_mk::server::collect_ps class on the server
# generates the config file to set them up
# lines in the ps.mk config file look like
# ( "foo.example.com", "ps", "NAME", ( "/usr/sbin/foo", 1, 1, 1, 1 ) )
# or with a user
# ( "foo.example.com", "ps", "NAME", ( "/usr/sbin/foo", "user", 1, 1, 1, 1 ) )
if $user {
$check = " ( \"${host}\", \"ps\", \"${desc}\", ( \"${procname}\", ${user}, ${levels} ) ),\n"
} else {
$check = " ( \"${host}\", \"ps\", \"${desc}\", ( \"${procname}\", ${levels} ) ),\n"
}
# FIXME: we could be smarter about this and consolidate host checks
# that have identical settings and that would make the config file
# make more sense for humans. but for now we'll just do separate
# lines (which may result in a very large file, but check-mk is fine)
concat::fragment { "check_mk_ps-${host}_${desc}":
target => $target,
content => $check,
order => 20
}
}
|