You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
841 lines
32 KiB
841 lines
32 KiB
zabbix_export:
|
|
version: '7.0'
|
|
template_groups:
|
|
- uuid: a571c0d144b14fd4a87a9d9b2aa9fcd6
|
|
name: Templates/Applications
|
|
templates:
|
|
- uuid: a6fe3640b23544e7ae15d438b38ce1cd
|
|
template: 'InfluxDB by HTTP'
|
|
name: 'InfluxDB by HTTP'
|
|
description: |
|
|
Get InfluxDB metrics by HTTP agent from Prometheus metrics endpoint.
|
|
For organization discovery template need to use Authorization via API token. See docs: https://docs.influxdata.com/influxdb/v2.0/security/tokens/
|
|
|
|
Don't forget change macros {$INFLUXDB.URL}, {$INFLUXDB.API.TOKEN}.
|
|
Some metrics may not be collected depending on your InfluxDB instance version and configuration.
|
|
|
|
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback
|
|
|
|
Generated by official Zabbix template tool "Templator" 2.0.0
|
|
vendor:
|
|
name: Zabbix
|
|
version: 7.0-0
|
|
groups:
|
|
- name: Templates/Applications
|
|
items:
|
|
- uuid: 286bb866060e47948c02408ebc841f1f
|
|
name: 'InfluxDB: Get instance metrics'
|
|
type: HTTP_AGENT
|
|
key: influx.get_metrics
|
|
history: '0'
|
|
trends: '0'
|
|
value_type: TEXT
|
|
preprocessing:
|
|
- type: CHECK_NOT_SUPPORTED
|
|
parameters:
|
|
- ''
|
|
- type: PROMETHEUS_TO_JSON
|
|
parameters:
|
|
- ''
|
|
url: '{$INFLUXDB.URL}/metrics'
|
|
tags:
|
|
- tag: component
|
|
value: raw
|
|
- uuid: f8f514943c9040d7b41f14db92ca6c91
|
|
name: 'InfluxDB: Instance status'
|
|
type: HTTP_AGENT
|
|
key: influx.healthcheck
|
|
history: 7d
|
|
description: 'Get the health of an instance.'
|
|
valuemap:
|
|
name: 'InfluxDB healthcheck'
|
|
preprocessing:
|
|
- type: CHECK_NOT_SUPPORTED
|
|
parameters:
|
|
- ''
|
|
error_handler: CUSTOM_VALUE
|
|
error_handler_params: '{"status":"fail"}]}'
|
|
- type: JAVASCRIPT
|
|
parameters:
|
|
- 'return JSON.parse(value).status == ''pass'' ? 1: 0'
|
|
- type: DISCARD_UNCHANGED_HEARTBEAT
|
|
parameters:
|
|
- 30m
|
|
url: '{$INFLUXDB.URL}/health'
|
|
tags:
|
|
- tag: component
|
|
value: health
|
|
triggers:
|
|
- uuid: de130833b4514481aa56d3ba06e648fc
|
|
expression: 'last(/InfluxDB by HTTP/influx.healthcheck)=0'
|
|
name: 'InfluxDB: Health check was failed'
|
|
priority: HIGH
|
|
description: 'The InfluxDB instance is not available or unhealthy.'
|
|
tags:
|
|
- tag: scope
|
|
value: availability
|
|
- uuid: 56b1a9f2eb454a9b96a0e0a73d5439cf
|
|
name: 'InfluxDB: Boltdb reads, rate'
|
|
type: DEPENDENT
|
|
key: influxdb.boltdb_reads.rate
|
|
delay: '0'
|
|
history: 7d
|
|
value_type: FLOAT
|
|
description: 'Total number of boltdb reads per second.'
|
|
preprocessing:
|
|
- type: JSONPATH
|
|
parameters:
|
|
- '$[?(@.name=="boltdb_reads_total")].value.first()'
|
|
error_handler: DISCARD_VALUE
|
|
- type: CHANGE_PER_SECOND
|
|
parameters:
|
|
- ''
|
|
master_item:
|
|
key: influx.get_metrics
|
|
tags:
|
|
- tag: component
|
|
value: boltdb
|
|
- uuid: 7bd505a8abb944c2bed17f8e4e5a8c84
|
|
name: 'InfluxDB: Boltdb writes, rate'
|
|
type: DEPENDENT
|
|
key: influxdb.boltdb_writes.rate
|
|
delay: '0'
|
|
history: 7d
|
|
value_type: FLOAT
|
|
description: 'Total number of boltdb writes per second.'
|
|
preprocessing:
|
|
- type: JSONPATH
|
|
parameters:
|
|
- '$[?(@.name=="boltdb_writes_total")].value.first()'
|
|
error_handler: DISCARD_VALUE
|
|
- type: CHANGE_PER_SECOND
|
|
parameters:
|
|
- ''
|
|
master_item:
|
|
key: influx.get_metrics
|
|
tags:
|
|
- tag: component
|
|
value: boltdb
|
|
- uuid: 5d5e26ee272a4af6ac979e69a83de74d
|
|
name: 'InfluxDB: Buckets, total'
|
|
type: DEPENDENT
|
|
key: influxdb.buckets.total
|
|
delay: '0'
|
|
history: 7d
|
|
description: 'Number of total buckets on the server.'
|
|
preprocessing:
|
|
- type: JSONPATH
|
|
parameters:
|
|
- '$[?(@.name=="influxdb_buckets_total")].value.first()'
|
|
error_handler: DISCARD_VALUE
|
|
- type: DISCARD_UNCHANGED_HEARTBEAT
|
|
parameters:
|
|
- 30m
|
|
master_item:
|
|
key: influx.get_metrics
|
|
tags:
|
|
- tag: component
|
|
value: buckets
|
|
- uuid: 1c5931f514804a95ac4bfba3ec4a7d82
|
|
name: 'InfluxDB: Dashboards, total'
|
|
type: DEPENDENT
|
|
key: influxdb.dashboards.total
|
|
delay: '0'
|
|
history: 7d
|
|
description: 'Number of total dashboards on the server.'
|
|
preprocessing:
|
|
- type: JSONPATH
|
|
parameters:
|
|
- '$[?(@.name=="influxdb_dashboards_total")].value.first()'
|
|
error_handler: DISCARD_VALUE
|
|
- type: DISCARD_UNCHANGED_HEARTBEAT
|
|
parameters:
|
|
- 30m
|
|
master_item:
|
|
key: influx.get_metrics
|
|
tags:
|
|
- tag: component
|
|
value: dashboards
|
|
- uuid: 915f00d9dc9847bb8bc8007d034bb80d
|
|
name: 'InfluxDB: Organizations, total'
|
|
type: DEPENDENT
|
|
key: influxdb.organizations.total
|
|
delay: '0'
|
|
history: 7d
|
|
description: 'Number of total organizations on the server.'
|
|
preprocessing:
|
|
- type: JSONPATH
|
|
parameters:
|
|
- '$[?(@.name=="influxdb_organizations_total")].value.first()'
|
|
error_handler: DISCARD_VALUE
|
|
- type: DISCARD_UNCHANGED_HEARTBEAT
|
|
parameters:
|
|
- 30m
|
|
master_item:
|
|
key: influx.get_metrics
|
|
tags:
|
|
- tag: component
|
|
value: organizations
|
|
- uuid: e05aa2c424c140afa3794878ed2c3baa
|
|
name: 'InfluxDB: Scrapers, total'
|
|
type: DEPENDENT
|
|
key: influxdb.scrapers.total
|
|
delay: '0'
|
|
history: 7d
|
|
description: 'Number of total scrapers on the server.'
|
|
preprocessing:
|
|
- type: JSONPATH
|
|
parameters:
|
|
- '$[?(@.name=="influxdb_scrapers_total")].value.first()'
|
|
error_handler: DISCARD_VALUE
|
|
- type: DISCARD_UNCHANGED_HEARTBEAT
|
|
parameters:
|
|
- 30m
|
|
master_item:
|
|
key: influx.get_metrics
|
|
tags:
|
|
- tag: component
|
|
value: scrapers
|
|
- uuid: f77894d5ede9481381a268670bc88766
|
|
name: 'InfluxDB: Task runs failed, rate'
|
|
type: DEPENDENT
|
|
key: influxdb.task_executor_complete.failed.rate
|
|
delay: '0'
|
|
history: 7d
|
|
description: 'Total number of failure runs across all tasks.'
|
|
preprocessing:
|
|
- type: JSONPATH
|
|
parameters:
|
|
- '$[?(@.name=="task_executor_total_runs_complete" && @.labels.status == "failed")].value.sum()'
|
|
error_handler: DISCARD_VALUE
|
|
- type: CHANGE_PER_SECOND
|
|
parameters:
|
|
- ''
|
|
master_item:
|
|
key: influx.get_metrics
|
|
tags:
|
|
- tag: component
|
|
value: tasks
|
|
triggers:
|
|
- uuid: f0d2137905bc477f979d035c06111844
|
|
expression: 'min(/InfluxDB by HTTP/influxdb.task_executor_complete.failed.rate,5m)>{$INFLUXDB.TASK.RUN.FAIL.MAX.WARN}'
|
|
name: 'InfluxDB: Too many tasks failure runs'
|
|
event_name: 'InfluxDB: Too many tasks failure runs (over {$INFLUXDB.TASK.RUN.FAIL.MAX.WARN} for 5m)'
|
|
priority: WARNING
|
|
description: '"Number of failure runs completed across all tasks is too high."'
|
|
tags:
|
|
- tag: scope
|
|
value: performance
|
|
- uuid: a0183b6d934c4612b358c027c75eda6e
|
|
name: 'InfluxDB: Task runs successful, rate'
|
|
type: DEPENDENT
|
|
key: influxdb.task_executor_complete.successful.rate
|
|
delay: '0'
|
|
history: 7d
|
|
description: 'Total number of runs successful completed across all tasks.'
|
|
preprocessing:
|
|
- type: JSONPATH
|
|
parameters:
|
|
- '$[?(@.name=="task_executor_total_runs_complete" && @.labels.status == "success")].value.sum()'
|
|
error_handler: DISCARD_VALUE
|
|
- type: CHANGE_PER_SECOND
|
|
parameters:
|
|
- ''
|
|
master_item:
|
|
key: influx.get_metrics
|
|
tags:
|
|
- tag: component
|
|
value: tasks
|
|
- uuid: c3f147a2afb3438d8bacbb41fac6b1d0
|
|
name: 'InfluxDB: Workers currently running'
|
|
type: DEPENDENT
|
|
key: influxdb.task_executor_runs_active.total
|
|
delay: '0'
|
|
history: 7d
|
|
description: 'Total number of workers currently running tasks.'
|
|
preprocessing:
|
|
- type: JSONPATH
|
|
parameters:
|
|
- '$[?(@.name=="task_executor_total_runs_active")].value.first()'
|
|
error_handler: DISCARD_VALUE
|
|
master_item:
|
|
key: influx.get_metrics
|
|
tags:
|
|
- tag: component
|
|
value: tasks
|
|
- uuid: 25595754557d49fca7c671df3f6a898c
|
|
name: 'InfluxDB: Workers busy, pct'
|
|
type: DEPENDENT
|
|
key: influxdb.task_executor_workers_busy.pct
|
|
delay: '0'
|
|
history: 7d
|
|
units: '%'
|
|
description: 'Percent of total available workers that are currently busy.'
|
|
preprocessing:
|
|
- type: JSONPATH
|
|
parameters:
|
|
- '$[?(@.name=="task_executor_workers_busy")].value.first()'
|
|
error_handler: DISCARD_VALUE
|
|
master_item:
|
|
key: influx.get_metrics
|
|
tags:
|
|
- tag: component
|
|
value: tasks
|
|
- uuid: 94d98714ecce4847be0bdb7b8802f1ec
|
|
name: 'InfluxDB: Telegrafs, total'
|
|
type: DEPENDENT
|
|
key: influxdb.telegrafs.total
|
|
delay: '0'
|
|
history: 7d
|
|
description: 'Number of total telegraf configurations on the server.'
|
|
preprocessing:
|
|
- type: JSONPATH
|
|
parameters:
|
|
- '$[?(@.name=="influxdb_telegrafs_total")].value.first()'
|
|
error_handler: DISCARD_VALUE
|
|
- type: DISCARD_UNCHANGED_HEARTBEAT
|
|
parameters:
|
|
- 30m
|
|
master_item:
|
|
key: influx.get_metrics
|
|
tags:
|
|
- tag: component
|
|
value: telegraf
|
|
- uuid: 23bad615af024a2e9f06d4541cf6f910
|
|
name: 'InfluxDB: Telegraf plugins, total'
|
|
type: DEPENDENT
|
|
key: influxdb.telegraf_plugins.total
|
|
delay: '0'
|
|
history: 7d
|
|
description: 'Number of individual telegraf plugins configured.'
|
|
preprocessing:
|
|
- type: JSONPATH
|
|
parameters:
|
|
- '$[?(@.name=="influxdb_telegraf_plugins_count")].value.sum()'
|
|
error_handler: DISCARD_VALUE
|
|
- type: DISCARD_UNCHANGED_HEARTBEAT
|
|
parameters:
|
|
- 30m
|
|
master_item:
|
|
key: influx.get_metrics
|
|
tags:
|
|
- tag: component
|
|
value: telegraf
|
|
- uuid: 079c1eee7d93484b9126598b23921e9d
|
|
name: 'InfluxDB: Tokens, total'
|
|
type: DEPENDENT
|
|
key: influxdb.tokens.total
|
|
delay: '0'
|
|
history: 7d
|
|
description: 'Number of total tokens on the server.'
|
|
preprocessing:
|
|
- type: JSONPATH
|
|
parameters:
|
|
- '$[?(@.name=="influxdb_tokens_total")].value.first()'
|
|
error_handler: DISCARD_VALUE
|
|
- type: DISCARD_UNCHANGED_HEARTBEAT
|
|
parameters:
|
|
- 30m
|
|
master_item:
|
|
key: influx.get_metrics
|
|
tags:
|
|
- tag: component
|
|
value: tokens
|
|
- uuid: 8699e951b7944659993422334a4cddc0
|
|
name: 'InfluxDB: Uptime'
|
|
type: DEPENDENT
|
|
key: influxdb.uptime
|
|
delay: '0'
|
|
history: 7d
|
|
value_type: FLOAT
|
|
units: s
|
|
description: 'InfluxDB process uptime in seconds.'
|
|
preprocessing:
|
|
- type: JSONPATH
|
|
parameters:
|
|
- '$[?(@.name=="influxdb_uptime_seconds")].value.first()'
|
|
master_item:
|
|
key: influx.get_metrics
|
|
tags:
|
|
- tag: component
|
|
value: uptime
|
|
triggers:
|
|
- uuid: 335f27fb002544838f7150b11238d86b
|
|
expression: 'last(/InfluxDB by HTTP/influxdb.uptime)<10m'
|
|
name: 'InfluxDB: has been restarted'
|
|
event_name: 'InfluxDB: has been restarted (uptime < 10m)'
|
|
priority: INFO
|
|
description: 'Uptime is less than 10 minutes.'
|
|
manual_close: 'YES'
|
|
tags:
|
|
- tag: scope
|
|
value: notice
|
|
- uuid: 86357d43721f4e6aa6b1dd7e63dd2f47
|
|
name: 'InfluxDB: Users, total'
|
|
type: DEPENDENT
|
|
key: influxdb.users.total
|
|
delay: '0'
|
|
history: 7d
|
|
description: 'Number of total users on the server.'
|
|
preprocessing:
|
|
- type: JSONPATH
|
|
parameters:
|
|
- '$[?(@.name=="influxdb_users_total")].value.first()'
|
|
error_handler: DISCARD_VALUE
|
|
- type: DISCARD_UNCHANGED_HEARTBEAT
|
|
parameters:
|
|
- 30m
|
|
master_item:
|
|
key: influx.get_metrics
|
|
tags:
|
|
- tag: component
|
|
value: tokens
|
|
- uuid: d31e0d0823af4f6c999cae3d49b3815b
|
|
name: 'InfluxDB: Version'
|
|
type: DEPENDENT
|
|
key: influxdb.version
|
|
delay: '0'
|
|
history: 7d
|
|
trends: '0'
|
|
value_type: CHAR
|
|
description: 'Version of the InfluxDB instance.'
|
|
preprocessing:
|
|
- type: JSONPATH
|
|
parameters:
|
|
- '$[?(@.name=="influxdb_info")].labels.version.first()'
|
|
- type: DISCARD_UNCHANGED_HEARTBEAT
|
|
parameters:
|
|
- 3h
|
|
master_item:
|
|
key: influx.get_metrics
|
|
tags:
|
|
- tag: component
|
|
value: version
|
|
triggers:
|
|
- uuid: d2b02cc426c748608968ae08c0823461
|
|
expression: 'last(/InfluxDB by HTTP/influxdb.version,#1)<>last(/InfluxDB by HTTP/influxdb.version,#2) and length(last(/InfluxDB by HTTP/influxdb.version))>0'
|
|
name: 'InfluxDB: Version has changed'
|
|
event_name: 'InfluxDB: Version has changed (new version: {ITEM.VALUE})'
|
|
priority: INFO
|
|
description: 'InfluxDB version has changed. Acknowledge to close the problem manually.'
|
|
manual_close: 'YES'
|
|
tags:
|
|
- tag: scope
|
|
value: notice
|
|
discovery_rules:
|
|
- uuid: 41766fd081804c399c3a7e70dd1fbf03
|
|
name: 'Organizations discovery'
|
|
type: HTTP_AGENT
|
|
key: influxdb.orgs.discovery
|
|
delay: 10m
|
|
filter:
|
|
evaltype: AND
|
|
conditions:
|
|
- macro: '{#ORG_NAME}'
|
|
value: '{$INFLUXDB.ORG_NAME.NOT_MATCHES}'
|
|
operator: NOT_MATCHES_REGEX
|
|
formulaid: A
|
|
- macro: '{#ORG_NAME}'
|
|
value: '{$INFLUXDB.ORG_NAME.MATCHES}'
|
|
formulaid: B
|
|
description: 'Discovery of organizations metrics.'
|
|
item_prototypes:
|
|
- uuid: c84ae278bd7c4387873bc8bbf6d8ba8f
|
|
name: 'InfluxDB: [{#ORG_NAME}] Query response bytes, failed'
|
|
type: DEPENDENT
|
|
key: 'influxdb.org.http_query_response_bytes.failed.rate["{#ORG_NAME}"]'
|
|
delay: '0'
|
|
history: 7d
|
|
value_type: FLOAT
|
|
units: Bps
|
|
description: 'Count of bytes returned with status not 200 per second.'
|
|
preprocessing:
|
|
- type: JSONPATH
|
|
parameters:
|
|
- '$[?(@.name=="http_query_response_bytes" && @.labels.status != "200" && @.labels.endpoint == "/api/v2/query" && @.labels.org_id == "{#ORG_ID}") ].value.first()'
|
|
error_handler: DISCARD_VALUE
|
|
- type: CHANGE_PER_SECOND
|
|
parameters:
|
|
- ''
|
|
master_item:
|
|
key: influx.get_metrics
|
|
tags:
|
|
- tag: component
|
|
value: queries
|
|
- tag: organization
|
|
value: '{#ORG_NAME}'
|
|
- uuid: fb13e133cf054e8783ba6bf5deaf1686
|
|
name: 'InfluxDB: [{#ORG_NAME}] Query response bytes, success'
|
|
type: DEPENDENT
|
|
key: 'influxdb.org.http_query_response_bytes.success.rate["{#ORG_NAME}"]'
|
|
delay: '0'
|
|
history: 7d
|
|
value_type: FLOAT
|
|
units: Bps
|
|
description: 'Count of bytes returned with status 200 per second.'
|
|
preprocessing:
|
|
- type: JSONPATH
|
|
parameters:
|
|
- '$[?(@.name=="http_query_response_bytes" && @.labels.status == "200" && @.labels.endpoint == "/api/v2/query" && @.labels.org_id == "{#ORG_ID}") ].value.first()'
|
|
error_handler: DISCARD_VALUE
|
|
- type: CHANGE_PER_SECOND
|
|
parameters:
|
|
- ''
|
|
master_item:
|
|
key: influx.get_metrics
|
|
tags:
|
|
- tag: component
|
|
value: queries
|
|
- tag: organization
|
|
value: '{#ORG_NAME}'
|
|
- uuid: 9688861c4268455193772389a957264f
|
|
name: 'InfluxDB: [{#ORG_NAME}] Query requests, failed'
|
|
type: DEPENDENT
|
|
key: 'influxdb.org.query_request.failed.rate["{#ORG_NAME}"]'
|
|
delay: '0'
|
|
history: 7d
|
|
value_type: FLOAT
|
|
units: Rps
|
|
description: 'Total number of query requests with status not 200 per second.'
|
|
preprocessing:
|
|
- type: JSONPATH
|
|
parameters:
|
|
- '$[?(@.name=="http_query_request_count" && @.labels.status != "200" && @.labels.endpoint == "/api/v2/query" && @.labels.org_id == "{#ORG_ID}") ].value.first()'
|
|
error_handler: DISCARD_VALUE
|
|
- type: CHANGE_PER_SECOND
|
|
parameters:
|
|
- ''
|
|
master_item:
|
|
key: influx.get_metrics
|
|
tags:
|
|
- tag: component
|
|
value: queries
|
|
- tag: organization
|
|
value: '{#ORG_NAME}'
|
|
trigger_prototypes:
|
|
- uuid: 893fa5755b514c36aa177c4f4e25b254
|
|
expression: 'min(/InfluxDB by HTTP/influxdb.org.query_request.failed.rate["{#ORG_NAME}"],5m)>{$INFLUXDB.REQ.FAIL.MAX.WARN}'
|
|
name: 'InfluxDB: [{#ORG_NAME}]: Too many requests failures'
|
|
event_name: 'InfluxDB: [{#ORG_NAME}]: Too many requests failures (over {$INFLUXDB.REQ.FAIL.MAX.WARN} for 5m)'
|
|
priority: WARNING
|
|
description: 'Too many query requests failed.'
|
|
tags:
|
|
- tag: scope
|
|
value: performance
|
|
- uuid: da53d3185ba744c38fc264993c72b1b9
|
|
name: 'InfluxDB: [{#ORG_NAME}] Query requests, success'
|
|
type: DEPENDENT
|
|
key: 'influxdb.org.query_request.success.rate["{#ORG_NAME}"]'
|
|
delay: '0'
|
|
history: 7d
|
|
value_type: FLOAT
|
|
units: Rps
|
|
description: 'Total number of query requests with status 200 per second.'
|
|
preprocessing:
|
|
- type: JSONPATH
|
|
parameters:
|
|
- '$[?(@.name=="http_query_request_count" && @.labels.status == "200" && @.labels.endpoint == "/api/v2/query" && @.labels.org_id == "{#ORG_ID}") ].value.first()'
|
|
error_handler: DISCARD_VALUE
|
|
- type: CHANGE_PER_SECOND
|
|
parameters:
|
|
- ''
|
|
master_item:
|
|
key: influx.get_metrics
|
|
tags:
|
|
- tag: component
|
|
value: queries
|
|
- tag: organization
|
|
value: '{#ORG_NAME}'
|
|
- uuid: 4f8dbb16f7a842678e4fb4343c88b560
|
|
name: 'InfluxDB: [{#ORG_NAME}] Query requests bytes, failed'
|
|
type: DEPENDENT
|
|
key: 'influxdb.org.query_request_bytes.failed.rate["{#ORG_NAME}"]'
|
|
delay: '0'
|
|
history: 7d
|
|
value_type: FLOAT
|
|
units: Bps
|
|
description: 'Count of bytes received with status not 200 per second.'
|
|
preprocessing:
|
|
- type: JSONPATH
|
|
parameters:
|
|
- '$[?(@.name=="http_query_request_bytes" && @.labels.status != "200" && @.labels.endpoint == "/api/v2/query" && @.labels.org_id == "{#ORG_ID}") ].value.first()'
|
|
error_handler: DISCARD_VALUE
|
|
- type: CHANGE_PER_SECOND
|
|
parameters:
|
|
- ''
|
|
master_item:
|
|
key: influx.get_metrics
|
|
tags:
|
|
- tag: component
|
|
value: queries
|
|
- tag: organization
|
|
value: '{#ORG_NAME}'
|
|
- uuid: 6bbeb22e5c9b46a2bf480dcf41b4eb0e
|
|
name: 'InfluxDB: [{#ORG_NAME}] Query requests bytes, success'
|
|
type: DEPENDENT
|
|
key: 'influxdb.org.query_request_bytes.success.rate["{#ORG_NAME}"]'
|
|
delay: '0'
|
|
history: 7d
|
|
value_type: FLOAT
|
|
units: Bps
|
|
description: 'Count of bytes received with status 200 per second.'
|
|
preprocessing:
|
|
- type: JSONPATH
|
|
parameters:
|
|
- '$[?(@.name=="http_query_request_bytes" && @.labels.status == "200" && @.labels.endpoint == "/api/v2/query" && @.labels.org_id == "{#ORG_ID}") ].value.first()'
|
|
error_handler: DISCARD_VALUE
|
|
- type: CHANGE_PER_SECOND
|
|
parameters:
|
|
- ''
|
|
master_item:
|
|
key: influx.get_metrics
|
|
tags:
|
|
- tag: component
|
|
value: queries
|
|
- tag: organization
|
|
value: '{#ORG_NAME}'
|
|
graph_prototypes:
|
|
- uuid: 925d6b2f79b2479ab031118d795811fb
|
|
name: 'InfluxDB: [{#ORG_NAME}]: Query requests'
|
|
graph_items:
|
|
- color: 199C0D
|
|
item:
|
|
host: 'InfluxDB by HTTP'
|
|
key: 'influxdb.org.query_request.success.rate["{#ORG_NAME}"]'
|
|
- sortorder: '1'
|
|
color: F63100
|
|
item:
|
|
host: 'InfluxDB by HTTP'
|
|
key: 'influxdb.org.query_request.failed.rate["{#ORG_NAME}"]'
|
|
- uuid: 01921ee545c540bd8c0d51429bcce11b
|
|
name: 'InfluxDB: [{#ORG_NAME}]: Query traffic'
|
|
graph_items:
|
|
- color: 199C0D
|
|
item:
|
|
host: 'InfluxDB by HTTP'
|
|
key: 'influxdb.org.http_query_response_bytes.success.rate["{#ORG_NAME}"]'
|
|
- sortorder: '1'
|
|
color: F63100
|
|
item:
|
|
host: 'InfluxDB by HTTP'
|
|
key: 'influxdb.org.http_query_response_bytes.failed.rate["{#ORG_NAME}"]'
|
|
- sortorder: '2'
|
|
color: 00611C
|
|
item:
|
|
host: 'InfluxDB by HTTP'
|
|
key: 'influxdb.org.query_request_bytes.failed.rate["{#ORG_NAME}"]'
|
|
- sortorder: '3'
|
|
color: F7941D
|
|
item:
|
|
host: 'InfluxDB by HTTP'
|
|
key: 'influxdb.org.query_request_bytes.success.rate["{#ORG_NAME}"]'
|
|
url: '{$INFLUXDB.URL}/api/v2/orgs'
|
|
headers:
|
|
- name: Content-type
|
|
value: application/json
|
|
- name: Authorization
|
|
value: 'Token {$INFLUXDB.API.TOKEN}'
|
|
preprocessing:
|
|
- type: JAVASCRIPT
|
|
parameters:
|
|
- |
|
|
var result = [];
|
|
|
|
JSON.parse(value).orgs.forEach(function (e) {
|
|
result.push({
|
|
"{#ORG_ID}": e.id,
|
|
"{#ORG_NAME}": e.name,
|
|
"{#ORG_DESCRIPTION}": e.description
|
|
});
|
|
});
|
|
|
|
return JSON.stringify(result)
|
|
- type: DISCARD_UNCHANGED_HEARTBEAT
|
|
parameters:
|
|
- 1h
|
|
tags:
|
|
- tag: class
|
|
value: database
|
|
- tag: target
|
|
value: influxdb
|
|
macros:
|
|
- macro: '{$INFLUXDB.API.TOKEN}'
|
|
description: 'InfluxDB API Authorization Token'
|
|
- macro: '{$INFLUXDB.ORG_NAME.MATCHES}'
|
|
value: '.*'
|
|
description: 'Filter of discoverable organizations'
|
|
- macro: '{$INFLUXDB.ORG_NAME.NOT_MATCHES}'
|
|
value: CHANGE_IF_NEEDED
|
|
description: 'Filter to exclude discovered organizations'
|
|
- macro: '{$INFLUXDB.REQ.FAIL.MAX.WARN}'
|
|
value: '2'
|
|
description: 'Maximum number of query requests failures for trigger expression.'
|
|
- macro: '{$INFLUXDB.TASK.RUN.FAIL.MAX.WARN}'
|
|
value: '2'
|
|
description: 'Maximum number of tasks runs failures for trigger expression.'
|
|
- macro: '{$INFLUXDB.URL}'
|
|
value: 'http://localhost:8086'
|
|
description: 'InfluxDB instance URL'
|
|
dashboards:
|
|
- uuid: 41d42bb27ae14b529b337aac88bf4685
|
|
name: 'InfluxDB: Overview'
|
|
pages:
|
|
- name: Main
|
|
widgets:
|
|
- type: graph
|
|
name: 'InfluxDB: Tasks runs'
|
|
'y': '2'
|
|
width: '12'
|
|
height: '5'
|
|
fields:
|
|
- type: GRAPH
|
|
name: graphid
|
|
value:
|
|
host: 'InfluxDB by HTTP'
|
|
name: 'InfluxDB: Tasks runs'
|
|
- type: item
|
|
name: 'Instance status'
|
|
width: '4'
|
|
fields:
|
|
- type: INTEGER
|
|
name: show
|
|
value: '4'
|
|
- type: INTEGER
|
|
name: show
|
|
value: '2'
|
|
- type: ITEM
|
|
name: itemid
|
|
value:
|
|
host: 'InfluxDB by HTTP'
|
|
key: influx.healthcheck
|
|
- type: item
|
|
name: Uptime
|
|
x: '4'
|
|
width: '4'
|
|
fields:
|
|
- type: INTEGER
|
|
name: show
|
|
value: '4'
|
|
- type: INTEGER
|
|
name: show
|
|
value: '2'
|
|
- type: ITEM
|
|
name: itemid
|
|
value:
|
|
host: 'InfluxDB by HTTP'
|
|
key: influxdb.uptime
|
|
- type: item
|
|
name: 'Users, total'
|
|
x: '20'
|
|
width: '4'
|
|
fields:
|
|
- type: INTEGER
|
|
name: show
|
|
value: '2'
|
|
- type: ITEM
|
|
name: itemid
|
|
value:
|
|
host: 'InfluxDB by HTTP'
|
|
key: influxdb.users.total
|
|
- type: item
|
|
name: Version
|
|
x: '8'
|
|
width: '4'
|
|
fields:
|
|
- type: INTEGER
|
|
name: show
|
|
value: '2'
|
|
- type: ITEM
|
|
name: itemid
|
|
value:
|
|
host: 'InfluxDB by HTTP'
|
|
key: influxdb.version
|
|
- type: item
|
|
name: 'Workers busy, pct'
|
|
x: '12'
|
|
width: '4'
|
|
fields:
|
|
- type: INTEGER
|
|
name: show
|
|
value: '4'
|
|
- type: INTEGER
|
|
name: show
|
|
value: '2'
|
|
- type: ITEM
|
|
name: itemid
|
|
value:
|
|
host: 'InfluxDB by HTTP'
|
|
key: influxdb.task_executor_workers_busy.pct
|
|
- type: item
|
|
name: 'Workers currently running'
|
|
x: '16'
|
|
width: '4'
|
|
fields:
|
|
- type: INTEGER
|
|
name: show
|
|
value: '4'
|
|
- type: INTEGER
|
|
name: show
|
|
value: '2'
|
|
- type: ITEM
|
|
name: itemid
|
|
value:
|
|
host: 'InfluxDB by HTTP'
|
|
key: influxdb.task_executor_runs_active.total
|
|
- name: Organizations
|
|
widgets:
|
|
- type: graphprototype
|
|
name: 'InfluxDB: Query requests'
|
|
width: '12'
|
|
height: '5'
|
|
fields:
|
|
- type: INTEGER
|
|
name: columns
|
|
value: '1'
|
|
- type: INTEGER
|
|
name: rows
|
|
value: '1'
|
|
- type: GRAPH_PROTOTYPE
|
|
name: graphid
|
|
value:
|
|
host: 'InfluxDB by HTTP'
|
|
name: 'InfluxDB: [{#ORG_NAME}]: Query requests'
|
|
- type: graphprototype
|
|
name: 'InfluxDB: Query traffic'
|
|
x: '12'
|
|
width: '12'
|
|
height: '5'
|
|
fields:
|
|
- type: INTEGER
|
|
name: columns
|
|
value: '1'
|
|
- type: INTEGER
|
|
name: rows
|
|
value: '1'
|
|
- type: GRAPH_PROTOTYPE
|
|
name: graphid
|
|
value:
|
|
host: 'InfluxDB by HTTP'
|
|
name: 'InfluxDB: [{#ORG_NAME}]: Query traffic'
|
|
valuemaps:
|
|
- uuid: d1b4478bdfc44c6db79a4a262f605d92
|
|
name: 'InfluxDB healthcheck'
|
|
mappings:
|
|
- value: '0'
|
|
newvalue: Failed
|
|
- value: '1'
|
|
newvalue: Ok
|
|
graphs:
|
|
- uuid: dd6b62b969594ddbb82895a8f8fc5623
|
|
name: 'InfluxDB: Tasks runs'
|
|
graph_items:
|
|
- color: 199C0D
|
|
item:
|
|
host: 'InfluxDB by HTTP'
|
|
key: influxdb.task_executor_complete.failed.rate
|
|
- sortorder: '1'
|
|
color: F63100
|
|
item:
|
|
host: 'InfluxDB by HTTP'
|
|
key: influxdb.task_executor_complete.successful.rate
|