mirror of
https://github.com/netbirdio/plugins.git
synced 2026-05-22 18:44:07 -07:00
+66
-14
@@ -1,4 +1,8 @@
|
||||
<form>
|
||||
<field>
|
||||
<label>InfluxDB</label>
|
||||
<type>header</type>
|
||||
</field>
|
||||
<field>
|
||||
<id>output.influx_enable</id>
|
||||
<label>Enable Influx Output</label>
|
||||
@@ -41,6 +45,10 @@
|
||||
<type>checkbox</type>
|
||||
<help>This will skip chain and host verification.</help>
|
||||
</field>
|
||||
<field>
|
||||
<label>InfluxDB v2</label>
|
||||
<type>header</type>
|
||||
</field>
|
||||
<field>
|
||||
<id>output.influx_v2_enable</id>
|
||||
<label>Enable Influx v2 Output</label>
|
||||
@@ -83,6 +91,10 @@
|
||||
<type>text</type>
|
||||
<help>Flush timeout for the v2 Telegraf output in seconds, formatted as a string. If not provided, will default to 5. 0 means no timeout, but is not recommended. Increase if you get timeout errors.</help>
|
||||
</field>
|
||||
<field>
|
||||
<label>Graphite</label>
|
||||
<type>header</type>
|
||||
</field>
|
||||
<field>
|
||||
<id>output.graphite_enable</id>
|
||||
<label>Enable Graphite Output</label>
|
||||
@@ -125,6 +137,10 @@
|
||||
<type>checkbox</type>
|
||||
<help>This will enable support for tags.</help>
|
||||
</field>
|
||||
<field>
|
||||
<label>Graylog</label>
|
||||
<type>header</type>
|
||||
</field>
|
||||
<field>
|
||||
<id>output.graylog_enable</id>
|
||||
<label>Enable Graylog Output</label>
|
||||
@@ -137,6 +153,10 @@
|
||||
<type>text</type>
|
||||
<help>Set the IP and port where metrics shoud be sent to.</help>
|
||||
</field>
|
||||
<field>
|
||||
<label>Elasticsearch</label>
|
||||
<type>header</type>
|
||||
</field>
|
||||
<field>
|
||||
<id>output.elastic_enable</id>
|
||||
<label>Enable Elasticsearch Output</label>
|
||||
@@ -155,7 +175,7 @@
|
||||
<type>text</type>
|
||||
<help>Optional HTTP basic authentication details for Elasticsearch.</help>
|
||||
</field>
|
||||
<field>
|
||||
<field>
|
||||
<id>output.elastic_password</id>
|
||||
<label>Elasticsearch Password</label>
|
||||
<type>text</type>
|
||||
@@ -173,6 +193,10 @@
|
||||
<type>text</type>
|
||||
<help>Set the index name.</help>
|
||||
</field>
|
||||
<field>
|
||||
<label>Prometheus</label>
|
||||
<type>header</type>
|
||||
</field>
|
||||
<field>
|
||||
<id>output.prometheus_enable</id>
|
||||
<label>Enable Prometheus Output</label>
|
||||
@@ -197,6 +221,10 @@
|
||||
<type>checkbox</type>
|
||||
<help>Send string metrics as Prometheus labels.</help>
|
||||
</field>
|
||||
<field>
|
||||
<label>Datadog</label>
|
||||
<type>header</type>
|
||||
</field>
|
||||
<field>
|
||||
<id>output.datadog_enable</id>
|
||||
<label>Enable Datadog Output</label>
|
||||
@@ -215,6 +243,10 @@
|
||||
<type>text</type>
|
||||
<help>Set the API Key for accessing Datadog.</help>
|
||||
</field>
|
||||
<field>
|
||||
<label>MQTT</label>
|
||||
<type>header</type>
|
||||
</field>
|
||||
<field>
|
||||
<id>output.mqtt_enable</id>
|
||||
<label>Enable MQTT</label>
|
||||
@@ -223,21 +255,41 @@
|
||||
</field>
|
||||
<field>
|
||||
<id>output.mqtt_topic_prefix</id>
|
||||
<label>MQTT topic</label>
|
||||
<label>MQTT Topic Prefix</label>
|
||||
<type>text</type>
|
||||
<help>Topic for producer messages.</help>
|
||||
<help>MQTT Topic Prefix - Will be overidden by the Topic if defined below.</help>
|
||||
</field>
|
||||
<field>
|
||||
<id>output.mqtt_topic</id>
|
||||
<label>MQTT Topic</label>
|
||||
<type>text</type>
|
||||
<help>MQTT Topic for produced messages. if left blank, will default to [ mqtt_topic_prefix/{{ .Hostname }}/{{ .PluginName }} ]</help>
|
||||
</field>
|
||||
<field>
|
||||
<id>output.mqtt_servers</id>
|
||||
<label>MQTT brokers</label>
|
||||
<type>text</type>
|
||||
<help>URLs of mqtt brokers. Format is without square brackets, just like localhost:8083.</help>
|
||||
<type>select_multiple</type>
|
||||
<style>tokenize</style>
|
||||
<allownew>true</allownew>
|
||||
<help>URL of MQTT brokers. Format is without square brackets, just like localhost:8083 or mqtts://server.net:8883. The same credentials will be used when defining multiple brokers.</help>
|
||||
</field>
|
||||
<field>
|
||||
<id>output.mqtt_insecure_skip_verify</id>
|
||||
<label>Skip TLS verification</label>
|
||||
<type>checkbox</type>
|
||||
<help>Use TLS, but skip chain and host verification.</help>
|
||||
</field>
|
||||
<field>
|
||||
<id>output.mqtt_qos</id>
|
||||
<label>MQTT QoS</label>
|
||||
<type>text</type>
|
||||
<help>QoS policy for messages. 0 = at most once, 1 = at least once, 2 = exactly once. Defaults to 2. </help>
|
||||
<type>dropdown</type>
|
||||
<help>QoS policy for messages. 0 = at most once, 1 = at least once, 2 = exactly once. Defaults to 2.</help>
|
||||
</field>
|
||||
<field>
|
||||
<id>output.mqtt_retain</id>
|
||||
<label>MQTT Retain</label>
|
||||
<type>checkbox</type>
|
||||
<help>When selected, metrics will have the RETAIN flag set.</help>
|
||||
</field>
|
||||
<field>
|
||||
<id>output.mqtt_username</id>
|
||||
@@ -261,18 +313,18 @@
|
||||
<id>output.mqtt_timeout</id>
|
||||
<label>MQTT Timeout</label>
|
||||
<type>text</type>
|
||||
<help>Timeout for write operations. Default is 5s. </help>
|
||||
<help>Timeout for write operations. Default is 5s.</help>
|
||||
</field>
|
||||
<field>
|
||||
<id>output.mqtt_insecure_skip_verify</id>
|
||||
<label>MQTT Client ID</label>
|
||||
<type>checkbox</type>
|
||||
<help>Use TLS, but skip chain and host verification.</help>
|
||||
<id>output.mqtt_layout</id>
|
||||
<label>MQTT Layout</label>
|
||||
<type>dropdown</type>
|
||||
<help>Data layout to output. Defaults to "non-batch".</help>
|
||||
</field>
|
||||
<field>
|
||||
<id>output.mqtt_format</id>
|
||||
<id>output.mqtt_data_format</id>
|
||||
<label>MQTT Format</label>
|
||||
<type>text</type>
|
||||
<type>dropdown</type>
|
||||
<help>Data format to output. Defaults to "influx".</help>
|
||||
</field>
|
||||
</form>
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
<default>1</default>
|
||||
<Required>N</Required>
|
||||
</diskio>
|
||||
<internet_speed type="BooleanField">
|
||||
<internet_speed type="BooleanField">
|
||||
<default>0</default>
|
||||
<Required>N</Required>
|
||||
</internet_speed>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<model>
|
||||
<mount>//OPNsense/telegraf/output</mount>
|
||||
<description>Telegraf outputs configuration</description>
|
||||
<version>1.4.3</version>
|
||||
<version>1.4.5</version>
|
||||
<items>
|
||||
<influx_enable type="BooleanField">
|
||||
<default>0</default>
|
||||
@@ -147,25 +147,42 @@
|
||||
<default></default>
|
||||
<Required>N</Required>
|
||||
<mask>/^([0-9a-zA-Z._\-]){1,128}$/u</mask>
|
||||
<ValidationMessage>Only characters, numbers, a dot, underscore and hyphen allowed. Do not use more than 128 characters.</ValidationMessage>
|
||||
<ValidationMessage>Only characters, numbers, a dot, underscore and hyphen are allowed. Do not use more than 128 characters.</ValidationMessage>
|
||||
</mqtt_topic_prefix>
|
||||
<mqtt_servers type="TextField">
|
||||
<mqtt_topic type="TextField">
|
||||
<default></default>
|
||||
<Required>N</Required>
|
||||
<mask>/^([0-9a-zA-Z._\-\/{}]){1,200}$/u</mask>
|
||||
<ValidationMessage>Only characters, numbers, a dot, underscore, hyphen, slash and curly braces are allowed. Do not use more than 200 characters.</ValidationMessage>
|
||||
</mqtt_topic>
|
||||
<mqtt_servers type="CSVListField">
|
||||
<Required>N</Required>
|
||||
<AsList>Y</AsList>
|
||||
<FieldSeparator>,</FieldSeparator>
|
||||
</mqtt_servers>
|
||||
<mqtt_insecure_skip_verify type="BooleanField">
|
||||
<default>0</default>
|
||||
<Required>N</Required>
|
||||
</mqtt_insecure_skip_verify>
|
||||
<mqtt_client_id type="TextField">
|
||||
<default></default>
|
||||
<Required>N</Required>
|
||||
<mask>/^([0-9a-zA-Z._\-]){1,128}$/u</mask>
|
||||
<ValidationMessage>Only characters, numbers, a dot, underscore and hyphen allowed. Do not use more than 128 characters.</ValidationMessage>
|
||||
</mqtt_client_id>
|
||||
<mqtt_qos type="IntegerField">
|
||||
<mqtt_qos type="OptionField">
|
||||
<default>2</default>
|
||||
<Required>Y</Required>
|
||||
<OptionValues>
|
||||
<qos0 value="0">(0) At most once</qos0>
|
||||
<qos1 value="1">(1) At least once</qos1>
|
||||
<qos2 value="2">(2) Exactly once</qos2>
|
||||
</OptionValues>
|
||||
</mqtt_qos>
|
||||
<mqtt_retain type="BooleanField">
|
||||
<default></default>
|
||||
<Required>N</Required>
|
||||
<MinimumValue>0</MinimumValue>
|
||||
<MaximumValue>2</MaximumValue>
|
||||
<ValidationMessage>Allowed values are 0-2</ValidationMessage>
|
||||
</mqtt_qos>
|
||||
</mqtt_retain>
|
||||
<mqtt_timeout type="IntegerField">
|
||||
<default>5</default>
|
||||
<Required>N</Required>
|
||||
@@ -180,15 +197,32 @@
|
||||
<default></default>
|
||||
<Required>N</Required>
|
||||
</mqtt_password>
|
||||
<mqtt_insecure_skip_verify type="BooleanField">
|
||||
<default>0</default>
|
||||
<Required>N</Required>
|
||||
</mqtt_insecure_skip_verify>
|
||||
<mqtt_format type="TextField">
|
||||
<default></default>
|
||||
<Required>N</Required>
|
||||
<mask>/^([0-9a-zA-Z._\-]){1,128}$/u</mask>
|
||||
<ValidationMessage>Only characters, numbers, a dot, underscore and hyphen allowed. Do not use more than 128 characters.</ValidationMessage>
|
||||
</mqtt_format>
|
||||
<mqtt_layout type="OptionField">
|
||||
<default>non-batch</default>
|
||||
<Required>Y</Required>
|
||||
<OptionValues>
|
||||
<non-batch>(non-batch) send individual messages, one for each metric</non-batch>
|
||||
<batch>(batch) send all metric as a single message per MQTT topic</batch>
|
||||
<field >(field) send individual messages for each field</field>
|
||||
</OptionValues>
|
||||
</mqtt_layout>
|
||||
<mqtt_data_format type="OptionField">
|
||||
<default>influx</default>
|
||||
<Required>Y</Required>
|
||||
<OptionValues>
|
||||
<carbon2>Carbon2</carbon2>
|
||||
<cloudevents>CloudEvents</cloudevents>
|
||||
<csv>CSV</csv>
|
||||
<graphite>Graphite</graphite>
|
||||
<influx>Influx</influx>
|
||||
<json>Json</json>
|
||||
<msgpack>MsgPack</msgpack>
|
||||
<nowmetric>NowMetric</nowmetric>
|
||||
<prometheus>Prometheus</prometheus>
|
||||
<prometheusremotewrite>PrometheusRemoteWrite</prometheusremotewrite>
|
||||
<splunkmetric>SplunkMetric</splunkmetric>
|
||||
<wavefront>Wavefront</wavefront>
|
||||
</OptionValues>
|
||||
</mqtt_data_format>
|
||||
</items>
|
||||
</model>
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
{% if helpers.exists('OPNsense.telegraf.general.enabled') and OPNsense.telegraf.general.enabled == '1' %}
|
||||
|
||||
[global_tags]
|
||||
|
||||
{% if helpers.exists('OPNsense.telegraf.key.keys.key') %}
|
||||
{% for key_list in helpers.toList('OPNsense.telegraf.key.keys.key') %}
|
||||
{% if key_list.enabled == '1' %}
|
||||
@@ -94,13 +93,24 @@
|
||||
{% if helpers.exists('OPNsense.telegraf.output.mqtt_enable') and OPNsense.telegraf.output.mqtt_enable == '1' %}
|
||||
[[outputs.mqtt]]
|
||||
{% if helpers.exists('OPNsense.telegraf.output.mqtt_servers') and OPNsense.telegraf.output.mqtt_servers != '' %}
|
||||
servers = ["{{ OPNsense.telegraf.output.mqtt_servers }}"]
|
||||
servers = [{{ '"' + ('","'.join(OPNsense.telegraf.output.mqtt_servers.split(","))) + '"' }}]
|
||||
{% endif %}
|
||||
{% if helpers.exists('OPNsense.telegraf.output.mqtt_topic_prefix') and OPNsense.telegraf.output.mqtt_topic_prefix != '' %}
|
||||
topic_prefix = "{{ OPNsense.telegraf.output.mqtt_topic_prefix }}"
|
||||
{% if helpers.exists('OPNsense.telegraf.output.mqtt_topic') and OPNsense.telegraf.output.mqtt_topic != '' %}
|
||||
topic = "{{ OPNsense.telegraf.output.mqtt_topic }}"
|
||||
{% else %}
|
||||
{% if helpers.exists('OPNsense.telegraf.output.mqtt_topic_prefix') and OPNsense.telegraf.output.mqtt_topic_prefix != '' %}
|
||||
topic = "{{ OPNsense.telegraf.output.mqtt_topic_prefix + '/{{ .Hostname }}/{{ .PluginName }}' }}"
|
||||
{% else %}
|
||||
topic = "{{ 'telegraf/{{ .Hostname }}/{{ .PluginName }}' }}"
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% if helpers.exists('OPNsense.telegraf.output.mqtt_qos') and OPNsense.telegraf.output.mqtt_qos != '' %}
|
||||
topic_prefix = "{{ OPNsense.telegraf.output.mqtt_qos }}"
|
||||
qos = {{ OPNsense.telegraf.output.mqtt_qos }}
|
||||
{% endif %}
|
||||
{% if helpers.exists('OPNsense.telegraf.output.mqtt_retain') and OPNsense.telegraf.output.mqtt_retain == '1' %}
|
||||
retain = true
|
||||
{% else %}
|
||||
retain = false
|
||||
{% endif %}
|
||||
{% if helpers.exists('OPNsense.telegraf.output.mqtt_client_id') and OPNsense.telegraf.output.mqtt_client_id != '' %}
|
||||
client_id = "{{ OPNsense.telegraf.output.mqtt_client_id }}"
|
||||
@@ -111,14 +121,17 @@
|
||||
{% if helpers.exists('OPNsense.telegraf.output.mqtt_username') and OPNsense.telegraf.output.mqtt_username != '' %}
|
||||
username = "{{ OPNsense.telegraf.output.mqtt_username }}"
|
||||
{% endif %}
|
||||
{% if helpers.exists('OPNsense.telegraf.output.mqtt_password') and OPNsense.telegraf.output.mqtt_password != '' %}
|
||||
{% if helpers.exists('OPNsense.telegraf.output.mqtt_password') and OPNsense.telegraf.output.mqtt_password != '' %}
|
||||
password = "{{ OPNsense.telegraf.output.mqtt_password }}"
|
||||
{% endif %}
|
||||
{% if helpers.exists('OPNsense.telegraf.output.mqtt_insecure_skip_verify') and OPNsense.telegraf.output.mqtt_insecure_skip_verify == '1' %}
|
||||
{% if helpers.exists('OPNsense.telegraf.output.mqtt_insecure_skip_verify') and OPNsense.telegraf.output.mqtt_insecure_skip_verify == '1' %}
|
||||
insecure_skip_verify = true
|
||||
{% else %}
|
||||
insecure_skip_verify = false
|
||||
{% endif %}
|
||||
{% if helpers.exists('OPNsense.telegraf.output.mqtt_layout') and OPNsense.telegraf.output.mqtt_layout != '' %}
|
||||
layout = "{{ OPNsense.telegraf.output.mqtt_layout }}"
|
||||
{% endif %}
|
||||
{% if helpers.exists('OPNsense.telegraf.output.mqtt_data_format') and OPNsense.telegraf.output.mqtt_data_format != '' %}
|
||||
data_format = "{{ OPNsense.telegraf.output.mqtt_data_format }}"
|
||||
{% endif %}
|
||||
@@ -333,10 +346,10 @@
|
||||
|
||||
{% if helpers.exists('OPNsense.telegraf.input.unbound') and OPNsense.telegraf.input.unbound == '1' %}
|
||||
[[inputs.unbound]]
|
||||
binary = "/usr/local/sbin/unbound-control"
|
||||
config_file = "/var/unbound/unbound.conf"
|
||||
thread_as_tag = true
|
||||
timeout = "5s"
|
||||
binary = "/usr/local/sbin/unbound-control"
|
||||
config_file = "/var/unbound/unbound.conf"
|
||||
thread_as_tag = true
|
||||
timeout = "5s"
|
||||
{% endif %}
|
||||
|
||||
{% if helpers.exists('OPNsense.telegraf.input.apcupsd') and OPNsense.telegraf.input.apcupsd == '1' %}
|
||||
|
||||
Reference in New Issue
Block a user