Skip to content

Commit

Permalink
dashboard: introduce Tarantool 3 dashboard
Browse files Browse the repository at this point in the history
For now the only difference between Tarantool Cartridge and Tarantool 3
dashboard is that the latter is missing some Cartridge-only panels.

Part of #224
  • Loading branch information
DifferentialOrange committed Jul 8, 2024
1 parent 49558c9 commit 8c6f86f
Show file tree
Hide file tree
Showing 26 changed files with 50,765 additions and 3,303 deletions.
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## Unreleased

### Added
- `cluster_tarantool3` panels section (`cluster` for Tarantool 3) (#224)
- `replication_tarantool3` panels section (`replication` for Tarantool 3) (#224)

### Changed
- Renamed build `cluster` panels section to `cluster_cartridge`.
It affects all custom-built dashboards which had used `cluster` (#224)
- Renamed build `replication` panels section to `replication_cartridge`.
It affects all custom-built dashboards which had used `replication` (#224)
- Remove deprecated `build-static-*` targets from `make` (#224)
- Make default template use Tarantool 3 sections (#224)

### Fixed
- Removed extra quotation mark for TDG jobs_average_panel query (#220)
Expand Down
12 changes: 7 additions & 5 deletions config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,9 @@ metrics_prefix: ''

# sections are dashboard panels sections to be included
# The list of supported sections:
# - cluster_tarantool3
# - cluster_cartridge
# - replication_tarantool3
# - replication_cartridge
# - http
# - net
Expand All @@ -84,10 +86,10 @@ metrics_prefix: ''
# - tdg_iproto
# - tdg_rest_api
# - tdg_tasks
# default is [cluster_cartridge, replication_cartridge, http, net, slab, mvcc, space, vinyl, cpu, runtime, luajit, operations, crud, expirationd]
# default is [cluster_tarantool3, replication_tarantool3, http, net, slab, mvcc, space, vinyl, cpu, runtime, luajit, operations, crud, expirationd]
sections:
- cluster_cartridge
- replication_cartridge
- cluster_tarantool3
- replication_tarantool3
- http
- net
- slab
Expand Down Expand Up @@ -131,8 +133,8 @@ sections:
# job: ['=', 'MyJobWithTarantoolMetrics'],
# }
# sections:
# - cluster_cartridge
# - replication_cartridge
# - cluster_tarantool3
# - replication_tarantool3
# - http
# - net
# - slab
Expand Down
8 changes: 4 additions & 4 deletions dashboard/build/config.libsonnet
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ local variable = import 'dashboard/variable.libsonnet';
filters: {},
metrics_prefix: '',
sections: [
'cluster_cartridge',
'replication_cartridge',
'cluster_tarantool3',
'replication_tarantool3',
'http',
'net',
'slab',
Expand All @@ -54,8 +54,8 @@ local variable = import 'dashboard/variable.libsonnet';
filters: {},
metrics_prefix: '',
sections: [
'cluster_cartridge',
'replication_cartridge',
'cluster_tarantool3',
'replication_tarantool3',
'http',
'net',
'slab',
Expand Down
3 changes: 2 additions & 1 deletion dashboard/panels/cluster.libsonnet
Original file line number Diff line number Diff line change
Expand Up @@ -402,11 +402,12 @@ local prometheus = grafana.prometheus;
Panel works with `metrics >= 0.11.0` and Grafana 8.x.
|||,
panel_width=12,
):: timeseries.new(
title=title,
description=description,
datasource=cfg.datasource,
panel_width=12,
panel_width=panel_width,
max=1,
min=0,
).addValueMapping(
Expand Down
6 changes: 4 additions & 2 deletions dashboard/panels/replication.libsonnet
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,12 @@ local prometheus = grafana.prometheus;
Panel works with `metrics >= 0.13.0` and Grafana 8.x.
|||,
panel_width=8,
):: timeseries.new(
title=title,
description=description,
datasource=cfg.datasource,
panel_width=8,
panel_width=panel_width,
max=1,
min=0,
).addValueMapping(
Expand Down Expand Up @@ -53,14 +54,15 @@ local prometheus = grafana.prometheus;
Panel works with `metrics >= 0.13.0`.
|||,
panel_width=8,
):: common.default_graph(
cfg,
title=title,
description=description,
format='s',
legend_avg=false,
min=0,
panel_width=8,
panel_width=panel_width,
).addTarget(
common.target(
cfg,
Expand Down
34 changes: 34 additions & 0 deletions dashboard/section.libsonnet
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,30 @@ local tdg_tuples = import 'dashboard/panels/tdg/tuples.libsonnet';
local vinyl = import 'dashboard/panels/vinyl.libsonnet';

{
cluster_tarantool3(cfg):: if cfg.type == variable.datasource_type.prometheus then [
// Must be used only in the top of a dashboard, overall stat panels use complicated layout
cluster.row,
cluster.health_overview_table(cfg) { gridPos: { w: 12, h: 8, x: 0, y: 1 } },
cluster.health_overview_stat(cfg) { gridPos: { w: 6, h: 3, x: 12, y: 1 } },
cluster.memory_used_stat(cfg) { gridPos: { w: 3, h: 3, x: 18, y: 1 } },
cluster.memory_reserved_stat(cfg) { gridPos: { w: 3, h: 3, x: 21, y: 1 } },
cluster.http_rps_stat(cfg) { gridPos: { w: 4, h: 5, x: 12, y: 4 } },
cluster.net_rps_stat(cfg) { gridPos: { w: 4, h: 5, x: 16, y: 4 } },
cluster.space_ops_stat(cfg) { gridPos: { w: 4, h: 5, x: 20, y: 4 } },
cluster.read_only_status(cfg, panel_width=24),
cluster.election_state(cfg),
cluster.election_vote(cfg),
cluster.election_leader(cfg),
cluster.election_term(cfg),
] else if cfg.type == variable.datasource_type.influxdb then [
cluster.row,
cluster.read_only_status(cfg, panel_width=24),
cluster.election_state(cfg),
cluster.election_vote(cfg),
cluster.election_leader(cfg),
cluster.election_term(cfg),
],

cluster_cartridge(cfg):: if cfg.type == variable.datasource_type.prometheus then [
// Must be used only in the top of a dashboard, overall stat panels use complicated layout
cluster.row,
Expand Down Expand Up @@ -57,6 +81,16 @@ local vinyl = import 'dashboard/panels/vinyl.libsonnet';
cluster.election_term(cfg),
],

replication_tarantool3(cfg):: [
replication.row,
replication.replication_status(cfg, panel_width=12),
replication.replication_lag(cfg, panel_width=12),
replication.synchro_queue_owner(cfg),
replication.synchro_queue_term(cfg),
replication.synchro_queue_length(cfg),
replication.synchro_queue_busy(cfg),
],

replication_cartridge(cfg):: [
replication.row,
replication.replication_status(cfg),
Expand Down
Binary file modified doc/monitoring/images/Prometheus_dashboard_1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified doc/monitoring/images/Prometheus_dashboard_2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified doc/monitoring/images/Prometheus_dashboard_3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
type: influxdb
title: Tarantool dashboard
description: Dashboard for Tarantool application and database server monitoring, based on grafonnet library.
title: Tarantool Cartridge dashboard
description: Dashboard for Tarantool Cartridge and Tarantool 1.10—2.x application and database server monitoring, based on grafonnet library.
grafana_tags: [tarantool]
datasource: '$influxdb'
policy: '$policy'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
"annotations": {
"list": [ ]
},
"description": "Dashboard for Tarantool application and database server monitoring, based on grafonnet library.",
"description": "Dashboard for Tarantool Cartridge and Tarantool 1.10—2.x application and database server monitoring, based on grafonnet library.",
"editable": true,
"gnetId": null,
"graphTooltip": 0,
Expand Down Expand Up @@ -30886,6 +30886,6 @@
]
},
"timezone": "browser",
"title": "Tarantool dashboard",
"title": "Tarantool Cartridge dashboard",
"version": 0
}
4 changes: 2 additions & 2 deletions tests/InfluxDB/dashboard_custom.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ filters:
vendor_app_tag: ['=', 'MyCacheApplication']
metrics_prefix: vendor_tt_
sections:
- cluster_cartridge
- replication_cartridge
- cluster_tarantool3
- replication_tarantool3
- http
- net
- slab
Expand Down
Loading

0 comments on commit 8c6f86f

Please sign in to comment.