1 {%- if pillar.influxdb.server is defined %}
2 {%- from "influxdb/map.jinja" import server, relay, monitoring with context %}
4 {%- if server.get('enabled', False) or relay.get('enabled') %}
7 {%- if server.get('http', {}).get('enabled', False) %}
16 summary: 'InfluxDB service down'
17 description: 'InfluxDB service is down on node {{ $labels.host }}'
19 InfluxdbSeriesNumberHigh:
20 {%- set influx_max_series_threshold = monitoring.max_series_percentage * server.data.max_series_per_database / 100 %}
22 influxdb_database_numSeries >= {{ influx_max_series_threshold }}
28 summary: 'InfluxDB high number of series for {{ $labels.database }}'
29 description: 'The InfluxDB {{ $labels.database }} database is getting close to the maximum number of series (value={{ $value }}{%- endraw %},threshold={{ influx_max_series_threshold }}).'
30 InfluxdbSeriesNumberTooHigh:
32 influxdb_database_numSeries >= {{ server.data.max_series_per_database }}
38 summary: 'InfluxDB too many series for {{ $labels.database }}'
39 description: 'The InfluxDB {{ $labels.database }} database has exceeded the maximum number of series (value={{ $value }}{%- endraw %},threshold={{ server.data.max_series_per_database }}).'
40 InfluxdbHTTPClientErrors:
41 {%- set influx_http_client_error_threshold = monitoring.http_errors_percentage %}
43 rate(influxdb_httpd_clientError[2m]) / rate(influxdb_httpd_req[2m]) * 100 > {{ influx_http_client_error_threshold }}
49 summary: 'Influxdb number of client errors is high'
50 description: '{{ printf `%.1f` $value }}% of client requests are in error on {{ $labels.host }} (threshold={%- endraw %}{{ influx_http_client_error_threshold }}).'
51 InfluxdbHTTPPointsWrittenFail:
52 {%- set influx_http_points_written_fail_threshold = monitoring.failed_points_percentage %}
54 rate(influxdb_httpd_pointsWrittenFail[2m]) / rate(influxdb_httpd_pointsWrittenOK[2m]) * 100 > {{ influx_http_points_written_fail_threshold }}
60 summary: 'Influxdb too many failed writes'
61 description: '{{ printf `%.1f` $value }}% of written points have failed on {{ $labels.host }} (threshold={%- endraw %}{{ influx_http_points_written_fail_threshold }}).'
62 InfluxdbHTTPPointsWrittenDropped:
63 {%- set influx_http_points_written_dropped_threshold = monitoring.dropped_points_percentage %}
65 rate(influxdb_httpd_pointsWrittenDropped[2m]) / rate(influxdb_httpd_pointsWrittenOK[2m]) * 100 > {{ influx_http_points_written_dropped_threshold }}
71 summary: 'Influxdb too many dropped writes'
72 description: '{{ printf `%.1f` $value }}% of written points have been dropped on {{ $labels.host }} (threshold={%- endraw %}{{ influx_http_points_written_dropped_threshold }}).'
75 {%- if relay.get('enabled') and relay.telemetry.get('enabled') %}
77 {%- set addresses = [] %}
78 {%- if relay.telemetry.get('bind', {}).address is defined and not relay.telemetry.bind.address.startswith('127') and relay.telemetry.bind.address != '0.0.0.0' %}
79 {%- do addresses.append(relay.telemetry.bind.address) %}
81 {%- for address in grains['fqdn_ip4'] %}
82 {%- if not address.startswith('127') %}
83 {%- do addresses.append(address) %}
92 - address: {{ addresses[0] }}
93 port: {{ relay.telemetry.bind.port }}