hubot-grafana 2.5.2 → 3.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/nodejs.yml +1 -1
- package/README.md +20 -22
- package/package.json +13 -9
- package/src/grafana.coffee +48 -33
- package/test/fixtures/v8/alerts.json +1 -0
- package/test/fixtures/v8/dashboard-grafana-play.json +1 -0
- package/test/fixtures/v8/dashboard-grafana-play.png +0 -0
- package/test/fixtures/v8/dashboard-monitoring-default.json +1 -0
- package/test/fixtures/v8/dashboard-monitoring-default.png +0 -0
- package/test/fixtures/v8/dashboard-templating.json +1 -0
- package/test/fixtures/v8/search-query.json +1 -0
- package/test/fixtures/v8/search-tag.json +1 -0
- package/test/fixtures/v8/search.json +1 -0
- package/test/grafana-rocketchat-test.coffee +14 -14
- package/test/grafana-s3-test.coffee +23 -27
- package/test/grafana-slack-test.coffee +12 -12
- package/test/grafana-v8-test.coffee +265 -0
- package/test/per-room-configuration-test.coffee +8 -8
- package/test/static-configuration-test.coffee +3 -3
- package/test/timezone-test.coffee +13 -13
- package/.travis.yml +0 -11
- package/screenshot.png +0 -0
- package/test/fixtures/v4/dashboard-grafana-play.json +0 -747
- package/test/fixtures/v4/dashboard-monitoring-default.json +0 -1002
- package/test/fixtures/v4/dashboard-monitoring-default.png +0 -0
- package/test/fixtures/v4/search-query.json +0 -13
- package/test/fixtures/v4/search-tag.json +0 -57
- package/test/fixtures/v4/search.json +0 -351
- package/test/fixtures/v5/alerts.json +0 -1
- package/test/fixtures/v5/dashboard-grafana-play.json +0 -1
- package/test/fixtures/v5/dashboard-grafana-play.png +0 -0
- package/test/fixtures/v5/dashboard-templating.json +0 -1
- package/test/fixtures/v5/search-query.json +0 -1
- package/test/fixtures/v5/search-tag.json +0 -1
- package/test/fixtures/v5/search.json +0 -1
- package/test/grafana-v4-test.coffee +0 -168
- package/test/grafana-v5-test.coffee +0 -210
package/README.md
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
# Grafana for Hubot
|
|
2
2
|
|
|
3
|
-
[](http://badge.fury.io/js/hubot-grafana) [](http://badge.fury.io/js/hubot-grafana) [](https://github.com/stephenyeargin/hubot-grafana/actions/workflows/nodejs.yml)
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Use Hubot to query Grafana dashboards. Inspired by the work of [`hubot-graphite`](https://github.com/github/hubot-scripts/blob/master/src/scripts/graphite.coffee) and [`hubot-graphme`](https://github.com/rick/hubot-graphme).
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
**Note:** This package requires Grafana 2.0.2 or higher.
|
|
7
|
+
**Note:** This package requires Grafana 5 or higher. If you need support for an older version, use the `v2.x` releases. As of version `3.x` you must use the `UID` of a given dashboard because of a change in the Grafana API. We strongly recommend using the [`hubot-alias`](https://www.npmjs.com/package/hubot-alias) to save some time in making common requests.
|
|
10
8
|
|
|
11
9
|
## Installation
|
|
12
10
|
|
|
@@ -28,16 +26,16 @@ Then add **hubot-grafana** to your `external-scripts.json`:
|
|
|
28
26
|
|
|
29
27
|
| Configuration Variable | Required | Description |
|
|
30
28
|
| --------------------------------- | -------- | ------------------------------ |
|
|
31
|
-
| `HUBOT_GRAFANA_HOST` | **Yes^** | Host for your Grafana 2.x install, e.g. `
|
|
29
|
+
| `HUBOT_GRAFANA_HOST` | **Yes^** | Host for your Grafana 2.x install, e.g. `https://play.grafana.org` |
|
|
32
30
|
| `HUBOT_GRAFANA_API_KEY` | _Yes^^_ | Grafana API key (This can be "Viewer" role.) |
|
|
33
31
|
| `HUBOT_GRAFANA_PER_ROOM` | No | Allow per room Grafana Host & API key configuration |
|
|
34
32
|
| `HUBOT_GRAFANA_QUERY_TIME_RANGE` | No | Default time range for queries (defaults to 6h) |
|
|
35
33
|
| `HUBOT_GRAFANA_DEFAULT_WIDTH` | No | Default width for rendered images (defaults to 1000) |
|
|
36
34
|
| `HUBOT_GRAFANA_DEFAULT_HEIGHT` | No | Default height for rendered images (defaults to 500) |
|
|
37
35
|
| `HUBOT_GRAFANA_DEFAULT_TIME_ZONE` | No | Default time zone for rendered images (defaults to `""`) |
|
|
38
|
-
| `HUBOT_GRAFANA_ORG_ID` | No | Default organization id, need for image rendering in new versions of
|
|
39
|
-
| `HUBOT_GRAFANA_API_ENDPOINT` | No | Default rendering api endpoint, need for image rendering in new versions of
|
|
40
|
-
| `
|
|
36
|
+
| `HUBOT_GRAFANA_ORG_ID` | No | Default organization id, need for image rendering in new versions of Grafana (defaults to `""`) |
|
|
37
|
+
| `HUBOT_GRAFANA_API_ENDPOINT` | No | Default rendering api endpoint, need for image rendering in new versions of Grafana (defaults to `d-solo`) |
|
|
38
|
+
| `HUBOT_GRAFANA_MAX_RETURNED_DASHBOARDS` | No | Count of dashboards to return to prevent chat flood (defaults to `25`) |
|
|
41
39
|
|
|
42
40
|
^ _Not required when `HUBOT_GRAFANA_PER_ROOM` is set to 1._
|
|
43
41
|
|
|
@@ -58,7 +56,7 @@ You can use one of the following strategies to host the generated images from Gr
|
|
|
58
56
|
### Example Configuration
|
|
59
57
|
|
|
60
58
|
```
|
|
61
|
-
export HUBOT_GRAFANA_HOST=
|
|
59
|
+
export HUBOT_GRAFANA_HOST=https://play.grafana.org
|
|
62
60
|
export HUBOT_GRAFANA_API_KEY=abcd01234deadbeef01234
|
|
63
61
|
export HUBOT_GRAFANA_QUERY_TIME_RANGE=1h
|
|
64
62
|
export HUBOT_GRAFANA_S3_BUCKET=mybucket
|
|
@@ -70,18 +68,18 @@ export HUBOT_GRAFANA_S3_PREFIX=graphs
|
|
|
70
68
|
## Sample Interaction
|
|
71
69
|
|
|
72
70
|
```
|
|
73
|
-
user1>> hubot graf db
|
|
74
|
-
hubot>> Graphite Carbon Metrics:
|
|
71
|
+
user1>> hubot graf db 000000011
|
|
72
|
+
hubot>> Graphite Carbon Metrics: https://play.grafana.org/render/d-solo/000000011/graphite-carbon-metrics/?panelId=1&width=1000&height=500&from=now-6h - https://play.grafana.org/d/000000011/graphite-carbon-metrics?panelId=1&fullscreen&from=now-6h
|
|
75
73
|
```
|
|
76
74
|
|
|
77
75
|
## Grafana Commands
|
|
78
76
|
|
|
79
77
|
### Retrieve a Dashboard
|
|
80
78
|
|
|
81
|
-
Get all panels in a dashboard. In this example, `
|
|
79
|
+
Get all panels in a dashboard. In this example, `000000011` is the UID for the given dashboard. To obtain the UID, use `hubot graf list` or `hubot graf search <term>`.
|
|
82
80
|
|
|
83
81
|
```
|
|
84
|
-
hubot graf db
|
|
82
|
+
hubot graf db 000000011
|
|
85
83
|
```
|
|
86
84
|
|
|
87
85
|
### Retrieve Specific Panels
|
|
@@ -89,19 +87,19 @@ hubot graf db graphite-carbon-metrics
|
|
|
89
87
|
Get a single panel of a dashboard. In this example, only the third panel would be returned. Note that this is the _visual_ panel ID, counted from top to bottom, left to right, rather than the unique identifier stored with the panel itself.
|
|
90
88
|
|
|
91
89
|
```
|
|
92
|
-
hubot graf db
|
|
90
|
+
hubot graf db 000000011:3
|
|
93
91
|
```
|
|
94
92
|
|
|
95
93
|
If you want to refer to the API Panel ID, use the `:panel-<identifier>` format to retrieve it. These will not change when the dashboard is re-arranged.
|
|
96
94
|
|
|
97
95
|
```
|
|
98
|
-
hubot graf db
|
|
96
|
+
hubot graf db 000000011:panel-8
|
|
99
97
|
```
|
|
100
98
|
|
|
101
99
|
Get all panels matching a particular title (case insensitive) in a dashboard. In this case, only panels containing `cpu` would be returned.
|
|
102
100
|
|
|
103
101
|
```
|
|
104
|
-
hubot graf db
|
|
102
|
+
hubot graf db 000000011:cpu
|
|
105
103
|
```
|
|
106
104
|
|
|
107
105
|
### Retrieve Dashboards in a Time Window
|
|
@@ -109,19 +107,19 @@ hubot graf db graphite-carbon-metrics:cpu
|
|
|
109
107
|
Specify a time range for the dashboard. In this example, the dashboard would be set to display data from 12 hours ago to now.
|
|
110
108
|
|
|
111
109
|
```
|
|
112
|
-
hubot graf db
|
|
110
|
+
hubot graf db 000000011 now-12hr
|
|
113
111
|
```
|
|
114
112
|
|
|
115
113
|
If you don't want to show the dashboard uptil now, you can add an extra time specification, which will be the `to` time slot. In this example, the dashboard would be set to display data from 24 hours ago to 12 hours ago.
|
|
116
114
|
|
|
117
115
|
```
|
|
118
|
-
hubot graf db
|
|
116
|
+
hubot graf db 000000011 now-24hr now-12hr
|
|
119
117
|
```
|
|
120
118
|
|
|
121
119
|
You can combine multiple commands in this format as well. In this example, retrieve only the third panel of the `graphite-carbon-metrics` dashboard with a window of eight days ago to yesterday.
|
|
122
120
|
|
|
123
121
|
```
|
|
124
|
-
hubot graf db
|
|
122
|
+
hubot graf db 000000011:3 now-8d now-1d
|
|
125
123
|
```
|
|
126
124
|
|
|
127
125
|
### Templated Dashboards
|
|
@@ -129,7 +127,7 @@ hubot graf db graphite-carbon-metrics:3 now-8d now-1d
|
|
|
129
127
|
Grafana allows dashboards to be set up as templates and accept arguments to generate them through the API. In this example, we get a templated dashboard with the `$host` parameter set to `carbon-a`
|
|
130
128
|
|
|
131
129
|
```
|
|
132
|
-
hubot graf db
|
|
130
|
+
hubot graf db 000000011 host=carbon-a
|
|
133
131
|
```
|
|
134
132
|
|
|
135
133
|
### Utility Commands
|
|
@@ -157,6 +155,6 @@ hubot graf search elb
|
|
|
157
155
|
When `HUBOT_GRAFANA_PER_ROOM` is set to '1' the following commands configure the Grafana Host and API key for the room in which the commands are issued.
|
|
158
156
|
|
|
159
157
|
```
|
|
160
|
-
hubot graf set host
|
|
158
|
+
hubot graf set host https://play.grafana.org
|
|
161
159
|
hubot graf set api_key abcd01234deadbeef01234
|
|
162
160
|
```
|
package/package.json
CHANGED
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hubot-grafana",
|
|
3
3
|
"description": "Query Grafana dashboards",
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "3.1.1",
|
|
5
5
|
"author": "Stephen Yeargin <stephen@yearg.in>",
|
|
6
6
|
"license": "MIT",
|
|
7
|
-
"keywords":
|
|
7
|
+
"keywords": [
|
|
8
|
+
"hubot",
|
|
9
|
+
"hubot-scripts",
|
|
10
|
+
"grafana",
|
|
11
|
+
"graphs"
|
|
12
|
+
],
|
|
8
13
|
"repository": {
|
|
9
14
|
"type": "git",
|
|
10
15
|
"url": "git://github.com/stephenyeargin/hubot-grafana.git"
|
|
@@ -20,16 +25,15 @@
|
|
|
20
25
|
"hubot": "^3"
|
|
21
26
|
},
|
|
22
27
|
"devDependencies": {
|
|
23
|
-
"chai": "^4.3.
|
|
28
|
+
"chai": "^4.3.6",
|
|
24
29
|
"coffee-script": "^1.12.7",
|
|
25
30
|
"hubot-test-helper": "^1.9.0",
|
|
26
|
-
"husky": "^
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"release-it": "^14.10.0",
|
|
31
|
+
"husky": "^7.0.4",
|
|
32
|
+
"mocha": "^9.2.0",
|
|
33
|
+
"nock": "^13.2.4",
|
|
34
|
+
"release-it": "^14.12.4",
|
|
31
35
|
"require-dir": "^1.2.0",
|
|
32
|
-
"sinon": "^
|
|
36
|
+
"sinon": "^13.0.1",
|
|
33
37
|
"sinon-chai": "^3.7.0",
|
|
34
38
|
"travis-cov": "^0.2.5"
|
|
35
39
|
},
|
package/src/grafana.coffee
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
# - `hubot graf db graphite-carbon-metrics:3 tz=Europe/Amsterdam` - Get only the third panel of a particular dashboard and render in the time zone Europe/Amsterdam
|
|
15
15
|
#
|
|
16
16
|
# Configuration:
|
|
17
|
-
# HUBOT_GRAFANA_HOST - Host for your Grafana 2.0 install, e.g. '
|
|
17
|
+
# HUBOT_GRAFANA_HOST - Host for your Grafana 2.0 install, e.g. 'https://play.grafana.org'
|
|
18
18
|
# HUBOT_GRAFANA_API_KEY - API key for a particular user (leave unset if unauthenticated)
|
|
19
19
|
# HUBOT_GRAFANA_PER_ROOM - Optional; if set use robot brain to store host & API key per room
|
|
20
20
|
# HUBOT_GRAFANA_QUERY_TIME_RANGE - Optional; Default time range for queries (defaults to 6h)
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
#
|
|
44
44
|
# Commands:
|
|
45
45
|
# hubot graf set `[host|api_key]` <value> - Setup Grafana host or API key
|
|
46
|
-
# hubot graf db <dashboard
|
|
46
|
+
# hubot graf db <dashboard uid>[:<panel id>][ <template variables>][ <from clause>][ <to clause>] - Show grafana dashboard graphs
|
|
47
47
|
# hubot graf list <tag> - Lists all dashboards available (optional: <tag>)
|
|
48
48
|
# hubot graf search <keyword> - Search available dashboards by <keyword>
|
|
49
49
|
# hubot graf alerts[ <state>] - Show all alerts (optional: <state>)
|
|
@@ -75,6 +75,7 @@ module.exports = (robot) ->
|
|
|
75
75
|
rocketchat_url = process.env.ROCKETCHAT_URL
|
|
76
76
|
rocketchat_user = process.env.ROCKETCHAT_USER
|
|
77
77
|
rocketchat_password = process.env.ROCKETCHAT_PASSWORD
|
|
78
|
+
max_return_dashboards = process.env.HUBOT_GRAFANA_MAX_RETURNED_DASHBOARDS or 25
|
|
78
79
|
|
|
79
80
|
if rocketchat_url && ! rocketchat_url.startsWith 'http'
|
|
80
81
|
rocketchat_url = 'http://' + rocketchat_url
|
|
@@ -118,7 +119,7 @@ module.exports = (robot) ->
|
|
|
118
119
|
|
|
119
120
|
# Get a specific dashboard with options
|
|
120
121
|
robot.respond /(?:grafana|graph|graf) (?:dash|dashboard|db) ([A-Za-z0-9\-\:_]+)(.*)?/i, (msg) ->
|
|
121
|
-
|
|
122
|
+
uid = msg.match[1].trim()
|
|
122
123
|
remainder = msg.match[2]
|
|
123
124
|
timespan = {
|
|
124
125
|
from: "now-#{grafana_query_time_range}"
|
|
@@ -134,16 +135,15 @@ module.exports = (robot) ->
|
|
|
134
135
|
height: process.env.HUBOT_GRAFANA_DEFAULT_HEIGHT or 500
|
|
135
136
|
tz: process.env.HUBOT_GRAFANA_DEFAULT_TIME_ZONE or ""
|
|
136
137
|
orgId: process.env.HUBOT_GRAFANA_ORG_ID or ""
|
|
137
|
-
apiEndpoint: process.env.HUBOT_GRAFANA_API_ENDPOINT or "
|
|
138
|
-
useUid: process.env.HUBOT_GRAFANA_USE_UID or ""
|
|
138
|
+
apiEndpoint: process.env.HUBOT_GRAFANA_API_ENDPOINT or "d-solo"
|
|
139
139
|
endpoint = get_grafana_endpoint(msg)
|
|
140
140
|
if not endpoint
|
|
141
141
|
sendError 'No Grafana endpoint configured.', msg
|
|
142
142
|
return
|
|
143
143
|
# Parse out a specific panel
|
|
144
|
-
if /\:/.test
|
|
145
|
-
parts =
|
|
146
|
-
|
|
144
|
+
if /\:/.test uid
|
|
145
|
+
parts = uid.split(':')
|
|
146
|
+
uid = parts[0]
|
|
147
147
|
visualPanelId = parseInt parts[1], 10
|
|
148
148
|
if isNaN visualPanelId
|
|
149
149
|
visualPanelId = false
|
|
@@ -174,7 +174,7 @@ module.exports = (robot) ->
|
|
|
174
174
|
timespan[timeFields.shift()] = part.trim()
|
|
175
175
|
|
|
176
176
|
robot.logger.debug msg.match
|
|
177
|
-
robot.logger.debug
|
|
177
|
+
robot.logger.debug uid
|
|
178
178
|
robot.logger.debug timespan
|
|
179
179
|
robot.logger.debug variables
|
|
180
180
|
robot.logger.debug template_params
|
|
@@ -183,14 +183,23 @@ module.exports = (robot) ->
|
|
|
183
183
|
robot.logger.debug pname
|
|
184
184
|
|
|
185
185
|
# Call the API to get information about this dashboard
|
|
186
|
-
callGrafana endpoint, "dashboards/
|
|
186
|
+
callGrafana endpoint, "dashboards/uid/#{uid}", (dashboard) ->
|
|
187
187
|
robot.logger.debug dashboard
|
|
188
|
-
|
|
189
188
|
# Check dashboard information
|
|
190
189
|
if !dashboard
|
|
191
190
|
return sendError 'An error ocurred. Check your logs for more details.', msg
|
|
192
191
|
if dashboard.message
|
|
193
|
-
|
|
192
|
+
# Search for URL slug to offer help
|
|
193
|
+
if dashboard.message = "Dashboard not found"
|
|
194
|
+
callGrafana endpoint, "search?type=dash-db", (results) ->
|
|
195
|
+
for item in results
|
|
196
|
+
if item.url.match(new RegExp("\/d\/[a-z0-9\-]+\/#{uid}$", 'i'))
|
|
197
|
+
sendError "Try your query again with `#{item.uid}` instead of `#{uid}`", msg
|
|
198
|
+
return
|
|
199
|
+
sendError dashboard.message, msg
|
|
200
|
+
else
|
|
201
|
+
sendError dashboard.message, msg
|
|
202
|
+
return
|
|
194
203
|
|
|
195
204
|
# Defaults
|
|
196
205
|
data = dashboard.dashboard
|
|
@@ -219,6 +228,7 @@ module.exports = (robot) ->
|
|
|
219
228
|
|
|
220
229
|
# Return dashboard rows
|
|
221
230
|
panelNumber = 0
|
|
231
|
+
returnedCount = 0
|
|
222
232
|
for row in data.rows
|
|
223
233
|
for panel in row.panels
|
|
224
234
|
robot.logger.debug panel
|
|
@@ -236,17 +246,25 @@ module.exports = (robot) ->
|
|
|
236
246
|
if pname && panel.title.toLowerCase().indexOf(pname) is -1
|
|
237
247
|
continue
|
|
238
248
|
|
|
249
|
+
# Skip if we have already returned max count of dashboards
|
|
250
|
+
if returnedCount > max_return_dashboards
|
|
251
|
+
continue
|
|
252
|
+
|
|
239
253
|
# Build links for message sending
|
|
240
254
|
title = formatTitleWithTemplate(panel.title, template_map)
|
|
241
|
-
|
|
242
|
-
imageUrl = "#{endpoint.host}/render/#{query.apiEndpoint}/#{
|
|
255
|
+
uid = dashboard.dashboard.uid
|
|
256
|
+
imageUrl = "#{endpoint.host}/render/#{query.apiEndpoint}/#{uid}/?panelId=#{panel.id}&width=#{query.width}&height=#{query.height}&from=#{timespan.from}&to=#{timespan.to}#{variables}"
|
|
243
257
|
if query.tz
|
|
244
258
|
imageUrl += "&tz=#{encodeURIComponent query.tz}"
|
|
245
259
|
if query.orgId
|
|
246
260
|
imageUrl += "&orgId=#{encodeURIComponent query.orgId}"
|
|
247
|
-
link = "#{endpoint.host}/
|
|
261
|
+
link = "#{endpoint.host}/d/#{uid}/?panelId=#{panel.id}&fullscreen&from=#{timespan.from}&to=#{timespan.to}#{variables}"
|
|
248
262
|
|
|
249
263
|
sendDashboardChart msg, title, imageUrl, link
|
|
264
|
+
returnedCount += 1
|
|
265
|
+
|
|
266
|
+
if returnedCount == 0
|
|
267
|
+
return sendError "Could not locate desired panel.", msg
|
|
250
268
|
|
|
251
269
|
# Process the bot response
|
|
252
270
|
sendDashboardChart = (msg, title, imageUrl, link) ->
|
|
@@ -352,28 +370,23 @@ module.exports = (robot) ->
|
|
|
352
370
|
|
|
353
371
|
# Send Dashboard list
|
|
354
372
|
sendDashboardList = (dashboards, response, msg) ->
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
list = dashboards.dashboards
|
|
358
|
-
else
|
|
359
|
-
list = dashboards
|
|
360
|
-
|
|
361
|
-
robot.logger.debug list
|
|
362
|
-
unless list.length > 0
|
|
373
|
+
robot.logger.debug dashboards
|
|
374
|
+
unless dashboards.length > 0
|
|
363
375
|
return
|
|
364
376
|
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
377
|
+
remaing = 0
|
|
378
|
+
if dashboards.length > max_return_dashboards
|
|
379
|
+
remaining = dashboards.length - max_return_dashboards
|
|
380
|
+
dashboards = dashboards.slice(0, max_return_dashboards - 1)
|
|
381
|
+
|
|
382
|
+
list = []
|
|
383
|
+
for dashboard in dashboards
|
|
384
|
+
list.push "- #{dashboard.uid}: #{dashboard.title}"
|
|
372
385
|
|
|
373
|
-
|
|
374
|
-
|
|
386
|
+
if remaining
|
|
387
|
+
list.push " (and #{remaining} more)"
|
|
375
388
|
|
|
376
|
-
msg.send response
|
|
389
|
+
msg.send response + list.join("\n")
|
|
377
390
|
|
|
378
391
|
# Handle generic errors
|
|
379
392
|
sendError = (message, msg) ->
|
|
@@ -609,6 +622,8 @@ module.exports = (robot) ->
|
|
|
609
622
|
# function and use it inside your service upload implementation.
|
|
610
623
|
grafanaDashboardRequest = (callback) ->
|
|
611
624
|
request url, requestHeaders, (err, res, body) ->
|
|
625
|
+
if err
|
|
626
|
+
return sendError err, msg
|
|
612
627
|
robot.logger.debug "Uploading file: #{body.length} bytes, content-type[#{res.headers['content-type']}]"
|
|
613
628
|
if callback
|
|
614
629
|
callback(err, res, body)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[{"id":2,"dashboardId":74,"dashboardUid":"000000074","dashboardSlug":"alerting","panelId":2,"name":"API Error / 1min alert","state":"no_data","newStateDate":"2021-06-05T13:18:08Z","evalDate":"0001-01-01T00:00:00Z","evalData":{"noData":true},"executionError":"","url":"/d/000000074/alerting"},{"id":11,"dashboardId":110,"dashboardUid":"000000110","dashboardSlug":"business-metrics","panelId":19,"name":"Customer Reviews alert","state":"ok","newStateDate":"2021-06-09T14:49:08Z","evalDate":"0001-01-01T00:00:00Z","evalData":{},"executionError":"","url":"/d/000000110/business-metrics"},{"id":4,"dashboardId":74,"dashboardUid":"000000074","dashboardSlug":"alerting","panelId":5,"name":"Dashboard Loads Peaking","state":"alerting","newStateDate":"2021-06-09T14:36:04Z","evalDate":"0001-01-01T00:00:00Z","evalData":{"evalMatches":[{"metric":"Dashboard loads / min","tags":null,"value":48}]},"executionError":"","url":"/d/000000074/alerting"},{"id":1,"dashboardId":74,"dashboardUid":"000000074","dashboardSlug":"alerting","panelId":1,"name":"Metric Requests Peaking","state":"alerting","newStateDate":"2021-06-09T14:04:01Z","evalDate":"0001-01-01T00:00:00Z","evalData":{"evalMatches":[{"metric":"req / s","tags":null,"value":15.48095238095238},{"metric":"req / s","tags":null,"value":42}]},"executionError":"","url":"/d/000000074/alerting"},{"id":29,"dashboardId":587,"dashboardUid":"4QfoqzGZk","dashboardSlug":"alert-on-multiple-series","panelId":2,"name":"Multi series alerting","state":"alerting","newStateDate":"2021-06-09T09:51:52Z","evalDate":"0001-01-01T00:00:00Z","evalData":{"evalMatches":[{"metric":"mobile","tags":null,"value":2.4000000000000004}]},"executionError":"","url":"/d/4QfoqzGZk/alert-on-multiple-series"},{"id":10,"dashboardId":110,"dashboardUid":"000000110","dashboardSlug":"business-metrics","panelId":4,"name":"Payments Completed/s alert","state":"ok","newStateDate":"2021-06-06T03:57:16Z","evalDate":"0001-01-01T00:00:00Z","evalData":{},"executionError":"","url":"/d/000000110/business-metrics"},{"id":12,"dashboardId":110,"dashboardUid":"000000110","dashboardSlug":"business-metrics","panelId":20,"name":"Payments Completed/s alert","state":"ok","newStateDate":"2021-06-09T10:56:30Z","evalDate":"0001-01-01T00:00:00Z","evalData":{},"executionError":"","url":"/d/000000110/business-metrics"},{"id":3,"dashboardId":74,"dashboardUid":"000000074","dashboardSlug":"alerting","panelId":4,"name":"Request Time Average \u003c 190ms alert","state":"ok","newStateDate":"2021-06-09T09:41:06Z","evalDate":"0001-01-01T00:00:00Z","evalData":{},"executionError":"","url":"/d/000000074/alerting"},{"id":7,"dashboardId":83,"dashboardUid":"000000083","dashboardSlug":"influxdb-raw-query-template-var","panelId":1,"name":"Selected Servers alert","state":"alerting","newStateDate":"2020-10-31T13:30:08Z","evalDate":"0001-01-01T00:00:00Z","evalData":{"evalMatches":[{"metric":"logins.count.mean { hostname: server1 }","tags":{"hostname":"server1"},"value":-106.71717064921944}]},"executionError":"","url":"/d/000000083/influxdb-raw-query-template-var"},{"id":8,"dashboardId":84,"dashboardUid":"000000084","dashboardSlug":"influxdb-group-by-time","panelId":1,"name":"Selected Servers alert","state":"alerting","newStateDate":"2020-11-11T13:30:20Z","evalDate":"0001-01-01T00:00:00Z","evalData":{"evalMatches":[{"metric":"ser1","tags":{"hostname":"server1"},"value":23.864825803271298}]},"executionError":"","url":"/d/000000084/influxdb-group-by-time"},{"id":30,"dashboardId":957,"dashboardUid":"avzwehmz","dashboardSlug":"demo-wind-farm","panelId":2,"name":"Wind Farm - Total power is low","state":"ok","newStateDate":"2021-03-17T17:57:52Z","evalDate":"0001-01-01T00:00:00Z","evalData":{},"executionError":"","url":"/d/avzwehmz/demo-wind-farm"}]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"meta":{"type":"db","canSave":false,"canEdit":true,"canAdmin":false,"canStar":false,"slug":"flowcharting-grafana-play-home","url":"/d/97PlYC7Mk/flowcharting-grafana-play-home","expires":"0001-01-01T00:00:00Z","created":"2020-07-22T09:27:15Z","updated":"2020-07-22T10:28:59Z","updatedBy":"algenty","createdBy":"algenty","version":16,"hasAcl":false,"isFolder":false,"folderId":836,"folderUid":"yIhcIRjZz","folderTitle":"Visualization: Flowchart","folderUrl":"/dashboards/f/yIhcIRjZz/visualization-flowchart","provisioned":false,"provisionedExternalId":""},"dashboard":{"annotations":{"enable":false,"list":[{"builtIn":1,"datasource":"-- Grafana --","enable":true,"hide":true,"iconColor":"rgba(0, 211, 255, 1)","name":"Annotations \u0026 Alerts","type":"dashboard"}]},"editable":true,"gnetId":null,"graphTooltip":1,"id":902,"links":[],"panels":[{"datasource":null,"fieldConfig":{"defaults":{"custom":{}},"overrides":[]},"flowchartsData":{"flowcharts":[{"allowDrawio":false,"bgColor":null,"center":true,"csv":"## See more information for the syntax at https://drawio-app.com/import-from-csv-to-drawio/\n##\n## Example CSV. Use ## for comments and # for configuration.\n## The following names are reserved and should not be used (or ignored):\n## id, tooltip, placeholder(s), link and label (see below)\n##\n#\n## Node label with placeholders and HTML.\n## Default is '%name_of_first_column%'.\n#\n# label: %name%\u003cbr\u003e\u003ci style=\"color:gray;\"\u003e%position%\u003c/i\u003e\u003cbr\u003e\u003ca href=\"mailto:%email%\"\u003eEmail\u003c/a\u003e\n#\n## Node style (placeholders are replaced once).\n## Default is the current style for nodes.\n#\n# style: label;image=%image%;whiteSpace=wrap;html=1;rounded=1;fillColor=%fill%;strokeColor=%stroke%;\n#\n## Parent style for nodes with child nodes (placeholders are replaced once).\n#\n# parentstyle: swimlane;whiteSpace=wrap;html=1;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;\n#\n## Optional column name that contains a reference to a named style in styles.\n## Default is the current style for nodes.\n#\n# stylename: -\n#\n## JSON for named styles of the form {\"name\": \"style\", \"name\": \"style\"} where style is a cell style with\n## placeholders that are replaced once.\n#\n# styles: -\n#\n## Optional column name that contains a reference to a named label in labels.\n## Default is the current label.\n#\n# labelname: -\n#\n## JSON for named labels of the form {\"name\": \"label\", \"name\": \"label\"} where label is a cell label with\n## placeholders.\n#\n# labels: -\n#\n## Uses the given column name as the identity for cells (updates existing cells).\n## Default is no identity (empty value or -).\n#\n# identity: -\n#\n## Uses the given column name as the parent reference for cells. Default is no parent (empty or -).\n## The identity above is used for resolving the reference so it must be specified.\n#\n# parent: -\n#\n## Adds a prefix to the identity of cells to make sure they do not collide with existing cells (whose\n## IDs are numbers from 0..n, sometimes with a GUID prefix in the context of realtime collaboration).\n## Default is csvimport-.\n#\n# namespace: csvimport-\n#\n## Connections between rows (\"from\": source colum, \"to\": target column).\n## Label, style and invert are optional. Defaults are '', current style and false.\n## If placeholders are used in the style, they are replaced with data from the source.\n## An optional placeholders can be set to target to use data from the target instead.\n## In addition to label, an optional fromlabel and tolabel can be used to name the column\n## that contains the text for the label in the edges source or target (invert ignored).\n## The label is concatenated in the form fromlabel + label + tolabel if all are defined.\n## The target column may contain a comma-separated list of values.\n## Multiple connect entries are allowed.\n#\n# connect: {\"from\": \"manager\", \"to\": \"name\", \"invert\": true, \"label\": \"manages\", \\\n# \"style\": \"curved=1;endArrow=blockThin;endFill=1;fontSize=11;\"}\n# connect: {\"from\": \"refs\", \"to\": \"id\", \"style\": \"curved=1;fontSize=11;\"}\n#\n## Node x-coordinate. Possible value is a column name. Default is empty. Layouts will\n## override this value.\n#\n# left: \n#\n## Node y-coordinate. Possible value is a column name. Default is empty. Layouts will\n## override this value.\n#\n# top: \n#\n## Node width. Possible value is a number (in px), auto or an @ sign followed by a column\n## name that contains the value for the width. Default is auto.\n#\n# width: auto\n#\n## Node height. Possible value is a number (in px), auto or an @ sign followed by a column\n## name that contains the value for the height. Default is auto.\n#\n# height: auto\n#\n## Padding for autosize. Default is 0.\n#\n# padding: -12\n#\n## Comma-separated list of ignored columns for metadata. (These can be\n## used for connections and styles but will not be added as metadata.)\n#\n# ignore: id,image,fill,stroke,refs,manager\n#\n## Column to be renamed to link attribute (used as link).\n#\n# link: url\n#\n## Spacing between nodes. Default is 40.\n#\n# nodespacing: 40\n#\n## Spacing between levels of hierarchical layouts. Default is 100.\n#\n# levelspacing: 100\n#\n## Spacing between parallel edges. Default is 40. Use 0 to disable.\n#\n# edgespacing: 40\n#\n## Name or JSON of layout. Possible values are auto, none, verticaltree, horizontaltree,\n## verticalflow, horizontalflow, organic, circle or a JSON string as used in Layout, Apply.\n## Default is auto.\n#\n# layout: auto\n#\n## ---- CSV below this line. First line are column names. ----\nname,position,id,location,manager,email,fill,stroke,refs,url,image\nEvan Miller,CFO,emi,Office 1,,me@example.com,#dae8fc,#6c8ebf,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-9-2-128.png\nEdward Morrison,Brand Manager,emo,Office 2,Evan Miller,me@example.com,#d5e8d4,#82b366,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-10-3-128.png\nRon Donovan,System Admin,rdo,Office 3,Evan Miller,me@example.com,#d5e8d4,#82b366,\"emo,tva\",https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-2-128.png\nTessa Valet,HR Director,tva,Office 4,Evan Miller,me@example.com,#d5e8d4,#82b366,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-3-128.png\n","download":false,"editorTheme":"kennedy","editorUrl":"https://www.draw.io","enableAnim":true,"grid":false,"lock":true,"name":"Main","scale":true,"tooltip":true,"type":"xml","url":"http://\u003cYourUrl\u003e/\u003cYour XML/drawio file/api\u003e","xml":"\u003cmxfile host=\"app.diagrams.net\" modified=\"2020-07-22T10:22:30.820Z\" agent=\"5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36\" etag=\"nV0AEMHf-7Vv0eTn99K_\" version=\"13.5.0\"\u003e\u003cdiagram id=\"kIDd6iJ6KkdIknR0HMTp\" name=\"Page-1\"\u003e7Vpbc9o4FP41PML4Cvgx4dLuTHabbdrp7lNH2LLR1liMLAL0169kS77Jjg2YDDMhyQR0dLF1vu98ko49MGebwycCtus/sQfDgaF5h4E5HxiGPtYc9sEtx9RiT6apISDIE41ywwv6DYVRE9Yd8mBcakgxDinalo0ujiLo0pINEIL35WY+DstX3YIAKoYXF4Sq9Qfy6Dq1To1Jbv8MUbCWV9bHYsIbIBuLmcRr4OF9aVR4oEscUXGLX/EKUzywF2tK+eweBsaS/fm8xSjAOAgh2KJ45OINM7sxa7L0wQaF3LWiMxvWXAzMGcGYpt82hxkMOSbS3entLBtqs/kSGNEuHWyB5ysId8JnYr70KJ1I8C7yIO+gD8zH/RpR+LIFLq/dM9ow25puQlHtozCc4RCTpK85d/gvs2f+442CEPD5zzX2Xb1jMYlXSCg8FExiBp8g3kBKjqyJqLXMkWGnnQRPxwK1fQ66LpFcFwA3bWEEAsUgGzx3Gvsi/FbvQ3PS7sOAOXHbfapZRICVHEF70wVTrTT/qTp/azyyVQeMzR7mb7TPH+9oiCI4y+KcQ++BeJ3wihe4DxCL3CewguEzjhFFOGJ1LDAoC5m8wUOIAl5BMaceECWX+RSSMhcZ57b8+ptDwOVtBPaxOaIEeMnYIPwZQ/KadKqwdjKfzCYzTlTemI0s6yIcwVrOZhxoJ+37YDJux0S6B20SFS16rt7XrRCFvOIRuL+CRDMKHvWTH9YkudhDvM1ZAGTBRwfOhkdxP/OykLpeZI0QCwsfMTUiQkc9QAH74PaYfYY4wPFwRUDkxUPm2qVhsX8MRR9EYKgb09E2Ci5CT9YqkmOqIVenOEYfgtNBtN9ZcPQaxb0iu5274mQkuBHFsbS74pygON3RuwXFsfR2cN9ZcTLCvQ+773ucnAS3ojjmXXG6K84J6N2E4lg3pzim8a6KY98VJyPBrSjO/VR1iuJ0R+8mFKfDqUqC6x7DxF/t+bBVmjx7WmWGDMgvafQKe23YlpnSFE/dJbDR8+a4sruq0bpxjePNPhzf4TQHvQC+iCImdM0YyaRmkVsfy1nKvM0T5r5LjP9BSo8iSQ12FFd0jRL8K0sT27z9brOVFw0SYJmDyfEfDtJoasvyv0lZy8rzg0AxLR2LpWdIEHMQZ05iTC9aB2qVApkcNKId4x1xoVyrUhsFJIAyHgXBuS/f5ASBIaDotZxDvwRhW92pfV38/X3x8q0W6EQJy+AoC1LVPRvkeSkPYIx+ixWee3iLkcjR248De87DCEd0Wcm8N6qsWJt4nzqUuF1ShN/n8tsxEYigfj2TTL94azLURrpmG6WYHQovd4ZPjP7MPVQY2jJGZRG2ZVkOgn0/ZqyqMiC7zW6k0GrBv4Eo7zMo+wu2erR0+SxLJuIcozxEqgqiVw6YMpApH31VVwA5UColykAPhIBjoZmIt8Ybrl5H3nBOpHTEs2mlHhxuTmua1KRdg3KtUQgn46kXcdE0uVpcqiZ6Ce3pNYREr0X2FCFRNeAMaSlsDvTK5sC5YHNQ1KpmZaonWqMsXXdf0CRVlT3mtKIwDVJ1DiXUg9oHEYHekh8aO4pZFanuRxHks0m5bXGuoQmXHyH61oTqgaFVE9TwP/EIcaImFM8PMvt0I+cH9Q2LDxLORp9ruuNY14hnS6ucF4a6dp0TQ4dEgczQ+CE8PPA3yJKw8cTXucvfPELu4K13lhxnuXSUd5bK0Wi8GXjnnSUbA7M14ApJGrsmSSNtlwLtNOSITj5qtIzTcNI4gzEyZXV1xsxmy+WdMcqOr/rI1jmPMEO9baQeKaM+6v7jL4U0TI1pXWKhClyBJ8LUfSWqyyznWxTt5JWokS3d08QMiEqWQK95JnalBP3YUJD58l3dAXxQaJRHJ7UvSPQDDSvmryinMZa/P24u/gc=\u003c/diagram\u003e\u003c/mxfile\u003e","zoom":"100%"}]},"format":"short","graphId":"flowchart_23763571993","gridPos":{"h":9,"w":13,"x":0,"y":0},"id":13,"newFlag":false,"pluginVersion":"7.1.0","rulesData":{"rulesData":[{"aggregation":"current","alias":"web_server_01","colors":["rgba(50, 172, 45, 0.97)","rgba(237, 129, 40, 0.89)","rgba(245, 54, 54, 0.9)"],"column":"Time","dateFormat":"YYYY-MM-DD HH:mm:ss","decimals":0,"eventData":[],"eventProp":"id","eventRegEx":false,"gradient":false,"hidden":false,"invert":true,"linkData":[],"linkProp":"id","linkRegEx":true,"mappingType":1,"metricType":"serie","order":1,"overlayIcon":false,"pattern":"web_server_01","rangeData":[],"reduce":true,"refId":"A","sanitize":false,"shapeData":[{"colorOn":"a","hidden":false,"pattern":"32","style":"fillColor"},{"colorOn":"n","hidden":false,"pattern":"36","style":"fillColor"},{"colorOn":"a","hidden":false,"pattern":"49","style":"strokeColor"}],"shapeProp":"id","shapeRegEx":false,"stringThresholds":["/.*/","/.*/"],"textData":[{"hidden":false,"pattern":"53","textOn":"wmd","textPattern":"/.*/","textReplace":"content"}],"textProp":"id","textRegEx":true,"thresholds":[50,80],"tooltip":true,"tooltipColors":true,"tooltipLabel":"","tooltipOn":"a","tpDirection":"v","tpGraph":true,"tpGraphHigh":null,"tpGraphLow":null,"tpGraphScale":"linear","tpGraphSize":"200px","tpGraphType":"line","type":"number","unit":"short","valueData":[]},{"aggregation":"current","alias":"web_server_02","colors":["rgba(50, 172, 45, 0.97)","rgba(237, 129, 40, 0.89)","rgba(245, 54, 54, 0.9)"],"column":"Time","dateFormat":"YYYY-MM-DD HH:mm:ss","decimals":0,"eventData":[],"eventProp":"id","eventRegEx":false,"gradient":false,"hidden":false,"invert":true,"linkData":[],"linkProp":"id","linkRegEx":true,"mappingType":1,"metricType":"serie","order":2,"overlayIcon":false,"pattern":"web_server_02","rangeData":[],"reduce":true,"refId":"A","sanitize":false,"shapeData":[{"colorOn":"a","hidden":false,"pattern":"39","style":"fillColor"},{"colorOn":"n","hidden":false,"pattern":"40","style":"fillColor"},{"colorOn":"a","hidden":false,"pattern":"50","style":"strokeColor"}],"shapeProp":"id","shapeRegEx":false,"stringThresholds":["/.*/","/.*/"],"textData":[{"hidden":false,"pattern":"54","textOn":"wmd","textPattern":"/.*/","textReplace":"content"}],"textProp":"id","textRegEx":true,"thresholds":[50,80],"tooltip":true,"tooltipColors":true,"tooltipLabel":"","tooltipOn":"a","tpDirection":"v","tpGraph":true,"tpGraphHigh":null,"tpGraphLow":null,"tpGraphScale":"linear","tpGraphSize":"200px","tpGraphType":"line","type":"number","unit":"short","valueData":[]},{"aggregation":"current","alias":"web_server_04","colors":["rgba(50, 172, 45, 0.97)","rgba(237, 129, 40, 0.89)","rgba(245, 54, 54, 0.9)"],"column":"Time","dateFormat":"YYYY-MM-DD HH:mm:ss","decimals":0,"eventData":[],"eventProp":"id","eventRegEx":false,"gradient":false,"hidden":false,"invert":true,"linkData":[],"linkProp":"id","linkRegEx":true,"mappingType":1,"metricType":"serie","order":3,"overlayIcon":false,"pattern":"web_server_04","rangeData":[],"reduce":true,"refId":"A","sanitize":false,"shapeData":[{"colorOn":"a","hidden":false,"pattern":"45","style":"fillColor"},{"colorOn":"n","hidden":false,"pattern":"46","style":"fillColor"},{"colorOn":"a","hidden":false,"pattern":"52","style":"strokeColor"}],"shapeProp":"id","shapeRegEx":false,"stringThresholds":["/.*/","/.*/"],"textData":[{"hidden":false,"pattern":"57","textOn":"wmd","textPattern":"/.*/","textReplace":"content"}],"textProp":"id","textRegEx":true,"thresholds":[50,80],"tooltip":true,"tooltipColors":true,"tooltipLabel":"","tooltipOn":"a","tpDirection":"v","tpGraph":true,"tpGraphHigh":null,"tpGraphLow":null,"tpGraphScale":"linear","tpGraphSize":"200px","tpGraphType":"line","type":"number","unit":"short","valueData":[]},{"aggregation":"current","alias":"web_server_03","colors":["rgba(50, 172, 45, 0.97)","rgba(237, 129, 40, 0.89)","rgba(245, 54, 54, 0.9)"],"column":"Time","dateFormat":"YYYY-MM-DD HH:mm:ss","decimals":0,"eventData":[],"eventProp":"id","eventRegEx":false,"gradient":false,"hidden":false,"invert":true,"linkData":[],"linkProp":"id","linkRegEx":true,"mappingType":1,"metricType":"serie","order":4,"overlayIcon":false,"pattern":"web_server_03","rangeData":[],"reduce":true,"refId":"A","sanitize":false,"shapeData":[{"colorOn":"a","hidden":false,"pattern":"42","style":"fillColor"},{"colorOn":"n","hidden":false,"pattern":"43","style":"fillColor"},{"colorOn":"a","hidden":false,"pattern":"51","style":"strokeColor"}],"shapeProp":"id","shapeRegEx":false,"stringThresholds":["/.*/","/.*/"],"textData":[{"hidden":false,"pattern":"56","textOn":"wmd","textPattern":"/.*/","textReplace":"content"}],"textProp":"id","textRegEx":true,"thresholds":[50,80],"tooltip":true,"tooltipColors":true,"tooltipLabel":"","tooltipOn":"a","tpDirection":"v","tpGraph":true,"tpGraphHigh":null,"tpGraphLow":null,"tpGraphScale":"linear","tpGraphSize":"200px","tpGraphType":"line","type":"number","unit":"short","valueData":[]},{"aggregation":"current_notnull","alias":"In","colors":["rgba(245, 54, 54, 0.9)","rgba(237, 129, 40, 0.89)","rgba(50, 172, 45, 0.97)"],"column":"Time","dateFormat":"YYYY-MM-DD HH:mm:ss","decimals":0,"eventData":[],"eventProp":"id","eventRegEx":false,"gradient":false,"hidden":false,"invert":false,"linkData":[],"linkProp":"id","linkRegEx":true,"mappingType":1,"metricType":"serie","order":5,"overlayIcon":false,"pattern":"cpu1","rangeData":[],"reduce":true,"refId":"A","sanitize":false,"shapeData":[],"shapeProp":"id","shapeRegEx":true,"stringThresholds":["/.*/","/.*/"],"textData":[{"hidden":false,"pattern":"59","textOn":"wmd","textPattern":"/.*/","textReplace":"content"}],"textProp":"id","textRegEx":true,"thresholds":[50,80],"tooltip":false,"tooltipColors":false,"tooltipLabel":"","tooltipOn":"a","tpDirection":"v","tpGraph":false,"tpGraphHigh":null,"tpGraphLow":null,"tpGraphScale":"linear","tpGraphSize":"100%","tpGraphType":"line","type":"number","unit":"decbits","valueData":[]},{"aggregation":"current_notnull","alias":"Out","colors":["rgba(245, 54, 54, 0.9)","rgba(237, 129, 40, 0.89)","rgba(50, 172, 45, 0.97)"],"column":"Time","dateFormat":"YYYY-MM-DD HH:mm:ss","decimals":0,"eventData":[],"eventProp":"id","eventRegEx":false,"gradient":false,"hidden":false,"invert":false,"linkData":[],"linkProp":"id","linkRegEx":true,"mappingType":1,"metricType":"serie","order":6,"overlayIcon":false,"pattern":"cpu2","rangeData":[],"reduce":true,"refId":"A","sanitize":false,"shapeData":[],"shapeProp":"id","shapeRegEx":true,"stringThresholds":["/.*/","/.*/"],"textData":[{"hidden":false,"pattern":"60","textOn":"wmd","textPattern":"/.*/","textReplace":"content"}],"textProp":"id","textRegEx":true,"thresholds":[50,80],"tooltip":false,"tooltipColors":false,"tooltipLabel":"","tooltipOn":"a","tpDirection":"v","tpGraph":false,"tpGraphHigh":null,"tpGraphLow":null,"tpGraphScale":"linear","tpGraphSize":"100%","tpGraphType":"line","type":"number","unit":"decbits","valueData":[]}]},"targets":[{"refCount":0,"refId":"A","target":"aliasByNode(movingAverage(scaleToSeconds(apps.fakesite.*.counters.requests.count, 1), 2), 2)","textEditor":true},{"refCount":0,"refId":"C","target":"alias(scale(statsd.fakesite.timers.ads_timer.upper_95,1),'cpu1')","textEditor":true},{"refCount":0,"refId":"D","target":"alias(scale(statsd.fakesite.timers.ads_timer.upper_75,-1),'cpu2')","textEditor":true}],"timeFrom":null,"timeShift":null,"title":"Grafana diagram architecture","type":"agenty-flowcharting-panel","valueName":"current","version":"0.9.0"},{"aliasColors":{"web_server_01":"#70dbed","web_server_02":"#5195ce","web_server_03":"#0a50a1","web_server_04":"#0a437c"},"annotate":{"enable":false},"bars":false,"dashLength":10,"dashes":false,"datasource":null,"editable":true,"fieldConfig":{"defaults":{"custom":{},"links":[]},"overrides":[]},"fill":5,"fillGradient":0,"grid":{"max":null,"min":0},"gridPos":{"h":9,"w":11,"x":13,"y":0},"hiddenSeries":false,"id":2,"interactive":true,"legend":{"alignAsTable":false,"avg":false,"current":false,"max":false,"min":false,"rightSide":false,"show":true,"total":false,"values":false},"legend_counts":true,"lines":true,"linewidth":1,"nullPointMode":"connected","paceLength":10,"percentage":false,"pluginVersion":"7.1.0","pointradius":5,"points":false,"renderer":"flot","resolution":100,"scale":1,"seriesOverrides":[],"spaceLength":10,"spyable":true,"stack":true,"steppedLine":false,"targets":[{"refId":"A","target":"aliasByNode(movingAverage(scaleToSeconds(apps.fakesite.*.counters.requests.count, 1), 2), 2)","textEditor":true}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"timezone":"browser","title":"server requests","tooltip":{"query_as_alias":true,"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"$$hashKey":"object:2954","format":"short","logBase":1,"max":null,"min":null,"show":true},{"$$hashKey":"object:2955","format":"short","logBase":1,"max":null,"min":null,"show":true}],"yaxis":{"align":false,"alignLevel":null},"zerofill":true},{"aliasColors":{"upper_25":"#F9E2D2","upper_50":"#F2C96D","upper_75":"#EAB839"},"annotate":{"enable":false},"bars":true,"dashLength":10,"dashes":false,"datasource":null,"description":"","editable":true,"fieldConfig":{"defaults":{"custom":{},"links":[]},"overrides":[]},"fill":1,"fillGradient":0,"grid":{"max":null,"min":0},"gridPos":{"h":7,"w":13,"x":0,"y":9},"hiddenSeries":false,"id":5,"interactive":true,"legend":{"alignAsTable":true,"avg":true,"current":false,"max":false,"min":false,"rightSide":true,"show":true,"total":false,"values":true},"legend_counts":true,"lines":false,"linewidth":2,"links":[],"nullPointMode":"connected","paceLength":10,"percentage":false,"pluginVersion":"7.1.0","pointradius":5,"points":false,"renderer":"flot","resolution":100,"scale":1,"seriesOverrides":[],"spaceLength":10,"spyable":true,"stack":true,"steppedLine":false,"targets":[{"refId":"A","target":"aliasByNode(summarize(statsd.fakesite.timers.ads_timer.*, '4min', 'avg'), 4)"}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"timezone":"browser","title":"client side full page load","tooltip":{"query_as_alias":true,"shared":false,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"ms","logBase":1,"max":null,"min":null,"show":true},{"format":"short","logBase":1,"max":null,"min":null,"show":true}],"yaxis":{"align":false,"alignLevel":null},"zerofill":true},{"aliasColors":{"cpu":"#E24D42","memory":"#6ED0E0","statsd.fakesite.counters.session_start.desktop.count":"#6ED0E0"},"annotate":{"enable":false},"bars":false,"dashLength":10,"dashes":false,"datasource":null,"editable":true,"fieldConfig":{"defaults":{"custom":{},"links":[]},"overrides":[]},"fill":3,"fillGradient":0,"grid":{"max":null,"min":0},"gridPos":{"h":7,"w":11,"x":13,"y":9},"hiddenSeries":false,"id":4,"interactive":true,"legend":{"avg":false,"current":true,"max":false,"min":true,"show":true,"total":false,"values":false},"legend_counts":true,"lines":true,"linewidth":2,"nullPointMode":"connected","paceLength":10,"percentage":false,"pluginVersion":"7.1.0","pointradius":5,"points":false,"renderer":"flot","resolution":100,"scale":1,"seriesOverrides":[{"alias":"cpu","fill":0,"lines":true,"yaxis":2,"zindex":2},{"alias":"memory","pointradius":2,"points":true}],"spaceLength":10,"spyable":true,"stack":false,"steppedLine":false,"targets":[{"hide":false,"refId":"A","target":"alias(movingAverage(scaleToSeconds(apps.fakesite.web_server_01.counters.request_status.code_302.count, 10), 20), 'cpu')"},{"refId":"B","target":"alias(statsd.fakesite.counters.session_start.desktop.count, 'memory')"}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"timezone":"browser","title":"Memory / CPU","tooltip":{"query_as_alias":true,"shared":false,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"bytes","logBase":1,"max":null,"min":null,"show":true},{"format":"percent","logBase":1,"max":null,"min":0,"show":true}],"yaxis":{"align":false,"alignLevel":null},"zerofill":true},{"aliasColors":{"cpu1":"#82b5d8","cpu2":"#1f78c1","upper_25":"#B7DBAB","upper_50":"#7EB26D","upper_75":"#629E51","upper_90":"#629E51","upper_95":"#508642"},"annotate":{"enable":false},"bars":false,"dashLength":10,"dashes":false,"datasource":"graphite","editable":true,"fieldConfig":{"defaults":{"custom":{},"links":[]},"overrides":[]},"fill":3,"fillGradient":0,"grid":{"max":null,"min":null},"gridPos":{"h":7,"w":13,"x":0,"y":16},"hiddenSeries":false,"id":11,"interactive":true,"legend":{"alignAsTable":true,"avg":true,"current":true,"legendSideLastValue":true,"max":false,"min":false,"rightSide":true,"show":true,"total":false,"values":true},"legend_counts":true,"lines":true,"linewidth":2,"links":[],"nullPointMode":"connected","paceLength":10,"percentage":false,"pluginVersion":"7.1.0","pointradius":1,"points":false,"renderer":"flot","resolution":100,"scale":1,"seriesOverrides":[{"alias":"this is test of brekaing","yaxis":1}],"spaceLength":10,"spyable":true,"stack":false,"steppedLine":false,"targets":[{"refCount":0,"refId":"A","target":"aliasByNode(statsd.fakesite.timers.ads_timer.*,4)","textEditor":true},{"refCount":0,"refId":"B","target":"alias(scale(statsd.fakesite.timers.ads_timer.upper_95,-1),'cpu1')","textEditor":true},{"refCount":0,"refId":"C","target":"alias(scale(statsd.fakesite.timers.ads_timer.upper_75,-1),'cpu2')","textEditor":true}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"timezone":"browser","title":"Traffic In/Out","tooltip":{"query_as_alias":true,"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"$$hashKey":"object:952","format":"decbytes","logBase":1,"max":null,"min":null,"show":true},{"$$hashKey":"object:953","format":"short","logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null},"zerofill":true},{"aliasColors":{"logins":"#5195ce","logins (-1 day)":"#447EBC","logins (-1 hour)":"#e24d42"},"annotate":{"enable":false},"bars":false,"dashLength":10,"dashes":false,"datasource":null,"editable":true,"fieldConfig":{"defaults":{"custom":{},"links":[]},"overrides":[]},"fill":1,"fillGradient":0,"grid":{"max":null,"min":0},"gridPos":{"h":7,"w":11,"x":13,"y":16},"hiddenSeries":false,"id":3,"interactive":true,"legend":{"alignAsTable":false,"avg":false,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"total":false,"values":false},"legend_counts":true,"lines":true,"linewidth":1,"nullPointMode":"connected","paceLength":10,"percentage":false,"pluginVersion":"7.1.0","pointradius":5,"points":false,"renderer":"flot","resolution":100,"scale":1,"seriesOverrides":[],"spaceLength":10,"spyable":true,"stack":true,"steppedLine":false,"targets":[{"refId":"A","target":"alias(movingAverage(scaleToSeconds(apps.fakesite.web_server_01.counters.requests.count, 1), 2), 'logins')"},{"refId":"B","target":"alias(movingAverage(timeShift(scaleToSeconds(apps.fakesite.web_server_01.counters.requests.count, 1), '1h'), 2), 'logins (-1 hour)')"}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"timezone":"browser","title":"logins","tooltip":{"query_as_alias":true,"shared":false,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","logBase":1,"max":null,"min":null,"show":true},{"format":"short","logBase":1,"max":null,"min":null,"show":true}],"yaxis":{"align":false,"alignLevel":null},"zerofill":true}],"refresh":false,"schemaVersion":26,"style":"dark","tags":["flowcharting"],"templating":{"list":[]},"time":{"from":"now-1h","to":"now"},"timepicker":{"collapse":false,"enable":true,"notice":false,"now":true,"refresh_intervals":["10s","30s","1m","5m","15m","30m","1h","2h","1d"],"status":"Stable","time_options":["5m","15m","1h","2h"," 6h","12h","24h","2d","7d","30d"],"type":"timepicker"},"timezone":"browser","title":"Flowcharting - Grafana Play Home","uid":"97PlYC7Mk","version":16}}
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"meta":{"type":"db","canSave":false,"canEdit":true,"canAdmin":false,"canStar":false,"slug":"influxdb-server-monitoring","url":"/d/AAy9r_bmk/influxdb-server-monitoring","expires":"0001-01-01T00:00:00Z","created":"2018-10-26T12:12:26Z","updated":"2018-12-07T10:20:43Z","updatedBy":"peter.hlmbrg@gmail.com","createdBy":"torkel.odegaard@gmail.com","version":5,"hasAcl":false,"isFolder":false,"folderId":461,"folderUid":"KbH7u4Pmz","folderTitle":"Data source: Influx DB","folderUrl":"/dashboards/f/KbH7u4Pmz/data-source-influx-db","provisioned":false,"provisionedExternalId":""},"dashboard":{"annotations":{"enable":false,"list":[{"builtIn":1,"datasource":"-- Grafana --","enable":true,"hide":true,"iconColor":"rgba(0, 211, 255, 1)","name":"Annotations \u0026 Alerts","type":"dashboard"}]},"editable":true,"gnetId":null,"graphTooltip":0,"id":443,"links":[],"panels":[{"cacheTimeout":null,"colorBackground":false,"colorValue":true,"colors":["#299c46","rgba(237, 129, 40, 0.89)","#d44a3a"],"datasource":"InfluxDB","format":"percent","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":4,"w":8,"x":0,"y":0},"id":3,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"$host ","prefixFontSize":"80%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"repeat":"host","repeatDirection":"h","scopedVars":{"host":{"selected":true,"text":"server1","value":"server1"}},"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":true},"tableColumn":"","targets":[{"groupBy":[{"params":["$__interval"],"type":"time"},{"params":["null"],"type":"fill"}],"measurement":"logins.count","orderByTime":"ASC","policy":"default","refId":"A","resultFormat":"time_series","select":[[{"params":["value"],"type":"field"},{"params":[],"type":"mean"},{"params":[" / 100"],"type":"math"}]],"tags":[{"key":"datacenter","operator":"=~","value":"/^$datacenter$/"},{"condition":"AND","key":"hostname","operator":"=~","value":"/^$host$/"}],"target":""}],"thresholds":"50,90","title":"CPU","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"N/A","value":"null"}],"valueName":"avg"},{"cacheTimeout":null,"colorBackground":false,"colorValue":true,"colors":["#299c46","rgba(237, 129, 40, 0.89)","#d44a3a"],"datasource":"InfluxDB","format":"percent","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":4,"w":8,"x":8,"y":0},"id":7,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"$host ","prefixFontSize":"80%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"repeat":null,"repeatDirection":"h","repeatIteration":1541083165909,"repeatPanelId":3,"scopedVars":{"host":{"selected":true,"text":"server2","value":"server2"}},"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":true},"tableColumn":"","targets":[{"groupBy":[{"params":["$__interval"],"type":"time"},{"params":["null"],"type":"fill"}],"measurement":"logins.count","orderByTime":"ASC","policy":"default","refId":"A","resultFormat":"time_series","select":[[{"params":["value"],"type":"field"},{"params":[],"type":"mean"},{"params":[" / 100"],"type":"math"}]],"tags":[{"key":"datacenter","operator":"=~","value":"/^$datacenter$/"},{"condition":"AND","key":"hostname","operator":"=~","value":"/^$host$/"}],"target":""}],"thresholds":"50,90","title":"CPU","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"N/A","value":"null"}],"valueName":"avg"},{"cacheTimeout":null,"colorBackground":false,"colorValue":true,"colors":["#299c46","rgba(237, 129, 40, 0.89)","#d44a3a"],"datasource":"InfluxDB","format":"percent","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":4,"w":8,"x":16,"y":0},"id":8,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"$host ","prefixFontSize":"80%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"repeat":null,"repeatDirection":"h","repeatIteration":1541083165909,"repeatPanelId":3,"scopedVars":{"host":{"selected":true,"text":"10.1.100.1","value":"10.1.100.1"}},"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":true},"tableColumn":"","targets":[{"groupBy":[{"params":["$__interval"],"type":"time"},{"params":["null"],"type":"fill"}],"measurement":"logins.count","orderByTime":"ASC","policy":"default","refId":"A","resultFormat":"time_series","select":[[{"params":["value"],"type":"field"},{"params":[],"type":"mean"},{"params":[" / 100"],"type":"math"}]],"tags":[{"key":"datacenter","operator":"=~","value":"/^$datacenter$/"},{"condition":"AND","key":"hostname","operator":"=~","value":"/^$host$/"}],"target":""}],"thresholds":"50,90","title":"CPU","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"N/A","value":"null"}],"valueName":"avg"},{"aliasColors":{},"annotate":{"enable":false},"bars":false,"dashLength":10,"dashes":false,"datasource":"InfluxDB","editable":true,"error":false,"fill":2,"grid":{},"gridPos":{"h":8,"w":12,"x":0,"y":4},"id":1,"interval":"$summarize","legend":{"alignAsTable":true,"avg":false,"current":false,"max":false,"min":false,"rightSide":true,"show":true,"total":false,"values":false},"lines":true,"linewidth":1,"links":[],"nullPointMode":"connected","percentage":false,"pointradius":5,"points":false,"renderer":"flot","resolution":100,"scale":1,"seriesOverrides":[],"spaceLength":10,"stack":true,"steppedLine":false,"targets":[{"alias":"$tag_hostname","dsType":"influxdb","groupBy":[{"params":["auto"],"type":"time"},{"params":["hostname"],"type":"tag"}],"measurement":"logins.count","orderByTime":"ASC","policy":"default","query":"SELECT mean(\"value\") FROM \"logins.count\" WHERE \"hostname\" =~ /$Hostname$/ AND $timeFilter GROUP BY time($interval), \"hostname\"","refId":"A","resultFormat":"time_series","select":[[{"params":["value"],"type":"field"},{"params":[],"type":"mean"}]],"tags":[{"key":"datacenter","operator":"=~","value":"/^$datacenter$/"},{"condition":"AND","key":"hostname","operator":"=~","value":"/^$host$/"}],"target":""}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Nginx Req/s","tooltip":{"msResolution":false,"query_as_alias":true,"shared":false,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","logBase":1,"max":null,"min":null,"show":true},{"format":"short","logBase":1,"max":null,"min":null,"show":true}],"yaxis":{"align":false,"alignLevel":null},"zerofill":true},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"InfluxDB","fill":1,"gridPos":{"h":8,"w":12,"x":12,"y":4},"id":6,"legend":{"alignAsTable":true,"avg":false,"current":true,"max":false,"min":false,"rightSide":false,"show":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"alias":"$tag_hostname","groupBy":[{"params":["$__interval"],"type":"time"},{"params":["hostname"],"type":"tag"},{"params":["null"],"type":"fill"}],"measurement":"logins.count","orderByTime":"ASC","policy":"default","refId":"A","resultFormat":"time_series","select":[[{"params":["value"],"type":"field"},{"params":[],"type":"mean"},{"params":["10s"],"type":"non_negative_derivative"},{"params":["*1000000000"],"type":"math"}]],"tags":[],"target":""}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Free memory","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"bytes","label":null,"logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true}],"yaxis":{"align":false,"alignLevel":null}}],"refresh":false,"schemaVersion":16,"style":"dark","tags":["influxdb","templated","presentation"],"templating":{"list":[{"allValue":null,"current":{"tags":[],"text":"America","value":"America"},"datasource":"InfluxDB","hide":0,"includeAll":false,"label":null,"multi":false,"name":"datacenter","options":[],"query":"SHOW TAG VALUES WITH KEY = \"datacenter\" ","refresh":1,"regex":"","skipUrlSync":false,"sort":0,"tagValuesQuery":null,"tags":[],"tagsQuery":null,"type":"query","useTags":false},{"allFormat":"regex values","allValue":null,"current":{"selected":false,"tags":[],"text":"server1 + server2 + 10.1.100.1","value":["server1","server2","10.1.100.1"]},"datasource":"InfluxDB","hide":0,"includeAll":true,"label":null,"multi":true,"multiFormat":"regex values","name":"host","options":[],"query":"SHOW TAG VALUES WITH KEY = \"hostname\" WHERE \"datacenter\" =~ /^$datacenter$/","refresh":1,"refresh_on_load":false,"regex":"","skipUrlSync":false,"sort":0,"tagValuesQuery":null,"tags":[],"tagsQuery":null,"type":"query","useTags":false},{"allFormat":"glob","auto":true,"auto_count":5,"auto_min":"10s","current":{"tags":[],"text":"auto","value":"$__auto_interval_summarize"},"datasource":null,"hide":0,"includeAll":false,"label":"","name":"summarize","options":[{"selected":true,"text":"auto","value":"$__auto_interval_summarize"},{"selected":false,"text":"1m","value":"1m"},{"selected":false,"text":"10m","value":"10m"},{"selected":false,"text":"30m","value":"30m"},{"selected":false,"text":"1h","value":"1h"},{"selected":false,"text":"6h","value":"6h"},{"selected":false,"text":"12h","value":"12h"},{"selected":false,"text":"1d","value":"1d"},{"selected":false,"text":"7d","value":"7d"},{"selected":false,"text":"14d","value":"14d"},{"selected":false,"text":"30d","value":"30d"}],"query":"1m,10m,30m,1h,6h,12h,1d,7d,14d,30d","refresh":2,"refresh_on_load":false,"skipUrlSync":false,"type":"interval"},{"datasource":"InfluxDB","filters":[],"hide":0,"label":null,"name":"adhoc","skipUrlSync":false,"type":"adhoc"}]},"time":{"from":"now-1h","to":"now"},"timepicker":{"collapse":false,"enable":true,"notice":false,"now":true,"refresh_intervals":["5s","10s","30s","1m","5m","15m","30m","1h","2h","1d"],"status":"Stable","time_options":["5m","15m","1h","6h","12h","24h","2d","7d","30d"],"type":"timepicker"},"timezone":"browser","title":"InfluxDB Server Monitoring","uid":"AAy9r_bmk","version":5}}
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"meta":{"type":"db","canSave":false,"canEdit":true,"canAdmin":false,"canStar":false,"slug":"templating-showcase","url":"/d/000000091/templating-showcase","expires":"0001-01-01T00:00:00Z","created":"2017-01-20T06:38:55Z","updated":"2020-08-18T19:57:10Z","updatedBy":"diana.payton@grafana.com","createdBy":"carl@raintank.io","version":22,"hasAcl":false,"isFolder":false,"folderId":608,"folderUid":"PGJ1Fr4Zz","folderTitle":"Demos","folderUrl":"/dashboards/f/PGJ1Fr4Zz/demos","provisioned":false,"provisionedExternalId":""},"dashboard":{"annotations":{"list":[{"builtIn":1,"datasource":"-- Grafana --","enable":true,"hide":true,"iconColor":"rgba(0, 211, 255, 1)","name":"Annotations \u0026 Alerts","type":"dashboard"}]},"editable":true,"gnetId":null,"graphTooltip":0,"id":91,"iteration":1597780597713,"links":[],"panels":[{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"$db","fieldConfig":{"defaults":{"custom":{}},"overrides":[]},"fill":1,"fillGradient":0,"gridPos":{"h":7,"w":24,"x":0,"y":0},"hiddenSeries":false,"id":1,"legend":{"avg":false,"current":false,"max":false,"min":false,"show":true,"total":false,"values":false},"lines":true,"linewidth":1,"links":[],"nullPointMode":"connected","percentage":false,"pluginVersion":"7.1.3","pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"refId":"A","target":"aliasByNode(apps.backend.$server.counters.requests.count, 2)","textEditor":false}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"Graph","tooltip":{"msResolution":false,"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}],"yaxis":{"align":false,"alignLevel":null}},{"columns":[{"text":"Avg","value":"avg"},{"text":"Total","value":"total"}],"datasource":"$db","fieldConfig":{"defaults":{"custom":{}},"overrides":[]},"fontSize":"100%","gridPos":{"h":7,"w":16,"x":0,"y":7},"id":2,"links":[],"pageSize":null,"scroll":true,"showHeader":true,"sort":{"col":0,"desc":true},"styles":[{"align":"auto","dateFormat":"YYYY-MM-DD HH:mm:ss","pattern":"Time","type":"date"},{"align":"auto","colorMode":null,"colors":["rgba(245, 54, 54, 0.9)","rgba(237, 129, 40, 0.89)","rgba(50, 172, 45, 0.97)"],"decimals":2,"pattern":"/.*/","thresholds":[],"type":"number","unit":"short"}],"targets":[{"refId":"A","target":"aliasByNode(apps.backend.$server.counters.requests.count, 2)","textEditor":false}],"title":"Table","transform":"timeseries_aggregations","type":"table-old"},{"cacheTimeout":null,"datasource":"$db","fieldConfig":{"defaults":{"custom":{},"mappings":[{"id":0,"op":"=","text":"N/A","type":1,"value":"null"}],"nullValueMode":"connected","thresholds":{"mode":"absolute","steps":[{"color":"green","value":null},{"color":"red","value":80}]},"unit":"none"},"overrides":[]},"gridPos":{"h":7,"w":8,"x":16,"y":7},"id":3,"interval":null,"links":[],"maxDataPoints":100,"options":{"colorMode":"value","graphMode":"none","justifyMode":"auto","orientation":"horizontal","reduceOptions":{"calcs":["mean"],"fields":"/^sumSeries(apps.backend.{backend_01,backend_02,backend_03,backend_04}.counters.requests.count)$/","values":false},"textMode":"auto"},"pluginVersion":"7.1.3","targets":[{"refId":"A","target":"sumSeries(apps.backend.$server.counters.requests.count)"}],"title":"Stat","type":"stat"}],"schemaVersion":26,"style":"dark","tags":["graphite","templating"],"templating":{"list":[{"allValue":null,"current":{"text":"server1","value":"server1"},"hide":0,"includeAll":false,"label":null,"multi":false,"name":"custom","options":[{"selected":true,"text":"server1","value":"server1"},{"selected":false,"text":"server2","value":"server2"}],"query":"server1,server2","skipUrlSync":false,"type":"custom"},{"allValue":null,"current":{"tags":[],"text":"All","value":["$__all"]},"datasource":"graphite","definition":"","hide":0,"includeAll":true,"label":null,"multi":true,"name":"server","options":[{"selected":true,"text":"All","value":"$__all"},{"selected":false,"text":"backend_01","value":"backend_01"},{"selected":false,"text":"backend_02","value":"backend_02"},{"selected":false,"text":"backend_03","value":"backend_03"},{"selected":false,"text":"backend_04","value":"backend_04"}],"query":"apps.backend.*","refresh":0,"regex":"","skipUrlSync":false,"sort":0,"tagValuesQuery":null,"tags":[],"tagsQuery":null,"type":"query","useTags":false},{"allValue":null,"current":{"text":"All","value":"$__all"},"datasource":"graphite","definition":"","hide":0,"includeAll":true,"label":null,"multi":true,"name":"dependent","options":[{"selected":true,"text":"All","value":"$__all"},{"selected":false,"text":"counters","value":"counters"}],"query":"apps.backend.$server.*","refresh":0,"regex":"","skipUrlSync":false,"sort":0,"tagValuesQuery":null,"tags":[],"tagsQuery":null,"type":"query","useTags":false},{"current":{"tags":[],"text":"graphite","value":"graphite"},"hide":0,"includeAll":false,"label":null,"multi":false,"name":"db","options":[],"query":"graphite","refresh":1,"regex":"","skipUrlSync":false,"type":"datasource"}]},"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":"browser","title":"Templating showcase","uid":"000000091","version":22}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[{"id":30,"uid":"000000030","title":"ElasticSearch - Custom Templated query","uri":"db/elasticsearch-custom-templated-query","url":"/d/000000030/elasticsearch-custom-templated-query","slug":"","type":"dash-db","tags":["elasticsearch"],"isStarred":false,"folderId":459,"folderUid":"z6MMXVEmz","folderTitle":"Data source: Elasticsearch","folderUrl":"/dashboards/f/z6MMXVEmz/data-source-elasticsearch","sortMeta":0},{"id":617,"uid":"VzxU55SWk","title":"Elasticsearch Bar Gauge","uri":"db/elasticsearch-bar-gauge","url":"/d/VzxU55SWk/elasticsearch-bar-gauge","slug":"","type":"dash-db","tags":[],"isStarred":false,"folderId":459,"folderUid":"z6MMXVEmz","folderTitle":"Data source: Elasticsearch","folderUrl":"/dashboards/f/z6MMXVEmz/data-source-elasticsearch","sortMeta":0},{"id":69,"uid":"000000069","title":"Elasticsearch Derivative","uri":"db/elasticsearch-derivative","url":"/d/000000069/elasticsearch-derivative","slug":"","type":"dash-db","tags":[],"isStarred":false,"folderId":459,"folderUid":"z6MMXVEmz","folderTitle":"Data source: Elasticsearch","folderUrl":"/dashboards/f/z6MMXVEmz/data-source-elasticsearch","sortMeta":0},{"id":14,"uid":"000000014","title":"Elasticsearch Metrics","uri":"db/elasticsearch-metrics","url":"/d/000000014/elasticsearch-metrics","slug":"","type":"dash-db","tags":["elasticsearch","misc","presentation"],"isStarred":false,"folderId":459,"folderUid":"z6MMXVEmz","folderTitle":"Data source: Elasticsearch","folderUrl":"/dashboards/f/z6MMXVEmz/data-source-elasticsearch","sortMeta":0},{"id":107,"uid":"000000107","title":"Elasticsearch Metrics Filter","uri":"db/elasticsearch-metrics-filter","url":"/d/000000107/elasticsearch-metrics-filter","slug":"","type":"dash-db","tags":[],"isStarred":false,"folderId":459,"folderUid":"z6MMXVEmz","folderTitle":"Data source: Elasticsearch","folderUrl":"/dashboards/f/z6MMXVEmz/data-source-elasticsearch","sortMeta":0},{"id":149,"uid":"000000149","title":"Elasticsearch query filter","uri":"db/elasticsearch-query-filter","url":"/d/000000149/elasticsearch-query-filter","slug":"","type":"dash-db","tags":[],"isStarred":false,"folderId":459,"folderUid":"z6MMXVEmz","folderTitle":"Data source: Elasticsearch","folderUrl":"/dashboards/f/z6MMXVEmz/data-source-elasticsearch","sortMeta":0},{"id":920,"uid":"CknOEXDMk","title":"Elasticsearch Templated","uri":"db/elasticsearch-templated","url":"/d/CknOEXDMk/elasticsearch-templated","slug":"","type":"dash-db","tags":["misc"],"isStarred":false,"folderId":459,"folderUid":"z6MMXVEmz","folderTitle":"Data source: Elasticsearch","folderUrl":"/dashboards/f/z6MMXVEmz/data-source-elasticsearch","sortMeta":0},{"id":953,"uid":"uQRtuCoGz","title":"Prometheus, InfluxDB, Elasticsearch DS Trends","uri":"db/prometheus-influxdb-elasticsearch-ds-trends","url":"/d/uQRtuCoGz/prometheus-influxdb-elasticsearch-ds-trends","slug":"","type":"dash-db","tags":[],"isStarred":false,"folderId":769,"folderUid":"bu1lvdEWz","folderTitle":"Grafana Stats","folderUrl":"/dashboards/f/bu1lvdEWz/grafana-stats","sortMeta":0}]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[{"id":16,"uid":"000000016","title":"1 - Time series graphs","uri":"db/1-time-series-graphs","url":"/d/000000016/1-time-series-graphs","slug":"","type":"dash-db","tags":["annotations","demo","presentation"],"isStarred":false,"folderId":1070,"folderUid":"pfwR7veGk","folderTitle":"Visualizations","folderUrl":"/dashboards/f/pfwR7veGk/visualizations","sortMeta":0},{"id":1072,"uid":"Zb3f4veGk","title":"2 - Stats","uri":"db/2-stats","url":"/d/Zb3f4veGk/2-stats","slug":"","type":"dash-db","tags":["demo"],"isStarred":false,"folderId":1070,"folderUid":"pfwR7veGk","folderTitle":"Visualizations","folderUrl":"/dashboards/f/pfwR7veGk/visualizations","sortMeta":0},{"id":1075,"uid":"OhR1ID6Mk","title":"3 - Table","uri":"db/3-table","url":"/d/OhR1ID6Mk/3-table","slug":"","type":"dash-db","tags":["demo"],"isStarred":false,"folderId":1070,"folderUid":"pfwR7veGk","folderTitle":"Visualizations","folderUrl":"/dashboards/f/pfwR7veGk/visualizations","sortMeta":0},{"id":1071,"uid":"KIhkVD6Gk","title":"4 - Gauges","uri":"db/4-gauges","url":"/d/KIhkVD6Gk/4-gauges","slug":"","type":"dash-db","tags":["demo"],"isStarred":false,"folderId":1070,"folderUid":"pfwR7veGk","folderTitle":"Visualizations","folderUrl":"/dashboards/f/pfwR7veGk/visualizations","sortMeta":0},{"id":1073,"uid":"ktMs4D6Mk","title":"5 - Bar charts and pie charts","uri":"db/5-bar-charts-and-pie-charts","url":"/d/ktMs4D6Mk/5-bar-charts-and-pie-charts","slug":"","type":"dash-db","tags":["demo"],"isStarred":false,"folderId":1070,"folderUid":"pfwR7veGk","folderTitle":"Visualizations","folderUrl":"/dashboards/f/pfwR7veGk/visualizations","sortMeta":0},{"id":1074,"uid":"qD-rVv6Mz","title":"6 - State timeline and Status history","uri":"db/6-state-timeline-and-status-history","url":"/d/qD-rVv6Mz/6-state-timeline-and-status-history","slug":"","type":"dash-db","tags":["demo"],"isStarred":false,"folderId":1070,"folderUid":"pfwR7veGk","folderTitle":"Visualizations","folderUrl":"/dashboards/f/pfwR7veGk/visualizations","sortMeta":0},{"id":74,"uid":"000000074","title":"Alerting","uri":"db/alerting","url":"/d/000000074/alerting","slug":"","type":"dash-db","tags":["demo"],"isStarred":false,"folderId":608,"folderUid":"PGJ1Fr4Zz","folderTitle":"Demos","folderUrl":"/dashboards/f/PGJ1Fr4Zz/demos","sortMeta":0},{"id":10,"uid":"000000010","title":"Annotations","uri":"db/annotations","url":"/d/000000010/annotations","slug":"","type":"dash-db","tags":["annotations","demo","presentation"],"isStarred":false,"folderId":608,"folderUid":"PGJ1Fr4Zz","folderTitle":"Demos","folderUrl":"/dashboards/f/PGJ1Fr4Zz/demos","sortMeta":0},{"id":563,"uid":"vmie2cmWz","title":"Bar Gauge","uri":"db/bar-gauge","url":"/d/vmie2cmWz/bar-gauge","slug":"","type":"dash-db","tags":["demo"],"isStarred":false,"folderId":608,"folderUid":"PGJ1Fr4Zz","folderTitle":"Demos","folderUrl":"/dashboards/f/PGJ1Fr4Zz/demos","sortMeta":0},{"id":860,"uid":"3SWXxreWk","title":"Grafana Dashboard","uri":"db/grafana-dashboard","url":"/d/3SWXxreWk/grafana-dashboard","slug":"","type":"dash-db","tags":["demo"],"isStarred":false,"folderId":608,"folderUid":"PGJ1Fr4Zz","folderTitle":"Demos","folderUrl":"/dashboards/f/PGJ1Fr4Zz/demos","sortMeta":0},{"id":663,"uid":"37Dq903mk","title":"Graph Gradient Area Fills","uri":"db/graph-gradient-area-fills","url":"/d/37Dq903mk/graph-gradient-area-fills","slug":"","type":"dash-db","tags":["demo","gdev","graph","panel-tests"],"isStarred":false,"folderId":608,"folderUid":"PGJ1Fr4Zz","folderTitle":"Demos","folderUrl":"/dashboards/f/PGJ1Fr4Zz/demos","sortMeta":0},{"id":611,"uid":"iRY1K9VZk","title":"Lazy Loading","uri":"db/lazy-loading","url":"/d/iRY1K9VZk/lazy-loading","slug":"","type":"dash-db","tags":["demo"],"isStarred":false,"folderId":608,"folderUid":"PGJ1Fr4Zz","folderTitle":"Demos","folderUrl":"/dashboards/f/PGJ1Fr4Zz/demos","sortMeta":0},{"id":745,"uid":"6NmftOxZz","title":"Logs Panel","uri":"db/logs-panel","url":"/d/6NmftOxZz/logs-panel","slug":"","type":"dash-db","tags":["demo"],"isStarred":false,"folderId":608,"folderUid":"PGJ1Fr4Zz","folderTitle":"Demos","folderUrl":"/dashboards/f/PGJ1Fr4Zz/demos","sortMeta":0},{"id":100,"uid":"000000100","title":"Mixed Datasources","uri":"db/mixed-datasources","url":"/d/000000100/mixed-datasources","slug":"","type":"dash-db","tags":["demo"],"isStarred":false,"folderId":608,"folderUid":"PGJ1Fr4Zz","folderTitle":"Demos","folderUrl":"/dashboards/f/PGJ1Fr4Zz/demos","sortMeta":0},{"id":861,"uid":"U_bZIMRMk","title":"Table Panel Showcase","uri":"db/table-panel-showcase","url":"/d/U_bZIMRMk/table-panel-showcase","slug":"","type":"dash-db","tags":["demo"],"isStarred":false,"folderId":608,"folderUid":"PGJ1Fr4Zz","folderTitle":"Demos","folderUrl":"/dashboards/f/PGJ1Fr4Zz/demos","sortMeta":0},{"id":56,"uid":"000000056","title":"Templated dynamic dashboard","uri":"db/templated-dynamic-dashboard","url":"/d/000000056/templated-dynamic-dashboard","slug":"","type":"dash-db","tags":["demo"],"isStarred":false,"folderId":608,"folderUid":"PGJ1Fr4Zz","folderTitle":"Demos","folderUrl":"/dashboards/f/PGJ1Fr4Zz/demos","sortMeta":0},{"id":109,"uid":"000000109","title":"The Four Golden Signals","uri":"db/the-four-golden-signals","url":"/d/000000109/the-four-golden-signals","slug":"","type":"dash-db","tags":["demo"],"isStarred":false,"folderId":608,"folderUid":"PGJ1Fr4Zz","folderTitle":"Demos","folderUrl":"/dashboards/f/PGJ1Fr4Zz/demos","sortMeta":0},{"id":167,"uid":"000000167","title":"Threshold example","uri":"db/threshold-example","url":"/d/000000167/threshold-example","slug":"","type":"dash-db","tags":["demo"],"isStarred":false,"folderId":608,"folderUid":"PGJ1Fr4Zz","folderTitle":"Demos","folderUrl":"/dashboards/f/PGJ1Fr4Zz/demos","sortMeta":0},{"id":41,"uid":"000000041","title":"Time range override","uri":"db/time-range-override","url":"/d/000000041/time-range-override","slug":"","type":"dash-db","tags":["demo"],"isStarred":false,"folderId":608,"folderUid":"PGJ1Fr4Zz","folderTitle":"Demos","folderUrl":"/dashboards/f/PGJ1Fr4Zz/demos","sortMeta":0}]
|