diff options
author | Matt Taggart <taggart@riseup.net> | 2015-05-12 10:43:56 -0700 |
---|---|---|
committer | Matt Taggart <taggart@riseup.net> | 2015-05-12 10:43:56 -0700 |
commit | bcde059a9b1e95d72f6622604837b85496a5f75a (patch) | |
tree | c0a6f72732eb75a9fc3ba316e789c7d8bcfbd7fe /manifests/ps.pp | |
parent | f5f3bca062ea6af44f9b8eb654d3b532a3f758cc (diff) | |
parent | 9930649228a509eda998699e213ed458685763f0 (diff) |
Merge branch 'master' of gitlab.com:shared-puppet-modules-group/check_mk
Conflicts:
manifests/agent/generate_sshkey.pp
Diffstat (limited to 'manifests/ps.pp')
-rw-r--r-- | manifests/ps.pp | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/manifests/ps.pp b/manifests/ps.pp new file mode 100644 index 0000000..1171a13 --- /dev/null +++ b/manifests/ps.pp @@ -0,0 +1,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 + } +} + |