From 6764f7e7f5fa3fdd0c9caee240c9ed843576a902 Mon Sep 17 00:00:00 2001 From: Frank Wall Date: Sun, 18 Nov 2018 23:00:21 +0100 Subject: [PATCH 1/4] net-mgmt/zabbix-agent: add support for UserParameters --- .../ZabbixAgent/Api/SettingsController.php | 31 ++++++ .../OPNsense/ZabbixAgent/IndexController.php | 2 + .../ZabbixAgent/forms/dialogUserparameter.xml | 26 +++++ .../OPNsense/ZabbixAgent/forms/settings.xml | 2 +- .../OPNsense/ZabbixAgent/ZabbixAgent.xml | 31 +++++- .../app/views/OPNsense/ZabbixAgent/index.volt | 94 +++++++++++++++++++ .../OPNsense/ZabbixAgent/zabbix_agentd.conf | 10 ++ 7 files changed, 191 insertions(+), 5 deletions(-) create mode 100644 net-mgmt/zabbix-agent/src/opnsense/mvc/app/controllers/OPNsense/ZabbixAgent/forms/dialogUserparameter.xml diff --git a/net-mgmt/zabbix-agent/src/opnsense/mvc/app/controllers/OPNsense/ZabbixAgent/Api/SettingsController.php b/net-mgmt/zabbix-agent/src/opnsense/mvc/app/controllers/OPNsense/ZabbixAgent/Api/SettingsController.php index 8140652f0..1a55d8e2d 100644 --- a/net-mgmt/zabbix-agent/src/opnsense/mvc/app/controllers/OPNsense/ZabbixAgent/Api/SettingsController.php +++ b/net-mgmt/zabbix-agent/src/opnsense/mvc/app/controllers/OPNsense/ZabbixAgent/Api/SettingsController.php @@ -42,4 +42,35 @@ class SettingsController extends ApiMutableModelControllerBase { static protected $internalModelName = 'zabbixagent'; static protected $internalModelClass = '\OPNsense\ZabbixAgent\ZabbixAgent'; + + public function searchUserparametersAction() + { + return $this->searchBase('userparameters.userparameter', array("enabled", "key", "command")); + } + + public function getUserparameterAction($uuid = null) + { + $this->sessionClose(); + return $this->getBase('userparameter', 'userparameters.userparameter', $uuid); + } + + public function addUserparameterAction() + { + return $this->addBase('userparameter', 'userparameters.userparameter'); + } + + public function delUserparameterAction($uuid) + { + return $this->delBase('userparameters.userparameter', $uuid); + } + + public function setUserparameterAction($uuid) + { + return $this->setBase('userparameter', 'userparameters.userparameter', $uuid); + } + + public function toggleUserparameterAction($uuid) + { + return $this->toggleBase('userparameters.userparameter', $uuid); + } } diff --git a/net-mgmt/zabbix-agent/src/opnsense/mvc/app/controllers/OPNsense/ZabbixAgent/IndexController.php b/net-mgmt/zabbix-agent/src/opnsense/mvc/app/controllers/OPNsense/ZabbixAgent/IndexController.php index 8b784d788..eb119fa02 100644 --- a/net-mgmt/zabbix-agent/src/opnsense/mvc/app/controllers/OPNsense/ZabbixAgent/IndexController.php +++ b/net-mgmt/zabbix-agent/src/opnsense/mvc/app/controllers/OPNsense/ZabbixAgent/IndexController.php @@ -43,6 +43,8 @@ class IndexController extends \OPNsense\Base\IndexController { // include form definitions $this->view->settingsForm = $this->getForm("settings"); + // link userparameter dialog + $this->view->formDialogUserparameter = $this->getForm("dialogUserparameter"); // pick the template to serve $this->view->pick('OPNsense/ZabbixAgent/index'); } diff --git a/net-mgmt/zabbix-agent/src/opnsense/mvc/app/controllers/OPNsense/ZabbixAgent/forms/dialogUserparameter.xml b/net-mgmt/zabbix-agent/src/opnsense/mvc/app/controllers/OPNsense/ZabbixAgent/forms/dialogUserparameter.xml new file mode 100644 index 000000000..9a2fe131f --- /dev/null +++ b/net-mgmt/zabbix-agent/src/opnsense/mvc/app/controllers/OPNsense/ZabbixAgent/forms/dialogUserparameter.xml @@ -0,0 +1,26 @@ +
+ + userparameter.enabled + + checkbox + Enable this userparameter. + + + userparameter.key + + text + Enter a unique item key of your choice. + + + userparameter.command + + text + Command to be executed to evaluate value of the key. + + + userparameter.acceptParams + + checkbox + Flexible user parameters accept parameters with the key. This way a flexible user parameter can be the basis for creating several items. + +
diff --git a/net-mgmt/zabbix-agent/src/opnsense/mvc/app/controllers/OPNsense/ZabbixAgent/forms/settings.xml b/net-mgmt/zabbix-agent/src/opnsense/mvc/app/controllers/OPNsense/ZabbixAgent/forms/settings.xml index 9eeb9c64c..c9a5fe969 100644 --- a/net-mgmt/zabbix-agent/src/opnsense/mvc/app/controllers/OPNsense/ZabbixAgent/forms/settings.xml +++ b/net-mgmt/zabbix-agent/src/opnsense/mvc/app/controllers/OPNsense/ZabbixAgent/forms/settings.xml @@ -1,4 +1,5 @@
+ zabbixagent-settings-main zabbixagent.settings.main.enabled @@ -125,5 +126,4 @@ - zabbixagent-settings-main
diff --git a/net-mgmt/zabbix-agent/src/opnsense/mvc/app/models/OPNsense/ZabbixAgent/ZabbixAgent.xml b/net-mgmt/zabbix-agent/src/opnsense/mvc/app/models/OPNsense/ZabbixAgent/ZabbixAgent.xml index 49e39a6e2..fc159f6e4 100644 --- a/net-mgmt/zabbix-agent/src/opnsense/mvc/app/models/OPNsense/ZabbixAgent/ZabbixAgent.xml +++ b/net-mgmt/zabbix-agent/src/opnsense/mvc/app/models/OPNsense/ZabbixAgent/ZabbixAgent.xml @@ -1,9 +1,7 @@ //OPNsense/ZabbixAgent - 1.1.0 - - Enterprise-class open source distributed monitoring agent - + 1.2.0 + Enterprise-class open source distributed monitoring agent @@ -132,5 +130,30 @@ + + + + Y + + + 1 + Y + + + /^[^\t^,^;^\.^\[^\]^\{^\}]{1,255}$/u + Should be a string between 1 and 255 characters. + Y + + + /^[^\t^,^;^\.^\[^\]^\{^\}]{1,4096}$/u + Should be a string between 1 and 4096 characters. + Y + + + 0 + Y + + + diff --git a/net-mgmt/zabbix-agent/src/opnsense/mvc/app/views/OPNsense/ZabbixAgent/index.volt b/net-mgmt/zabbix-agent/src/opnsense/mvc/app/views/OPNsense/ZabbixAgent/index.volt index 5721a8a96..c0e5c2f21 100644 --- a/net-mgmt/zabbix-agent/src/opnsense/mvc/app/views/OPNsense/ZabbixAgent/index.volt +++ b/net-mgmt/zabbix-agent/src/opnsense/mvc/app/views/OPNsense/ZabbixAgent/index.volt @@ -36,6 +36,23 @@ $( document ).ready(function() { updateServiceControlUI('zabbixagent'); }); + /*********************************************************************** + * link grid actions + **********************************************************************/ + + $("#grid-userparameters").UIBootgrid( + { search:'/api/zabbixagent/settings/searchUserparameters', + get:'/api/zabbixagent/settings/getUserparameter/', + set:'/api/zabbixagent/settings/setUserparameter/', + add:'/api/zabbixagent/settings/addUserparameter/', + del:'/api/zabbixagent/settings/delUserparameter/', + toggle:'/api/zabbixagent/settings/toggleUserparameter/', + options: { + rowCount:[10,25,50,100,500,1000] + } + } + ); + /*********************************************************************** * Commands **********************************************************************/ @@ -45,6 +62,7 @@ $( document ).ready(function() { $(this).click(function(){ var frm_id = $(this).closest("form").attr("id"); var frm_title = $(this).closest("form").attr("data-title"); + // save data for tab saveFormToEndpoint(url="/api/zabbixagent/settings/set",formid=frm_id,callback_ok=function(){ // set progress animation when reloading @@ -66,6 +84,33 @@ $( document ).ready(function() { } else { updateServiceControlUI('zabbixagent'); } + // when done, disable progress animation. + $("#"+frm_id+"_progress").removeClass("fa fa-spinner fa-pulse"); + }); + }); + }); + }); + + // Reconfigure - activate changes + $('[id*="reconfigureAct"]').each(function(){ + $(this).click(function(){ + // set progress animation + $('[id*="reconfigureAct_progress"]').each(function(){ + $(this).addClass("fa fa-spinner fa-pulse"); + }); + // reconfigure service + ajaxCall(url="/api/zabbixagent/service/reconfigure", sendData={}, callback=function(data,status) { + if (status != "success" || data['status'] != 'ok') { + BootstrapDialog.show({ + type: BootstrapDialog.TYPE_WARNING, + title: "{{ lang._('Error reconfiguring Zabbix Agent') }}", + message: data['status'], + draggable: true + }); + } + // when done, disable progress animation + $('[id*="reconfigureAct_progress"]').each(function(){ + $(this).removeClass("fa fa-spinner fa-pulse"); }); }); }); @@ -83,8 +128,57 @@ $( document ).ready(function() {
+ {# add automatically generated tab content #} {{ partial("layout_partials/base_tabs_content",['formData':settingsForm]) }} + + {# manually add tab content #} +
+ + + + + + + + + + + + + + + + + + + +
{{ lang._('Enabled') }}{{ lang._('User Parameter Key') }}{{ lang._('User Parameter Command') }}{{ lang._('Commands') }}{{ lang._('ID') }}
+ + +
+ +
+
+ +
+
+
+
+ +{# include dialogs #} +{{ partial("layout_partials/base_dialog",['fields':formDialogUserparameter,'id':'DialogUserparameter','label':lang._('Edit User Parameter')]) }} diff --git a/net-mgmt/zabbix-agent/src/opnsense/service/templates/OPNsense/ZabbixAgent/zabbix_agentd.conf b/net-mgmt/zabbix-agent/src/opnsense/service/templates/OPNsense/ZabbixAgent/zabbix_agentd.conf index 50ae3852d..48c9e7af9 100644 --- a/net-mgmt/zabbix-agent/src/opnsense/service/templates/OPNsense/ZabbixAgent/zabbix_agentd.conf +++ b/net-mgmt/zabbix-agent/src/opnsense/service/templates/OPNsense/ZabbixAgent/zabbix_agentd.conf @@ -209,6 +209,16 @@ Include=/usr/local/etc/zabbix_agentd.conf.d # See 'zabbix_agentd' directory for examples. # # Disabled. A configuration file should be placed on directory: <%= @include %> +{% if helpers.exists('OPNsense.ZabbixAgent.userparameters') %} +{% for userparam in helpers.toList('OPNsense.ZabbixAgent.userparameters.userparameter') %} +{% if userparam.enabled == '1' %} +{% if userparam.acceptParams == '1' %} +{% set userparam_opts = '[*]' %} +{% endif %} +UserParameter={{userparam.key}}{{userparam_opts}},{{userparam.command}} +{% endif %} +{% endfor %} +{% endif %} ####### LOADABLE MODULES ####### ### Option: LoadModulePath From 2205006dc2af1ebc08e4b923ac5ddf242bf9e1cc Mon Sep 17 00:00:00 2001 From: Frank Wall Date: Sun, 18 Nov 2018 23:23:08 +0100 Subject: [PATCH 2/4] net-mgmt/zabbix-agent: add support for Item Key Aliases --- .../ZabbixAgent/Api/SettingsController.php | 31 ++++++++++++ .../OPNsense/ZabbixAgent/IndexController.php | 2 + .../ZabbixAgent/forms/dialogAlias.xml | 26 ++++++++++ .../OPNsense/ZabbixAgent/ZabbixAgent.xml | 25 ++++++++++ .../app/views/OPNsense/ZabbixAgent/index.volt | 47 +++++++++++++++++++ .../OPNsense/ZabbixAgent/zabbix_agentd.conf | 11 ++++- 6 files changed, 141 insertions(+), 1 deletion(-) create mode 100644 net-mgmt/zabbix-agent/src/opnsense/mvc/app/controllers/OPNsense/ZabbixAgent/forms/dialogAlias.xml diff --git a/net-mgmt/zabbix-agent/src/opnsense/mvc/app/controllers/OPNsense/ZabbixAgent/Api/SettingsController.php b/net-mgmt/zabbix-agent/src/opnsense/mvc/app/controllers/OPNsense/ZabbixAgent/Api/SettingsController.php index 1a55d8e2d..adca245cc 100644 --- a/net-mgmt/zabbix-agent/src/opnsense/mvc/app/controllers/OPNsense/ZabbixAgent/Api/SettingsController.php +++ b/net-mgmt/zabbix-agent/src/opnsense/mvc/app/controllers/OPNsense/ZabbixAgent/Api/SettingsController.php @@ -73,4 +73,35 @@ class SettingsController extends ApiMutableModelControllerBase { return $this->toggleBase('userparameters.userparameter', $uuid); } + + public function searchAliasesAction() + { + return $this->searchBase('aliases.alias', array("enabled", "key", "sourceKey")); + } + + public function getAliasAction($uuid = null) + { + $this->sessionClose(); + return $this->getBase('alias', 'aliases.alias', $uuid); + } + + public function addAliasAction() + { + return $this->addBase('alias', 'aliases.alias'); + } + + public function delAliasAction($uuid) + { + return $this->delBase('aliases.alias', $uuid); + } + + public function setAliasAction($uuid) + { + return $this->setBase('alias', 'aliases.alias', $uuid); + } + + public function toggleAliasAction($uuid) + { + return $this->toggleBase('aliases.alias', $uuid); + } } diff --git a/net-mgmt/zabbix-agent/src/opnsense/mvc/app/controllers/OPNsense/ZabbixAgent/IndexController.php b/net-mgmt/zabbix-agent/src/opnsense/mvc/app/controllers/OPNsense/ZabbixAgent/IndexController.php index eb119fa02..6222008c5 100644 --- a/net-mgmt/zabbix-agent/src/opnsense/mvc/app/controllers/OPNsense/ZabbixAgent/IndexController.php +++ b/net-mgmt/zabbix-agent/src/opnsense/mvc/app/controllers/OPNsense/ZabbixAgent/IndexController.php @@ -45,6 +45,8 @@ class IndexController extends \OPNsense\Base\IndexController $this->view->settingsForm = $this->getForm("settings"); // link userparameter dialog $this->view->formDialogUserparameter = $this->getForm("dialogUserparameter"); + // link alias dialog + $this->view->formDialogAlias = $this->getForm("dialogAlias"); // pick the template to serve $this->view->pick('OPNsense/ZabbixAgent/index'); } diff --git a/net-mgmt/zabbix-agent/src/opnsense/mvc/app/controllers/OPNsense/ZabbixAgent/forms/dialogAlias.xml b/net-mgmt/zabbix-agent/src/opnsense/mvc/app/controllers/OPNsense/ZabbixAgent/forms/dialogAlias.xml new file mode 100644 index 000000000..2d460a6ea --- /dev/null +++ b/net-mgmt/zabbix-agent/src/opnsense/mvc/app/controllers/OPNsense/ZabbixAgent/forms/dialogAlias.xml @@ -0,0 +1,26 @@ +
+ + alias.enabled + + checkbox + Enable this alias. + + + alias.key + + text + Enter a unique item key of your choice. + + + alias.sourceKey + + text + Enter the name of an existing item key. + + + alias.acceptParams + + checkbox + Enable to accept parameters for this alias. + +
diff --git a/net-mgmt/zabbix-agent/src/opnsense/mvc/app/models/OPNsense/ZabbixAgent/ZabbixAgent.xml b/net-mgmt/zabbix-agent/src/opnsense/mvc/app/models/OPNsense/ZabbixAgent/ZabbixAgent.xml index fc159f6e4..510dd8527 100644 --- a/net-mgmt/zabbix-agent/src/opnsense/mvc/app/models/OPNsense/ZabbixAgent/ZabbixAgent.xml +++ b/net-mgmt/zabbix-agent/src/opnsense/mvc/app/models/OPNsense/ZabbixAgent/ZabbixAgent.xml @@ -155,5 +155,30 @@ + + + + Y + + + 1 + Y + + + /^[^\t^,^;^\.^\[^\]^\{^\}]{1,255}$/u + Should be a string between 1 and 255 characters. + Y + + + /^[^\t]{1,4096}$/u + Should be a string between 1 and 4096 characters. + Y + + + 0 + Y + + + diff --git a/net-mgmt/zabbix-agent/src/opnsense/mvc/app/views/OPNsense/ZabbixAgent/index.volt b/net-mgmt/zabbix-agent/src/opnsense/mvc/app/views/OPNsense/ZabbixAgent/index.volt index c0e5c2f21..d18d68812 100644 --- a/net-mgmt/zabbix-agent/src/opnsense/mvc/app/views/OPNsense/ZabbixAgent/index.volt +++ b/net-mgmt/zabbix-agent/src/opnsense/mvc/app/views/OPNsense/ZabbixAgent/index.volt @@ -53,6 +53,19 @@ $( document ).ready(function() { } ); + $("#grid-aliases").UIBootgrid( + { search:'/api/zabbixagent/settings/searchAliases', + get:'/api/zabbixagent/settings/getAlias/', + set:'/api/zabbixagent/settings/setAlias/', + add:'/api/zabbixagent/settings/addAlias/', + del:'/api/zabbixagent/settings/delAlias/', + toggle:'/api/zabbixagent/settings/toggleAlias/', + options: { + rowCount:[10,25,50,100,500,1000] + } + } + ); + /*********************************************************************** * Commands **********************************************************************/ @@ -137,6 +150,7 @@ $( document ).ready(function() { {{ lang._('Advanced') }} @@ -178,7 +192,40 @@ $( document ).ready(function() {
+
+ + + + + + + + + + + + + + + + + + + +
{{ lang._('Enabled') }}{{ lang._('Alias Key') }}{{ lang._('Alias Source Key') }}{{ lang._('Commands') }}{{ lang._('ID') }}
+ + +
+ +
+
+ +
+
+
+
{# include dialogs #} {{ partial("layout_partials/base_dialog",['fields':formDialogUserparameter,'id':'DialogUserparameter','label':lang._('Edit User Parameter')]) }} +{{ partial("layout_partials/base_dialog",['fields':formDialogAlias,'id':'DialogAlias','label':lang._('Edit Alias')]) }} diff --git a/net-mgmt/zabbix-agent/src/opnsense/service/templates/OPNsense/ZabbixAgent/zabbix_agentd.conf b/net-mgmt/zabbix-agent/src/opnsense/service/templates/OPNsense/ZabbixAgent/zabbix_agentd.conf index 48c9e7af9..d442c6758 100644 --- a/net-mgmt/zabbix-agent/src/opnsense/service/templates/OPNsense/ZabbixAgent/zabbix_agentd.conf +++ b/net-mgmt/zabbix-agent/src/opnsense/service/templates/OPNsense/ZabbixAgent/zabbix_agentd.conf @@ -165,7 +165,16 @@ MaxLinesPerSecond={{OPNsense.ZabbixAgent.settings.tuning.maxLinesPerSecond}} # Alias=zabbix.userid:vfs.file.regexp[/etc/passwd,^zabbix:.:([0-9]+),,,,\1] # Now shorthand key zabbix.userid may be used to retrieve data. # Aliases can be used in HostMetadataItem but not in HostnameItem parameters. -# +{% if helpers.exists('OPNsense.ZabbixAgent.aliases') %} +{% for alias in helpers.toList('OPNsense.ZabbixAgent.aliases.alias') %} +{% if alias.enabled == '1' %} +{% if alias.acceptParams == '1' %} +{% set alias_opts = '[*]' %} +{% endif %} +Alias={{alias.key}}{{alias_opts}}:{{alias.sourceKey}} +{% endif %} +{% endfor %} +{% endif %} ### Option: Timeout # Spend no more than Timeout seconds on processing From cdbc20eede7368c1421203355e7dc4be4d54c45c Mon Sep 17 00:00:00 2001 From: Frank Wall Date: Sun, 18 Nov 2018 23:26:46 +0100 Subject: [PATCH 3/4] net-mgmt/zabbix-agent: remove default comments from template --- .../OPNsense/ZabbixAgent/zabbix_agentd.conf | 257 +----------------- 1 file changed, 1 insertion(+), 256 deletions(-) diff --git a/net-mgmt/zabbix-agent/src/opnsense/service/templates/OPNsense/ZabbixAgent/zabbix_agentd.conf b/net-mgmt/zabbix-agent/src/opnsense/service/templates/OPNsense/ZabbixAgent/zabbix_agentd.conf index d442c6758..9074bb106 100644 --- a/net-mgmt/zabbix-agent/src/opnsense/service/templates/OPNsense/ZabbixAgent/zabbix_agentd.conf +++ b/net-mgmt/zabbix-agent/src/opnsense/service/templates/OPNsense/ZabbixAgent/zabbix_agentd.conf @@ -4,167 +4,42 @@ {% if helpers.exists('OPNsense.ZabbixAgent.settings') %} -# This is a config file for zabbix agent (unix) -# to get more information about zabbix, visit http://www.zabbix.com - ############ GENERAL PARAMETERS ################# -### Option: PidFile -# Name of PID file. -# PidFile=/var/run/zabbix/zabbix_agentd.pid - -### Option: LogType -# Specifies where log messages are written to: -# system - syslog -# file - file specified with LogFile parameter -# console - standard output -# LogType=file - -### Option: LogFile -# Log file name for LogType 'file' parameter. -# LogFile=/var/log/zabbix/zabbix_agentd.log -### Option: LogFileSize -# Maximum size of log file in MB. -# 0 - disable automatic log rotation. -# LogFileSize={{OPNsense.ZabbixAgent.settings.main.logFileSize}} - -### Option: DebugLevel -# Specifies debug level -# 0 - basic information about starting and stopping of Zabbix processes -# 1 - critical information -# 2 - error information -# 3 - warnings -# 4 - for debugging (produces lots of information) -# 5 - extended debugging (produces even more information) DebugLevel={{OPNsense.ZabbixAgent.settings.main.debugLevel|replace("val_", "")}} -### Option: SourceIP -# Source IP address for outgoing connections. -# {% if helpers.exists('OPNsense.ZabbixAgent.settings.main.sourceIP') %} SourceIP={{OPNsense.ZabbixAgent.settings.main.sourceIP}} {% endif %} -### Option: EnableRemoteCommands -# Whether remote commands from Zabbix server are allowed. -# 0 - not allowed -# 1 - allowed -# EnableRemoteCommands={{OPNsense.ZabbixAgent.settings.features.enableRemoteCommands}} - -### Option: LogRemoteCommands -# Enable logging of executed shell commands as warnings. -# 0 - disabled -# 1 - enabled -# LogRemoteCommands={{OPNsense.ZabbixAgent.settings.features.logRemoteCommands}} -##### Passive checks related - -### Option: Server -# List of comma delimited IP addresses (or hostnames) of Zabbix servers. -# Incoming connections will be accepted only from the hosts listed here. -# If IPv6 support is enabled then '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' are treated equally. -# Server={{OPNsense.ZabbixAgent.settings.main.serverList}} - -### Option: ListenPort -# Agent will listen on this port for connections from the server. -# ListenPort={{OPNsense.ZabbixAgent.settings.main.listenPort}} - -### Option: ListenIP -# List of comma delimited IP addresses that the agent should listen on. -# First IP address is sent to Zabbix server if connecting to it to retrieve list of active checks. -# ListenIP={{OPNsense.ZabbixAgent.settings.main.listenIP}} -### Option: StartAgents -# Number of pre-forked instances of zabbix_agentd that process passive checks. -# If set to 0, disables passive checks and the agent will not listen on any TCP port. -# -StartAgents={{OPNsense.ZabbixAgent.settings.tuning.startAgents}} - -##### Active checks related - -### Option: ServerActive -# List of comma delimited IP:port (or hostname:port) pairs of Zabbix servers for active checks. -# If port is not specified, default port is used. -# IPv6 addresses must be enclosed in square brackets if port for that host is specified. -# If port is not specified, square brackets for IPv6 addresses are optional. -# If this parameter is not specified, active checks are disabled. -# Example: ServerActive=127.0.0.1:20051,zabbix.domain,[::1]:30051,::1,[12fc::1] -# {% if OPNsense.ZabbixAgent.settings.features.enableActiveChecks == '1' and OPNsense.ZabbixAgent.settings.features.activeCheckServers|default("") != "" %} ServerActive={{OPNsense.ZabbixAgent.settings.features.activeCheckServers}} {% endif %} -### Option: Hostname -# Unique, case sensitive hostname. -# Required for active checks and must match hostname as configured on the server. -# Value is acquired from HostnameItem if undefined. -# {% if OPNsense.ZabbixAgent.local.hostname|default("") != "" %} Hostname={{OPNsense.ZabbixAgent.local.hostname}} {% endif %} -### Option: HostnameItem -# Item used for generating Hostname if it is undefined. Ignored if Hostname is defined. -# Does not support UserParameters or aliases. -# -### Option: HostMetadata -# Optional parameter that defines host metadata. -# Host metadata is used at host auto-registration process. -# An agent will issue an error and not start if the value is over limit of 255 characters. -# If not defined, value will be acquired from HostMetadataItem. -# -### Option: HostMetadataItem -# Optional parameter that defines an item used for getting host metadata. -# Host metadata is used at host auto-registration process. -# During an auto-registration request an agent will log a warning message if -# the value returned by specified item is over limit of 255 characters. -# This option is only used when HostMetadata is not defined. -# - -### Option: RefreshActiveChecks -# How often list of active checks is refreshed, in seconds. -# +StartAgents={{OPNsense.ZabbixAgent.settings.tuning.startAgents}} RefreshActiveChecks={{OPNsense.ZabbixAgent.settings.features.refreshActiveChecks}} - -### Option: BufferSend -# Do not keep data longer than N seconds in buffer. -# BufferSend={{OPNsense.ZabbixAgent.settings.tuning.bufferSend}} - -### Option: BufferSize -# Maximum number of values in a memory buffer. The agent will send -# all collected data to Zabbix Server or Proxy if the buffer is full. -# BufferSize={{OPNsense.ZabbixAgent.settings.tuning.bufferSize}} - -### Option: MaxLinesPerSecond -# Maximum number of new lines the agent will send per second to Zabbix Server -# or Proxy processing 'log' and 'logrt' active checks. -# The provided value will be overridden by the parameter 'maxlines', -# provided in 'log' or 'logrt' item keys. -# MaxLinesPerSecond={{OPNsense.ZabbixAgent.settings.tuning.maxLinesPerSecond}} ############ ADVANCED PARAMETERS ################# -### Option: Alias -# Sets an alias for an item key. It can be used to substitute long and complex item key with a smaller and simpler one. -# Multiple Alias parameters may be present. Multiple parameters with the same Alias key are not allowed. -# Different Alias keys may reference the same item key. -# For example, to retrieve the ID of user 'zabbix': -# Alias=zabbix.userid:vfs.file.regexp[/etc/passwd,^zabbix:.:([0-9]+),,,,\1] -# Now shorthand key zabbix.userid may be used to retrieve data. -# Aliases can be used in HostMetadataItem but not in HostnameItem parameters. {% if helpers.exists('OPNsense.ZabbixAgent.aliases') %} {% for alias in helpers.toList('OPNsense.ZabbixAgent.aliases.alias') %} {% if alias.enabled == '1' %} @@ -176,48 +51,13 @@ Alias={{alias.key}}{{alias_opts}}:{{alias.sourceKey}} {% endfor %} {% endif %} -### Option: Timeout -# Spend no more than Timeout seconds on processing -# Timeout={{OPNsense.ZabbixAgent.settings.tuning.timeout}} - -### Option: AllowRoot -# Allow the agent to run as 'root'. If disabled and the agent is started by 'root', the agent -# will try to switch to the user specified by the User configuration option instead. -# Has no effect if started under a regular user. -# 0 - do not allow -# 1 - allow -# AllowRoot=0 - -### Option: User -# Drop privileges to a specific, existing user on the system. -# Only has effect if run as 'root' and AllowRoot is disabled. -# User=zabbix - -### Option: Include -# You may include individual files or all files in a directory in the configuration file. -# Installing Zabbix will create include directory in /usr/local/etc, unless modified during the compile time. -# Include=/usr/local/etc/zabbix_agentd.conf.d ####### USER-DEFINED MONITORED PARAMETERS ####### -### Option: UnsafeUserParameters -# Allow all characters to be passed in arguments to user-defined parameters. -# The following characters are not allowed: -# \ ' " ` * ? [ ] { } ~ $ ! & ; ( ) < > | # @ -# Additionally, newline characters are not allowed. -# 0 - do not allow -# 1 - allow -# -### Option: UserParameter -# User-defined parameter to monitor. There can be several user-defined parameters. -# Format: UserParameter=, -# See 'zabbix_agentd' directory for examples. -# -# Disabled. A configuration file should be placed on directory: <%= @include %> {% if helpers.exists('OPNsense.ZabbixAgent.userparameters') %} {% for userparam in helpers.toList('OPNsense.ZabbixAgent.userparameters.userparameter') %} {% if userparam.enabled == '1' %} @@ -229,99 +69,4 @@ UserParameter={{userparam.key}}{{userparam_opts}},{{userparam.command}} {% endfor %} {% endif %} -####### LOADABLE MODULES ####### -### Option: LoadModulePath -# Full path to location of agent modules. -# Default depends on compilation options. -# -#LoadModulePath=/usr/local/lib/modules - -### Option: LoadModule -# Module to load at agent startup. Modules are used to extend functionality of the agent. -# Format: LoadModule= -# The modules must be located in directory specified by LoadModulePath. -# It is allowed to include multiple LoadModule parameters. -# - -####### TLS-RELATED PARAMETERS ####### - -### Option: TLSConnect -# How the proxy should connect to Zabbix server. Used for an active proxy, ignored on a passive proxy. -# Only one value can be specified: -# unencrypted - connect without encryption -# psk - connect using TLS and a pre-shared key -# cert - connect using TLS and a certificate -# -# Mandatory: yes, if TLS certificate or PSK parameters are defined (even for 'unencrypted' connection) -# Default: -# TLSConnect=unencrypted - -### Option: TLSAccept -# What incoming connections to accept from Zabbix server. Used for a passive proxy, ignored on an active proxy. -# Multiple values can be specified, separated by comma: -# unencrypted - accept connections without encryption -# psk - accept connections secured with TLS and a pre-shared key -# cert - accept connections secured with TLS and a certificate -# -# Mandatory: yes, if TLS certificate or PSK parameters are defined (even for 'unencrypted' connection) -# Default: -# TLSAccept=unencrypted - -### Option: TLSCAFile -# Full pathname of a file containing the top-level CA(s) certificates for -# peer certificate verification. -# -# Mandatory: no -# Default: -# TLSCAFile= - -### Option: TLSCRLFile -# Full pathname of a file containing revoked certificates. -# -# Mandatory: no -# Default: -# TLSCRLFile= - -### Option: TLSServerCertIssuer -# Allowed server certificate issuer. -# -# Mandatory: no -# Default: -# TLSServerCertIssuer= - -### Option: TLSServerCertSubject -# Allowed server certificate subject. -# -# Mandatory: no -# Default: -# TLSServerCertSubject= - -### Option: TLSCertFile -# Full pathname of a file containing the proxy certificate or certificate chain. -# -# Mandatory: no -# Default: -# TLSCertFile= - -### Option: TLSKeyFile -# Full pathname of a file containing the proxy private key. -# -# Mandatory: no -# Default: -# TLSKeyFile= - -### Option: TLSPSKIdentity -# Unique, case sensitive string used to identify the pre-shared key. -# -# Mandatory: no -# Default: -# TLSPSKIdentity= - -### Option: TLSPSKFile -# Full pathname of a file containing the pre-shared key. -# -# Mandatory: no -# Default: -# TLSPSKFile= - {% endif %} From 334518c9212adaa12d97484c88f581e672f67e22 Mon Sep 17 00:00:00 2001 From: Frank Wall Date: Sun, 18 Nov 2018 23:27:06 +0100 Subject: [PATCH 4/4] net-mgmt/zabbix-agent: bump version --- net-mgmt/zabbix-agent/Makefile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/net-mgmt/zabbix-agent/Makefile b/net-mgmt/zabbix-agent/Makefile index 030443e50..f5fc30f9d 100644 --- a/net-mgmt/zabbix-agent/Makefile +++ b/net-mgmt/zabbix-agent/Makefile @@ -1,6 +1,5 @@ PLUGIN_NAME= zabbix-agent -PLUGIN_VERSION= 1.3 -PLUGIN_REVISION= 1 +PLUGIN_VERSION= 1.4 PLUGIN_COMMENT= Enterprise-class open source distributed monitoring agent PLUGIN_DEPENDS= zabbix34-agent PLUGIN_MAINTAINER= opnsense@moov.de