<?xml version="1.0"?> <interfaceDefinition> <node name="service"> <children> <node name="monitoring"> <properties> <help>Monitoring services</help> <priority>1280</priority> </properties> <children> <node name="telegraf" owner="${vyos_conf_scripts_dir}/service_monitoring_telegraf.py"> <properties> <help>Telegraf monitoring</help> </properties> <children> <node name="influxdb"> <properties> <help>Output plugin InfluxDB</help> </properties> <children> <node name="authentication"> <properties> <help>Authentication parameters</help> </properties> <children> <leafNode name="organization"> <properties> <help>Authentication organization for InfluxDB v2</help> <constraint> <regex>[a-zA-Z][1-9a-zA-Z@_\-.]{2,50}</regex> </constraint> <constraintErrorMessage>Organization name must be alphanumeric and can contain hyphens, underscores and at symbol.</constraintErrorMessage> </properties> </leafNode> <leafNode name="token"> <properties> <help>Authentication token for InfluxDB v2</help> <valueHelp> <format>txt</format> <description>Authentication token</description> </valueHelp> <constraint> <regex>[a-zA-Z0-9-_]{86}==</regex> </constraint> <constraintErrorMessage>Token must be 88 characters long and must contain only [a-zA-Z0-9-_] and '==' characters.</constraintErrorMessage> </properties> </leafNode> </children> </node> <leafNode name="bucket"> <properties> <help>Remote bucket</help> </properties> <defaultValue>main</defaultValue> </leafNode> #include <include/monitoring/url.xml.i> #include <include/port-number.xml.i> <leafNode name="port"> <defaultValue>8086</defaultValue> </leafNode> </children> </node> <node name="azure-data-explorer"> <properties> <help>Output plugin Azure Data Explorer</help> </properties> <children> <node name="authentication"> <properties> <help>Authentication parameters</help> </properties> <children> <leafNode name="client-id"> <properties> <help>Application client id</help> <constraint> <regex>[-_a-zA-Z0-9]+</regex> </constraint> <constraintErrorMessage>Client-id is limited to alphanumerical characters and can contain hyphen and underscores</constraintErrorMessage> </properties> </leafNode> <leafNode name="client-secret"> <properties> <help>Application client secret</help> <constraint> <regex>[-_a-zA-Z0-9]+</regex> </constraint> <constraintErrorMessage>Client-secret is limited to alphanumerical characters and can contain hyphen and underscores</constraintErrorMessage> </properties> </leafNode> <leafNode name="tenant-id"> <properties> <help>Set tenant id</help> <constraint> <regex>[-_a-zA-Z0-9]+</regex> </constraint> <constraintErrorMessage>Tenant-id is limited to alphanumerical characters and can contain hyphen and underscores</constraintErrorMessage> </properties> </leafNode> </children> </node> <leafNode name="database"> <properties> <help>Remote database name</help> <valueHelp> <format>txt</format> <description>Remote database name</description> </valueHelp> <constraint> <regex>[-_a-zA-Z0-9]+</regex> </constraint> <constraintErrorMessage>Database is limited to alphanumerical characters and can contain hyphen and underscores</constraintErrorMessage> </properties> </leafNode> <leafNode name="group-metrics"> <properties> <help>Type of metrics grouping when push to Azure Data Explorer</help> <completionHelp> <list>single-table table-per-metric</list> </completionHelp> <valueHelp> <format>single-table</format> <description>Metrics stores in one table</description> </valueHelp> <valueHelp> <format>table-per-metric</format> <description>One table per gorups of metric by the metric name</description> </valueHelp> <constraint> <regex>(single-table|table-per-metric)</regex> </constraint> </properties> <defaultValue>table-per-metric</defaultValue> </leafNode> <leafNode name="table"> <properties> <help>Name of the single table [Only if set group-metrics single-table]</help> <valueHelp> <format>txt</format> <description>Table name</description> </valueHelp> <constraint> <regex>[-_a-zA-Z0-9]+</regex> </constraint> <constraintErrorMessage>Table is limited to alphanumerical characters and can contain hyphen and underscores</constraintErrorMessage> </properties> </leafNode> #include <include/monitoring/url.xml.i> </children> </node> <leafNode name="source"> <properties> <help>Source parameters for monitoring</help> <completionHelp> <list>all hardware-utilization logs network system telegraf</list> </completionHelp> <valueHelp> <format>all</format> <description>All parameters</description> </valueHelp> <valueHelp> <format>hardware-utilization</format> <description>Hardware-utilization parameters (CPU, disk, memory)</description> </valueHelp> <valueHelp> <format>logs</format> <description>Logs parameters</description> </valueHelp> <valueHelp> <format>network</format> <description>Network parameters (net, netstat, nftables)</description> </valueHelp> <valueHelp> <format>system</format> <description>System parameters (system, processes, interrupts)</description> </valueHelp> <valueHelp> <format>telegraf</format> <description>Telegraf internal statistics</description> </valueHelp> <constraint> <regex>(all|hardware-utilization|logs|network|system|telegraf)</regex> </constraint> <multi/> </properties> <defaultValue>all</defaultValue> </leafNode> <node name="prometheus-client"> <properties> <help>Output plugin Prometheus client</help> </properties> <children> <node name="authentication"> <properties> <help>HTTP basic authentication parameters</help> </properties> <children> <leafNode name="username"> <properties> <help>Authentication username</help> </properties> </leafNode> <leafNode name="password"> <properties> <help>Authentication password</help> <valueHelp> <format>txt</format> <description>Authentication password</description> </valueHelp> </properties> </leafNode> </children> </node> <leafNode name="allow-from"> <properties> <help>Networks allowed to query this server</help> <valueHelp> <format>ipv4net</format> <description>IP address and prefix length</description> </valueHelp> <valueHelp> <format>ipv6net</format> <description>IPv6 address and prefix length</description> </valueHelp> <multi/> <constraint> <validator name="ip-prefix"/> </constraint> </properties> </leafNode> <leafNode name="listen-address"> <properties> <help>Local IP addresses to listen on</help> <completionHelp> <script>${vyos_completion_dir}/list_local_ips.sh --both</script> </completionHelp> <valueHelp> <format>ipv4</format> <description>IPv4 address to listen for incoming connections</description> </valueHelp> <valueHelp> <format>ipv6</format> <description>IPv6 address to listen for incoming connections</description> </valueHelp> <constraint> <validator name="ipv4-address"/> <validator name="ipv6-address"/> <validator name="ipv6-link-local"/> </constraint> </properties> </leafNode> <leafNode name="metric-version"> <properties> <help>Metric version control mapping from Telegraf to Prometheus format</help> <valueHelp> <format>u32:1-2</format> <description>Metric version (default: 2)</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 1-2"/> </constraint> </properties> <defaultValue>2</defaultValue> </leafNode> #include <include/port-number.xml.i> <leafNode name="port"> <defaultValue>9273</defaultValue> </leafNode> </children> </node> <node name="splunk"> <properties> <help>Output plugin Splunk</help> </properties> <children> <node name="authentication"> <properties> <help>HTTP basic authentication parameters</help> </properties> <children> <leafNode name="token"> <properties> <help>Authorization token</help> </properties> </leafNode> <leafNode name="insecure"> <properties> <help>Use TLS but skip host validation</help> <valueless/> </properties> </leafNode> </children> </node> <leafNode name="url"> <properties> <help>Remote URL</help> <valueHelp> <format>url</format> <description>Remote URL to Splunk collector</description> </valueHelp> <constraint> <regex>^(http(s?):\/\/.*):(\d*)\/?(.*)</regex> </constraint> <constraintErrorMessage>Incorrect URL format</constraintErrorMessage> </properties> </leafNode> </children> </node> </children> </node> </children> </node> </children> </node> </interfaceDefinition>