summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniil Baturin <daniil@vyos.io>2023-08-11 20:56:57 +0100
committerGitHub <noreply@github.com>2023-08-11 20:56:57 +0100
commit142ace2a16fc9d2a0291db1ff27676a4691c1562 (patch)
tree9aea67faccfd7d741204b878d1cbaf05ef30c860
parentf8b60fff531e4e8cfe1bba99652343b0680f98ad (diff)
parent71148df948b95d9b5bcc1212d4ae29ad1215d182 (diff)
downloadvyos-1x-142ace2a16fc9d2a0291db1ff27676a4691c1562.tar.gz
vyos-1x-142ace2a16fc9d2a0291db1ff27676a4691c1562.zip
Merge pull request #2148 from sever-sever/T5448
T5448: Move zabbix-agent to node monitoring
-rw-r--r--interface-definitions/service-monitoring-zabbix-agent.xml.in184
-rw-r--r--interface-definitions/service-zabbix-agent.xml.in181
-rwxr-xr-xsmoketest/scripts/cli/test_service_monitoring_zabbix-agent.py (renamed from smoketest/scripts/cli/test_service_zabbix-agent.py)2
-rwxr-xr-xsrc/conf_mode/service_monitoring_zabbix-agent.py (renamed from src/conf_mode/service_zabbix_agent.py)2
4 files changed, 186 insertions, 183 deletions
diff --git a/interface-definitions/service-monitoring-zabbix-agent.xml.in b/interface-definitions/service-monitoring-zabbix-agent.xml.in
new file mode 100644
index 000000000..cfeb02ce0
--- /dev/null
+++ b/interface-definitions/service-monitoring-zabbix-agent.xml.in
@@ -0,0 +1,184 @@
+<?xml version="1.0"?>
+<interfaceDefinition>
+ <node name="service">
+ <children>
+ <node name="monitoring">
+ <children>
+ <node name="zabbix-agent" owner="${vyos_conf_scripts_dir}/service_monitoring_zabbix-agent.py">
+ <properties>
+ <help>Zabbix-agent settings</help>
+ </properties>
+ <children>
+ <leafNode name="directory">
+ <properties>
+ <help>Folder containing individual Zabbix-agent configuration files</help>
+ <constraint>
+ <validator name="file-path" argument="--directory"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ <node name="limits">
+ <properties>
+ <help>Limit settings</help>
+ </properties>
+ <children>
+ <leafNode name="buffer-flush-interval">
+ <properties>
+ <help>Do not keep data longer than N seconds in buffer</help>
+ <valueHelp>
+ <format>u32:1-3600</format>
+ <description>Seconds</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-3600"/>
+ </constraint>
+ <constraintErrorMessage>buffer-flush-interval must be between 1 and 3600 seconds</constraintErrorMessage>
+ </properties>
+ <defaultValue>5</defaultValue>
+ </leafNode>
+ <leafNode name="buffer-size">
+ <properties>
+ <help>Maximum number of values in a memory buffer</help>
+ <valueHelp>
+ <format>u32:2-65535</format>
+ <description>Maximum number of values in a memory buffer</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 2-65535"/>
+ </constraint>
+ <constraintErrorMessage>Buffer-size must be between 2 and 65535</constraintErrorMessage>
+ </properties>
+ <defaultValue>100</defaultValue>
+ </leafNode>
+ </children>
+ </node>
+ <node name="log">
+ <properties>
+ <help>Log settings</help>
+ </properties>
+ <children>
+ <leafNode name="debug-level">
+ <properties>
+ <help>Debug level</help>
+ <completionHelp>
+ <list>basic critical error warning debug extended-debug</list>
+ </completionHelp>
+ <valueHelp>
+ <format>basic</format>
+ <description>Basic information</description>
+ </valueHelp>
+ <valueHelp>
+ <format>critical</format>
+ <description>Critical information</description>
+ </valueHelp>
+ <valueHelp>
+ <format>error</format>
+ <description>Error information</description>
+ </valueHelp>
+ <valueHelp>
+ <format>warning</format>
+ <description>Warnings</description>
+ </valueHelp>
+ <valueHelp>
+ <format>debug</format>
+ <description>Debug information</description>
+ </valueHelp>
+ <valueHelp>
+ <format>extended-debug</format>
+ <description>Extended debug information</description>
+ </valueHelp>
+ <constraint>
+ <regex>(basic|critical|error|warning|debug|extended-debug)</regex>
+ </constraint>
+ </properties>
+ <defaultValue>warning</defaultValue>
+ </leafNode>
+ <leafNode name="remote-commands">
+ <properties>
+ <help>Enable logging of executed shell commands as warnings</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <leafNode name="size">
+ <properties>
+ <help>Log file size in megabytes</help>
+ <valueHelp>
+ <format>u32:0-1024</format>
+ <description>Megabytes</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 0-1024"/>
+ </constraint>
+ <constraintErrorMessage>Size must be between 0 and 1024 Megabytes</constraintErrorMessage>
+ </properties>
+ <defaultValue>0</defaultValue>
+ </leafNode>
+ </children>
+ </node>
+ #include <include/listen-address.xml.i>
+ <leafNode name="listen-address">
+ <defaultValue>0.0.0.0</defaultValue>
+ </leafNode>
+ #include <include/port-number.xml.i>
+ <leafNode name="port">
+ <defaultValue>10050</defaultValue>
+ </leafNode>
+ <leafNode name="server">
+ <properties>
+ <help>Remote server to connect to</help>
+ <valueHelp>
+ <format>ipv4</format>
+ <description>Server IPv4 address</description>
+ </valueHelp>
+ <valueHelp>
+ <format>ipv6</format>
+ <description>Server IPv6 address</description>
+ </valueHelp>
+ <valueHelp>
+ <format>hostname</format>
+ <description>Server hostname/FQDN</description>
+ </valueHelp>
+ <multi/>
+ </properties>
+ </leafNode>
+ <tagNode name="server-active">
+ <properties>
+ <help>Remote server address to get active checks from</help>
+ <valueHelp>
+ <format>ipv4</format>
+ <description>Server IPv4 address</description>
+ </valueHelp>
+ <valueHelp>
+ <format>ipv6</format>
+ <description>Server IPv6 address</description>
+ </valueHelp>
+ <valueHelp>
+ <format>hostname</format>
+ <description>Server hostname/FQDN</description>
+ </valueHelp>
+ </properties>
+ <children>
+ #include <include/port-number.xml.i>
+ </children>
+ </tagNode>
+ <leafNode name="timeout">
+ <properties>
+ <help>Item processing timeout in seconds</help>
+ <valueHelp>
+ <format>u32:1-30</format>
+ <description>Item processing timeout</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-30"/>
+ </constraint>
+ <constraintErrorMessage>Timeout must be between 1 and 30 seconds</constraintErrorMessage>
+ </properties>
+ <defaultValue>3</defaultValue>
+ </leafNode>
+ </children>
+ </node>
+ </children>
+ </node>
+ </children>
+ </node>
+</interfaceDefinition>
diff --git a/interface-definitions/service-zabbix-agent.xml.in b/interface-definitions/service-zabbix-agent.xml.in
deleted file mode 100644
index 1f93790f5..000000000
--- a/interface-definitions/service-zabbix-agent.xml.in
+++ /dev/null
@@ -1,181 +0,0 @@
-<?xml version="1.0"?>
-<interfaceDefinition>
- <node name="service">
- <children>
- <node name="zabbix-agent" owner="${vyos_conf_scripts_dir}/service_zabbix_agent.py">
- <properties>
- <help>Zabbix-agent settings</help>
- <priority>380</priority>
- </properties>
- <children>
- <leafNode name="directory">
- <properties>
- <help>Folder containing individual Zabbix-agent configuration files</help>
- <constraint>
- <validator name="file-path" argument="--directory"/>
- </constraint>
- </properties>
- </leafNode>
- <node name="limits">
- <properties>
- <help>Limit settings</help>
- </properties>
- <children>
- <leafNode name="buffer-flush-interval">
- <properties>
- <help>Do not keep data longer than N seconds in buffer</help>
- <valueHelp>
- <format>u32:1-3600</format>
- <description>Seconds</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 1-3600"/>
- </constraint>
- <constraintErrorMessage>buffer-flush-interval must be between 1 and 3600 seconds</constraintErrorMessage>
- </properties>
- <defaultValue>5</defaultValue>
- </leafNode>
- <leafNode name="buffer-size">
- <properties>
- <help>Maximum number of values in a memory buffer</help>
- <valueHelp>
- <format>u32:2-65535</format>
- <description>Maximum number of values in a memory buffer</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 2-65535"/>
- </constraint>
- <constraintErrorMessage>Buffer-size must be between 2 and 65535</constraintErrorMessage>
- </properties>
- <defaultValue>100</defaultValue>
- </leafNode>
- </children>
- </node>
- <node name="log">
- <properties>
- <help>Log settings</help>
- </properties>
- <children>
- <leafNode name="debug-level">
- <properties>
- <help>Debug level</help>
- <completionHelp>
- <list>basic critical error warning debug extended-debug</list>
- </completionHelp>
- <valueHelp>
- <format>basic</format>
- <description>Basic information</description>
- </valueHelp>
- <valueHelp>
- <format>critical</format>
- <description>Critical information</description>
- </valueHelp>
- <valueHelp>
- <format>error</format>
- <description>Error information</description>
- </valueHelp>
- <valueHelp>
- <format>warning</format>
- <description>Warnings</description>
- </valueHelp>
- <valueHelp>
- <format>debug</format>
- <description>Debug information</description>
- </valueHelp>
- <valueHelp>
- <format>extended-debug</format>
- <description>Extended debug information</description>
- </valueHelp>
- <constraint>
- <regex>(basic|critical|error|warning|debug|extended-debug)</regex>
- </constraint>
- </properties>
- <defaultValue>warning</defaultValue>
- </leafNode>
- <leafNode name="remote-commands">
- <properties>
- <help>Enable logging of executed shell commands as warnings</help>
- <valueless/>
- </properties>
- </leafNode>
- <leafNode name="size">
- <properties>
- <help>Log file size in megabytes</help>
- <valueHelp>
- <format>u32:0-1024</format>
- <description>Megabytes</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 0-1024"/>
- </constraint>
- <constraintErrorMessage>Size must be between 0 and 1024 Megabytes</constraintErrorMessage>
- </properties>
- <defaultValue>0</defaultValue>
- </leafNode>
- </children>
- </node>
- #include <include/listen-address.xml.i>
- <leafNode name="listen-address">
- <defaultValue>0.0.0.0</defaultValue>
- </leafNode>
- #include <include/port-number.xml.i>
- <leafNode name="port">
- <defaultValue>10050</defaultValue>
- </leafNode>
- <leafNode name="server">
- <properties>
- <help>Remote server to connect to</help>
- <valueHelp>
- <format>ipv4</format>
- <description>Server IPv4 address</description>
- </valueHelp>
- <valueHelp>
- <format>ipv6</format>
- <description>Server IPv6 address</description>
- </valueHelp>
- <valueHelp>
- <format>hostname</format>
- <description>Server hostname/FQDN</description>
- </valueHelp>
- <multi/>
- </properties>
- </leafNode>
- <tagNode name="server-active">
- <properties>
- <help>Remote server address to get active checks from</help>
- <valueHelp>
- <format>ipv4</format>
- <description>Server IPv4 address</description>
- </valueHelp>
- <valueHelp>
- <format>ipv6</format>
- <description>Server IPv6 address</description>
- </valueHelp>
- <valueHelp>
- <format>hostname</format>
- <description>Server hostname/FQDN</description>
- </valueHelp>
- </properties>
- <children>
- #include <include/port-number.xml.i>
- </children>
- </tagNode>
- <leafNode name="timeout">
- <properties>
- <help>Item processing timeout in seconds</help>
- <valueHelp>
- <format>u32:1-30</format>
- <description>Item processing timeout</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 1-30"/>
- </constraint>
- <constraintErrorMessage>Timeout must be between 1 and 30 seconds</constraintErrorMessage>
- </properties>
- <defaultValue>3</defaultValue>
- </leafNode>
- </children>
- </node>
- </children>
- </node>
-</interfaceDefinition>
diff --git a/smoketest/scripts/cli/test_service_zabbix-agent.py b/smoketest/scripts/cli/test_service_monitoring_zabbix-agent.py
index 2a125bec6..7cc661688 100755
--- a/smoketest/scripts/cli/test_service_zabbix-agent.py
+++ b/smoketest/scripts/cli/test_service_monitoring_zabbix-agent.py
@@ -25,7 +25,7 @@ from vyos.utils.file import read_file
PROCESS_NAME = 'zabbix_agent2'
ZABBIX_AGENT_CONF = '/run/zabbix/zabbix-agent2.conf'
-base_path = ['service', 'zabbix-agent']
+base_path = ['service', 'monitoring', 'zabbix-agent']
class TestZabbixAgent(VyOSUnitTestSHIM.TestCase):
diff --git a/src/conf_mode/service_zabbix_agent.py b/src/conf_mode/service_monitoring_zabbix-agent.py
index 47de8f2ec..98d8a32ca 100755
--- a/src/conf_mode/service_zabbix_agent.py
+++ b/src/conf_mode/service_monitoring_zabbix-agent.py
@@ -35,7 +35,7 @@ def get_config(config=None):
else:
conf = Config()
- base = ['service', 'zabbix-agent']
+ base = ['service', 'monitoring', 'zabbix-agent']
if not conf.exists(base):
return None