Defined Type: profile::trafficserver::nrpe_monitor_script
- Defined in:
- modules/profile/manifests/trafficserver/nrpe_monitor_script.pp
Overview
Define profile::trafficserver::nrpe_monitor_script
Install the script specified in $title (or $checkname) under /usr/local/lib/nagios/plugins/, add a sudoers entry so that $sudo_user can execute the script, create a nrpe::monitor_service.
- sudo_user
-
User to execute this monitoring script as.
- checkname
-
Script name, defaulting to $title.
- extension
-
Script extension, either 'sh' (the default) or 'py'.
- timeout
-
Icinga check timeout in seconds.
- args
-
Optional arguments to pass to the script.
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 |
# File 'modules/profile/manifests/trafficserver/nrpe_monitor_script.pp', line 22
define profile::trafficserver::nrpe_monitor_script(
String $sudo_user,
Wmflib::Ensure $ensure = present,
String $checkname = $title,
Enum['sh', 'py'] $extension = 'sh',
Integer $timeout = 30,
String $args = '',
){
$full_path = "/usr/local/lib/nagios/plugins/${checkname}"
unless defined(File[$full_path]) {
file { $full_path:
ensure => $ensure,
source => "puppet:///modules/profile/trafficserver/${checkname}.${extension}",
mode => '0555',
owner => 'root',
group => 'root',
}
}
sudo::user { "nagios_trafficserver_${title}":
ensure => $ensure,
user => 'nagios',
privileges => ["ALL = (${sudo_user}) NOPASSWD: ${full_path}"],
}
nrpe::monitor_service { $title:
ensure => $ensure,
description => $title,
nrpe_command => "sudo -u ${sudo_user} ${full_path} ${args}",
require => File[$full_path],
notes_url => 'https://wikitech.wikimedia.org/wiki/Apache_Traffic_Server',
timeout => $timeout,
}
}
|