├── DownDetector-Grafana.json
├── LICENSE.txt
├── README.md
├── downdetector.py
├── downdetectorDiscovery.py
├── downdetectorlist.list
├── icons
├── amazon-prime.png
├── amazon-web-services.png
├── caixa.png
├── facebook.png
├── gmail.png
├── mercado-livre.png
├── messenger.png
├── netflix.png
├── spotify.png
├── telegram.png
├── whatsapp.png
└── youtube.png
├── requirements.txt
├── screencapture
├── screencapture-grafana.png
├── screencapture-zabbix-grafico.png
└── screencapture-zabbix.png
├── zbx_export_hosts.xml
├── zbx_export_templates.xml
└── zbx_export_valuemaps.xml
/DownDetector-Grafana.json:
--------------------------------------------------------------------------------
1 | {
2 | "annotations": {
3 | "list": [
4 | {
5 | "$$hashKey": "object:2988",
6 | "builtIn": 1,
7 | "datasource": "-- Grafana --",
8 | "enable": true,
9 | "hide": true,
10 | "iconColor": "rgba(0, 211, 255, 1)",
11 | "name": "Annotations & Alerts",
12 | "type": "dashboard"
13 | }
14 | ]
15 | },
16 | "description": "Monitoramento sites Down Detector",
17 | "editable": true,
18 | "gnetId": null,
19 | "graphTooltip": 0,
20 | "id": 33,
21 | "links": [],
22 | "panels": [
23 | {
24 | "content": "
",
25 | "datasource": null,
26 | "gridPos": {
27 | "h": 2,
28 | "w": 2,
29 | "x": 0,
30 | "y": 0
31 | },
32 | "id": 7,
33 | "links": [],
34 | "mode": "html",
35 | "title": "",
36 | "transparent": true,
37 | "type": "text"
38 | },
39 | {
40 | "cacheTimeout": null,
41 | "colorBackground": false,
42 | "colorValue": true,
43 | "colors": [
44 | "#299c46",
45 | "rgba(237, 129, 40, 0.89)",
46 | "#d44a3a"
47 | ],
48 | "datasource": null,
49 | "description": "",
50 | "format": "none",
51 | "gauge": {
52 | "maxValue": 100,
53 | "minValue": 0,
54 | "show": false,
55 | "thresholdLabels": false,
56 | "thresholdMarkers": true
57 | },
58 | "gridPos": {
59 | "h": 2,
60 | "w": 4,
61 | "x": 2,
62 | "y": 0
63 | },
64 | "hideTimeOverride": false,
65 | "id": 12,
66 | "interval": null,
67 | "links": [],
68 | "mappingType": 1,
69 | "mappingTypes": [
70 | {
71 | "$$hashKey": "object:3260",
72 | "name": "value to text",
73 | "value": 1
74 | },
75 | {
76 | "$$hashKey": "object:3261",
77 | "name": "range to text",
78 | "value": 2
79 | }
80 | ],
81 | "maxDataPoints": 100,
82 | "nullPointMode": "connected",
83 | "nullText": null,
84 | "postfix": "",
85 | "postfixFontSize": "50%",
86 | "prefix": "",
87 | "prefixFontSize": "50%",
88 | "rangeMaps": [
89 | {
90 | "from": "null",
91 | "text": "N/A",
92 | "to": "null"
93 | }
94 | ],
95 | "sparkline": {
96 | "fillColor": "rgba(31, 118, 189, 0.18)",
97 | "full": false,
98 | "lineColor": "rgb(31, 120, 193)",
99 | "show": false
100 | },
101 | "tableColumn": "",
102 | "targets": [
103 | {
104 | "application": {
105 | "filter": "Site"
106 | },
107 | "functions": [],
108 | "group": {
109 | "filter": "DownDetector"
110 | },
111 | "host": {
112 | "filter": "DownDetector"
113 | },
114 | "item": {
115 | "filter": "Whatsapp"
116 | },
117 | "mode": 0,
118 | "options": {
119 | "showDisabledItems": false,
120 | "skipEmptyValues": false
121 | },
122 | "refId": "A",
123 | "resultFormat": "time_series",
124 | "table": {
125 | "skipEmptyValues": false
126 | },
127 | "triggers": {
128 | "acknowledged": 2,
129 | "count": true,
130 | "minSeverity": 3
131 | },
132 | "useCaptureGroups": false
133 | }
134 | ],
135 | "thresholds": "1.1,2.1,3.1",
136 | "title": "",
137 | "transparent": true,
138 | "type": "singlestat",
139 | "valueFontSize": "80%",
140 | "valueMaps": [
141 | {
142 | "$$hashKey": "object:3263",
143 | "op": "=",
144 | "text": "✅ Normal",
145 | "value": "1"
146 | },
147 | {
148 | "$$hashKey": "object:3264",
149 | "op": "=",
150 | "text": "❗️ Intermitênte",
151 | "value": "2"
152 | },
153 | {
154 | "$$hashKey": "object:3265",
155 | "op": "=",
156 | "text": "❌ Instável",
157 | "value": "3"
158 | }
159 | ],
160 | "valueName": "current"
161 | },
162 | {
163 | "content": "
",
164 | "datasource": null,
165 | "gridPos": {
166 | "h": 2,
167 | "w": 2,
168 | "x": 6,
169 | "y": 0
170 | },
171 | "id": 6,
172 | "links": [],
173 | "mode": "html",
174 | "title": "",
175 | "transparent": true,
176 | "type": "text"
177 | },
178 | {
179 | "cacheTimeout": null,
180 | "colorBackground": false,
181 | "colorValue": true,
182 | "colors": [
183 | "#299c46",
184 | "rgba(237, 129, 40, 0.89)",
185 | "#d44a3a"
186 | ],
187 | "datasource": null,
188 | "description": "",
189 | "format": "none",
190 | "gauge": {
191 | "maxValue": 100,
192 | "minValue": 0,
193 | "show": false,
194 | "thresholdLabels": false,
195 | "thresholdMarkers": true
196 | },
197 | "gridPos": {
198 | "h": 2,
199 | "w": 4,
200 | "x": 8,
201 | "y": 0
202 | },
203 | "hideTimeOverride": false,
204 | "id": 2,
205 | "interval": null,
206 | "links": [],
207 | "mappingType": 1,
208 | "mappingTypes": [
209 | {
210 | "$$hashKey": "object:3260",
211 | "name": "value to text",
212 | "value": 1
213 | },
214 | {
215 | "$$hashKey": "object:3261",
216 | "name": "range to text",
217 | "value": 2
218 | }
219 | ],
220 | "maxDataPoints": 100,
221 | "nullPointMode": "connected",
222 | "nullText": null,
223 | "postfix": "",
224 | "postfixFontSize": "50%",
225 | "prefix": "",
226 | "prefixFontSize": "50%",
227 | "rangeMaps": [
228 | {
229 | "from": "null",
230 | "text": "N/A",
231 | "to": "null"
232 | }
233 | ],
234 | "sparkline": {
235 | "fillColor": "rgba(31, 118, 189, 0.18)",
236 | "full": false,
237 | "lineColor": "rgb(31, 120, 193)",
238 | "show": false
239 | },
240 | "tableColumn": "",
241 | "targets": [
242 | {
243 | "application": {
244 | "filter": "Site"
245 | },
246 | "functions": [],
247 | "group": {
248 | "filter": "DownDetector"
249 | },
250 | "host": {
251 | "filter": "DownDetector"
252 | },
253 | "item": {
254 | "filter": "Caixa Econômica Federal"
255 | },
256 | "mode": 0,
257 | "options": {
258 | "showDisabledItems": false,
259 | "skipEmptyValues": false
260 | },
261 | "refId": "A",
262 | "resultFormat": "time_series",
263 | "table": {
264 | "skipEmptyValues": false
265 | },
266 | "triggers": {
267 | "acknowledged": 2,
268 | "count": true,
269 | "minSeverity": 3
270 | },
271 | "useCaptureGroups": false
272 | }
273 | ],
274 | "thresholds": "1.1,2.1,3.1",
275 | "title": "",
276 | "transparent": true,
277 | "type": "singlestat",
278 | "valueFontSize": "80%",
279 | "valueMaps": [
280 | {
281 | "$$hashKey": "object:3263",
282 | "op": "=",
283 | "text": "✅ Normal",
284 | "value": "1"
285 | },
286 | {
287 | "$$hashKey": "object:3264",
288 | "op": "=",
289 | "text": "❗️ Intermitênte",
290 | "value": "2"
291 | },
292 | {
293 | "$$hashKey": "object:3265",
294 | "op": "=",
295 | "text": "❌ Instável",
296 | "value": "3"
297 | }
298 | ],
299 | "valueName": "current"
300 | },
301 | {
302 | "content": "
",
303 | "datasource": null,
304 | "gridPos": {
305 | "h": 2,
306 | "w": 2,
307 | "x": 0,
308 | "y": 2
309 | },
310 | "id": 9,
311 | "links": [],
312 | "mode": "html",
313 | "title": "",
314 | "transparent": true,
315 | "type": "text"
316 | },
317 | {
318 | "cacheTimeout": null,
319 | "colorBackground": false,
320 | "colorValue": true,
321 | "colors": [
322 | "#299c46",
323 | "rgba(237, 129, 40, 0.89)",
324 | "#d44a3a"
325 | ],
326 | "datasource": null,
327 | "description": "",
328 | "format": "none",
329 | "gauge": {
330 | "maxValue": 100,
331 | "minValue": 0,
332 | "show": false,
333 | "thresholdLabels": false,
334 | "thresholdMarkers": true
335 | },
336 | "gridPos": {
337 | "h": 2,
338 | "w": 4,
339 | "x": 2,
340 | "y": 2
341 | },
342 | "hideTimeOverride": false,
343 | "id": 13,
344 | "interval": null,
345 | "links": [],
346 | "mappingType": 1,
347 | "mappingTypes": [
348 | {
349 | "$$hashKey": "object:3260",
350 | "name": "value to text",
351 | "value": 1
352 | },
353 | {
354 | "$$hashKey": "object:3261",
355 | "name": "range to text",
356 | "value": 2
357 | }
358 | ],
359 | "maxDataPoints": 100,
360 | "nullPointMode": "connected",
361 | "nullText": null,
362 | "postfix": "",
363 | "postfixFontSize": "50%",
364 | "prefix": "",
365 | "prefixFontSize": "50%",
366 | "rangeMaps": [
367 | {
368 | "from": "null",
369 | "text": "N/A",
370 | "to": "null"
371 | }
372 | ],
373 | "sparkline": {
374 | "fillColor": "rgba(31, 118, 189, 0.18)",
375 | "full": false,
376 | "lineColor": "rgb(31, 120, 193)",
377 | "show": false
378 | },
379 | "tableColumn": "",
380 | "targets": [
381 | {
382 | "application": {
383 | "filter": "Site"
384 | },
385 | "functions": [],
386 | "group": {
387 | "filter": "DownDetector"
388 | },
389 | "host": {
390 | "filter": "DownDetector"
391 | },
392 | "item": {
393 | "filter": "Telegram"
394 | },
395 | "mode": 0,
396 | "options": {
397 | "showDisabledItems": false,
398 | "skipEmptyValues": false
399 | },
400 | "refId": "A",
401 | "resultFormat": "time_series",
402 | "table": {
403 | "skipEmptyValues": false
404 | },
405 | "triggers": {
406 | "acknowledged": 2,
407 | "count": true,
408 | "minSeverity": 3
409 | },
410 | "useCaptureGroups": false
411 | }
412 | ],
413 | "thresholds": "1.1,2.1,3.1",
414 | "title": "",
415 | "transparent": true,
416 | "type": "singlestat",
417 | "valueFontSize": "80%",
418 | "valueMaps": [
419 | {
420 | "$$hashKey": "object:3263",
421 | "op": "=",
422 | "text": "✅ Normal",
423 | "value": "1"
424 | },
425 | {
426 | "$$hashKey": "object:3264",
427 | "op": "=",
428 | "text": "❗️ Intermitênte",
429 | "value": "2"
430 | },
431 | {
432 | "$$hashKey": "object:3265",
433 | "op": "=",
434 | "text": "❌ Instável",
435 | "value": "3"
436 | }
437 | ],
438 | "valueName": "current"
439 | },
440 | {
441 | "content": "
",
442 | "datasource": null,
443 | "gridPos": {
444 | "h": 2,
445 | "w": 2,
446 | "x": 6,
447 | "y": 2
448 | },
449 | "id": 11,
450 | "links": [],
451 | "mode": "html",
452 | "title": "",
453 | "transparent": true,
454 | "type": "text"
455 | },
456 | {
457 | "cacheTimeout": null,
458 | "colorBackground": false,
459 | "colorValue": true,
460 | "colors": [
461 | "#299c46",
462 | "rgba(237, 129, 40, 0.89)",
463 | "#d44a3a"
464 | ],
465 | "datasource": null,
466 | "description": "",
467 | "format": "none",
468 | "gauge": {
469 | "maxValue": 100,
470 | "minValue": 0,
471 | "show": false,
472 | "thresholdLabels": false,
473 | "thresholdMarkers": true
474 | },
475 | "gridPos": {
476 | "h": 2,
477 | "w": 4,
478 | "x": 8,
479 | "y": 2
480 | },
481 | "hideTimeOverride": false,
482 | "id": 14,
483 | "interval": null,
484 | "links": [],
485 | "mappingType": 1,
486 | "mappingTypes": [
487 | {
488 | "$$hashKey": "object:3260",
489 | "name": "value to text",
490 | "value": 1
491 | },
492 | {
493 | "$$hashKey": "object:3261",
494 | "name": "range to text",
495 | "value": 2
496 | }
497 | ],
498 | "maxDataPoints": 100,
499 | "nullPointMode": "connected",
500 | "nullText": null,
501 | "postfix": "",
502 | "postfixFontSize": "50%",
503 | "prefix": "",
504 | "prefixFontSize": "50%",
505 | "rangeMaps": [
506 | {
507 | "from": "null",
508 | "text": "N/A",
509 | "to": "null"
510 | }
511 | ],
512 | "sparkline": {
513 | "fillColor": "rgba(31, 118, 189, 0.18)",
514 | "full": false,
515 | "lineColor": "rgb(31, 120, 193)",
516 | "show": false
517 | },
518 | "tableColumn": "",
519 | "targets": [
520 | {
521 | "application": {
522 | "filter": "Site"
523 | },
524 | "functions": [],
525 | "group": {
526 | "filter": "DownDetector"
527 | },
528 | "host": {
529 | "filter": "DownDetector"
530 | },
531 | "item": {
532 | "filter": "Amazon Prime Video"
533 | },
534 | "mode": 0,
535 | "options": {
536 | "showDisabledItems": false,
537 | "skipEmptyValues": false
538 | },
539 | "refId": "A",
540 | "resultFormat": "time_series",
541 | "table": {
542 | "skipEmptyValues": false
543 | },
544 | "triggers": {
545 | "acknowledged": 2,
546 | "count": true,
547 | "minSeverity": 3
548 | },
549 | "useCaptureGroups": false
550 | }
551 | ],
552 | "thresholds": "1.1,2.1,3.1",
553 | "title": "",
554 | "transparent": true,
555 | "type": "singlestat",
556 | "valueFontSize": "80%",
557 | "valueMaps": [
558 | {
559 | "$$hashKey": "object:3263",
560 | "op": "=",
561 | "text": "✅ Normal",
562 | "value": "1"
563 | },
564 | {
565 | "$$hashKey": "object:3264",
566 | "op": "=",
567 | "text": "❗️ Intermitênte",
568 | "value": "2"
569 | },
570 | {
571 | "$$hashKey": "object:3265",
572 | "op": "=",
573 | "text": "❌ Instável",
574 | "value": "3"
575 | }
576 | ],
577 | "valueName": "current"
578 | },
579 | {
580 | "content": "
",
581 | "datasource": null,
582 | "gridPos": {
583 | "h": 2,
584 | "w": 2,
585 | "x": 0,
586 | "y": 4
587 | },
588 | "id": 17,
589 | "links": [],
590 | "mode": "html",
591 | "title": "",
592 | "transparent": true,
593 | "type": "text"
594 | },
595 | {
596 | "cacheTimeout": null,
597 | "colorBackground": false,
598 | "colorValue": true,
599 | "colors": [
600 | "#299c46",
601 | "rgba(237, 129, 40, 0.89)",
602 | "#d44a3a"
603 | ],
604 | "datasource": null,
605 | "description": "",
606 | "format": "none",
607 | "gauge": {
608 | "maxValue": 100,
609 | "minValue": 0,
610 | "show": false,
611 | "thresholdLabels": false,
612 | "thresholdMarkers": true
613 | },
614 | "gridPos": {
615 | "h": 2,
616 | "w": 4,
617 | "x": 2,
618 | "y": 4
619 | },
620 | "hideTimeOverride": false,
621 | "id": 18,
622 | "interval": null,
623 | "links": [],
624 | "mappingType": 1,
625 | "mappingTypes": [
626 | {
627 | "$$hashKey": "object:3260",
628 | "name": "value to text",
629 | "value": 1
630 | },
631 | {
632 | "$$hashKey": "object:3261",
633 | "name": "range to text",
634 | "value": 2
635 | }
636 | ],
637 | "maxDataPoints": 100,
638 | "nullPointMode": "connected",
639 | "nullText": null,
640 | "postfix": "",
641 | "postfixFontSize": "50%",
642 | "prefix": "",
643 | "prefixFontSize": "50%",
644 | "rangeMaps": [
645 | {
646 | "from": "null",
647 | "text": "N/A",
648 | "to": "null"
649 | }
650 | ],
651 | "sparkline": {
652 | "fillColor": "rgba(31, 118, 189, 0.18)",
653 | "full": false,
654 | "lineColor": "rgb(31, 120, 193)",
655 | "show": false
656 | },
657 | "tableColumn": "",
658 | "targets": [
659 | {
660 | "application": {
661 | "filter": "Site"
662 | },
663 | "functions": [],
664 | "group": {
665 | "filter": "DownDetector"
666 | },
667 | "host": {
668 | "filter": "DownDetector"
669 | },
670 | "item": {
671 | "filter": "Facebook Messenger"
672 | },
673 | "mode": 0,
674 | "options": {
675 | "showDisabledItems": false,
676 | "skipEmptyValues": false
677 | },
678 | "refId": "A",
679 | "resultFormat": "time_series",
680 | "table": {
681 | "skipEmptyValues": false
682 | },
683 | "triggers": {
684 | "acknowledged": 2,
685 | "count": true,
686 | "minSeverity": 3
687 | },
688 | "useCaptureGroups": false
689 | }
690 | ],
691 | "thresholds": "1.1,2.1,3.1",
692 | "title": "",
693 | "transparent": true,
694 | "type": "singlestat",
695 | "valueFontSize": "80%",
696 | "valueMaps": [
697 | {
698 | "$$hashKey": "object:3263",
699 | "op": "=",
700 | "text": "✅ Normal",
701 | "value": "1"
702 | },
703 | {
704 | "$$hashKey": "object:3264",
705 | "op": "=",
706 | "text": "❗️ Intermitênte",
707 | "value": "2"
708 | },
709 | {
710 | "$$hashKey": "object:3265",
711 | "op": "=",
712 | "text": "❌ Instável",
713 | "value": "3"
714 | }
715 | ],
716 | "valueName": "current"
717 | },
718 | {
719 | "content": "
",
720 | "datasource": null,
721 | "gridPos": {
722 | "h": 2,
723 | "w": 2,
724 | "x": 6,
725 | "y": 4
726 | },
727 | "id": 15,
728 | "links": [],
729 | "mode": "html",
730 | "title": "",
731 | "transparent": true,
732 | "type": "text"
733 | },
734 | {
735 | "cacheTimeout": null,
736 | "colorBackground": false,
737 | "colorValue": true,
738 | "colors": [
739 | "#299c46",
740 | "rgba(237, 129, 40, 0.89)",
741 | "#d44a3a"
742 | ],
743 | "datasource": null,
744 | "description": "",
745 | "format": "none",
746 | "gauge": {
747 | "maxValue": 100,
748 | "minValue": 0,
749 | "show": false,
750 | "thresholdLabels": false,
751 | "thresholdMarkers": true
752 | },
753 | "gridPos": {
754 | "h": 2,
755 | "w": 4,
756 | "x": 8,
757 | "y": 4
758 | },
759 | "hideTimeOverride": false,
760 | "id": 16,
761 | "interval": null,
762 | "links": [],
763 | "mappingType": 1,
764 | "mappingTypes": [
765 | {
766 | "$$hashKey": "object:3260",
767 | "name": "value to text",
768 | "value": 1
769 | },
770 | {
771 | "$$hashKey": "object:3261",
772 | "name": "range to text",
773 | "value": 2
774 | }
775 | ],
776 | "maxDataPoints": 100,
777 | "nullPointMode": "connected",
778 | "nullText": null,
779 | "postfix": "",
780 | "postfixFontSize": "50%",
781 | "prefix": "",
782 | "prefixFontSize": "50%",
783 | "rangeMaps": [
784 | {
785 | "from": "null",
786 | "text": "N/A",
787 | "to": "null"
788 | }
789 | ],
790 | "sparkline": {
791 | "fillColor": "rgba(31, 118, 189, 0.18)",
792 | "full": false,
793 | "lineColor": "rgb(31, 120, 193)",
794 | "show": false
795 | },
796 | "tableColumn": "",
797 | "targets": [
798 | {
799 | "application": {
800 | "filter": "Site"
801 | },
802 | "functions": [],
803 | "group": {
804 | "filter": "DownDetector"
805 | },
806 | "host": {
807 | "filter": "DownDetector"
808 | },
809 | "item": {
810 | "filter": "Amazon Web Services"
811 | },
812 | "mode": 0,
813 | "options": {
814 | "showDisabledItems": false,
815 | "skipEmptyValues": false
816 | },
817 | "refId": "A",
818 | "resultFormat": "time_series",
819 | "table": {
820 | "skipEmptyValues": false
821 | },
822 | "triggers": {
823 | "acknowledged": 2,
824 | "count": true,
825 | "minSeverity": 3
826 | },
827 | "useCaptureGroups": false
828 | }
829 | ],
830 | "thresholds": "1.1,2.1,3.1",
831 | "timeShift": null,
832 | "title": "",
833 | "transparent": true,
834 | "type": "singlestat",
835 | "valueFontSize": "80%",
836 | "valueMaps": [
837 | {
838 | "$$hashKey": "object:3263",
839 | "op": "=",
840 | "text": "✅ Normal",
841 | "value": "1"
842 | },
843 | {
844 | "$$hashKey": "object:3264",
845 | "op": "=",
846 | "text": "❗️ Intermitênte",
847 | "value": "2"
848 | },
849 | {
850 | "$$hashKey": "object:3265",
851 | "op": "=",
852 | "text": "❌ Instável",
853 | "value": "3"
854 | }
855 | ],
856 | "valueName": "current"
857 | },
858 | {
859 | "content": "
",
860 | "datasource": null,
861 | "gridPos": {
862 | "h": 2,
863 | "w": 2,
864 | "x": 0,
865 | "y": 6
866 | },
867 | "id": 19,
868 | "links": [],
869 | "mode": "html",
870 | "title": "",
871 | "transparent": true,
872 | "type": "text"
873 | },
874 | {
875 | "cacheTimeout": null,
876 | "colorBackground": false,
877 | "colorValue": true,
878 | "colors": [
879 | "#299c46",
880 | "rgba(237, 129, 40, 0.89)",
881 | "#d44a3a"
882 | ],
883 | "datasource": null,
884 | "description": "",
885 | "format": "none",
886 | "gauge": {
887 | "maxValue": 100,
888 | "minValue": 0,
889 | "show": false,
890 | "thresholdLabels": false,
891 | "thresholdMarkers": true
892 | },
893 | "gridPos": {
894 | "h": 2,
895 | "w": 4,
896 | "x": 2,
897 | "y": 6
898 | },
899 | "hideTimeOverride": false,
900 | "id": 28,
901 | "interval": null,
902 | "links": [],
903 | "mappingType": 1,
904 | "mappingTypes": [
905 | {
906 | "$$hashKey": "object:3260",
907 | "name": "value to text",
908 | "value": 1
909 | },
910 | {
911 | "$$hashKey": "object:3261",
912 | "name": "range to text",
913 | "value": 2
914 | }
915 | ],
916 | "maxDataPoints": 100,
917 | "nullPointMode": "connected",
918 | "nullText": null,
919 | "postfix": "",
920 | "postfixFontSize": "50%",
921 | "prefix": "",
922 | "prefixFontSize": "50%",
923 | "rangeMaps": [
924 | {
925 | "from": "null",
926 | "text": "N/A",
927 | "to": "null"
928 | }
929 | ],
930 | "sparkline": {
931 | "fillColor": "rgba(31, 118, 189, 0.18)",
932 | "full": false,
933 | "lineColor": "rgb(31, 120, 193)",
934 | "show": false
935 | },
936 | "tableColumn": "",
937 | "targets": [
938 | {
939 | "application": {
940 | "filter": "Site"
941 | },
942 | "functions": [],
943 | "group": {
944 | "filter": "DownDetector"
945 | },
946 | "host": {
947 | "filter": "DownDetector"
948 | },
949 | "item": {
950 | "filter": "Facebook"
951 | },
952 | "mode": 0,
953 | "options": {
954 | "showDisabledItems": false,
955 | "skipEmptyValues": false
956 | },
957 | "refId": "A",
958 | "resultFormat": "time_series",
959 | "table": {
960 | "skipEmptyValues": false
961 | },
962 | "triggers": {
963 | "acknowledged": 2,
964 | "count": true,
965 | "minSeverity": 3
966 | },
967 | "useCaptureGroups": false
968 | }
969 | ],
970 | "thresholds": "1.1,2.1,3.1",
971 | "title": "",
972 | "transparent": true,
973 | "type": "singlestat",
974 | "valueFontSize": "80%",
975 | "valueMaps": [
976 | {
977 | "$$hashKey": "object:3263",
978 | "op": "=",
979 | "text": "✅ Normal",
980 | "value": "1"
981 | },
982 | {
983 | "$$hashKey": "object:3264",
984 | "op": "=",
985 | "text": "❗️ Intermitênte",
986 | "value": "2"
987 | },
988 | {
989 | "$$hashKey": "object:3265",
990 | "op": "=",
991 | "text": "❌ Instável",
992 | "value": "3"
993 | }
994 | ],
995 | "valueName": "current"
996 | },
997 | {
998 | "content": "
",
999 | "datasource": null,
1000 | "gridPos": {
1001 | "h": 2,
1002 | "w": 2,
1003 | "x": 6,
1004 | "y": 6
1005 | },
1006 | "id": 20,
1007 | "links": [],
1008 | "mode": "html",
1009 | "title": "",
1010 | "transparent": true,
1011 | "type": "text"
1012 | },
1013 | {
1014 | "cacheTimeout": null,
1015 | "colorBackground": false,
1016 | "colorValue": true,
1017 | "colors": [
1018 | "#299c46",
1019 | "rgba(237, 129, 40, 0.89)",
1020 | "#d44a3a"
1021 | ],
1022 | "datasource": null,
1023 | "description": "",
1024 | "format": "none",
1025 | "gauge": {
1026 | "maxValue": 100,
1027 | "minValue": 0,
1028 | "show": false,
1029 | "thresholdLabels": false,
1030 | "thresholdMarkers": true
1031 | },
1032 | "gridPos": {
1033 | "h": 2,
1034 | "w": 4,
1035 | "x": 8,
1036 | "y": 6
1037 | },
1038 | "hideTimeOverride": false,
1039 | "id": 25,
1040 | "interval": null,
1041 | "links": [],
1042 | "mappingType": 1,
1043 | "mappingTypes": [
1044 | {
1045 | "$$hashKey": "object:3260",
1046 | "name": "value to text",
1047 | "value": 1
1048 | },
1049 | {
1050 | "$$hashKey": "object:3261",
1051 | "name": "range to text",
1052 | "value": 2
1053 | }
1054 | ],
1055 | "maxDataPoints": 100,
1056 | "nullPointMode": "connected",
1057 | "nullText": null,
1058 | "postfix": "",
1059 | "postfixFontSize": "50%",
1060 | "prefix": "",
1061 | "prefixFontSize": "50%",
1062 | "rangeMaps": [
1063 | {
1064 | "from": "null",
1065 | "text": "N/A",
1066 | "to": "null"
1067 | }
1068 | ],
1069 | "sparkline": {
1070 | "fillColor": "rgba(31, 118, 189, 0.18)",
1071 | "full": false,
1072 | "lineColor": "rgb(31, 120, 193)",
1073 | "show": false
1074 | },
1075 | "tableColumn": "",
1076 | "targets": [
1077 | {
1078 | "application": {
1079 | "filter": "Site"
1080 | },
1081 | "functions": [],
1082 | "group": {
1083 | "filter": "DownDetector"
1084 | },
1085 | "host": {
1086 | "filter": "DownDetector"
1087 | },
1088 | "item": {
1089 | "filter": "Gmail"
1090 | },
1091 | "mode": 0,
1092 | "options": {
1093 | "showDisabledItems": false,
1094 | "skipEmptyValues": false
1095 | },
1096 | "refId": "A",
1097 | "resultFormat": "time_series",
1098 | "table": {
1099 | "skipEmptyValues": false
1100 | },
1101 | "triggers": {
1102 | "acknowledged": 2,
1103 | "count": true,
1104 | "minSeverity": 3
1105 | },
1106 | "useCaptureGroups": false
1107 | }
1108 | ],
1109 | "thresholds": "1.1,2.1,3.1",
1110 | "title": "",
1111 | "transparent": true,
1112 | "type": "singlestat",
1113 | "valueFontSize": "80%",
1114 | "valueMaps": [
1115 | {
1116 | "$$hashKey": "object:3263",
1117 | "op": "=",
1118 | "text": "✅ Normal",
1119 | "value": "1"
1120 | },
1121 | {
1122 | "$$hashKey": "object:3264",
1123 | "op": "=",
1124 | "text": "❗️ Intermitênte",
1125 | "value": "2"
1126 | },
1127 | {
1128 | "$$hashKey": "object:3265",
1129 | "op": "=",
1130 | "text": "❌ Instável",
1131 | "value": "3"
1132 | }
1133 | ],
1134 | "valueName": "current"
1135 | },
1136 | {
1137 | "content": "
",
1138 | "datasource": null,
1139 | "gridPos": {
1140 | "h": 2,
1141 | "w": 2,
1142 | "x": 0,
1143 | "y": 8
1144 | },
1145 | "id": 24,
1146 | "links": [],
1147 | "mode": "html",
1148 | "title": "",
1149 | "transparent": true,
1150 | "type": "text"
1151 | },
1152 | {
1153 | "cacheTimeout": null,
1154 | "colorBackground": false,
1155 | "colorValue": true,
1156 | "colors": [
1157 | "#299c46",
1158 | "rgba(237, 129, 40, 0.89)",
1159 | "#d44a3a"
1160 | ],
1161 | "datasource": null,
1162 | "description": "",
1163 | "format": "none",
1164 | "gauge": {
1165 | "maxValue": 100,
1166 | "minValue": 0,
1167 | "show": false,
1168 | "thresholdLabels": false,
1169 | "thresholdMarkers": true
1170 | },
1171 | "gridPos": {
1172 | "h": 2,
1173 | "w": 4,
1174 | "x": 2,
1175 | "y": 8
1176 | },
1177 | "hideTimeOverride": false,
1178 | "id": 27,
1179 | "interval": null,
1180 | "links": [],
1181 | "mappingType": 1,
1182 | "mappingTypes": [
1183 | {
1184 | "$$hashKey": "object:3260",
1185 | "name": "value to text",
1186 | "value": 1
1187 | },
1188 | {
1189 | "$$hashKey": "object:3261",
1190 | "name": "range to text",
1191 | "value": 2
1192 | }
1193 | ],
1194 | "maxDataPoints": 100,
1195 | "nullPointMode": "connected",
1196 | "nullText": null,
1197 | "postfix": "",
1198 | "postfixFontSize": "50%",
1199 | "prefix": "",
1200 | "prefixFontSize": "50%",
1201 | "rangeMaps": [
1202 | {
1203 | "from": "null",
1204 | "text": "N/A",
1205 | "to": "null"
1206 | }
1207 | ],
1208 | "sparkline": {
1209 | "fillColor": "rgba(31, 118, 189, 0.18)",
1210 | "full": false,
1211 | "lineColor": "rgb(31, 120, 193)",
1212 | "show": false
1213 | },
1214 | "tableColumn": "",
1215 | "targets": [
1216 | {
1217 | "application": {
1218 | "filter": "Site"
1219 | },
1220 | "functions": [],
1221 | "group": {
1222 | "filter": "DownDetector"
1223 | },
1224 | "host": {
1225 | "filter": "DownDetector"
1226 | },
1227 | "item": {
1228 | "filter": "Youtube"
1229 | },
1230 | "mode": 0,
1231 | "options": {
1232 | "showDisabledItems": false,
1233 | "skipEmptyValues": false
1234 | },
1235 | "refId": "A",
1236 | "resultFormat": "time_series",
1237 | "table": {
1238 | "skipEmptyValues": false
1239 | },
1240 | "triggers": {
1241 | "acknowledged": 2,
1242 | "count": true,
1243 | "minSeverity": 3
1244 | },
1245 | "useCaptureGroups": false
1246 | }
1247 | ],
1248 | "thresholds": "1.1,2.1,3.1",
1249 | "title": "",
1250 | "transparent": true,
1251 | "type": "singlestat",
1252 | "valueFontSize": "80%",
1253 | "valueMaps": [
1254 | {
1255 | "$$hashKey": "object:3263",
1256 | "op": "=",
1257 | "text": "✅ Normal",
1258 | "value": "1"
1259 | },
1260 | {
1261 | "$$hashKey": "object:3264",
1262 | "op": "=",
1263 | "text": "❗️ Intermitênte",
1264 | "value": "2"
1265 | },
1266 | {
1267 | "$$hashKey": "object:3265",
1268 | "op": "=",
1269 | "text": "❌ Instável",
1270 | "value": "3"
1271 | }
1272 | ],
1273 | "valueName": "current"
1274 | },
1275 | {
1276 | "content": "
",
1277 | "datasource": null,
1278 | "gridPos": {
1279 | "h": 2,
1280 | "w": 2,
1281 | "x": 6,
1282 | "y": 8
1283 | },
1284 | "id": 21,
1285 | "links": [],
1286 | "mode": "html",
1287 | "title": "",
1288 | "transparent": true,
1289 | "type": "text"
1290 | },
1291 | {
1292 | "cacheTimeout": null,
1293 | "colorBackground": false,
1294 | "colorValue": true,
1295 | "colors": [
1296 | "#299c46",
1297 | "rgba(237, 129, 40, 0.89)",
1298 | "#d44a3a"
1299 | ],
1300 | "datasource": null,
1301 | "description": "",
1302 | "format": "none",
1303 | "gauge": {
1304 | "maxValue": 100,
1305 | "minValue": 0,
1306 | "show": false,
1307 | "thresholdLabels": false,
1308 | "thresholdMarkers": true
1309 | },
1310 | "gridPos": {
1311 | "h": 2,
1312 | "w": 4,
1313 | "x": 8,
1314 | "y": 8
1315 | },
1316 | "hideTimeOverride": false,
1317 | "id": 30,
1318 | "interval": null,
1319 | "links": [],
1320 | "mappingType": 1,
1321 | "mappingTypes": [
1322 | {
1323 | "$$hashKey": "object:3260",
1324 | "name": "value to text",
1325 | "value": 1
1326 | },
1327 | {
1328 | "$$hashKey": "object:3261",
1329 | "name": "range to text",
1330 | "value": 2
1331 | }
1332 | ],
1333 | "maxDataPoints": 100,
1334 | "nullPointMode": "connected",
1335 | "nullText": null,
1336 | "postfix": "",
1337 | "postfixFontSize": "50%",
1338 | "prefix": "",
1339 | "prefixFontSize": "50%",
1340 | "rangeMaps": [
1341 | {
1342 | "from": "null",
1343 | "text": "N/A",
1344 | "to": "null"
1345 | }
1346 | ],
1347 | "sparkline": {
1348 | "fillColor": "rgba(31, 118, 189, 0.18)",
1349 | "full": false,
1350 | "lineColor": "rgb(31, 120, 193)",
1351 | "show": false
1352 | },
1353 | "tableColumn": "",
1354 | "targets": [
1355 | {
1356 | "application": {
1357 | "filter": "Site"
1358 | },
1359 | "functions": [],
1360 | "group": {
1361 | "filter": "DownDetector"
1362 | },
1363 | "host": {
1364 | "filter": "DownDetector"
1365 | },
1366 | "item": {
1367 | "filter": "Mercado Livre"
1368 | },
1369 | "mode": 0,
1370 | "options": {
1371 | "showDisabledItems": false,
1372 | "skipEmptyValues": false
1373 | },
1374 | "refId": "A",
1375 | "resultFormat": "time_series",
1376 | "table": {
1377 | "skipEmptyValues": false
1378 | },
1379 | "triggers": {
1380 | "acknowledged": 2,
1381 | "count": true,
1382 | "minSeverity": 3
1383 | },
1384 | "useCaptureGroups": false
1385 | }
1386 | ],
1387 | "thresholds": "1.1,2.1,3.1",
1388 | "title": "",
1389 | "transparent": true,
1390 | "type": "singlestat",
1391 | "valueFontSize": "80%",
1392 | "valueMaps": [
1393 | {
1394 | "$$hashKey": "object:3263",
1395 | "op": "=",
1396 | "text": "✅ Normal",
1397 | "value": "1"
1398 | },
1399 | {
1400 | "$$hashKey": "object:3264",
1401 | "op": "=",
1402 | "text": "❗️ Intermitênte",
1403 | "value": "2"
1404 | },
1405 | {
1406 | "$$hashKey": "object:3265",
1407 | "op": "=",
1408 | "text": "❌ Instável",
1409 | "value": "3"
1410 | }
1411 | ],
1412 | "valueName": "current"
1413 | },
1414 | {
1415 | "content": "
",
1416 | "datasource": null,
1417 | "gridPos": {
1418 | "h": 2,
1419 | "w": 2,
1420 | "x": 0,
1421 | "y": 10
1422 | },
1423 | "id": 23,
1424 | "links": [],
1425 | "mode": "html",
1426 | "title": "",
1427 | "transparent": true,
1428 | "type": "text"
1429 | },
1430 | {
1431 | "cacheTimeout": null,
1432 | "colorBackground": false,
1433 | "colorValue": true,
1434 | "colors": [
1435 | "#299c46",
1436 | "rgba(237, 129, 40, 0.89)",
1437 | "#d44a3a"
1438 | ],
1439 | "datasource": null,
1440 | "description": "",
1441 | "format": "none",
1442 | "gauge": {
1443 | "maxValue": 100,
1444 | "minValue": 0,
1445 | "show": false,
1446 | "thresholdLabels": false,
1447 | "thresholdMarkers": true
1448 | },
1449 | "gridPos": {
1450 | "h": 2,
1451 | "w": 4,
1452 | "x": 2,
1453 | "y": 10
1454 | },
1455 | "hideTimeOverride": false,
1456 | "id": 26,
1457 | "interval": null,
1458 | "links": [],
1459 | "mappingType": 1,
1460 | "mappingTypes": [
1461 | {
1462 | "$$hashKey": "object:3260",
1463 | "name": "value to text",
1464 | "value": 1
1465 | },
1466 | {
1467 | "$$hashKey": "object:3261",
1468 | "name": "range to text",
1469 | "value": 2
1470 | }
1471 | ],
1472 | "maxDataPoints": 100,
1473 | "nullPointMode": "connected",
1474 | "nullText": null,
1475 | "postfix": "",
1476 | "postfixFontSize": "50%",
1477 | "prefix": "",
1478 | "prefixFontSize": "50%",
1479 | "rangeMaps": [
1480 | {
1481 | "from": "null",
1482 | "text": "N/A",
1483 | "to": "null"
1484 | }
1485 | ],
1486 | "sparkline": {
1487 | "fillColor": "rgba(31, 118, 189, 0.18)",
1488 | "full": false,
1489 | "lineColor": "rgb(31, 120, 193)",
1490 | "show": false
1491 | },
1492 | "tableColumn": "",
1493 | "targets": [
1494 | {
1495 | "application": {
1496 | "filter": "Site"
1497 | },
1498 | "functions": [],
1499 | "group": {
1500 | "filter": "DownDetector"
1501 | },
1502 | "host": {
1503 | "filter": "DownDetector"
1504 | },
1505 | "item": {
1506 | "filter": "Netflix"
1507 | },
1508 | "mode": 0,
1509 | "options": {
1510 | "showDisabledItems": false,
1511 | "skipEmptyValues": false
1512 | },
1513 | "refId": "A",
1514 | "resultFormat": "time_series",
1515 | "table": {
1516 | "skipEmptyValues": false
1517 | },
1518 | "triggers": {
1519 | "acknowledged": 2,
1520 | "count": true,
1521 | "minSeverity": 3
1522 | },
1523 | "useCaptureGroups": false
1524 | }
1525 | ],
1526 | "thresholds": "1.1,2.1,3.1",
1527 | "title": "",
1528 | "transparent": true,
1529 | "type": "singlestat",
1530 | "valueFontSize": "80%",
1531 | "valueMaps": [
1532 | {
1533 | "$$hashKey": "object:3263",
1534 | "op": "=",
1535 | "text": "✅ Normal",
1536 | "value": "1"
1537 | },
1538 | {
1539 | "$$hashKey": "object:3264",
1540 | "op": "=",
1541 | "text": "❗️ Intermitênte",
1542 | "value": "2"
1543 | },
1544 | {
1545 | "$$hashKey": "object:3265",
1546 | "op": "=",
1547 | "text": "❌ Instável",
1548 | "value": "3"
1549 | }
1550 | ],
1551 | "valueName": "current"
1552 | },
1553 | {
1554 | "content": "
",
1555 | "datasource": null,
1556 | "gridPos": {
1557 | "h": 2,
1558 | "w": 2,
1559 | "x": 6,
1560 | "y": 10
1561 | },
1562 | "id": 22,
1563 | "links": [],
1564 | "mode": "html",
1565 | "title": "",
1566 | "transparent": true,
1567 | "type": "text"
1568 | },
1569 | {
1570 | "cacheTimeout": null,
1571 | "colorBackground": false,
1572 | "colorValue": true,
1573 | "colors": [
1574 | "#299c46",
1575 | "rgba(237, 129, 40, 0.89)",
1576 | "#d44a3a"
1577 | ],
1578 | "datasource": null,
1579 | "description": "",
1580 | "format": "none",
1581 | "gauge": {
1582 | "maxValue": 100,
1583 | "minValue": 0,
1584 | "show": false,
1585 | "thresholdLabels": false,
1586 | "thresholdMarkers": true
1587 | },
1588 | "gridPos": {
1589 | "h": 2,
1590 | "w": 4,
1591 | "x": 8,
1592 | "y": 10
1593 | },
1594 | "hideTimeOverride": false,
1595 | "id": 29,
1596 | "interval": null,
1597 | "links": [],
1598 | "mappingType": 1,
1599 | "mappingTypes": [
1600 | {
1601 | "$$hashKey": "object:3260",
1602 | "name": "value to text",
1603 | "value": 1
1604 | },
1605 | {
1606 | "$$hashKey": "object:3261",
1607 | "name": "range to text",
1608 | "value": 2
1609 | }
1610 | ],
1611 | "maxDataPoints": 100,
1612 | "nullPointMode": "connected",
1613 | "nullText": null,
1614 | "postfix": "",
1615 | "postfixFontSize": "50%",
1616 | "prefix": "",
1617 | "prefixFontSize": "50%",
1618 | "rangeMaps": [
1619 | {
1620 | "from": "null",
1621 | "text": "N/A",
1622 | "to": "null"
1623 | }
1624 | ],
1625 | "sparkline": {
1626 | "fillColor": "rgba(31, 118, 189, 0.18)",
1627 | "full": false,
1628 | "lineColor": "rgb(31, 120, 193)",
1629 | "show": false
1630 | },
1631 | "tableColumn": "",
1632 | "targets": [
1633 | {
1634 | "application": {
1635 | "filter": "Site"
1636 | },
1637 | "functions": [],
1638 | "group": {
1639 | "filter": "DownDetector"
1640 | },
1641 | "host": {
1642 | "filter": "DownDetector"
1643 | },
1644 | "item": {
1645 | "filter": "Spotify"
1646 | },
1647 | "mode": 0,
1648 | "options": {
1649 | "showDisabledItems": false,
1650 | "skipEmptyValues": false
1651 | },
1652 | "refId": "A",
1653 | "resultFormat": "time_series",
1654 | "table": {
1655 | "skipEmptyValues": false
1656 | },
1657 | "triggers": {
1658 | "acknowledged": 2,
1659 | "count": true,
1660 | "minSeverity": 3
1661 | },
1662 | "useCaptureGroups": false
1663 | }
1664 | ],
1665 | "thresholds": "1.1,2.1,3.1",
1666 | "title": "",
1667 | "transparent": true,
1668 | "type": "singlestat",
1669 | "valueFontSize": "80%",
1670 | "valueMaps": [
1671 | {
1672 | "$$hashKey": "object:3263",
1673 | "op": "=",
1674 | "text": "✅ Normal",
1675 | "value": "1"
1676 | },
1677 | {
1678 | "$$hashKey": "object:3264",
1679 | "op": "=",
1680 | "text": "❗️ Intermitênte",
1681 | "value": "2"
1682 | },
1683 | {
1684 | "$$hashKey": "object:3265",
1685 | "op": "=",
1686 | "text": "❌ Instável",
1687 | "value": "3"
1688 | }
1689 | ],
1690 | "valueName": "current"
1691 | }
1692 | ],
1693 | "schemaVersion": 22,
1694 | "style": "dark",
1695 | "tags": [],
1696 | "templating": {
1697 | "list": []
1698 | },
1699 | "time": {
1700 | "from": "now-6h",
1701 | "to": "now"
1702 | },
1703 | "timepicker": {
1704 | "refresh_intervals": [
1705 | "5s",
1706 | "10s",
1707 | "30s",
1708 | "1m",
1709 | "5m",
1710 | "15m",
1711 | "30m",
1712 | "1h",
1713 | "2h",
1714 | "1d"
1715 | ],
1716 | "time_options": [
1717 | "5m",
1718 | "15m",
1719 | "1h",
1720 | "6h",
1721 | "12h",
1722 | "24h",
1723 | "2d",
1724 | "7d",
1725 | "30d"
1726 | ]
1727 | },
1728 | "timezone": "",
1729 | "title": "DownDetector",
1730 | "uid": "FI-GAjBZk",
1731 | "variables": {
1732 | "list": []
1733 | },
1734 | "version": 12
1735 | }
--------------------------------------------------------------------------------
/LICENSE.txt:
--------------------------------------------------------------------------------
1 | GNU LESSER GENERAL PUBLIC LICENSE
2 | Version 3, 29 June 2007
3 |
4 | Copyright (C) 2007 Free Software Foundation, Inc.
5 | Everyone is permitted to copy and distribute verbatim copies
6 | of this license document, but changing it is not allowed.
7 |
8 |
9 | This version of the GNU Lesser General Public License incorporates
10 | the terms and conditions of version 3 of the GNU General Public
11 | License, supplemented by the additional permissions listed below.
12 |
13 | 0. Additional Definitions.
14 |
15 | As used herein, "this License" refers to version 3 of the GNU Lesser
16 | General Public License, and the "GNU GPL" refers to version 3 of the GNU
17 | General Public License.
18 |
19 | "The Library" refers to a covered work governed by this License,
20 | other than an Application or a Combined Work as defined below.
21 |
22 | An "Application" is any work that makes use of an interface provided
23 | by the Library, but which is not otherwise based on the Library.
24 | Defining a subclass of a class defined by the Library is deemed a mode
25 | of using an interface provided by the Library.
26 |
27 | A "Combined Work" is a work produced by combining or linking an
28 | Application with the Library. The particular version of the Library
29 | with which the Combined Work was made is also called the "Linked
30 | Version".
31 |
32 | The "Minimal Corresponding Source" for a Combined Work means the
33 | Corresponding Source for the Combined Work, excluding any source code
34 | for portions of the Combined Work that, considered in isolation, are
35 | based on the Application, and not on the Linked Version.
36 |
37 | The "Corresponding Application Code" for a Combined Work means the
38 | object code and/or source code for the Application, including any data
39 | and utility programs needed for reproducing the Combined Work from the
40 | Application, but excluding the System Libraries of the Combined Work.
41 |
42 | 1. Exception to Section 3 of the GNU GPL.
43 |
44 | You may convey a covered work under sections 3 and 4 of this License
45 | without being bound by section 3 of the GNU GPL.
46 |
47 | 2. Conveying Modified Versions.
48 |
49 | If you modify a copy of the Library, and, in your modifications, a
50 | facility refers to a function or data to be supplied by an Application
51 | that uses the facility (other than as an argument passed when the
52 | facility is invoked), then you may convey a copy of the modified
53 | version:
54 |
55 | a) under this License, provided that you make a good faith effort to
56 | ensure that, in the event an Application does not supply the
57 | function or data, the facility still operates, and performs
58 | whatever part of its purpose remains meaningful, or
59 |
60 | b) under the GNU GPL, with none of the additional permissions of
61 | this License applicable to that copy.
62 |
63 | 3. Object Code Incorporating Material from Library Header Files.
64 |
65 | The object code form of an Application may incorporate material from
66 | a header file that is part of the Library. You may convey such object
67 | code under terms of your choice, provided that, if the incorporated
68 | material is not limited to numerical parameters, data structure
69 | layouts and accessors, or small macros, inline functions and templates
70 | (ten or fewer lines in length), you do both of the following:
71 |
72 | a) Give prominent notice with each copy of the object code that the
73 | Library is used in it and that the Library and its use are
74 | covered by this License.
75 |
76 | b) Accompany the object code with a copy of the GNU GPL and this license
77 | document.
78 |
79 | 4. Combined Works.
80 |
81 | You may convey a Combined Work under terms of your choice that,
82 | taken together, effectively do not restrict modification of the
83 | portions of the Library contained in the Combined Work and reverse
84 | engineering for debugging such modifications, if you also do each of
85 | the following:
86 |
87 | a) Give prominent notice with each copy of the Combined Work that
88 | the Library is used in it and that the Library and its use are
89 | covered by this License.
90 |
91 | b) Accompany the Combined Work with a copy of the GNU GPL and this license
92 | document.
93 |
94 | c) For a Combined Work that displays copyright notices during
95 | execution, include the copyright notice for the Library among
96 | these notices, as well as a reference directing the user to the
97 | copies of the GNU GPL and this license document.
98 |
99 | d) Do one of the following:
100 |
101 | 0) Convey the Minimal Corresponding Source under the terms of this
102 | License, and the Corresponding Application Code in a form
103 | suitable for, and under terms that permit, the user to
104 | recombine or relink the Application with a modified version of
105 | the Linked Version to produce a modified Combined Work, in the
106 | manner specified by section 6 of the GNU GPL for conveying
107 | Corresponding Source.
108 |
109 | 1) Use a suitable shared library mechanism for linking with the
110 | Library. A suitable mechanism is one that (a) uses at run time
111 | a copy of the Library already present on the user's computer
112 | system, and (b) will operate properly with a modified version
113 | of the Library that is interface-compatible with the Linked
114 | Version.
115 |
116 | e) Provide Installation Information, but only if you would otherwise
117 | be required to provide such information under section 6 of the
118 | GNU GPL, and only to the extent that such information is
119 | necessary to install and execute a modified version of the
120 | Combined Work produced by recombining or relinking the
121 | Application with a modified version of the Linked Version. (If
122 | you use option 4d0, the Installation Information must accompany
123 | the Minimal Corresponding Source and Corresponding Application
124 | Code. If you use option 4d1, you must provide the Installation
125 | Information in the manner specified by section 6 of the GNU GPL
126 | for conveying Corresponding Source.)
127 |
128 | 5. Combined Libraries.
129 |
130 | You may place library facilities that are a work based on the
131 | Library side by side in a single library together with other library
132 | facilities that are not Applications and are not covered by this
133 | License, and convey such a combined library under terms of your
134 | choice, if you do both of the following:
135 |
136 | a) Accompany the combined library with a copy of the same work based
137 | on the Library, uncombined with any other library facilities,
138 | conveyed under the terms of this License.
139 |
140 | b) Give prominent notice with the combined library that part of it
141 | is a work based on the Library, and explaining where to find the
142 | accompanying uncombined form of the same work.
143 |
144 | 6. Revised Versions of the GNU Lesser General Public License.
145 |
146 | The Free Software Foundation may publish revised and/or new versions
147 | of the GNU Lesser General Public License from time to time. Such new
148 | versions will be similar in spirit to the present version, but may
149 | differ in detail to address new problems or concerns.
150 |
151 | Each version is given a distinguishing version number. If the
152 | Library as you received it specifies that a certain numbered version
153 | of the GNU Lesser General Public License "or any later version"
154 | applies to it, you have the option of following the terms and
155 | conditions either of that published version or of any later version
156 | published by the Free Software Foundation. If the Library as you
157 | received it does not specify a version number of the GNU Lesser
158 | General Public License, you may choose any version of the GNU Lesser
159 | General Public License ever published by the Free Software Foundation.
160 |
161 | If the Library as you received it specifies that a proxy can decide
162 | whether future versions of the GNU Lesser General Public License shall
163 | apply, that proxy's public statement of acceptance of any version is
164 | permanent authorization for you to choose that version for the
165 | Library.
166 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # downdetector_zbx_grafana
2 |
3 | ### Requisitos
4 | ```
5 | Python 3
6 | beautifulsoup4
7 | cloudscraper
8 | requests
9 | openssl 1.1.1
10 | ```
11 |
12 | ### Uso
13 | ```
14 | ./downdetector.py {nome site}
15 | ./downdetector.py whatsapp
16 |
17 | ```
18 |
19 | #### Debian /Ubuntu ####
20 | apt install python3-pip
21 | pip3 install bs4
22 | pip3 install requests
23 | pip3 install cloudscraper
24 |
25 | Caso já tenha o pip instalado e queira instalar as dependencias rode:
26 | ```
27 | pip3 install requirements.txt
28 | ```
29 |
30 | Copie os arquivos downdetectorDiscovery.py downdetectorlist.list downdetector.py para /usr/lib/zabbix/externalscripts, altere suas permissões para o usuários zabbix.
31 | chown zabbix. /usr/lib/zabbix/externalscripts/downdetector*
32 | chmod a+x /usr/lib/zabbix/externalscripts/downdetector*.py
33 |
34 |
35 | ## Discovery/Auto Configuração
36 |
37 | Edite o arquivo downdetectorlist.list e altere para 1 os sites/host que deseja monitorar.
38 |
39 | #### downdetectordiscoverylist.list
40 | ```
41 | 0 INATIVO
42 | 1 ATIVO
43 |
44 | 0;caixa;Caixa Econômica Federal
45 | 1;caixa;Caixa Econômica Federal
46 | ```
47 |
--------------------------------------------------------------------------------
/downdetector.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/python3
2 | #########################################
3 | # #
4 | # Author: Gabriel Padilha #
5 | # Email: gabrielvargaspadilha@gmail.com #
6 | # #
7 | #########################################
8 | import sys
9 | import ssl
10 | import re
11 | import random
12 | from bs4 import BeautifulSoup
13 | if ssl.OPENSSL_VERSION_INFO[0] < 1 or ssl.OPENSSL_VERSION_INFO[1] < 1 or ssl.OPENSSL_VERSION_INFO[2] < 1:
14 | user_agent_list = [
15 | # Chrome
16 | 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 '
17 | 'Safari/537.36',
18 | 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 '
19 | 'Safari/537.36',
20 | 'Mozilla/5.0 (Windows NT 5.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 '
21 | 'Safari/537.36',
22 | 'Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 '
23 | 'Safari/537.36',
24 | 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36',
25 | 'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 '
26 | 'Safari/537.36',
27 | 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 '
28 | 'Safari/537.36',
29 | 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 '
30 | 'Safari/537.36',
31 | 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 '
32 | 'Safari/537.36',
33 | 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 '
34 | 'Safari/537.36',
35 | # Firefox
36 | 'Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.1)',
37 | 'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko',
38 | 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)',
39 | 'Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko',
40 | 'Mozilla/5.0 (Windows NT 6.2; WOW64; Trident/7.0; rv:11.0) like Gecko',
41 | 'Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko',
42 | 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.0; Trident/5.0)',
43 | 'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko',
44 | 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)',
45 | 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; Trident/7.0; rv:11.0) like Gecko',
46 | 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)',
47 | 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)',
48 | 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; '
49 | '.NET CLR 3.5.30729) '
50 | ]
51 | import requests
52 | craw = "requests"
53 | else:
54 | import cloudscraper
55 | craw = "cloudscraper"
56 |
57 | PARAMS = {
58 | 'Relatórios de usuários indicam que não há problemas': 'success',
59 | 'Relatórios de usuários indicam potenciais problemas': 'warning',
60 | 'Relatórios de usuários indicam problemas': 'danger'
61 | }
62 |
63 | def request(dd_site):
64 | url = "https://downdetector.com.br/fora-do-ar/{}/".format(dd_site)
65 | if not craw:
66 | print(0)
67 | exit()
68 | elif craw == "cloudscraper":
69 | scraper = cloudscraper.create_scraper()
70 | return scraper.get(url)
71 | else:
72 | return requests.get(url, headers={'User-Agent': random.choice(user_agent_list)})
73 |
74 |
75 | def parse_result(status_text):
76 | status_text = status_text.strip()
77 | if status_text == 'success':
78 | status_number = 1
79 | elif status_text == 'warning':
80 | status_number = 2
81 | elif status_text == 'danger':
82 | status_number = 3
83 | else:
84 | status_number = 0
85 | print(status_number)
86 | exit()
87 |
88 | if __name__ == '__main__':
89 | if len(sys.argv) < 2:
90 | print("Informe o site que gostaria de verificar")
91 | sys.exit(1)
92 | site = sys.argv[1]
93 |
94 | response = request(site)
95 |
96 | if response.status_code != 200:
97 | print(0)
98 | exit()
99 |
100 | try:
101 | bs = BeautifulSoup(response.text, 'html.parser')
102 | dataParse = bs.find("div", {"class": "entry-title"})
103 | status = dataParse.text.strip()
104 | result = None
105 | if not status:
106 | raise ValueError('')
107 | for param in PARAMS:
108 | if re.compile(r"{}.*".format(param)).match(status):
109 | result = PARAMS[param]
110 | if not result:
111 | raise ValueError('')
112 | parse_result(result)
113 | except Exception as err:
114 | failover = re.compile(".*status: '(.*)',.*", re.MULTILINE)
115 | failover_status = failover.findall(response.text).pop()
116 | parse_result(failover_status)
117 |
--------------------------------------------------------------------------------
/downdetectorDiscovery.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/python3
2 | import os
3 | import sys
4 | import json
5 | FILE = "/usr/lib/zabbix/externalscripts/downdetectorlist.list"
6 |
7 | if not os.path.isfile(FILE):
8 | print("File not found")
9 | sys.exit()
10 |
11 | file = open(FILE, "r")
12 |
13 | data = {
14 | "data": []
15 | }
16 |
17 | for line in file.readlines():
18 | line_data = line.rstrip().split(';')
19 | if line_data[0] == '1':
20 | dic = {"{#SITE_ID}": line_data[1], "{#SITE_NOME}": line_data[2]}
21 | data['data'].append(dic)
22 |
23 | print(json.dumps(data))
--------------------------------------------------------------------------------
/downdetectorlist.list:
--------------------------------------------------------------------------------
1 | 0;alelo;Alelo
2 | 0;algar;Algar
3 | 0;alog;Alog
4 | 0;amazon;Amazon
5 | 1;amazon-prime-instant-video;Amazon Prime Video
6 | 1;aws-amazon-web-services;Amazon Web Services
7 | 0;america-net;America Net
8 | 0;anthem;Anthem
9 | 0;anydesk;Anydesk
10 | 0;apex-legends;Apex Legends
11 | 0;app-store;App Store
12 | 0;apple-store;Apple Store
13 | 0;avianca;Avianca
14 | 0;voeazul;Azul
15 | 0;bcb;Banco Central do Brasil
16 | 0;banco-do-brasil;Banco do Brasil
17 | 0;banco-inter;Banco Inter
18 | 0;banco-itau;Banco Itaú
19 | 0;banco-safra;Banco Safra
20 | 0;banco-santander;Banco Santander
21 | 0;banestes;Banestes
22 | 0;banrisul;Banrisul
23 | 0;battlefield;Battlefield
24 | 0;betfair;Betfair
25 | 0;binance;Binance
26 | 0;bing;Bing
27 | 0;battle-net;Blizzard Battle.net
28 | 0;bradesco;Bradesco
29 | 0;brisanet;Brisanet
30 | 0;buscape;Buscapé
31 | 0;c6-bank;C6 Bank
32 | 0;cabo-telecom;Cabo Telecom
33 | 0;cabonnet;Cabonnet
34 | 1;caixa;Caixa Econômica Federal
35 | 0;call-of-duty;Call of Duty
36 | 0;claro;Claro
37 | 0;clash-of-clans;Clash of Clans
38 | 0;clash-royale;Clash Royale
39 | 0;clear-corretora;Clear
40 | 0;cloudflare;Cloudflare
41 | 0;clusterweb;Clusterweb
42 | 0;copeltelecom;Copel Telecom
43 | 0;correios;Correios
44 | 0;counter-strike;Counter-Strike
45 | 0;cedit-suisse;Credit Suisse
46 | 0;crunchyroll;Crunchyroll
47 | 0;dataprev;Dataprev
48 | 0;dead-by-daylight;Dead By Daylight
49 | 0;deezer;Deezer
50 | 0;destiny;Destiny
51 | 0;discord;Discord
52 | 0;dota-2;Dota 2
53 | 0;dropbox;Dropbox
54 | 0;ea;EA
55 | 0;ebay;eBay
56 | 0;ecac;eCAC
57 | 0;embratel;Embratel
58 | 0;enem;Enem
59 | 0;epic-games-store;Epic Games Store
60 | 0;escape-from-tarkov;Escape from Tarkov
61 | 0;esocial;eSocial
62 | 0;faceapp;Faceapp
63 | 1;facebook;Facebook
64 | 1;facebook-messenger;Facebook Messenger
65 | 0;facetime;Facetime
66 | 0;feedly;Feedly
67 | 0;fifa;Fifa
68 | 0;for-honor;For Honor
69 | 0;fortnite;Fortnite
70 | 0;free-fire;Free Fire
71 | 0;garena;Garena
72 | 0;getnet;Getnet
73 | 0;github;GitHub
74 | 0;globo;Globo
75 | 0;globoplay;Globoplay
76 | 1;gmail;Gmail
77 | 0;go-daddy;Go Daddy
78 | 0;gol;Gol
79 | 0;google;Google
80 | 0;google-cloud;Google Cloud
81 | 0;google-drive;Google Drive
82 | 0;google-play;Google Play
83 | 0;gta5;GTA 5
84 | 0;global-village-telecom;GVT
85 | 0;hbo-go;HBO
86 | 0;hostgator;Hostgator
87 | 0;hostnet-br;Hostnet
88 | 0;hsbc;HSBC
89 | 0;icloud;iCloud
90 | 0;icq;ICQ
91 | 0;ifood;iFood
92 | 0;imessage;iMessage
93 | 0;instagram;Instagram
94 | 0;iti;ITI
95 | 0;itmnetworks;ITMNetworks
96 | 0;itunes;iTunes
97 | 0;jurassic-world-alive;Jurassic World Alive
98 | 0;kik;Kik
99 | 0;kinghost;KingHost
100 | 0;kraken;Kraken
101 | 0;league-of-legends;League of Legends
102 | 0;ligue-telecom;Ligue Telecom
103 | 0;line;Line
104 | 0;linkedin;LinkedIn
105 | 0;locaweb;Locaweb
106 | 0;mandic;Mandic
107 | 0;mercado-bitcoin;Mercado Bitcoin
108 | 1;mercado-livre;Mercado Livre
109 | 0;windows-azure;Microsoft Azure
110 | 0;teams;Microsoft Teams
111 | 0;multiplay;Multiplay
112 | 0;net;NET
113 | 1;netflix;Netflix
114 | 0;neverwinter;Neverwinter
115 | 0;nextel;Nextel
116 | 0;nota-fiscal-eletronica;Nota fiscal eletrônica
117 | 0;nubank;Nubank
118 | 0;office-365;Office 365
119 | 0;oi;Oi
120 | 0;olx;OLX
121 | 0;onedrive;OneDrive
122 | 0;origin;Origin
123 | 0;outlook;Outlook
124 | 0;overwatch;Overwatch
125 | 0;pagseguro;PagSeguro
126 | 0;path-of-exile;Path of Exile
127 | 0;paypal;Paypal
128 | 0;pinterest;Pinterest
129 | 0;playbattlegrounds;Player Unknown's Battlegrounds
130 | 0;playstation-network;Playstation Network
131 | 0;pokemon-go;Pokémon Go
132 | 0;policia-federal;Polícia Federal
133 | 0;porto-segura-conecta;Porto Seguro Conecta
134 | 0;qconcursos;QConcursos
135 | 0;rainbow-six;Rainbow Six
136 | 0;receite-federal;Receita Federal
137 | 0;red-dead-redemption;Red Dead Redemption
138 | 0;reddit;Reddit
139 | 0;roblox;Roblox
140 | 0;rocket-league;Rocket League
141 | 0;salesforcecom;Salesforce
142 | 0;sefaz;Sefaz
143 | 0;sercomtel;Sercomtel
144 | 0;sicoob;Sicoob
145 | 0;sicredi;Sicredi
146 | 0;sisu;SiSU
147 | 0;sky;SKY
148 | 0;skype;Skype
149 | 0;slack;Slack
150 | 0;snapchat;Snapchat
151 | 1;spotify;Spotify
152 | 0;steam;Steam
153 | 0;submarino;Submarino
154 | 0;superdigital;SuperDigital
155 | 0;teamviewer;Teamviewer
156 | 1;telegram;Telegram
157 | 0;terra;Terra
158 | 0;tim;TIM
159 | 0;tinder;Tinder
160 | 0;tribunal-superior-eleitoral;Tribunal Superior Eleitoral
161 | 0;twitch;Twitch
162 | 0;twitter;Twitter
163 | 0;uber;Uber
164 | 0;uber-eats;Uber Eats
165 | 0;udemy;Udemy
166 | 0;umbler;Umbler
167 | 0;uol;UOL
168 | 0;uolhost;UOLHost
169 | 0;uplay;Uplay PC
170 | 0;viber;Viber
171 | 0;vimeo;Vimeo
172 | 0;vivo;Vivo
173 | 0;vono;Vono
174 | 0;warframe;Warframe
175 | 0;waze;Waze
176 | 0;wechat;WeChat
177 | 1;whatsapp;Whatsapp
178 | 0;wikipedia;Wikipedia
179 | 0;world-of-warcraft;World of Warcraft
180 | 0;xbox-live;Xbox Live
181 | 0;xp-investimentos;XP Investimentos
182 | 0;yahoo;Yahoo
183 | 0;yahoo-mail;Yahoo Mail
184 | 1;youtube;Youtube
185 | 0;zello;Zello
186 |
--------------------------------------------------------------------------------
/icons/amazon-prime.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gtkpad/downdetector_scrapper/8375eeece541dcd5a8b182c2446ab5af3e4d7ab7/icons/amazon-prime.png
--------------------------------------------------------------------------------
/icons/amazon-web-services.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gtkpad/downdetector_scrapper/8375eeece541dcd5a8b182c2446ab5af3e4d7ab7/icons/amazon-web-services.png
--------------------------------------------------------------------------------
/icons/caixa.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gtkpad/downdetector_scrapper/8375eeece541dcd5a8b182c2446ab5af3e4d7ab7/icons/caixa.png
--------------------------------------------------------------------------------
/icons/facebook.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gtkpad/downdetector_scrapper/8375eeece541dcd5a8b182c2446ab5af3e4d7ab7/icons/facebook.png
--------------------------------------------------------------------------------
/icons/gmail.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gtkpad/downdetector_scrapper/8375eeece541dcd5a8b182c2446ab5af3e4d7ab7/icons/gmail.png
--------------------------------------------------------------------------------
/icons/mercado-livre.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gtkpad/downdetector_scrapper/8375eeece541dcd5a8b182c2446ab5af3e4d7ab7/icons/mercado-livre.png
--------------------------------------------------------------------------------
/icons/messenger.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gtkpad/downdetector_scrapper/8375eeece541dcd5a8b182c2446ab5af3e4d7ab7/icons/messenger.png
--------------------------------------------------------------------------------
/icons/netflix.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gtkpad/downdetector_scrapper/8375eeece541dcd5a8b182c2446ab5af3e4d7ab7/icons/netflix.png
--------------------------------------------------------------------------------
/icons/spotify.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gtkpad/downdetector_scrapper/8375eeece541dcd5a8b182c2446ab5af3e4d7ab7/icons/spotify.png
--------------------------------------------------------------------------------
/icons/telegram.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gtkpad/downdetector_scrapper/8375eeece541dcd5a8b182c2446ab5af3e4d7ab7/icons/telegram.png
--------------------------------------------------------------------------------
/icons/whatsapp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gtkpad/downdetector_scrapper/8375eeece541dcd5a8b182c2446ab5af3e4d7ab7/icons/whatsapp.png
--------------------------------------------------------------------------------
/icons/youtube.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gtkpad/downdetector_scrapper/8375eeece541dcd5a8b182c2446ab5af3e4d7ab7/icons/youtube.png
--------------------------------------------------------------------------------
/requirements.txt:
--------------------------------------------------------------------------------
1 | beautifulsoup4==4.9.0
2 | certifi==2020.4.5.1
3 | chardet==3.0.4
4 | cloudscraper==1.2.33
5 | idna==2.9
6 | requests==2.23.0
7 | requests-toolbelt==0.9.1
8 | soupsieve==2.0
9 | urllib3==1.25.9
10 |
--------------------------------------------------------------------------------
/screencapture/screencapture-grafana.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gtkpad/downdetector_scrapper/8375eeece541dcd5a8b182c2446ab5af3e4d7ab7/screencapture/screencapture-grafana.png
--------------------------------------------------------------------------------
/screencapture/screencapture-zabbix-grafico.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gtkpad/downdetector_scrapper/8375eeece541dcd5a8b182c2446ab5af3e4d7ab7/screencapture/screencapture-zabbix-grafico.png
--------------------------------------------------------------------------------
/screencapture/screencapture-zabbix.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gtkpad/downdetector_scrapper/8375eeece541dcd5a8b182c2446ab5af3e4d7ab7/screencapture/screencapture-zabbix.png
--------------------------------------------------------------------------------
/zbx_export_hosts.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 4.4
4 | 2020-04-20T23:38:05Z
5 |
6 |
7 | DownDetector
8 |
9 |
10 |
11 |
12 | DownDetector
13 | DownDetector
14 |
15 |
16 | RR DownDetector Discovery
17 |
18 |
19 |
20 |
21 | DownDetector
22 |
23 |
24 |
25 |
26 | if1
27 |
28 |
29 | DISABLED
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/zbx_export_templates.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 4.4
4 | 2020-04-20T23:37:36Z
5 |
6 |
7 | Templates RR
8 |
9 |
10 |
11 |
12 | RR DownDetector Discovery
13 | RR DownDetector Discovery
14 |
15 |
16 | Templates RR
17 |
18 |
19 |
20 |
21 | Site
22 |
23 |
24 |
25 |
26 | Descoberta Site
27 | EXTERNAL
28 | downdetectorDiscovery.py
29 | 5m
30 |
31 |
32 | {#SITE_NOME}
33 | EXTERNAL
34 | downdetector.py[{#SITE_ID}]
35 | 5m
36 | 7d
37 | 30d
38 |
39 |
40 | Site
41 |
42 |
43 |
44 | Status Downdetector
45 |
46 |
47 |
48 | {avg(30m)}=0
49 | Não esta sendo possível verificar {#SITE_NOME}
50 | INFO
51 |
52 |
53 | {avg(20m)}=2
54 | {#SITE_NOME} está apresentando intermitências
55 | WARNING
56 |
57 |
58 | {avg(10m)}=3
59 | {#SITE_NOME} está instável
60 | HIGH
61 |
62 |
63 |
64 |
65 |
66 |
67 | DownDetector {#SITE_NOME}
68 | 4.0000
69 | FIXED
70 |
71 |
72 | GRADIENT_LINE
73 | FF0000
74 | RIGHT
75 | -
76 | RR DownDetector Discovery
77 | downdetector.py[{#SITE_ID}]
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 | Status Downdetector
90 |
91 |
92 | 0
93 | Error
94 |
95 |
96 | 1
97 | Estável
98 |
99 |
100 | 2
101 | Intermitências
102 |
103 |
104 | 3
105 | Instável
106 |
107 |
108 |
109 |
110 |
111 |
--------------------------------------------------------------------------------
/zbx_export_valuemaps.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 4.4
4 | 2020-04-20T23:36:58Z
5 |
6 |
7 | Status Downdetector
8 |
9 |
10 | 0
11 | Error
12 |
13 |
14 | 1
15 | Estável
16 |
17 |
18 | 2
19 | Intermitências
20 |
21 |
22 | 3
23 | Instável
24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------