Modifying an agent
How to add custom plugins into an Opsview Monitor agent on a monitored device
The Opsview Monitor agent comes with a set of default plugins to be able to monitor many aspects of your devices
Linux: Adding a custom plugin
- Log in to the Linux host that will run the plugin.
- Place the plugin in the
/opt/opsview/agent/plugins_local
directory. You may need to create this directory if it doesn't already exist.
mkdir /opt/opsview/agent/plugins_local
chown root:opsview /opt/opsview/agent/plugins_local
chmod 750 /opt/opsview/agent/plugins_local
mv custom_script.pl /opt/opsview/agent/plugins_local
- Make sure the script is executable by the
opsview
user
chmod +rx /opt/opsview/agent/plugins_local/custom_script.pl
- Test the plugin works as expected and there are no missing supplimentary files (note: always change to the root directory to ensure relative paths are not assumed within the plugin) - the
-h
option should be included in all plugins to provide help output
su - opsview
cd /
/opt/opsview/agent/plugins_local/custom_script.pl -h
- Edit the file
/opt/opsview/agent/etc/nrpe_local/custom.cfg
(you may need to create it if it does not exist), adding a line like the below.
# command[check_name_of_check]=/path/to/script $ARG1$
# replace 'name_of_check' with the name you want to use to refer to the script
# replace /path/to/script with the full path to the script
# The '$ARG1$' is important as this takes any arguments provided by Opsview and passes
# them directly to the plugin being called. Without this, the arguments configured in
# Opsview will be ignored.
# e.g.
command[check_custom]=/opt/opsview/agent/plugins_local/custom_script.pl $ARG1$
/opt/opsview/agent/etc/nrpe_local
Any files in this directory with the .cfg suffix will be read by Opsview. We use custom.cfg as an example.
- Restart the Opsview agent
systemctl restart opsview-agent
From your Opsview Monitor Orchestrator or Collector server you should now be able to use your custom servicecheck with the -c
flag of the check_nrpe plugin. For example:
/opt/opsview/monitoringscripts/plugins/check_nrpe -H 192.168.19.170 -c check_custom
# replace 'check_custom' with the name you specified in custom.cfg - command[check_custom]...
** UI Configuration
Add a new Servicecheckwith the following configuration:
Name: Custom Check
Plugin: check_nrpe
Parameters: -H $HOSTADDRESS$ -c check_customer -a '<plugin arguements>'
Now add this Servicecheck to the Host you wish to monitor and Apply Changes
to bring the configuration into use
Updated over 2 years ago