blob: 4cb60c92e552110cd946d3c9b547213dc09fc0d4 [file] [log] [blame]
Guillaume Thouvenin70ca6672016-10-26 11:25:37 +02001{
2 "annotations": {
3 "enable": true,
4 "list": [
5 {
6 "datasource": "lma",
7 "enable": true,
8 "iconColor": "#C0C6BE",
9 "iconSize": 13,
10 "lineColor": "rgba(255, 96, 96, 0.592157)",
11 "name": "Status",
12 "query": "select title,tags,text from annotations where $timeFilter and cluster = 'heat'",
13 "showLine": true,
14 "tagsColumn": "tags",
15 "textColumn": "text",
16 "titleColumn": "title"
17 }
18 ]
19 },
20 "editable": true,
21 "hideControls": false,
22 "id": null,
23 "links": [],
24 "originalTitle": "Heat",
25 "refresh": "1m",
26 "rows": [
27 {
28 "collapse": false,
29 "editable": true,
30 "height": "250px",
31 "panels": [
32 {
33 "cacheTimeout": null,
34 "colorBackground": true,
35 "colorValue": false,
36 "colors": [
37 "rgba(71, 212, 59, 0.4)",
38 "rgba(241, 181, 37, 0.73)",
39 "rgba(225, 40, 40, 0.59)"
40 ],
41 "datasource": null,
42 "editable": true,
43 "error": false,
44 "format": "none",
45 "gauge": {
46 "maxValue": 100,
47 "minValue": 0,
48 "show": false,
49 "thresholdLabels": false,
50 "thresholdMarkers": true
51 },
52 "id": 6,
53 "interval": "> 60s",
54 "links": [],
55 "maxDataPoints": 100,
56 "nullPointMode": "connected",
57 "nullText": null,
58 "postfix": "",
59 "postfixFontSize": "50%",
60 "prefix": "",
61 "prefixFontSize": "50%",
62 "span": 2,
63 "sparkline": {
64 "fillColor": "rgba(31, 118, 189, 0.18)",
65 "full": false,
66 "lineColor": "rgb(31, 120, 193)",
67 "show": false
68 },
69 "targets": [
70 {
71 "column": "value",
72 "condition": "",
73 "dsType": "influxdb",
74 "fill": "",
75 "function": "last",
76 "groupBy": [
77 {
78 "params": [
79 "$interval"
80 ],
81 "type": "time"
82 },
83 {
84 "params": [
85 "null"
86 ],
87 "type": "fill"
88 }
89 ],
90 "groupByTags": [],
91 "groupby_field": "",
92 "interval": "",
93 "measurement": "cluster_status",
94 "policy": "default",
Éric Lemoine398d7ac2016-11-02 16:13:39 +010095 "query": "SELECT last(\"value\") FROM \"cluster_status\" WHERE \"environment_label\" =~ /^$environment$/ AND \"cluster_name\" = 'heat' AND $timeFilter GROUP BY time($interval) fill(null)",
Guillaume Thouvenin70ca6672016-10-26 11:25:37 +020096 "rawQuery": false,
97 "refId": "A",
98 "resultFormat": "time_series",
99 "select": [
100 [
101 {
102 "params": [
103 "value"
104 ],
105 "type": "field"
106 },
107 {
108 "params": [],
109 "type": "last"
110 }
111 ]
112 ],
113 "tags": [
114 {
115 "key": "environment_label",
116 "operator": "=",
117 "value": "$environment"
118 },
119 {
120 "key": "cluster_name",
121 "operator": "=",
122 "value": "heat"
123 }
124 ]
125 }
126 ],
127 "thresholds": "1,3",
128 "title": "",
129 "type": "singlestat",
130 "valueFontSize": "80%",
131 "valueMaps": [
132 {
133 "op": "=",
134 "text": "no data",
135 "value": "null"
136 },
137 {
138 "op": "=",
139 "text": "OKAY",
140 "value": "0"
141 },
142 {
143 "op": "=",
144 "text": "WARN",
145 "value": "1"
146 },
147 {
148 "op": "=",
149 "text": "UNKW",
150 "value": "2"
151 },
152 {
153 "op": "=",
154 "text": "CRIT",
155 "value": "3"
156 },
157 {
158 "op": "=",
159 "text": "DOWN",
160 "value": "4"
161 }
162 ],
163 "valueName": "current"
164 },
165 {
166 "cacheTimeout": null,
167 "colorBackground": false,
168 "colorValue": false,
169 "colors": [
170 "rgba(71, 212, 59, 0.4)",
171 "rgba(245, 150, 40, 0.73)",
172 "rgba(225, 40, 40, 0.59)"
173 ],
174 "datasource": null,
175 "editable": true,
176 "error": false,
177 "format": "none",
178 "gauge": {
179 "maxValue": 100,
180 "minValue": 0,
181 "show": false,
182 "thresholdLabels": false,
183 "thresholdMarkers": true
184 },
185 "id": 13,
186 "interval": "> 60s",
187 "links": [],
188 "maxDataPoints": 100,
189 "nullPointMode": "connected",
190 "nullText": null,
191 "postfix": "",
192 "postfixFontSize": "50%",
193 "prefix": "",
194 "prefixFontSize": "50%",
195 "span": 2,
196 "sparkline": {
197 "fillColor": "rgba(31, 118, 189, 0.18)",
198 "full": false,
199 "lineColor": "rgb(31, 120, 193)",
200 "show": true
201 },
202 "targets": [
203 {
204 "column": "value",
205 "condition": "",
206 "dsType": "influxdb",
207 "fill": "",
208 "function": "count",
209 "groupBy": [
210 {
211 "interval": "auto",
212 "params": [
213 "auto"
214 ],
215 "type": "time"
216 },
217 {
218 "params": [
219 "0"
220 ],
221 "type": "fill"
222 }
223 ],
224 "groupby_field": "",
225 "interval": "",
226 "measurement": "openstack_heat_http_response_times",
227 "policy": "default",
228 "query": "SELECT sum(\"count\") FROM \"openstack_heat_http_response_times\" WHERE \"hostname\" =~ /$server/ AND \"http_status\" = '5xx' AND $timeFilter GROUP BY time($interval) fill(0)",
229 "rawQuery": false,
230 "refId": "A",
231 "resultFormat": "time_series",
232 "select": [
233 [
234 {
235 "params": [
236 "count"
237 ],
238 "type": "field"
239 },
240 {
241 "params": [],
242 "type": "sum"
243 }
244 ]
245 ],
246 "tags": [
247 {
248 "key": "hostname",
249 "operator": "=~",
250 "value": "/$server/"
251 },
252 {
253 "condition": "AND",
254 "key": "http_status",
255 "operator": "=",
256 "value": "5xx"
257 }
258 ]
259 }
260 ],
261 "thresholds": "0,1",
262 "title": "HTTP 5xx errors",
263 "type": "singlestat",
264 "valueFontSize": "80%",
265 "valueMaps": [
266 {
267 "op": "=",
268 "text": "0",
269 "value": "null"
270 }
271 ],
272 "valueName": "current"
273 },
274 {
275 "aliasColors": {},
276 "bars": false,
277 "datasource": null,
278 "editable": true,
279 "error": false,
280 "fill": 0,
281 "grid": {
282 "threshold1": null,
283 "threshold1Color": "rgba(216, 200, 27, 0.27)",
284 "threshold2": null,
285 "threshold2Color": "rgba(234, 112, 112, 0.22)"
286 },
287 "id": 7,
288 "interval": ">60s",
289 "legend": {
290 "alignAsTable": true,
291 "avg": true,
292 "current": false,
293 "max": true,
294 "min": true,
295 "show": true,
296 "total": false,
297 "values": true
298 },
299 "lines": true,
300 "linewidth": 1,
301 "links": [],
302 "nullPointMode": "connected",
303 "percentage": false,
304 "pointradius": 5,
305 "points": false,
306 "renderer": "flot",
307 "seriesOverrides": [],
308 "span": 8,
309 "stack": false,
310 "steppedLine": false,
311 "targets": [
312 {
313 "alias": "GET",
314 "column": "value",
315 "dsType": "influxdb",
316 "function": "mean",
317 "groupBy": [
318 {
319 "interval": "auto",
320 "params": [
321 "auto"
322 ],
323 "type": "time"
324 }
325 ],
326 "interval": "",
327 "measurement": "openstack_heat_http_response_times",
328 "policy": "default",
329 "query": "SELECT max(\"upper_90\") FROM \"openstack_heat_http_response_times\" WHERE \"hostname\" =~ /$server/ AND \"http_method\" = 'GET' AND $timeFilter GROUP BY time($interval) fill(0)",
330 "rawQuery": true,
331 "refId": "A",
332 "resultFormat": "time_series",
333 "select": [
334 [
335 {
336 "params": [
337 "value"
338 ],
339 "type": "field"
340 },
341 {
342 "params": [],
343 "type": "mean"
344 }
345 ]
346 ],
347 "tags": [
348 {
349 "key": "hostname",
350 "operator": "=~",
351 "value": "/$server/"
352 },
353 {
354 "condition": "AND",
355 "key": "http_method",
356 "operator": "=",
357 "value": "GET"
358 }
359 ]
360 },
361 {
362 "alias": "POST",
363 "column": "value",
364 "dsType": "influxdb",
365 "function": "mean",
366 "groupBy": [
367 {
368 "interval": "auto",
369 "params": [
370 "auto"
371 ],
372 "type": "time"
373 }
374 ],
375 "interval": "",
376 "measurement": "openstack_heat_http_responses",
377 "policy": "default",
378 "query": "SELECT max(\"upper_90\") FROM \"openstack_heat_http_response_times\" WHERE \"hostname\" =~ /$server/ AND \"http_method\" = 'POST' AND $timeFilter GROUP BY time($interval) fill(0)",
379 "rawQuery": true,
380 "refId": "B",
381 "resultFormat": "time_series",
382 "select": [
383 [
384 {
385 "params": [
386 "value"
387 ],
388 "type": "field"
389 },
390 {
391 "params": [],
392 "type": "mean"
393 }
394 ]
395 ],
396 "tags": [
397 {
398 "key": "hostname",
399 "operator": "=~",
400 "value": "/$server/"
401 },
402 {
403 "condition": "AND",
404 "key": "http_method",
405 "operator": "=",
406 "value": "POST"
407 }
408 ]
409 },
410 {
411 "alias": "PUT",
412 "column": "value",
413 "dsType": "influxdb",
414 "function": "mean",
415 "groupBy": [
416 {
417 "interval": "auto",
418 "params": [
419 "auto"
420 ],
421 "type": "time"
422 }
423 ],
424 "interval": "",
425 "measurement": "openstack_heat_http_responses",
426 "policy": "default",
427 "query": "SELECT max(\"upper_90\") FROM \"openstack_heat_http_response_times\" WHERE \"hostname\" =~ /$server/ AND \"http_method\" = 'PUT' AND $timeFilter GROUP BY time($interval) fill(0)",
428 "rawQuery": true,
429 "refId": "C",
430 "resultFormat": "time_series",
431 "select": [
432 [
433 {
434 "params": [
435 "value"
436 ],
437 "type": "field"
438 },
439 {
440 "params": [],
441 "type": "mean"
442 }
443 ]
444 ],
445 "tags": [
446 {
447 "key": "hostname",
448 "operator": "=~",
449 "value": "/$server/"
450 },
451 {
452 "condition": "AND",
453 "key": "http_method",
454 "operator": "=",
455 "value": "PUT"
456 }
457 ]
458 },
459 {
460 "alias": "DELETE",
461 "column": "value",
462 "dsType": "influxdb",
463 "function": "mean",
464 "groupBy": [
465 {
466 "interval": "auto",
467 "params": [
468 "auto"
469 ],
470 "type": "time"
471 }
472 ],
473 "interval": "",
474 "measurement": "openstack_heat_http_responses",
475 "policy": "default",
476 "query": "SELECT max(\"upper_90\") FROM \"openstack_heat_http_response_times\" WHERE \"hostname\" =~ /$server/ AND \"http_method\" = 'DELETE' AND $timeFilter GROUP BY time($interval) fill(0)",
477 "rawQuery": true,
478 "refId": "D",
479 "resultFormat": "time_series",
480 "select": [
481 [
482 {
483 "params": [
484 "value"
485 ],
486 "type": "field"
487 },
488 {
489 "params": [],
490 "type": "mean"
491 }
492 ]
493 ],
494 "tags": [
495 {
496 "key": "hostname",
497 "operator": "=~",
498 "value": "/$server/"
499 },
500 {
501 "condition": "AND",
502 "key": "http_method",
503 "operator": "=",
504 "value": "DELETE"
505 }
506 ]
507 }
508 ],
509 "timeFrom": null,
510 "timeShift": null,
511 "title": "HTTP response time on $server",
512 "tooltip": {
513 "msResolution": false,
514 "shared": true,
515 "value_type": "cumulative"
516 },
517 "type": "graph",
518 "xaxis": {
519 "show": true
520 },
521 "yaxes": [
522 {
523 "format": "s",
524 "logBase": 1,
525 "max": null,
526 "min": 0,
527 "show": true
528 },
529 {
530 "format": "short",
531 "logBase": 1,
532 "max": null,
533 "min": 0,
534 "show": true
535 }
536 ]
537 },
538 {
539 "aliasColors": {},
540 "bars": false,
541 "datasource": null,
542 "editable": true,
543 "error": false,
544 "fill": 1,
545 "grid": {
546 "threshold1": null,
547 "threshold1Color": "rgba(216, 200, 27, 0.27)",
548 "threshold2": null,
549 "threshold2Color": "rgba(234, 112, 112, 0.22)",
550 "thresholdLine": false
551 },
552 "id": 9,
553 "interval": "> 60s",
554 "legend": {
555 "avg": false,
556 "current": false,
557 "max": false,
558 "min": false,
559 "show": false,
560 "total": false,
561 "values": false
562 },
563 "lines": true,
564 "linewidth": 2,
565 "links": [],
566 "nullPointMode": "connected",
567 "percentage": false,
568 "pointradius": 5,
569 "points": false,
570 "renderer": "flot",
571 "seriesOverrides": [],
572 "span": 4,
573 "stack": false,
574 "steppedLine": true,
575 "targets": [
576 {
577 "alias": "healthy",
578 "column": "value",
579 "dsType": "influxdb",
580 "function": "last",
581 "groupBy": [
582 {
583 "params": [
584 "$interval"
585 ],
586 "type": "time"
587 },
588 {
589 "params": [
590 "0"
591 ],
592 "type": "fill"
593 }
594 ],
595 "groupByTags": [],
596 "measurement": "openstack_check_api",
597 "policy": "default",
Éric Lemoine398d7ac2016-11-02 16:13:39 +0100598 "query": "SELECT last(\"value\") FROM \"openstack_check_api\" WHERE \"environment_label\" =~ /^$environment$/ AND \"service\" = 'heat-api' AND $timeFilter GROUP BY time($interval) fill(0)",
Guillaume Thouvenin70ca6672016-10-26 11:25:37 +0200599 "rawQuery": false,
600 "refId": "A",
601 "resultFormat": "time_series",
602 "select": [
603 [
604 {
605 "params": [
606 "value"
607 ],
608 "type": "field"
609 },
610 {
611 "params": [],
612 "type": "last"
613 }
614 ]
615 ],
616 "tags": [
617 {
618 "key": "environment_label",
619 "operator": "=",
620 "value": "$environment"
621 },
622 {
623 "key": "service",
624 "operator": "=",
625 "value": "heat-api"
626 }
627 ]
628 }
629 ],
630 "timeFrom": null,
631 "timeShift": null,
632 "title": "API Availability",
633 "tooltip": {
634 "msResolution": false,
635 "shared": false,
636 "value_type": "cumulative"
637 },
638 "type": "graph",
639 "xaxis": {
640 "show": true
641 },
642 "yaxes": [
643 {
644 "format": "none",
645 "label": "",
646 "logBase": 1,
647 "max": 1,
648 "min": 0,
649 "show": false
650 },
651 {
652 "format": "short",
653 "logBase": 1,
654 "max": null,
655 "min": null,
656 "show": false
657 }
658 ]
659 },
660 {
661 "aliasColors": {},
662 "bars": true,
663 "datasource": null,
664 "editable": true,
665 "error": false,
666 "fill": 0,
667 "grid": {
668 "threshold1": null,
669 "threshold1Color": "rgba(216, 200, 27, 0.27)",
670 "threshold2": null,
671 "threshold2Color": "rgba(234, 112, 112, 0.22)",
672 "thresholdLine": false
673 },
674 "id": 8,
675 "interval": "> 60s",
676 "legend": {
677 "alignAsTable": true,
678 "avg": false,
679 "current": false,
680 "hideEmpty": false,
681 "max": true,
682 "min": true,
683 "rightSide": false,
684 "show": true,
685 "total": true,
686 "values": true
687 },
688 "lines": false,
689 "linewidth": 1,
690 "links": [],
691 "nullPointMode": "connected",
692 "percentage": false,
693 "pointradius": 5,
694 "points": false,
695 "renderer": "flot",
696 "seriesOverrides": [],
697 "span": 8,
698 "stack": true,
699 "steppedLine": false,
700 "targets": [
701 {
702 "alias": "2xx",
703 "column": "value",
704 "dsType": "influxdb",
705 "function": "count",
706 "groupBy": [
707 {
708 "interval": "auto",
709 "params": [
710 "auto"
711 ],
712 "type": "time"
713 },
714 {
715 "params": [
716 "0"
717 ],
718 "type": "fill"
719 }
720 ],
721 "interval": "",
722 "measurement": "openstack_heat_http_response_times",
723 "policy": "default",
724 "query": "SELECT sum(\"count\") FROM \"openstack_heat_http_response_times\" WHERE \"hostname\" =~ /$server/ AND \"http_status\" = '2xx' AND $timeFilter GROUP BY time($interval) fill(0)",
725 "rawQuery": false,
726 "refId": "A",
727 "resultFormat": "time_series",
728 "select": [
729 [
730 {
731 "params": [
732 "count"
733 ],
734 "type": "field"
735 },
736 {
737 "params": [],
738 "type": "sum"
739 }
740 ]
741 ],
742 "tags": [
743 {
744 "key": "hostname",
745 "operator": "=~",
746 "value": "/$server/"
747 },
748 {
749 "condition": "AND",
750 "key": "http_status",
751 "operator": "=",
752 "value": "2xx"
753 }
754 ]
755 },
756 {
757 "alias": "1xx",
758 "column": "value",
759 "dsType": "influxdb",
760 "function": "count",
761 "groupBy": [
762 {
763 "interval": "auto",
764 "params": [
765 "auto"
766 ],
767 "type": "time"
768 },
769 {
770 "params": [
771 "0"
772 ],
773 "type": "fill"
774 }
775 ],
776 "hide": false,
777 "interval": "",
778 "measurement": "openstack_heat_http_response_times",
779 "policy": "default",
780 "query": "SELECT sum(\"count\") FROM \"openstack_heat_http_response_times\" WHERE \"hostname\" =~ /$server/ AND \"http_status\" = '1xx' AND $timeFilter GROUP BY time($interval) fill(0)",
781 "rawQuery": false,
782 "refId": "B",
783 "resultFormat": "time_series",
784 "select": [
785 [
786 {
787 "params": [
788 "count"
789 ],
790 "type": "field"
791 },
792 {
793 "params": [],
794 "type": "sum"
795 }
796 ]
797 ],
798 "tags": [
799 {
800 "key": "hostname",
801 "operator": "=~",
802 "value": "/$server/"
803 },
804 {
805 "condition": "AND",
806 "key": "http_status",
807 "operator": "=",
808 "value": "1xx"
809 }
810 ]
811 },
812 {
813 "alias": "3xx",
814 "column": "value",
815 "dsType": "influxdb",
816 "function": "count",
817 "groupBy": [
818 {
819 "interval": "auto",
820 "params": [
821 "auto"
822 ],
823 "type": "time"
824 },
825 {
826 "params": [
827 "0"
828 ],
829 "type": "fill"
830 }
831 ],
832 "hide": false,
833 "interval": "",
834 "measurement": "openstack_heat_http_response_times",
835 "policy": "default",
836 "query": "SELECT sum(\"count\") FROM \"openstack_heat_http_response_times\" WHERE \"hostname\" =~ /$server/ AND \"http_status\" = '3xx' AND $timeFilter GROUP BY time($interval) fill(0)",
837 "rawQuery": false,
838 "refId": "C",
839 "resultFormat": "time_series",
840 "select": [
841 [
842 {
843 "params": [
844 "count"
845 ],
846 "type": "field"
847 },
848 {
849 "params": [],
850 "type": "sum"
851 }
852 ]
853 ],
854 "tags": [
855 {
856 "key": "hostname",
857 "operator": "=~",
858 "value": "/$server/"
859 },
860 {
861 "condition": "AND",
862 "key": "http_status",
863 "operator": "=",
864 "value": "3xx"
865 }
866 ]
867 },
868 {
869 "alias": "4xx",
870 "column": "value",
871 "dsType": "influxdb",
872 "function": "count",
873 "groupBy": [
874 {
875 "interval": "auto",
876 "params": [
877 "auto"
878 ],
879 "type": "time"
880 },
881 {
882 "params": [
883 "0"
884 ],
885 "type": "fill"
886 }
887 ],
888 "hide": false,
889 "interval": "",
890 "measurement": "openstack_heat_http_response_times",
891 "policy": "default",
892 "query": "SELECT sum(\"count\") FROM \"openstack_heat_http_response_times\" WHERE \"hostname\" =~ /$server/ AND \"http_status\" = '4xx' AND $timeFilter GROUP BY time($interval) fill(0)",
893 "rawQuery": false,
894 "refId": "D",
895 "resultFormat": "time_series",
896 "select": [
897 [
898 {
899 "params": [
900 "count"
901 ],
902 "type": "field"
903 },
904 {
905 "params": [],
906 "type": "sum"
907 }
908 ]
909 ],
910 "tags": [
911 {
912 "key": "hostname",
913 "operator": "=~",
914 "value": "/$server/"
915 },
916 {
917 "condition": "AND",
918 "key": "http_status",
919 "operator": "=",
920 "value": "4xx"
921 }
922 ]
923 },
924 {
925 "alias": "5xx",
926 "column": "value",
927 "dsType": "influxdb",
928 "function": "count",
929 "groupBy": [
930 {
931 "interval": "auto",
932 "params": [
933 "auto"
934 ],
935 "type": "time"
936 },
937 {
938 "params": [
939 "0"
940 ],
941 "type": "fill"
942 }
943 ],
944 "hide": false,
945 "interval": "",
946 "measurement": "openstack_heat_http_response_times",
947 "policy": "default",
948 "query": "SELECT sum(\"count\") FROM \"openstack_heat_http_response_times\" WHERE \"hostname\" =~ /$server/ AND \"http_status\" = '5xx' AND $timeFilter GROUP BY time($interval) fill(0)",
949 "rawQuery": false,
950 "refId": "E",
951 "resultFormat": "time_series",
952 "select": [
953 [
954 {
955 "params": [
956 "count"
957 ],
958 "type": "field"
959 },
960 {
961 "params": [],
962 "type": "sum"
963 }
964 ]
965 ],
966 "tags": [
967 {
968 "key": "hostname",
969 "operator": "=~",
970 "value": "/$server/"
971 },
972 {
973 "condition": "AND",
974 "key": "http_status",
975 "operator": "=",
976 "value": "5xx"
977 }
978 ]
979 }
980 ],
981 "timeFrom": null,
982 "timeShift": null,
983 "title": "Number of HTTP responses on $server",
984 "tooltip": {
985 "msResolution": false,
986 "shared": true,
987 "value_type": "individual"
988 },
989 "type": "graph",
990 "xaxis": {
991 "show": true
992 },
993 "yaxes": [
994 {
995 "format": "short",
996 "logBase": 1,
997 "max": null,
998 "min": 0,
999 "show": true
1000 },
1001 {
1002 "format": "short",
1003 "logBase": 1,
1004 "max": null,
1005 "min": null,
1006 "show": true
1007 }
1008 ]
1009 }
1010 ],
1011 "showTitle": true,
1012 "title": "Service Status"
1013 },
1014 {
1015 "collapse": false,
1016 "editable": true,
1017 "height": "100px",
1018 "panels": [
1019 {
1020 "content": "<br />\n<h3 align=\"center\"> Up </h3>\n",
1021 "editable": true,
1022 "error": false,
1023 "id": 57,
1024 "links": [],
1025 "mode": "html",
1026 "span": 2,
1027 "style": {},
1028 "title": "",
1029 "type": "text"
1030 },
1031 {
1032 "cacheTimeout": null,
1033 "colorBackground": false,
1034 "colorValue": false,
1035 "colors": [
1036 "rgba(71, 212, 59, 0.4)",
1037 "rgba(245, 150, 40, 0.73)",
1038 "rgba(225, 40, 40, 0.59)"
1039 ],
1040 "datasource": null,
1041 "editable": true,
1042 "error": false,
1043 "format": "none",
1044 "gauge": {
1045 "maxValue": 100,
1046 "minValue": 0,
1047 "show": false,
1048 "thresholdLabels": false,
1049 "thresholdMarkers": true
1050 },
1051 "id": 52,
1052 "interval": "> 60s",
1053 "links": [],
1054 "maxDataPoints": 100,
1055 "nullPointMode": "connected",
1056 "nullText": null,
1057 "postfix": "",
1058 "postfixFontSize": "50%",
1059 "prefix": "",
1060 "prefixFontSize": "50%",
1061 "span": 2,
1062 "sparkline": {
1063 "fillColor": "rgba(31, 118, 189, 0.18)",
1064 "full": false,
1065 "lineColor": "rgb(31, 120, 193)",
1066 "show": false
1067 },
1068 "targets": [
1069 {
1070 "column": "value",
1071 "dsType": "influxdb",
1072 "fill": "",
1073 "function": "last",
1074 "groupBy": [
1075 {
1076 "params": [
1077 "$interval"
1078 ],
1079 "type": "time"
1080 },
1081 {
1082 "params": [
1083 "null"
1084 ],
1085 "type": "fill"
1086 }
1087 ],
1088 "groupByTags": [],
1089 "measurement": "haproxy_backend_servers",
1090 "policy": "default",
Éric Lemoine398d7ac2016-11-02 16:13:39 +01001091 "query": "SELECT last(\"value\") FROM \"haproxy_backend_servers\" WHERE \"environment_label\" =~ /^$environment$/ AND \"backend\" = 'heat-api' AND \"state\" = 'up' AND $timeFilter GROUP BY time($interval) fill(null)",
Guillaume Thouvenin70ca6672016-10-26 11:25:37 +02001092 "rawQuery": false,
1093 "refId": "A",
1094 "resultFormat": "time_series",
1095 "select": [
1096 [
1097 {
1098 "params": [
1099 "value"
1100 ],
1101 "type": "field"
1102 },
1103 {
1104 "params": [],
1105 "type": "last"
1106 }
1107 ]
1108 ],
1109 "tags": [
1110 {
1111 "key": "environment_label",
1112 "operator": "=",
1113 "value": "$environment"
1114 },
1115 {
1116 "key": "backend",
1117 "value": "heat-api"
1118 },
1119 {
1120 "condition": "AND",
1121 "key": "state",
1122 "value": "up"
1123 }
1124 ]
1125 }
1126 ],
1127 "thresholds": "1,1",
1128 "title": "OpenStack",
1129 "type": "singlestat",
1130 "valueFontSize": "80%",
1131 "valueMaps": [
1132 {
1133 "op": "=",
1134 "text": "N/A",
1135 "value": "null"
1136 }
1137 ],
1138 "valueName": "current"
1139 },
1140 {
1141 "cacheTimeout": null,
1142 "colorBackground": false,
1143 "colorValue": false,
1144 "colors": [
1145 "rgba(71, 212, 59, 0.4)",
1146 "rgba(245, 150, 40, 0.73)",
1147 "rgba(225, 40, 40, 0.59)"
1148 ],
1149 "datasource": null,
1150 "editable": true,
1151 "error": false,
1152 "format": "none",
1153 "gauge": {
1154 "maxValue": 100,
1155 "minValue": 0,
1156 "show": false,
1157 "thresholdLabels": false,
1158 "thresholdMarkers": true
1159 },
1160 "id": 53,
1161 "interval": "> 60s",
1162 "links": [],
1163 "maxDataPoints": 100,
1164 "nullPointMode": "connected",
1165 "nullText": null,
1166 "postfix": "",
1167 "postfixFontSize": "50%",
1168 "prefix": "",
1169 "prefixFontSize": "50%",
1170 "span": 2,
1171 "sparkline": {
1172 "fillColor": "rgba(31, 118, 189, 0.18)",
1173 "full": false,
1174 "lineColor": "rgb(31, 120, 193)",
1175 "show": false
1176 },
1177 "targets": [
1178 {
1179 "column": "value",
1180 "dsType": "influxdb",
1181 "fill": "",
1182 "function": "last",
1183 "groupBy": [
1184 {
1185 "params": [
1186 "$interval"
1187 ],
1188 "type": "time"
1189 },
1190 {
1191 "params": [
1192 "null"
1193 ],
1194 "type": "fill"
1195 }
1196 ],
1197 "groupByTags": [],
1198 "measurement": "haproxy_backend_servers",
1199 "policy": "default",
Éric Lemoine398d7ac2016-11-02 16:13:39 +01001200 "query": "SELECT last(\"value\") FROM \"haproxy_backend_servers\" WHERE \"environment_label\" =~ /^$environment$/ AND \"backend\" = 'heat-cfn-api' AND \"state\" = 'up' AND $timeFilter GROUP BY time($interval) fill(null)",
Guillaume Thouvenin70ca6672016-10-26 11:25:37 +02001201 "rawQuery": false,
1202 "refId": "A",
1203 "resultFormat": "time_series",
1204 "select": [
1205 [
1206 {
1207 "params": [
1208 "value"
1209 ],
1210 "type": "field"
1211 },
1212 {
1213 "params": [],
1214 "type": "last"
1215 }
1216 ]
1217 ],
1218 "tags": [
1219 {
1220 "key": "environment_label",
1221 "operator": "=",
1222 "value": "$environment"
1223 },
1224 {
1225 "key": "backend",
1226 "value": "heat-cfn-api"
1227 },
1228 {
1229 "condition": "AND",
1230 "key": "state",
1231 "value": "up"
1232 }
1233 ]
1234 }
1235 ],
1236 "thresholds": "1,1",
1237 "title": "CloudFormation",
1238 "type": "singlestat",
1239 "valueFontSize": "80%",
1240 "valueMaps": [
1241 {
1242 "op": "=",
1243 "text": "N/A",
1244 "value": "null"
1245 }
1246 ],
1247 "valueName": "current"
1248 },
1249 {
1250 "content": "<br />\n<h3 align=\"center\"> </h3>",
1251 "editable": true,
1252 "error": false,
1253 "id": 56,
1254 "links": [],
1255 "mode": "html",
1256 "span": 6,
1257 "style": {},
1258 "title": "",
1259 "type": "text"
1260 },
1261 {
1262 "content": "<br />\n<h3 align=\"center\"> Down </h3>\n",
1263 "editable": true,
1264 "error": false,
1265 "id": 58,
1266 "links": [],
1267 "mode": "html",
1268 "span": 2,
1269 "style": {},
1270 "title": "",
1271 "type": "text"
1272 },
1273 {
1274 "cacheTimeout": null,
1275 "colorBackground": false,
1276 "colorValue": true,
1277 "colors": [
1278 "rgba(255, 255, 255, 0.97)",
1279 "rgba(237, 129, 40, 0.89)",
1280 "rgba(245, 54, 54, 0.9)"
1281 ],
1282 "datasource": null,
1283 "editable": true,
1284 "error": false,
1285 "format": "none",
1286 "gauge": {
1287 "maxValue": 100,
1288 "minValue": 0,
1289 "show": false,
1290 "thresholdLabels": false,
1291 "thresholdMarkers": true
1292 },
1293 "id": 59,
1294 "interval": "> 60s",
1295 "links": [],
1296 "maxDataPoints": 100,
1297 "nullPointMode": "connected",
1298 "nullText": null,
1299 "postfix": "",
1300 "postfixFontSize": "50%",
1301 "prefix": "",
1302 "prefixFontSize": "50%",
1303 "span": 2,
1304 "sparkline": {
1305 "fillColor": "rgba(31, 118, 189, 0.18)",
1306 "full": false,
1307 "lineColor": "rgb(31, 120, 193)",
1308 "show": false
1309 },
1310 "targets": [
1311 {
1312 "column": "value",
1313 "dsType": "influxdb",
1314 "fill": "",
1315 "function": "last",
1316 "groupBy": [
1317 {
1318 "params": [
1319 "$interval"
1320 ],
1321 "type": "time"
1322 },
1323 {
1324 "params": [
1325 "null"
1326 ],
1327 "type": "fill"
1328 }
1329 ],
1330 "groupByTags": [],
1331 "measurement": "haproxy_backend_servers",
1332 "policy": "default",
Éric Lemoine398d7ac2016-11-02 16:13:39 +01001333 "query": "SELECT last(\"value\") FROM \"haproxy_backend_servers\" WHERE \"environment_label\" =~ /^$environment$/ AND \"backend\" = 'heat-api' AND \"state\" = 'down' AND $timeFilter GROUP BY time($interval) fill(null)",
Guillaume Thouvenin70ca6672016-10-26 11:25:37 +02001334 "rawQuery": false,
1335 "refId": "A",
1336 "resultFormat": "time_series",
1337 "select": [
1338 [
1339 {
1340 "params": [
1341 "value"
1342 ],
1343 "type": "field"
1344 },
1345 {
1346 "params": [],
1347 "type": "last"
1348 }
1349 ]
1350 ],
1351 "tags": [
1352 {
1353 "key": "environment_label",
1354 "operator": "=",
1355 "value": "$environment"
1356 },
1357 {
1358 "key": "backend",
1359 "value": "heat-api"
1360 },
1361 {
1362 "condition": "AND",
1363 "key": "state",
1364 "value": "down"
1365 }
1366 ]
1367 }
1368 ],
1369 "thresholds": "1,1",
1370 "title": "",
1371 "type": "singlestat",
1372 "valueFontSize": "80%",
1373 "valueMaps": [
1374 {
1375 "op": "=",
1376 "text": "N/A",
1377 "value": "null"
1378 }
1379 ],
1380 "valueName": "current"
1381 },
1382 {
1383 "cacheTimeout": null,
1384 "colorBackground": false,
1385 "colorValue": true,
1386 "colors": [
1387 "rgba(255, 255, 255, 0.97)",
1388 "rgba(237, 129, 40, 0.89)",
1389 "rgba(245, 54, 54, 0.9)"
1390 ],
1391 "datasource": null,
1392 "editable": true,
1393 "error": false,
1394 "format": "none",
1395 "gauge": {
1396 "maxValue": 100,
1397 "minValue": 0,
1398 "show": false,
1399 "thresholdLabels": false,
1400 "thresholdMarkers": true
1401 },
1402 "id": 60,
1403 "interval": "> 60s",
1404 "links": [],
1405 "maxDataPoints": 100,
1406 "nullPointMode": "connected",
1407 "nullText": null,
1408 "postfix": "",
1409 "postfixFontSize": "50%",
1410 "prefix": "",
1411 "prefixFontSize": "50%",
1412 "span": 2,
1413 "sparkline": {
1414 "fillColor": "rgba(31, 118, 189, 0.18)",
1415 "full": false,
1416 "lineColor": "rgb(31, 120, 193)",
1417 "show": false
1418 },
1419 "targets": [
1420 {
1421 "column": "value",
1422 "dsType": "influxdb",
1423 "fill": "",
1424 "function": "last",
1425 "groupBy": [
1426 {
1427 "params": [
1428 "$interval"
1429 ],
1430 "type": "time"
1431 },
1432 {
1433 "params": [
1434 "null"
1435 ],
1436 "type": "fill"
1437 }
1438 ],
1439 "groupByTags": [],
1440 "measurement": "haproxy_backend_servers",
1441 "policy": "default",
Éric Lemoine398d7ac2016-11-02 16:13:39 +01001442 "query": "SELECT last(\"value\") FROM \"haproxy_backend_servers\" WHERE \"environment_label\" =~ /^$environment$/ AND \"backend\" = 'heat-cfn-api' AND \"state\" = 'down' AND $timeFilter GROUP BY time($interval) fill(null)",
Guillaume Thouvenin70ca6672016-10-26 11:25:37 +02001443 "rawQuery": false,
1444 "refId": "A",
1445 "resultFormat": "time_series",
1446 "select": [
1447 [
1448 {
1449 "params": [
1450 "value"
1451 ],
1452 "type": "field"
1453 },
1454 {
1455 "params": [],
1456 "type": "last"
1457 }
1458 ]
1459 ],
1460 "tags": [
1461 {
1462 "key": "environment_label",
1463 "operator": "=",
1464 "value": "$environment"
1465 },
1466 {
1467 "key": "backend",
1468 "value": "heat-cfn-api"
1469 },
1470 {
1471 "condition": "AND",
1472 "key": "state",
1473 "value": "down"
1474 }
1475 ]
1476 }
1477 ],
1478 "thresholds": "1,1",
1479 "title": "",
1480 "type": "singlestat",
1481 "valueFontSize": "80%",
1482 "valueMaps": [
1483 {
1484 "op": "=",
1485 "text": "N/A",
1486 "value": "null"
1487 }
1488 ],
1489 "valueName": "current"
1490 },
1491 {
1492 "content": "<br />\n<h3 align=\"center\"> </h3>",
1493 "editable": true,
1494 "error": false,
1495 "id": 63,
1496 "links": [],
1497 "mode": "html",
1498 "span": 6,
1499 "style": {},
1500 "title": "",
1501 "type": "text"
1502 }
1503 ],
1504 "showTitle": true,
1505 "title": "Heat API"
1506 }
1507 ],
1508 "schemaVersion": 12,
1509 "sharedCrosshair": true,
1510 "style": "dark",
1511 "tags": [],
1512 "templating": {
1513 "enable": true,
1514 "list": [
1515 {
1516 "allFormat": "regex values",
1517 "current": {},
1518 "datasource": null,
1519 "hide": 0,
1520 "includeAll": false,
1521 "name": "environment",
1522 "options": [],
1523 "query": "show tag values from cpu_idle with key = environment_label",
1524 "refresh": 1,
1525 "refresh_on_load": true,
1526 "regex": "",
1527 "type": "query"
1528 },
1529 {
1530 "allFormat": "regex values",
1531 "current": {},
1532 "datasource": null,
1533 "hide": 0,
1534 "includeAll": true,
1535 "name": "server",
1536 "options": [],
Guillaume Thouvenincf021402016-11-04 11:52:17 +01001537 "query": "show tag values from openstack_heat_http_response_times with key = hostname where environment_label =~ /^$environment$/",
Guillaume Thouvenin70ca6672016-10-26 11:25:37 +02001538 "refresh": 1,
1539 "refresh_on_load": true,
1540 "regex": "",
1541 "type": "query"
1542 }
1543 ]
1544 },
1545 "time": {
1546 "from": "now-1h",
1547 "to": "now"
1548 },
1549 "timepicker": {
1550 "collapse": false,
1551 "enable": true,
1552 "notice": false,
1553 "now": true,
1554 "refresh_intervals": [
1555 "5s",
1556 "10s",
1557 "30s",
1558 "1m",
1559 "5m",
1560 "15m",
1561 "30m",
1562 "1h",
1563 "2h",
1564 "1d"
1565 ],
1566 "status": "Stable",
1567 "time_options": [
1568 "5m",
1569 "15m",
1570 "1h",
1571 "6h",
1572 "12h",
1573 "24h",
1574 "2d",
1575 "7d",
1576 "30d"
1577 ],
1578 "type": "timepicker"
1579 },
1580 "timezone": "browser",
1581 "title": "Heat",
1582 "version": 2
1583}