tarantool / grafana-dashboard

Dashboard for Tarantool application and database server monitoring with Grafana
MIT License
34 stars 11 forks source link

Add CRUD panels #144

Closed DifferentialOrange closed 2 years ago

DifferentialOrange commented 2 years ago

example_cluster: add CRUD load

Add CRUD rocks 0.11.1 to example application dependency list. Add loaders for CRUD methods to generate_load script.

dashboard: set InfluxDB default policy to autogen

default InfluxDB policy keyword cannot be used as a value in raw InfluxDB queries. autogen retention policy is created by default [1]:

When you create a database, InfluxDB automatically creates a retention policy called autogen with an infinite duration, a replication factor set to one, and a shard group duration set to seven days

thus it is well-suited to be a default value.

  1. https://www.influxdata.com/blog/simplifying-influxdb-retention-policy-best-practices/

dashboard: add panels for CRUD module statistics

Statistics for CRUD module was introduced in CRUD 0.11.0 [1]. To enable statistics integrated with metrics with quantiles, call

crud.cfg{
    stats = true,
    stats_driver = 'metrics',
    stats_quantiles = true
}

This patch adds panels for

CRUD panels are stored in "CRUD module statistics" section. There is a group of panels for RPS load and a group of panels with latency, both consists of separate panels for each operation and ok/error status. Tuples panels are displayed as average per request. InfluxDB queries for tuple panels have minor issue: they can show 0 current value from time to time due to fill(0) and GROUP BY including partial intervals [2]. Map reduces panel show average RPS.

  1. https://github.com/tarantool/crud/releases/tag/0.11.0
  2. https://github.com/influxdata/influxdb/issues/8244

image image image image image

alerts: add examples for CRUD statistics

Add example alerts and unit tests for high error rate, high latency and high map reduces rate of CRUD module operations.

Closes #143