mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Support using multiple datasources for testing bulk alerting. (#23258)
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -84,6 +84,8 @@ debug.test
|
|||||||
|
|
||||||
/devenv/bulk-dashboards/*.json
|
/devenv/bulk-dashboards/*.json
|
||||||
/devenv/bulk_alerting_dashboards/*.json
|
/devenv/bulk_alerting_dashboards/*.json
|
||||||
|
/devenv/datasources_bulk.yaml
|
||||||
|
/devenv/bulk_alerting_dashboards/bulk_alerting_datasources.yaml
|
||||||
|
|
||||||
/scripts/build/release_publisher/release_publisher
|
/scripts/build/release_publisher/release_publisher
|
||||||
*.patch
|
*.patch
|
||||||
|
|||||||
@@ -1,168 +0,0 @@
|
|||||||
{
|
|
||||||
"editable": true,
|
|
||||||
"gnetId": null,
|
|
||||||
"graphTooltip": 0,
|
|
||||||
"id": null,
|
|
||||||
"links": [],
|
|
||||||
"panels": [
|
|
||||||
{
|
|
||||||
"alert": {
|
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"evaluator": {
|
|
||||||
"params": [
|
|
||||||
65
|
|
||||||
],
|
|
||||||
"type": "gt"
|
|
||||||
},
|
|
||||||
"operator": {
|
|
||||||
"type": "and"
|
|
||||||
},
|
|
||||||
"query": {
|
|
||||||
"params": [
|
|
||||||
"A",
|
|
||||||
"5m",
|
|
||||||
"now"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"reducer": {
|
|
||||||
"params": [],
|
|
||||||
"type": "avg"
|
|
||||||
},
|
|
||||||
"type": "query"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"executionErrorState": "alerting",
|
|
||||||
"frequency": "10s",
|
|
||||||
"handler": 1,
|
|
||||||
"name": "bulk alerting",
|
|
||||||
"noDataState": "no_data",
|
|
||||||
"notifications": []
|
|
||||||
},
|
|
||||||
"aliasColors": {},
|
|
||||||
"bars": false,
|
|
||||||
"dashLength": 10,
|
|
||||||
"dashes": false,
|
|
||||||
"datasource": "gdev-prometheus",
|
|
||||||
"fill": 1,
|
|
||||||
"gridPos": {
|
|
||||||
"h": 9,
|
|
||||||
"w": 12,
|
|
||||||
"x": 0,
|
|
||||||
"y": 0
|
|
||||||
},
|
|
||||||
"id": 2,
|
|
||||||
"legend": {
|
|
||||||
"avg": false,
|
|
||||||
"current": false,
|
|
||||||
"max": false,
|
|
||||||
"min": false,
|
|
||||||
"show": true,
|
|
||||||
"total": false,
|
|
||||||
"values": false
|
|
||||||
},
|
|
||||||
"lines": true,
|
|
||||||
"linewidth": 1,
|
|
||||||
"nullPointMode": "null",
|
|
||||||
"percentage": false,
|
|
||||||
"pointradius": 5,
|
|
||||||
"points": false,
|
|
||||||
"renderer": "flot",
|
|
||||||
"seriesOverrides": [],
|
|
||||||
"spaceLength": 10,
|
|
||||||
"stack": false,
|
|
||||||
"steppedLine": false,
|
|
||||||
"targets": [
|
|
||||||
{
|
|
||||||
"$$hashKey": "object:117",
|
|
||||||
"expr": "go_goroutines",
|
|
||||||
"format": "time_series",
|
|
||||||
"intervalFactor": 1,
|
|
||||||
"refId": "A"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"thresholds": [
|
|
||||||
{
|
|
||||||
"colorMode": "critical",
|
|
||||||
"fill": true,
|
|
||||||
"line": true,
|
|
||||||
"op": "gt",
|
|
||||||
"value": 50
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"timeFrom": null,
|
|
||||||
"timeShift": null,
|
|
||||||
"title": "Panel Title",
|
|
||||||
"tooltip": {
|
|
||||||
"shared": true,
|
|
||||||
"sort": 0,
|
|
||||||
"value_type": "individual"
|
|
||||||
},
|
|
||||||
"type": "graph",
|
|
||||||
"xaxis": {
|
|
||||||
"buckets": null,
|
|
||||||
"mode": "time",
|
|
||||||
"name": null,
|
|
||||||
"show": true,
|
|
||||||
"values": []
|
|
||||||
},
|
|
||||||
"yaxes": [
|
|
||||||
{
|
|
||||||
"format": "short",
|
|
||||||
"label": null,
|
|
||||||
"logBase": 1,
|
|
||||||
"max": null,
|
|
||||||
"min": null,
|
|
||||||
"show": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"format": "short",
|
|
||||||
"label": null,
|
|
||||||
"logBase": 1,
|
|
||||||
"max": null,
|
|
||||||
"min": null,
|
|
||||||
"show": true
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"schemaVersion": 16,
|
|
||||||
"style": "dark",
|
|
||||||
"tags": [],
|
|
||||||
"templating": {
|
|
||||||
"list": []
|
|
||||||
},
|
|
||||||
"time": {
|
|
||||||
"from": "now-6h",
|
|
||||||
"to": "now"
|
|
||||||
},
|
|
||||||
"timepicker": {
|
|
||||||
"refresh_intervals": [
|
|
||||||
"5s",
|
|
||||||
"10s",
|
|
||||||
"30s",
|
|
||||||
"1m",
|
|
||||||
"5m",
|
|
||||||
"15m",
|
|
||||||
"30m",
|
|
||||||
"1h",
|
|
||||||
"2h",
|
|
||||||
"1d"
|
|
||||||
],
|
|
||||||
"time_options": [
|
|
||||||
"5m",
|
|
||||||
"15m",
|
|
||||||
"1h",
|
|
||||||
"6h",
|
|
||||||
"12h",
|
|
||||||
"24h",
|
|
||||||
"2d",
|
|
||||||
"7d",
|
|
||||||
"30d"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"timezone": "",
|
|
||||||
"title": "New dashboard",
|
|
||||||
"uid": null,
|
|
||||||
"version": 0
|
|
||||||
}
|
|
||||||
170
devenv/bulk_alerting_dashboards/dashboard.libsonnet
Normal file
170
devenv/bulk_alerting_dashboards/dashboard.libsonnet
Normal file
@@ -0,0 +1,170 @@
|
|||||||
|
{
|
||||||
|
alertingDashboard(dashboardCounter, datasourceCounter):: {
|
||||||
|
title: "alerting-title-" + dashboardCounter,
|
||||||
|
editable: true,
|
||||||
|
gnetId: null,
|
||||||
|
graphTooltip: 0,
|
||||||
|
id: null,
|
||||||
|
links: [],
|
||||||
|
panels: [
|
||||||
|
{
|
||||||
|
alert: {
|
||||||
|
conditions: [
|
||||||
|
{
|
||||||
|
evaluator: {
|
||||||
|
params: [
|
||||||
|
65
|
||||||
|
],
|
||||||
|
type: "gt"
|
||||||
|
},
|
||||||
|
operator: {
|
||||||
|
type: "and"
|
||||||
|
},
|
||||||
|
query: {
|
||||||
|
params: [
|
||||||
|
"A",
|
||||||
|
"5m",
|
||||||
|
"now"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
reducer: {
|
||||||
|
params: [],
|
||||||
|
type: "avg"
|
||||||
|
},
|
||||||
|
type: "query"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
executionErrorState: "alerting",
|
||||||
|
frequency: "24h",
|
||||||
|
handler: 1,
|
||||||
|
name: "bulk alerting " + dashboardCounter,
|
||||||
|
noDataState: "no_data",
|
||||||
|
notifications: []
|
||||||
|
},
|
||||||
|
aliasColors: {},
|
||||||
|
bars: false,
|
||||||
|
dashLength: 10,
|
||||||
|
dashes: false,
|
||||||
|
datasource: "gfdev-bulkalerting-" + datasourceCounter,
|
||||||
|
fill: 1,
|
||||||
|
gridPos: {
|
||||||
|
h: 9,
|
||||||
|
w: 12,
|
||||||
|
x: 0,
|
||||||
|
y: 0
|
||||||
|
},
|
||||||
|
id: 1,
|
||||||
|
legend: {
|
||||||
|
avg: false,
|
||||||
|
current: false,
|
||||||
|
max: false,
|
||||||
|
min: false,
|
||||||
|
show: true,
|
||||||
|
total: false,
|
||||||
|
values: false
|
||||||
|
},
|
||||||
|
lines: true,
|
||||||
|
linewidth: 1,
|
||||||
|
nullPointMode: "null",
|
||||||
|
percentage: false,
|
||||||
|
pointradius: 5,
|
||||||
|
points: false,
|
||||||
|
renderer: "flot",
|
||||||
|
seriesOverrides: [],
|
||||||
|
spaceLength: 10,
|
||||||
|
stack: false,
|
||||||
|
steppedLine: false,
|
||||||
|
targets: [
|
||||||
|
{
|
||||||
|
expr: "go_goroutines",
|
||||||
|
format: "time_series",
|
||||||
|
intervalFactor: 1,
|
||||||
|
refId: "A"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
thresholds: [
|
||||||
|
{
|
||||||
|
colorMode: "critical",
|
||||||
|
fill: true,
|
||||||
|
line: true,
|
||||||
|
op: "gt",
|
||||||
|
value: 50
|
||||||
|
}
|
||||||
|
],
|
||||||
|
timeFrom: null,
|
||||||
|
timeShift: null,
|
||||||
|
title: "Panel Title",
|
||||||
|
tooltip: {
|
||||||
|
shared: true,
|
||||||
|
sort: 0,
|
||||||
|
value_type: "individual"
|
||||||
|
},
|
||||||
|
type: "graph",
|
||||||
|
xaxis: {
|
||||||
|
buckets: null,
|
||||||
|
mode: "time",
|
||||||
|
name: null,
|
||||||
|
show: true,
|
||||||
|
values: []
|
||||||
|
},
|
||||||
|
yaxes: [
|
||||||
|
{
|
||||||
|
format: "short",
|
||||||
|
label: null,
|
||||||
|
logBase: 1,
|
||||||
|
max: null,
|
||||||
|
min: null,
|
||||||
|
show: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
format: "short",
|
||||||
|
label: null,
|
||||||
|
logBase: 1,
|
||||||
|
max: null,
|
||||||
|
min: null,
|
||||||
|
show: true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
schemaVersion: 16,
|
||||||
|
style: "dark",
|
||||||
|
tags: [],
|
||||||
|
templating: {
|
||||||
|
list: []
|
||||||
|
},
|
||||||
|
time: {
|
||||||
|
from: "now-6h",
|
||||||
|
to: "now"
|
||||||
|
},
|
||||||
|
timepicker: {
|
||||||
|
refresh_intervals: [
|
||||||
|
"5s",
|
||||||
|
"10s",
|
||||||
|
"30s",
|
||||||
|
"1m",
|
||||||
|
"5m",
|
||||||
|
"15m",
|
||||||
|
"30m",
|
||||||
|
"1h",
|
||||||
|
"2h",
|
||||||
|
"1d"
|
||||||
|
],
|
||||||
|
time_options: [
|
||||||
|
"5m",
|
||||||
|
"15m",
|
||||||
|
"1h",
|
||||||
|
"6h",
|
||||||
|
"12h",
|
||||||
|
"24h",
|
||||||
|
"2d",
|
||||||
|
"7d",
|
||||||
|
"30d"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
timezone: "",
|
||||||
|
uid: null,
|
||||||
|
version: 0
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
14
devenv/bulk_alerting_dashboards/datasources.jsonnet
Normal file
14
devenv/bulk_alerting_dashboards/datasources.jsonnet
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
local arr = std.range(1, 100);
|
||||||
|
|
||||||
|
{
|
||||||
|
"apiVersion": 1,
|
||||||
|
"datasources": [
|
||||||
|
{
|
||||||
|
"name": 'gfdev-bulkalerting-' + counter,
|
||||||
|
"type": "prometheus",
|
||||||
|
"access": "proxy",
|
||||||
|
"url": "http://localhost:9090"
|
||||||
|
}
|
||||||
|
for counter in arr
|
||||||
|
],
|
||||||
|
}
|
||||||
@@ -18,14 +18,21 @@ bulkAlertingDashboard() {
|
|||||||
|
|
||||||
requiresJsonnet
|
requiresJsonnet
|
||||||
|
|
||||||
COUNTER=0
|
jsonnet -o "bulk_alerting_dashboards/bulk_alerting_datasources.yaml" ./bulk_alerting_dashboards/datasources.jsonnet
|
||||||
MAX=100
|
|
||||||
|
COUNTER=1
|
||||||
|
DS=1
|
||||||
|
MAX=1000
|
||||||
while [ $COUNTER -lt $MAX ]; do
|
while [ $COUNTER -lt $MAX ]; do
|
||||||
jsonnet -o "bulk_alerting_dashboards/alerting_dashboard${COUNTER}.json" -e "local bulkDash = import 'bulk_alerting_dashboards/bulkdash_alerting.jsonnet'; bulkDash + { uid: 'bd-${COUNTER}', title: 'alerting-title-${COUNTER}' }"
|
jsonnet -o "bulk_alerting_dashboards/alerting_dashboard${COUNTER}.json" \
|
||||||
|
-e "local bulkDash = import 'bulk_alerting_dashboards/dashboard.libsonnet'; bulkDash.alertingDashboard(${COUNTER}, ${DS})"
|
||||||
let COUNTER=COUNTER+1
|
let COUNTER=COUNTER+1
|
||||||
|
let DS=COUNTER/10
|
||||||
|
let DS=DS+1
|
||||||
done
|
done
|
||||||
|
|
||||||
ln -s -f ../../../devenv/bulk_alerting_dashboards/bulk_alerting_dashboards.yaml ../conf/provisioning/dashboards/custom.yaml
|
ln -s -f ../../../devenv/bulk_alerting_dashboards/bulk_alerting_dashboards.yaml ../conf/provisioning/dashboards/custom.yaml
|
||||||
|
ln -s -f ../../../devenv/bulk_alerting_dashboards/bulk_alerting_datasources.yaml ../conf/provisioning/datasources/custom.yaml
|
||||||
}
|
}
|
||||||
|
|
||||||
requiresJsonnet() {
|
requiresJsonnet() {
|
||||||
|
|||||||
Reference in New Issue
Block a user