summaryrefslogtreecommitdiff
path: root/data/templates/monitoring/telegraf.j2
blob: d1a94366bdf4fd3d1fbdec44e15c8d32f6d66fbb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
# Generated by /usr/libexec/vyos/conf_mode/service_monitoring_telegraf.py

[agent]
  interval = "15s"
  round_interval = true
  metric_batch_size = 1000
  metric_buffer_limit = 10000
  collection_jitter = "5s"
  flush_interval = "15s"
  flush_jitter = "0s"
  precision = ""
  debug = false
  quiet = false
  logfile = ""
  hostname = ""
  omit_hostname = false
{% if influxdb_configured is vyos_defined %}
### InfluxDB2 ###
[[outputs.influxdb_v2]]
  urls = ["{{ url }}:{{ port }}"]
  insecure_skip_verify = true
  token = "$INFLUX_TOKEN"
  organization = "{{ authentication.organization }}"
  bucket = "{{ bucket }}"
### End InfluxDB2 ###
{% endif %}
{% if prometheus_client is vyos_defined %}
### Prometheus ###
[[outputs.prometheus_client]]
  ## Address to listen on
  listen = "{{ prometheus_client.listen_address if prometheus_client.listen_address is vyos_defined else '' }}:{{ prometheus_client.port }}"
  metric_version = {{ prometheus_client.metric_version }}
{%     if prometheus_client.authentication.username is vyos_defined and prometheus_client.authentication.password is vyos_defined  %}
  ## Use HTTP Basic Authentication
  basic_username = "{{ prometheus_client.authentication.username }}"
  basic_password = "{{ prometheus_client.authentication.password }}"
{%     endif %}
{%     if prometheus_client.allow_from is vyos_defined %}
  ip_range = {{ prometheus_client.allow_from }}
{%     endif %}
### End Prometheus ###
{% endif %}
{% if splunk is vyos_defined %}
### Splunk ###
[[outputs.http]]
  ## URL is the address to send metrics to
  url = "{{ splunk.url }}"
  ## Timeout for HTTP message
  # timeout = "5s"
  ## Use TLS but skip chain & host verification
{%     if splunk.authentication.insecure is vyos_defined %}
  insecure_skip_verify = true
{%     endif %}
  ## Data format to output
  data_format = "splunkmetric"
  ## Provides time, index, source overrides for the HEC
  splunkmetric_hec_routing = true
  ## Additional HTTP headers
   [outputs.http.headers]
   # Should be set manually to "application/json" for json data_format
     Content-Type = "application/json"
     Authorization = "Splunk {{ splunk.authentication.token }}"
     X-Splunk-Request-Channel = "{{ splunk.authentication.token }}"
### End Splunk ###
{% endif %}
[[inputs.cpu]]
    percpu = true
    totalcpu = true
    collect_cpu_time = false
    report_active = false
[[inputs.disk]]
    ignore_fs = ["devtmpfs", "devfs"]
[[inputs.diskio]]
[[inputs.mem]]
[[inputs.net]]
[[inputs.system]]
[[inputs.netstat]]
[[inputs.processes]]
[[inputs.kernel]]
[[inputs.interrupts]]
[[inputs.linux_sysctl_fs]]
[[inputs.systemd_units]]
[[inputs.conntrack]]
  files = ["ip_conntrack_count","ip_conntrack_max","nf_conntrack_count","nf_conntrack_max"]
  dirs = ["/proc/sys/net/ipv4/netfilter","/proc/sys/net/netfilter"]
[[inputs.ethtool]]
  interface_include = {{ interfaces_ethernet }}
[[inputs.ntpq]]
  dns_lookup = true
[[inputs.internal]]
[[inputs.nstat]]
[[inputs.syslog]]
  server = "unixgram:///run/telegraf/telegraf_syslog.sock"
  best_effort = true
  syslog_standard = "RFC3164"
{% if influxdb_configured is vyos_defined %}
[[inputs.exec]]
  commands = [
    "{{ custom_scripts_dir }}/show_firewall_input_filter.py",
    "{{ custom_scripts_dir }}/show_interfaces_input_filter.py",
    "{{ custom_scripts_dir }}/vyos_services_input_filter.py"
  ]
  timeout = "10s"
  data_format = "influx"
{% endif %}