|
NAMEgdnsd-plugin-extmon - gdnsd plugin for monitoring via external commandsSYNOPSISExample plugin config:service_types => { wget_ssl_index => { plugin => "extmon", timeout => 15, interval => 30, cmd => ["/usr/bin/wget", "-T", "3", "-q", "-O", "/dev/null", "https://%%ITEM%%/index.html"] }, svc_alwaysok => { plugin => "extmon", timeout => 1, direct => true, cmd => ["/bin/sh", "-c", "exit 0"] }, svc_alwaysfail_via_timeout => { plugin => "extmon", timeout => 2, max_proc => 10, cmd => ["/bin/sh", "-c", "sleep 5"] } } # optional, if installed path confuses the daemon... plugins => { extmon => { helper_path => "/usr/local/libexec/gdnsd/gdnsd_extmon_helper" } } DESCRIPTIONgdnsd-plugin-extmon allows you to configure external commands to provide monitoring feedback to the dynamic address plugins.CONFIGURATION - GLOBALThese are plugin-global settings which are configured within "plugins => { extmon => { ... } }".
CONFIGURATION - PER-SERVICE-TYPEThe universal, plugin-neutral service_type parameters all apply in their usual sense: "up_thresh", "ok_thresh", "down_thresh", "interval", "plugin", and "timeout". See gdnsd.config(5) for basic information on these. The following are specific to this "extmon" plugin:
EXECUTION ENVIRONMENTThe plugin launches a helper binary gdnsd_extmon_helper during daemon startup, and this helper does the actual runtime command executions. It manages the timeouts and intervals and feeds results back to the plugin over a pipe. This communication is one-way at runtime (no daemon -> helper traffic) for security reasons (to help ensure that a compromised daemon can't easily leverage the helper to muck with the execution of the external commands). This separation also prevents a class of functional and security bugs related to mixing runtime pthreads with routine forking to exec the child processes.The executed scripts will run with the same userid the daemon normally drops privileges to. The stdout, stdin, and stderr descriptors will usually be set to /dev/null. stdout and stderr may be open to the current tty if the main daemon was started in foreground debugging mode via "-f start". SEE ALSOgdnsd.config(5), gdnsd(8)The gdnsd manual. COPYRIGHT AND LICENSECopyright (c) 2012 Brandon L Black <blblack@gmail.com>This file is part of gdnsd. gdnsd is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. gdnsd is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with gdnsd. If not, see <http://www.gnu.org/licenses/>.
Visit the GSP FreeBSD Man Page Interface. |