├── prometheus.yml
├── docker-compose-75.yml
├── README.md
├── docker-compose-71.yml
└── docker-monitoring_rev1.json
/prometheus.yml:
--------------------------------------------------------------------------------
1 | global: # 全局设置,可以被覆盖
2 | scrape_interval: 15s # 抓取采样数据的时间间隔,每15秒去被监控机上采样,即数据采集频率
3 | evaluation_interval: 15s # 监控数据规则的评估频率,比如设置文件系统使用率>75%发出告警则每15秒执行一次该规则,进行文件系统检查
4 | external_labels: # 与外部通信时用的外部标签
5 | monitor: 'nodecontainer-monitor'
6 |
7 | scrape_configs: # 抓取配置
8 | - job_name: 'prometheus' # 任务名,全局唯一
9 | scrape_interval: 5s # 本任务的抓取间隔,覆盖全局配置
10 | static_configs: # 静态目标配置
11 | # 抓取地址,路径为默认的/metrics
12 | - targets: ['localhost:9090','localhost:8080','localhost:9100','172.27.9.75:8080','172.27.9.75:9100']
13 |
--------------------------------------------------------------------------------
/docker-compose-75.yml:
--------------------------------------------------------------------------------
1 | version: '3.7'
2 |
3 | services:
4 | node-exporter:
5 | image: prom/node-exporter:latest
6 | network_mode: 'host'
7 | container_name: node-exporter
8 | restart: unless-stopped
9 | ports:
10 | - '9100:9100'
11 | command:
12 | - '--path.procfs=/host/proc'
13 | - '--path.sysfs=/host/sys'
14 | - '--collector.filesystem.ignored-mount-points=^/(sys|proc|dev|host|etc)($$|/)'
15 | volumes:
16 | - /proc:/host/proc
17 | - /sys:/host/sys
18 | - /:/rootfs
19 |
20 | cadvisor:
21 | image: google/cadvisor:latest
22 | network_mode: 'host'
23 | container_name: cadvisor
24 | restart: unless-stopped
25 | ports:
26 | - '8080:8080'
27 | volumes:
28 | - /:/rootfs:ro
29 | - /var/run:/var/run:rw
30 | - /sys:/sys:ro
31 | - /var/lib/docker/:/var/lib/docker:ro
32 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Prometheus+Grafana+钉钉搭建监控告警系统
2 | **环境说明:**
3 |
4 |
5 | | 主机名 | Docker版本 | Prometheus版本 | Node exporter版本 | cAdvisor版本 | Grafana版本 | ip地址 |
6 | |:------: |:------:|:------:|:------:|:------:|:------:|:------:|
7 | | docker01 | 18.09.2 | 2.9.2 | 0.18.0 | v0.32.0 | v6.1.6 | 172.27.9.71 |
8 | | docker02 | 18.09.2 | / | 0.18.0 | v0.32.0 | /| 172.27.9.75 |
9 |
10 |
11 |
12 | Prometheus是一套开源的系统监控报警框架,提供了监控数据搜集、存储、处理、可视化和告警一套完整的解决方案,该项目于2012年在SoundCloud上创建,拥有非常活跃的开发人员和用户社区,许多公司和组织都采用了Prometheus。作为一个独立的开源项目,Prometheus于2016年正式加入Cloud Native Computing Foundation,成为受欢迎度仅次于Kubernetes的项目。
13 | 程序编写环境:
14 |
15 | **文章目录:**
16 | # 一、Prometheus简介
17 | # 二、Prometheus架构
18 | # 三、Prometheus搭建
19 | ## 1. 环境说明
20 | ## 2. 监控主机部署
21 | ### 2.1 docker-compose.yml配置
22 | ### 2.2 运行docker-compose
23 | ### 2.3 查看Node Exporter监控数据
24 | ### 2.4 查看cAdvisor监控数据
25 | ## 3. 监控服务器部署
26 | ### 3.1 prometheus.yml配置
27 | ### 3.2 docker-compose.yml配置
28 | ### 3.3 运行docker-compose
29 | ### 3.4 查看Prometheus监控数据
30 | #### 3.4.1 配置文件查看
31 | #### 3.4.2 监控信息查看
32 | #### 3.4.3 查看指定监控项
33 | # 四、Grafana配置
34 | ## 1. 登陆grafana
35 | ## 2. 添加DataSource
36 | ## 3. Dashboards配置
37 | ### 3.1 下载Dashboards
38 | ### 3.2 导入 Dashboards
39 | ## 4. Grafana监控展示
40 | ### 4.1 容器监控展示
41 | ### 4.2 host监控展示
42 | # 五、钉钉告警配置
43 | ## 1. 钉钉添加机器人
44 | ## 2. Grafana新增告警项
45 | ## 3. 新增告警项
46 | ### 3.1 编辑Memory Usage
47 | ### 3.2 创建Alert
48 | ### 3.3 Alert配置
49 | ### 3.4 验证告警配置
50 | ### 3.5 保存告警配置
51 | ### 3.6 告警信息查看
52 |
53 |
54 |
55 |
56 | **详细搭建过程及测试:**
57 |
58 |
59 | https://blog.51cto.com/3241766/2394283
60 |
--------------------------------------------------------------------------------
/docker-compose-71.yml:
--------------------------------------------------------------------------------
1 | version: '3.7'
2 |
3 | services:
4 | prometheus:
5 | image: prom/prometheus:latest
6 | network_mode: 'host'
7 | container_name: prometheus
8 | restart: unless-stopped
9 | ports:
10 | - '9090:9090'
11 | volumes:
12 | - /root/prometheus.yml:/etc/prometheus/prometheus.yml
13 | depends_on:
14 | - cadvisor
15 |
16 | node-exporter:
17 | image: prom/node-exporter:latest
18 | network_mode: 'host'
19 | container_name: node-exporter
20 | restart: unless-stopped
21 | ports:
22 | - '9100:9100'
23 | command:
24 | - '--path.procfs=/host/proc'
25 | - '--path.sysfs=/host/sys'
26 | - '--collector.filesystem.ignored-mount-points=^/(sys|proc|dev|host|etc)($$|/)'
27 | volumes:
28 | - /proc:/host/proc
29 | - /sys:/host/sys
30 | - /:/rootfs
31 |
32 | cadvisor:
33 | image: google/cadvisor:latest
34 | network_mode: 'host'
35 | container_name: cadvisor
36 | restart: unless-stopped
37 | ports:
38 | - '8080:8080'
39 | volumes:
40 | - /:/rootfs:ro
41 | - /var/run:/var/run:rw
42 | - /sys:/sys:ro
43 | - /var/lib/docker/:/var/lib/docker:ro
44 |
45 | grafana:
46 | image: grafana/grafana:latest
47 | network_mode: 'host'
48 | container_name: grafana
49 | restart: unless-stopped
50 | ports:
51 | - '3000:3000'
52 | user: '0'
53 | volumes:
54 | - ./data/grafana:/var/lib/grafana
55 | environment:
56 | - GF_SECURITY_ADMIN_PASSWORD=admin
57 | - GF_SERVER_ROOT_URL=http://172.27.9.71:3000
58 |
--------------------------------------------------------------------------------
/docker-monitoring_rev1.json:
--------------------------------------------------------------------------------
1 | {
2 | "__inputs": [
3 | {
4 | "name": "DS_PROMETHEUS",
5 | "label": "prometheus",
6 | "description": "prometheus with cAdvisor as a target",
7 | "type": "datasource",
8 | "pluginId": "prometheus",
9 | "pluginName": "Prometheus"
10 | }
11 | ],
12 | "__requires": [
13 | {
14 | "type": "panel",
15 | "id": "singlestat",
16 | "name": "Singlestat",
17 | "version": ""
18 | },
19 | {
20 | "type": "panel",
21 | "id": "graph",
22 | "name": "Graph",
23 | "version": ""
24 | },
25 | {
26 | "type": "grafana",
27 | "id": "grafana",
28 | "name": "Grafana",
29 | "version": "3.1.0"
30 | },
31 | {
32 | "type": "datasource",
33 | "id": "prometheus",
34 | "name": "Prometheus",
35 | "version": "1.0.0"
36 | }
37 | ],
38 | "id": null,
39 | "title": "Docker monitoring",
40 | "description": "Docker monitoring with Prometheus and cAdvisor",
41 | "tags": [
42 | "docker"
43 | ],
44 | "style": "dark",
45 | "timezone": "browser",
46 | "editable": true,
47 | "hideControls": false,
48 | "sharedCrosshair": true,
49 | "rows": [
50 | {
51 | "collapse": false,
52 | "editable": true,
53 | "height": "50",
54 | "panels": [
55 | {
56 | "cacheTimeout": null,
57 | "colorBackground": false,
58 | "colorValue": false,
59 | "colors": [
60 | "rgba(245, 54, 54, 0.9)",
61 | "rgba(237, 129, 40, 0.89)",
62 | "rgba(50, 172, 45, 0.97)"
63 | ],
64 | "datasource": "${DS_PROMETHEUS}",
65 | "editable": true,
66 | "error": false,
67 | "format": "none",
68 | "gauge": {
69 | "maxValue": 100,
70 | "minValue": 0,
71 | "show": false,
72 | "thresholdLabels": false,
73 | "thresholdMarkers": true
74 | },
75 | "height": "20",
76 | "id": 7,
77 | "interval": null,
78 | "isNew": true,
79 | "links": [],
80 | "mappingType": 1,
81 | "mappingTypes": [
82 | {
83 | "name": "value to text",
84 | "value": 1
85 | },
86 | {
87 | "name": "range to text",
88 | "value": 2
89 | }
90 | ],
91 | "maxDataPoints": 100,
92 | "nullPointMode": "connected",
93 | "nullText": null,
94 | "postfix": "",
95 | "postfixFontSize": "50%",
96 | "prefix": "",
97 | "prefixFontSize": "50%",
98 | "rangeMaps": [
99 | {
100 | "from": "null",
101 | "text": "N/A",
102 | "to": "null"
103 | }
104 | ],
105 | "span": 4,
106 | "sparkline": {
107 | "fillColor": "rgba(31, 118, 189, 0.18)",
108 | "full": false,
109 | "lineColor": "rgb(31, 120, 193)",
110 | "show": false
111 | },
112 | "targets": [
113 | {
114 | "expr": "count(container_last_seen{image!=\"\"})",
115 | "intervalFactor": 2,
116 | "legendFormat": "",
117 | "metric": "container_last_seen",
118 | "refId": "A",
119 | "step": 240
120 | }
121 | ],
122 | "thresholds": "",
123 | "title": "Running containers",
124 | "transparent": true,
125 | "type": "singlestat",
126 | "valueFontSize": "80%",
127 | "valueMaps": [
128 | {
129 | "op": "=",
130 | "text": "N/A",
131 | "value": "null"
132 | }
133 | ],
134 | "valueName": "avg"
135 | },
136 | {
137 | "cacheTimeout": null,
138 | "colorBackground": false,
139 | "colorValue": false,
140 | "colors": [
141 | "rgba(245, 54, 54, 0.9)",
142 | "rgba(237, 129, 40, 0.89)",
143 | "rgba(50, 172, 45, 0.97)"
144 | ],
145 | "datasource": "${DS_PROMETHEUS}",
146 | "editable": true,
147 | "error": false,
148 | "format": "mbytes",
149 | "gauge": {
150 | "maxValue": 100,
151 | "minValue": 0,
152 | "show": false,
153 | "thresholdLabels": false,
154 | "thresholdMarkers": true
155 | },
156 | "height": "20",
157 | "id": 5,
158 | "interval": null,
159 | "isNew": true,
160 | "links": [],
161 | "mappingType": 1,
162 | "mappingTypes": [
163 | {
164 | "name": "value to text",
165 | "value": 1
166 | },
167 | {
168 | "name": "range to text",
169 | "value": 2
170 | }
171 | ],
172 | "maxDataPoints": 100,
173 | "nullPointMode": "connected",
174 | "nullText": null,
175 | "postfix": "",
176 | "postfixFontSize": "50%",
177 | "prefix": "",
178 | "prefixFontSize": "50%",
179 | "rangeMaps": [
180 | {
181 | "from": "null",
182 | "text": "N/A",
183 | "to": "null"
184 | }
185 | ],
186 | "span": 4,
187 | "sparkline": {
188 | "fillColor": "rgba(31, 118, 189, 0.18)",
189 | "full": false,
190 | "lineColor": "rgb(31, 120, 193)",
191 | "show": false
192 | },
193 | "targets": [
194 | {
195 | "expr": "sum(container_memory_usage_bytes{image!=\"\"})/1024/1024",
196 | "intervalFactor": 2,
197 | "legendFormat": "",
198 | "metric": "container_memory_usage_bytes",
199 | "refId": "A",
200 | "step": 240
201 | }
202 | ],
203 | "thresholds": "",
204 | "title": "Total Memory Usage",
205 | "transparent": true,
206 | "type": "singlestat",
207 | "valueFontSize": "80%",
208 | "valueMaps": [
209 | {
210 | "op": "=",
211 | "text": "N/A",
212 | "value": "null"
213 | }
214 | ],
215 | "valueName": "current"
216 | },
217 | {
218 | "cacheTimeout": null,
219 | "colorBackground": false,
220 | "colorValue": false,
221 | "colors": [
222 | "rgba(245, 54, 54, 0.9)",
223 | "rgba(237, 129, 40, 0.89)",
224 | "rgba(50, 172, 45, 0.97)"
225 | ],
226 | "datasource": "${DS_PROMETHEUS}",
227 | "editable": true,
228 | "error": false,
229 | "format": "percent",
230 | "gauge": {
231 | "maxValue": 100,
232 | "minValue": 0,
233 | "show": false,
234 | "thresholdLabels": false,
235 | "thresholdMarkers": true
236 | },
237 | "height": "20",
238 | "id": 6,
239 | "interval": null,
240 | "isNew": true,
241 | "links": [],
242 | "mappingType": 1,
243 | "mappingTypes": [
244 | {
245 | "name": "value to text",
246 | "value": 1
247 | },
248 | {
249 | "name": "range to text",
250 | "value": 2
251 | }
252 | ],
253 | "maxDataPoints": 100,
254 | "nullPointMode": "connected",
255 | "nullText": null,
256 | "postfix": "",
257 | "postfixFontSize": "50%",
258 | "prefix": "",
259 | "prefixFontSize": "50%",
260 | "rangeMaps": [
261 | {
262 | "from": "null",
263 | "text": "N/A",
264 | "to": "null"
265 | }
266 | ],
267 | "span": 4,
268 | "sparkline": {
269 | "fillColor": "rgba(31, 118, 189, 0.18)",
270 | "full": false,
271 | "lineColor": "rgb(31, 120, 193)",
272 | "show": false
273 | },
274 | "targets": [
275 | {
276 | "expr": "sum(rate(container_cpu_user_seconds_total{image!=\"\"}[5m]) * 100)",
277 | "intervalFactor": 2,
278 | "legendFormat": "",
279 | "metric": "container_memory_usage_bytes",
280 | "refId": "A",
281 | "step": 240
282 | }
283 | ],
284 | "thresholds": "",
285 | "title": "Total CPU Usage",
286 | "transparent": true,
287 | "type": "singlestat",
288 | "valueFontSize": "80%",
289 | "valueMaps": [
290 | {
291 | "op": "=",
292 | "text": "N/A",
293 | "value": "null"
294 | }
295 | ],
296 | "valueName": "current"
297 | }
298 | ],
299 | "title": "New row"
300 | },
301 | {
302 | "collapse": false,
303 | "editable": true,
304 | "height": "250px",
305 | "panels": [
306 | {
307 | "aliasColors": {},
308 | "bars": false,
309 | "datasource": "${DS_PROMETHEUS}",
310 | "decimals": 2,
311 | "editable": true,
312 | "error": false,
313 | "fill": 1,
314 | "grid": {
315 | "threshold1": null,
316 | "threshold1Color": "rgba(216, 200, 27, 0.27)",
317 | "threshold2": null,
318 | "threshold2Color": "rgba(234, 112, 112, 0.22)"
319 | },
320 | "id": 2,
321 | "isNew": true,
322 | "legend": {
323 | "alignAsTable": true,
324 | "avg": true,
325 | "current": true,
326 | "max": false,
327 | "min": false,
328 | "rightSide": true,
329 | "show": true,
330 | "total": false,
331 | "values": true
332 | },
333 | "lines": true,
334 | "linewidth": 2,
335 | "links": [],
336 | "nullPointMode": "connected",
337 | "percentage": false,
338 | "pointradius": 5,
339 | "points": false,
340 | "renderer": "flot",
341 | "seriesOverrides": [],
342 | "span": 12,
343 | "stack": false,
344 | "steppedLine": false,
345 | "targets": [
346 | {
347 | "expr": "rate(container_cpu_user_seconds_total{image!=\"\"}[5m]) * 100",
348 | "intervalFactor": 2,
349 | "legendFormat": "{{name}}",
350 | "metric": "cpu",
351 | "refId": "A",
352 | "step": 10
353 | }
354 | ],
355 | "timeFrom": null,
356 | "timeShift": null,
357 | "title": "CPU Usage",
358 | "tooltip": {
359 | "msResolution": false,
360 | "shared": true,
361 | "sort": 0,
362 | "value_type": "cumulative"
363 | },
364 | "transparent": false,
365 | "type": "graph",
366 | "xaxis": {
367 | "show": true
368 | },
369 | "yaxes": [
370 | {
371 | "format": "percent",
372 | "label": null,
373 | "logBase": 1,
374 | "max": null,
375 | "min": null,
376 | "show": true
377 | },
378 | {
379 | "format": "short",
380 | "label": null,
381 | "logBase": 1,
382 | "max": null,
383 | "min": null,
384 | "show": true
385 | }
386 | ]
387 | }
388 | ],
389 | "title": "Row"
390 | },
391 | {
392 | "collapse": false,
393 | "editable": true,
394 | "height": "250px",
395 | "panels": [
396 | {
397 | "aliasColors": {},
398 | "bars": false,
399 | "datasource": "${DS_PROMETHEUS}",
400 | "decimals": 2,
401 | "editable": true,
402 | "error": false,
403 | "fill": 1,
404 | "grid": {
405 | "threshold1": null,
406 | "threshold1Color": "rgba(216, 200, 27, 0.27)",
407 | "threshold2": null,
408 | "threshold2Color": "rgba(234, 112, 112, 0.22)"
409 | },
410 | "id": 1,
411 | "isNew": true,
412 | "legend": {
413 | "alignAsTable": true,
414 | "avg": true,
415 | "current": true,
416 | "max": false,
417 | "min": false,
418 | "rightSide": true,
419 | "show": true,
420 | "total": false,
421 | "values": true
422 | },
423 | "lines": true,
424 | "linewidth": 2,
425 | "links": [],
426 | "nullPointMode": "connected",
427 | "percentage": false,
428 | "pointradius": 5,
429 | "points": false,
430 | "renderer": "flot",
431 | "seriesOverrides": [],
432 | "span": 12,
433 | "stack": false,
434 | "steppedLine": false,
435 | "targets": [
436 | {
437 | "expr": "container_memory_usage_bytes{image!=\"\"}",
438 | "hide": false,
439 | "intervalFactor": 2,
440 | "legendFormat": "{{name}}",
441 | "metric": "container_memory_usage_bytes",
442 | "refId": "A",
443 | "step": 10
444 | }
445 | ],
446 | "timeFrom": null,
447 | "timeShift": null,
448 | "title": "Memory Usage",
449 | "tooltip": {
450 | "msResolution": false,
451 | "shared": true,
452 | "sort": 0,
453 | "value_type": "cumulative"
454 | },
455 | "transparent": false,
456 | "type": "graph",
457 | "xaxis": {
458 | "show": true
459 | },
460 | "yaxes": [
461 | {
462 | "format": "bytes",
463 | "label": "",
464 | "logBase": 1,
465 | "max": null,
466 | "min": null,
467 | "show": true
468 | },
469 | {
470 | "format": "short",
471 | "label": null,
472 | "logBase": 1,
473 | "max": null,
474 | "min": null,
475 | "show": false
476 | }
477 | ]
478 | }
479 | ],
480 | "title": "New row"
481 | },
482 | {
483 | "collapse": false,
484 | "editable": true,
485 | "height": "250px",
486 | "panels": [
487 | {
488 | "aliasColors": {},
489 | "bars": false,
490 | "datasource": "${DS_PROMETHEUS}",
491 | "editable": true,
492 | "error": false,
493 | "fill": 1,
494 | "grid": {
495 | "threshold1": null,
496 | "threshold1Color": "rgba(216, 200, 27, 0.27)",
497 | "threshold2": null,
498 | "threshold2Color": "rgba(234, 112, 112, 0.22)"
499 | },
500 | "id": 3,
501 | "isNew": true,
502 | "legend": {
503 | "avg": false,
504 | "current": false,
505 | "max": false,
506 | "min": false,
507 | "show": true,
508 | "total": false,
509 | "values": false
510 | },
511 | "lines": true,
512 | "linewidth": 2,
513 | "links": [],
514 | "nullPointMode": "connected",
515 | "percentage": false,
516 | "pointradius": 5,
517 | "points": false,
518 | "renderer": "flot",
519 | "seriesOverrides": [],
520 | "span": 6,
521 | "stack": false,
522 | "steppedLine": false,
523 | "targets": [
524 | {
525 | "expr": "irate(container_network_receive_bytes_total{image!=\"\"}[5m])",
526 | "intervalFactor": 2,
527 | "legendFormat": "{{name}}",
528 | "metric": "container_network_receive_bytes_total",
529 | "refId": "A",
530 | "step": 20
531 | }
532 | ],
533 | "timeFrom": null,
534 | "timeShift": null,
535 | "title": "Network Rx",
536 | "tooltip": {
537 | "msResolution": false,
538 | "shared": true,
539 | "sort": 0,
540 | "value_type": "cumulative"
541 | },
542 | "type": "graph",
543 | "xaxis": {
544 | "show": true
545 | },
546 | "yaxes": [
547 | {
548 | "format": "Bps",
549 | "label": null,
550 | "logBase": 1,
551 | "max": null,
552 | "min": null,
553 | "show": true
554 | },
555 | {
556 | "format": "short",
557 | "label": null,
558 | "logBase": 1,
559 | "max": null,
560 | "min": null,
561 | "show": true
562 | }
563 | ]
564 | },
565 | {
566 | "aliasColors": {},
567 | "bars": false,
568 | "datasource": "${DS_PROMETHEUS}",
569 | "editable": true,
570 | "error": false,
571 | "fill": 1,
572 | "grid": {
573 | "threshold1": null,
574 | "threshold1Color": "rgba(216, 200, 27, 0.27)",
575 | "threshold2": null,
576 | "threshold2Color": "rgba(234, 112, 112, 0.22)"
577 | },
578 | "id": 4,
579 | "isNew": true,
580 | "legend": {
581 | "avg": false,
582 | "current": false,
583 | "max": false,
584 | "min": false,
585 | "show": true,
586 | "total": false,
587 | "values": false
588 | },
589 | "lines": true,
590 | "linewidth": 2,
591 | "links": [],
592 | "nullPointMode": "connected",
593 | "percentage": false,
594 | "pointradius": 5,
595 | "points": false,
596 | "renderer": "flot",
597 | "seriesOverrides": [],
598 | "span": 6,
599 | "stack": false,
600 | "steppedLine": false,
601 | "targets": [
602 | {
603 | "expr": "irate(container_network_transmit_bytes_total{image!=\"\"}[5m])",
604 | "intervalFactor": 2,
605 | "legendFormat": "{{name}}",
606 | "refId": "A",
607 | "step": 20
608 | }
609 | ],
610 | "timeFrom": null,
611 | "timeShift": null,
612 | "title": "Network Tx",
613 | "tooltip": {
614 | "msResolution": false,
615 | "shared": true,
616 | "sort": 0,
617 | "value_type": "cumulative"
618 | },
619 | "type": "graph",
620 | "xaxis": {
621 | "show": true
622 | },
623 | "yaxes": [
624 | {
625 | "format": "Bps",
626 | "label": null,
627 | "logBase": 1,
628 | "max": null,
629 | "min": null,
630 | "show": true
631 | },
632 | {
633 | "format": "short",
634 | "label": null,
635 | "logBase": 1,
636 | "max": null,
637 | "min": null,
638 | "show": true
639 | }
640 | ]
641 | }
642 | ],
643 | "title": "New row"
644 | }
645 | ],
646 | "time": {
647 | "from": "now-3h",
648 | "to": "now"
649 | },
650 | "timepicker": {
651 | "refresh_intervals": [
652 | "5s",
653 | "10s",
654 | "30s",
655 | "1m",
656 | "5m",
657 | "15m",
658 | "30m",
659 | "1h",
660 | "2h",
661 | "1d"
662 | ],
663 | "time_options": [
664 | "5m",
665 | "15m",
666 | "1h",
667 | "6h",
668 | "12h",
669 | "24h",
670 | "2d",
671 | "7d",
672 | "30d"
673 | ]
674 | },
675 | "templating": {
676 | "list": []
677 | },
678 | "annotations": {
679 | "list": []
680 | },
681 | "refresh": "10s",
682 | "schemaVersion": 12,
683 | "version": 26,
684 | "links": [],
685 | "gnetId": 193
686 | }
--------------------------------------------------------------------------------