diff --git a/README.md b/README.md index 3882861..acbf38a 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# ISP-Checker + ![License](https://img.shields.io/github/license/fmdlc/ISP-Checker) ![LastCommit](https://img.shields.io/github/last-commit/fmdlc/ISP-Checker) ![Build](https://github.com/fmdlc/ISP-Checker/workflows/Build/badge.svg) ![Docker](https://img.shields.io/badge/Docker-19.03.13-blue) > A `docker-compose` and `kubernetes` stack to run a set of ISP controls and collect metrics on a [Raspberry Pi](https://www.raspberrypi.org/). @@ -49,7 +49,7 @@ $: kubectl apply -f https://raw.githubusercontent.com/fmdlc/ISP-Checker/master/k ``` You need to expose the `grafana` service to get access. You can do it by creating a `LoadBalancer` service type or by using an `IngressController`. -> Kubernetes deployment includes the [@jorgedlcruz](https://github.com/jorgedlcruz) [Raspberry Pi Monitoring](https://grafana.com/grafana/dashboards/10578) Dashboard. +> Kubernetes deployment includes the [@jorgedlcruz](https://github.com/jorgedlcruz) [Raspberry Pi Monitoring](https://grafana.com/grafana/dashboards/10578) Dashboard. It's a super useful dashboard to monitor Hardware and Operating system stadistics and extends `ISP-Checker` features and contains multiples sections with the goal to monitor a full Raspberry Pi board or boards and has some sections to monitor the Linux and machine overall performance, and temperature. diff --git a/img/config.svg b/img/config.svg new file mode 100644 index 0000000..04e32f5 --- /dev/null +++ b/img/config.svg @@ -0,0 +1,652 @@ + + + + + + + + +cluster_192.168.0.200 + +192.168.0.200 + + +cluster_namespace_monitoring + +monitoring + + + +03bb06ee-3478-47de-a239-4ae5f8b31f08 + +Pod + +telegraf-dbsct + + + +7ee48df0-1e53-2f28-634a-283b31b48598 + +Container + +telegraf + + + +03bb06ee-3478-47de-a239-4ae5f8b31f08->7ee48df0-1e53-2f28-634a-283b31b48598 + + + + + +03cddb44-8d7c-430c-b391-b92483c377c4 + +Job + +telefraf-speedtest-1603554000 + + + +bb7f1001-3c90-4c4a-94e4-23c5ea2f0206 + +Pod + +telefraf-speedtest-1603554000-gzfwq + + + +03cddb44-8d7c-430c-b391-b92483c377c4->bb7f1001-3c90-4c4a-94e4-23c5ea2f0206 + + + + + +0c9eed70-f8b2-408a-a70a-865da103a5ff + +CronJob + +telefraf-mtr + + + +0ddc1c7d-49c2-4d22-b08f-f840d61032c1 + +ReplicaSet + +grafana-56858b8cc8 + + + +9e72b254-4954-41ad-962d-7ab0b90d6a30 + +Pod + +grafana-56858b8cc8-mpph6 + + + +0ddc1c7d-49c2-4d22-b08f-f840d61032c1->9e72b254-4954-41ad-962d-7ab0b90d6a30 + + + + + +1d221322-0b76-4aa0-9b18-184e78987b56 + +Endpoints + +influxdb-svc + + + +cd88c9c5-70bf-4287-8b28-7c0147076ed8 + +Pod + +influxdb-5d54bb97dc-hwbcb + + + +1d221322-0b76-4aa0-9b18-184e78987b56->cd88c9c5-70bf-4287-8b28-7c0147076ed8 + + + + + +257231a5-5bff-4d64-98df-e9ac70ff1219 + +Endpoints + +grafana-svc + + + +257231a5-5bff-4d64-98df-e9ac70ff1219->9e72b254-4954-41ad-962d-7ab0b90d6a30 + + + + + +2738d264-549b-c4e7-4b21-b12830dc5064 + +Container + +telegraf + + + +2b7b751a-c56f-4fc9-aab3-8bcc9ef758d9 + +Job + +telefraf-mtr-1603554000 + + + +9cca5c49-ee19-482d-a506-d416e7efd70e + +Pod + +telefraf-mtr-1603554000-xjdtx + + + +2b7b751a-c56f-4fc9-aab3-8bcc9ef758d9->9cca5c49-ee19-482d-a506-d416e7efd70e + + + + + +3403f7e1-58c9-fd61-519f-236620837808 + +Container + +lb-port-3000 + + + +3465d92a-ab01-6ac0-b3dd-4aa8384263d9 + +Container + +influxdb + + + +425dfdfc-62fa-4c78-be84-c16c2afaa22f + +Pod + +svclb-grafana-svc-vsvlw + + + +d46f328c-1fda-055c-7df9-30dd6394a8b8 + +Container + +lb-port-3000 + + + +425dfdfc-62fa-4c78-be84-c16c2afaa22f->d46f328c-1fda-055c-7df9-30dd6394a8b8 + + + + + +4c69b87b-f38c-97bd-bf89-86f67b5fae91 + +Container + +telegraf-mtr + + + +4d34a878-8dd1-4eb5-a7dc-a3e72cbedbe9 + +Pod + +telegraf-bpbng + + + +4d34a878-8dd1-4eb5-a7dc-a3e72cbedbe9->2738d264-549b-c4e7-4b21-b12830dc5064 + + + + + +4e40c66c-500e-4221-abb8-d2e4b9586cc7 + +Job + +telefraf-speedtest-1603553400 + + + +d00db8a7-f362-4b9c-bb80-d7f82ab60771 + +Pod + +telefraf-speedtest-1603553400-dcbjp + + + +4e40c66c-500e-4221-abb8-d2e4b9586cc7->d00db8a7-f362-4b9c-bb80-d7f82ab60771 + + + + + +53c3d993-7c0f-4c67-bc5c-9a831e380156 + +Pod + +telegraf-g2ljs + + + +7428ea6f-16db-7e88-f676-ead77cee627c + +Container + +telegraf + + + +53c3d993-7c0f-4c67-bc5c-9a831e380156->7428ea6f-16db-7e88-f676-ead77cee627c + + + + + +54e52f54-9c38-4dc2-b493-4c96c144fbef + +Pod + +telefraf-mtr-1603552800-pfh74 + + + +a5fdb550-74b2-16d8-be44-d3566ab1bcb2 + +Container + +telegraf-mtr + + + +54e52f54-9c38-4dc2-b493-4c96c144fbef->a5fdb550-74b2-16d8-be44-d3566ab1bcb2 + + + + + +57585d76-cf32-47f8-84d0-4d0f857ffb31 + +DaemonSet + +svclb-grafana-svc + + + +57585d76-cf32-47f8-84d0-4d0f857ffb31->425dfdfc-62fa-4c78-be84-c16c2afaa22f + + + + + +8d7ceda2-1e88-43d6-922b-0a2e97641c45 + +Pod + +svclb-grafana-svc-n4xxx + + + +57585d76-cf32-47f8-84d0-4d0f857ffb31->8d7ceda2-1e88-43d6-922b-0a2e97641c45 + + + + + +9d6ba88a-4d50-44c9-836b-4bbf2007c7fd + +Pod + +svclb-grafana-svc-8pdvf + + + +57585d76-cf32-47f8-84d0-4d0f857ffb31->9d6ba88a-4d50-44c9-836b-4bbf2007c7fd + + + + + +6635b32d-aca5-4247-82fc-d087bbfb6177 + +Secret + +influxdb-datasource-provisioner + + + +6963f53b-bb35-4af1-8ee8-daf47908d71b + +ReplicaSet + +influxdb-5d54bb97dc + + + +6963f53b-bb35-4af1-8ee8-daf47908d71b->cd88c9c5-70bf-4287-8b28-7c0147076ed8 + + + + + +6e84edfa-edf6-4636-bd98-007f031c762a + +Job + +telefraf-mtr-1603553400 + + + +e7ed50a0-3f0f-46ad-87b3-e5560dd7b540 + +Pod + +telefraf-mtr-1603553400-vqfjj + + + +6e84edfa-edf6-4636-bd98-007f031c762a->e7ed50a0-3f0f-46ad-87b3-e5560dd7b540 + + + + + +76027a23-e4d3-4973-969d-434a5b1e7b86 + +ConfigMap + +raspberry-dashboard + + + +842a6ce1-553e-c7cd-4d09-2178ba67026e + +Container + +lb-port-3000 + + + +8cac5625-129f-40a8-908e-169af3406be7 + +ConfigMap + +telegraf-config + + + +8d7ceda2-1e88-43d6-922b-0a2e97641c45->842a6ce1-553e-c7cd-4d09-2178ba67026e + + + + + +94f3661f-f0c2-7e80-5277-df25c5d6bbd3 + +Container + +telegraf-speedtest + + + +e1bdf1ab-dde5-3393-c333-a315596ab817 + +Container + +telegraf-mtr + + + +9cca5c49-ee19-482d-a506-d416e7efd70e->e1bdf1ab-dde5-3393-c333-a315596ab817 + + + + + +9d6ba88a-4d50-44c9-836b-4bbf2007c7fd->3403f7e1-58c9-fd61-519f-236620837808 + + + + + +b477c141-6786-416c-5c7f-eb13828992a4 + +Container + +grafana + + + +9e72b254-4954-41ad-962d-7ab0b90d6a30->b477c141-6786-416c-5c7f-eb13828992a4 + + + + + +a575de8d-da11-4668-9a81-296423e8a32f + +Deployment + +grafana + + + +a7bee01b-df54-4973-af58-f28b90588b33 + +ConfigMap + +network-dashboard + + + +b35842e2-1594-4cb3-a6a9-59e6e9985368 + +Job + +telefraf-mtr-1603552800 + + + +b35842e2-1594-4cb3-a6a9-59e6e9985368->54e52f54-9c38-4dc2-b493-4c96c144fbef + + + + + +b82c4469-4ccb-4111-8135-f79ffbaeb83c + +ConfigMap + +grafana-dashboard-provisioner + + + +f737c66e-9672-bbf7-0895-4610c7466d00 + +Container + +telegraf-speedtest + + + +bb7f1001-3c90-4c4a-94e4-23c5ea2f0206->f737c66e-9672-bbf7-0895-4610c7466d00 + + + + + +bb877bad-242a-4f9f-aa20-b8220ec6cc73 + +CronJob + +telefraf-speedtest + + + +cd115076-b1ca-485f-8fd2-440d2c4221e1 + +Job + +telefraf-speedtest-1603552800 + + + +dddc3eb3-d8e6-47a6-a991-eefbdb9cd2bb + +Pod + +telefraf-speedtest-1603552800-tz9vt + + + +cd115076-b1ca-485f-8fd2-440d2c4221e1->dddc3eb3-d8e6-47a6-a991-eefbdb9cd2bb + + + + + +cd88c9c5-70bf-4287-8b28-7c0147076ed8->3465d92a-ab01-6ac0-b3dd-4aa8384263d9 + + + + + +e288e504-a4cd-d201-7b5d-e2eab62ebb22 + +Container + +telegraf-speedtest + + + +d00db8a7-f362-4b9c-bb80-d7f82ab60771->e288e504-a4cd-d201-7b5d-e2eab62ebb22 + + + + + +dddc3eb3-d8e6-47a6-a991-eefbdb9cd2bb->94f3661f-f0c2-7e80-5277-df25c5d6bbd3 + + + + + +e062a851-e054-4cc5-ab5e-cfebd5a5ee57 + +Secret + +isp-checker-secrets-ro + + + +e2883fcc-99f2-4d9b-815b-b28e22c7de51 + +Secret + +default-token-6njx8 + + + +e4fbd174-c479-4aad-ab6d-296923abe677 + +Secret + +isp-checker-secrets-rw + + + +e7ed50a0-3f0f-46ad-87b3-e5560dd7b540->4c69b87b-f38c-97bd-bf89-86f67b5fae91 + + + + + +e87be3ff-463b-466b-9068-7620af362375 + +Deployment + +influxdb + + + +f21fcd94-36e5-4bd3-8a41-85a821c6be9f + +DaemonSet + +telegraf + + + +f21fcd94-36e5-4bd3-8a41-85a821c6be9f->03bb06ee-3478-47de-a239-4ae5f8b31f08 + + + + + +f21fcd94-36e5-4bd3-8a41-85a821c6be9f->4d34a878-8dd1-4eb5-a7dc-a3e72cbedbe9 + + + + + +f21fcd94-36e5-4bd3-8a41-85a821c6be9f->53c3d993-7c0f-4c67-bc5c-9a831e380156 + + + + + +f2e5ddf6-31f9-4d00-ab26-7873c2db3581 + +Service + +grafana-svc + + + +f2e5ddf6-31f9-4d00-ab26-7873c2db3581->257231a5-5bff-4d64-98df-e9ac70ff1219 + + + + + +f2e5ddf6-31f9-4d00-ab26-7873c2db3581->57585d76-cf32-47f8-84d0-4d0f857ffb31 + + + + + +fe751f6d-5d0b-4730-936d-9292d40696e3 + +Service + +influxdb-svc + + + +fe751f6d-5d0b-4730-936d-9292d40696e3->1d221322-0b76-4aa0-9b18-184e78987b56 + + + + + diff --git a/img/logo.png b/img/logo.png new file mode 100644 index 0000000..bc55f6c Binary files /dev/null and b/img/logo.png differ diff --git a/img/pods.svg b/img/pods.svg new file mode 100644 index 0000000..4879a8e --- /dev/null +++ b/img/pods.svg @@ -0,0 +1,668 @@ + + + + + + + + +cluster_192.168.0.200 + +192.168.0.200 + + +cluster_namespace_monitoring + +monitoring + + + +03bb06ee-3478-47de-a239-4ae5f8b31f08 + +Pod + +telegraf-dbsct + + + +7ee48df0-1e53-2f28-634a-283b31b48598 + +Container + +telegraf + + + +03bb06ee-3478-47de-a239-4ae5f8b31f08->7ee48df0-1e53-2f28-634a-283b31b48598 + + + + + +0c9eed70-f8b2-408a-a70a-865da103a5ff + +CronJob + +telefraf-mtr + + + +0ddc1c7d-49c2-4d22-b08f-f840d61032c1 + +ReplicaSet + +grafana-56858b8cc8 + + + +9e72b254-4954-41ad-962d-7ab0b90d6a30 + +Pod + +grafana-56858b8cc8-mpph6 + + + +0ddc1c7d-49c2-4d22-b08f-f840d61032c1->9e72b254-4954-41ad-962d-7ab0b90d6a30 + + + + + +1d221322-0b76-4aa0-9b18-184e78987b56 + +Endpoints + +influxdb-svc + + + +cd88c9c5-70bf-4287-8b28-7c0147076ed8 + +Pod + +influxdb-5d54bb97dc-hwbcb + + + +1d221322-0b76-4aa0-9b18-184e78987b56->cd88c9c5-70bf-4287-8b28-7c0147076ed8 + + + + + +22a5c89c-5015-bcf1-59ac-74bb664198ba + +Container + +telegraf-speedtest + + + +257231a5-5bff-4d64-98df-e9ac70ff1219 + +Endpoints + +grafana-svc + + + +257231a5-5bff-4d64-98df-e9ac70ff1219->9e72b254-4954-41ad-962d-7ab0b90d6a30 + + + + + +2738d264-549b-c4e7-4b21-b12830dc5064 + +Container + +telegraf + + + +3403f7e1-58c9-fd61-519f-236620837808 + +Container + +lb-port-3000 + + + +3465d92a-ab01-6ac0-b3dd-4aa8384263d9 + +Container + +influxdb + + + +425dfdfc-62fa-4c78-be84-c16c2afaa22f + +Pod + +svclb-grafana-svc-vsvlw + + + +d46f328c-1fda-055c-7df9-30dd6394a8b8 + +Container + +lb-port-3000 + + + +425dfdfc-62fa-4c78-be84-c16c2afaa22f->d46f328c-1fda-055c-7df9-30dd6394a8b8 + + + + + +4c69b87b-f38c-97bd-bf89-86f67b5fae91 + +Container + +telegraf-mtr + + + +4d34a878-8dd1-4eb5-a7dc-a3e72cbedbe9 + +Pod + +telegraf-bpbng + + + +4d34a878-8dd1-4eb5-a7dc-a3e72cbedbe9->2738d264-549b-c4e7-4b21-b12830dc5064 + + + + + +4e40c66c-500e-4221-abb8-d2e4b9586cc7 + +Job + +telefraf-speedtest-1603553400 + + + +d00db8a7-f362-4b9c-bb80-d7f82ab60771 + +Pod + +telefraf-speedtest-1603553400-dcbjp + + + +4e40c66c-500e-4221-abb8-d2e4b9586cc7->d00db8a7-f362-4b9c-bb80-d7f82ab60771 + + + + + +53c3d993-7c0f-4c67-bc5c-9a831e380156 + +Pod + +telegraf-g2ljs + + + +7428ea6f-16db-7e88-f676-ead77cee627c + +Container + +telegraf + + + +53c3d993-7c0f-4c67-bc5c-9a831e380156->7428ea6f-16db-7e88-f676-ead77cee627c + + + + + +54ade014-05ab-74b6-dc24-76aa2100c146 + +Container + +telegraf-mtr + + + +54e52f54-9c38-4dc2-b493-4c96c144fbef + +Pod + +telefraf-mtr-1603552800-pfh74 + + + +a5fdb550-74b2-16d8-be44-d3566ab1bcb2 + +Container + +telegraf-mtr + + + +54e52f54-9c38-4dc2-b493-4c96c144fbef->a5fdb550-74b2-16d8-be44-d3566ab1bcb2 + + + + + +57585d76-cf32-47f8-84d0-4d0f857ffb31 + +DaemonSet + +svclb-grafana-svc + + + +57585d76-cf32-47f8-84d0-4d0f857ffb31->425dfdfc-62fa-4c78-be84-c16c2afaa22f + + + + + +8d7ceda2-1e88-43d6-922b-0a2e97641c45 + +Pod + +svclb-grafana-svc-n4xxx + + + +57585d76-cf32-47f8-84d0-4d0f857ffb31->8d7ceda2-1e88-43d6-922b-0a2e97641c45 + + + + + +9d6ba88a-4d50-44c9-836b-4bbf2007c7fd + +Pod + +svclb-grafana-svc-8pdvf + + + +57585d76-cf32-47f8-84d0-4d0f857ffb31->9d6ba88a-4d50-44c9-836b-4bbf2007c7fd + + + + + +6635b32d-aca5-4247-82fc-d087bbfb6177 + +Secret + +influxdb-datasource-provisioner + + + +6963f53b-bb35-4af1-8ee8-daf47908d71b + +ReplicaSet + +influxdb-5d54bb97dc + + + +6963f53b-bb35-4af1-8ee8-daf47908d71b->cd88c9c5-70bf-4287-8b28-7c0147076ed8 + + + + + +6e84edfa-edf6-4636-bd98-007f031c762a + +Job + +telefraf-mtr-1603553400 + + + +e7ed50a0-3f0f-46ad-87b3-e5560dd7b540 + +Pod + +telefraf-mtr-1603553400-vqfjj + + + +6e84edfa-edf6-4636-bd98-007f031c762a->e7ed50a0-3f0f-46ad-87b3-e5560dd7b540 + + + + + +76027a23-e4d3-4973-969d-434a5b1e7b86 + +ConfigMap + +raspberry-dashboard + + + +842a6ce1-553e-c7cd-4d09-2178ba67026e + +Container + +lb-port-3000 + + + +8cac5625-129f-40a8-908e-169af3406be7 + +ConfigMap + +telegraf-config + + + +8d7ceda2-1e88-43d6-922b-0a2e97641c45->842a6ce1-553e-c7cd-4d09-2178ba67026e + + + + + +8e0e42d8-fcb9-4977-a82f-5483e186cf27 + +Pod + +telefraf-speedtest-1603552200-p8qps + + + +8e0e42d8-fcb9-4977-a82f-5483e186cf27->22a5c89c-5015-bcf1-59ac-74bb664198ba + + + + + +94f3661f-f0c2-7e80-5277-df25c5d6bbd3 + +Container + +telegraf-speedtest + + + +9ab0b5cc-83b2-4206-ab71-694ba607c75b + +Pod + +telefraf-mtr-1603552200-zctvz + + + +9ab0b5cc-83b2-4206-ab71-694ba607c75b->54ade014-05ab-74b6-dc24-76aa2100c146 + + + + + +9d6ba88a-4d50-44c9-836b-4bbf2007c7fd->3403f7e1-58c9-fd61-519f-236620837808 + + + + + +b477c141-6786-416c-5c7f-eb13828992a4 + +Container + +grafana + + + +9e72b254-4954-41ad-962d-7ab0b90d6a30->b477c141-6786-416c-5c7f-eb13828992a4 + + + + + +a575de8d-da11-4668-9a81-296423e8a32f + +Deployment + +grafana + + + +a7bee01b-df54-4973-af58-f28b90588b33 + +ConfigMap + +network-dashboard + + + +abf189c0-d2dd-423f-aa25-6b4e8f37bb2c + +PersistentVolumeClaim + +influxdb-pvc + + + +b1b84685-443a-42a6-81ed-07015506d1d0 + +PersistentVolumeClaim + +grafana-pvc + + + +b35842e2-1594-4cb3-a6a9-59e6e9985368 + +Job + +telefraf-mtr-1603552800 + + + +b35842e2-1594-4cb3-a6a9-59e6e9985368->54e52f54-9c38-4dc2-b493-4c96c144fbef + + + + + +b82c4469-4ccb-4111-8135-f79ffbaeb83c + +ConfigMap + +grafana-dashboard-provisioner + + + +bb877bad-242a-4f9f-aa20-b8220ec6cc73 + +CronJob + +telefraf-speedtest + + + +cd115076-b1ca-485f-8fd2-440d2c4221e1 + +Job + +telefraf-speedtest-1603552800 + + + +dddc3eb3-d8e6-47a6-a991-eefbdb9cd2bb + +Pod + +telefraf-speedtest-1603552800-tz9vt + + + +cd115076-b1ca-485f-8fd2-440d2c4221e1->dddc3eb3-d8e6-47a6-a991-eefbdb9cd2bb + + + + + +cd88c9c5-70bf-4287-8b28-7c0147076ed8->3465d92a-ab01-6ac0-b3dd-4aa8384263d9 + + + + + +e288e504-a4cd-d201-7b5d-e2eab62ebb22 + +Container + +telegraf-speedtest + + + +d00db8a7-f362-4b9c-bb80-d7f82ab60771->e288e504-a4cd-d201-7b5d-e2eab62ebb22 + + + + + +dddc3eb3-d8e6-47a6-a991-eefbdb9cd2bb->94f3661f-f0c2-7e80-5277-df25c5d6bbd3 + + + + + +e062a851-e054-4cc5-ab5e-cfebd5a5ee57 + +Secret + +isp-checker-secrets-ro + + + +e2883fcc-99f2-4d9b-815b-b28e22c7de51 + +Secret + +default-token-6njx8 + + + +e4fbd174-c479-4aad-ab6d-296923abe677 + +Secret + +isp-checker-secrets-rw + + + +e7ed50a0-3f0f-46ad-87b3-e5560dd7b540->4c69b87b-f38c-97bd-bf89-86f67b5fae91 + + + + + +e87be3ff-463b-466b-9068-7620af362375 + +Deployment + +influxdb + + + +f21fcd94-36e5-4bd3-8a41-85a821c6be9f + +DaemonSet + +telegraf + + + +f21fcd94-36e5-4bd3-8a41-85a821c6be9f->03bb06ee-3478-47de-a239-4ae5f8b31f08 + + + + + +f21fcd94-36e5-4bd3-8a41-85a821c6be9f->4d34a878-8dd1-4eb5-a7dc-a3e72cbedbe9 + + + + + +f21fcd94-36e5-4bd3-8a41-85a821c6be9f->53c3d993-7c0f-4c67-bc5c-9a831e380156 + + + + + +f2e5ddf6-31f9-4d00-ab26-7873c2db3581 + +Service + +grafana-svc + + + +f2e5ddf6-31f9-4d00-ab26-7873c2db3581->257231a5-5bff-4d64-98df-e9ac70ff1219 + + + + + +f2e5ddf6-31f9-4d00-ab26-7873c2db3581->57585d76-cf32-47f8-84d0-4d0f857ffb31 + + + + + +f8887fd4-869d-46b0-a43a-fa009411ad8f + +Job + +telefraf-mtr-1603552200 + + + +f8887fd4-869d-46b0-a43a-fa009411ad8f->9ab0b5cc-83b2-4206-ab71-694ba607c75b + + + + + +fe751f6d-5d0b-4730-936d-9292d40696e3 + +Service + +influxdb-svc + + + +fe751f6d-5d0b-4730-936d-9292d40696e3->1d221322-0b76-4aa0-9b18-184e78987b56 + + + + + +feeca386-facc-42ff-bb30-6a506cc6e7a3 + +Job + +telefraf-speedtest-1603552200 + + + +feeca386-facc-42ff-bb30-6a506cc6e7a3->8e0e42d8-fcb9-4977-a82f-5483e186cf27 + + + + + diff --git a/kubernetes/README.md b/kubernetes/README.md index 23c8dc3..bdd6d5f 100644 --- a/kubernetes/README.md +++ b/kubernetes/README.md @@ -10,8 +10,8 @@ -The following `YAML` configuration files are used to deploy this stack in Kubernetes by creating the basic objects to run. -They can widely improved but so far let's say it works. :) +The following `YAML` configuration files are used to deploy this stack in Kubernetes by creating the basic objects to run. +They can widely improved but so far let's say it works. :) > ***NOTE***: The Kubernetes deployment is in *BETA* version. Don't worry if you see something wrong here. @@ -20,7 +20,7 @@ They can widely improved but so far let's say it works. :) 1) Apply the `ISP-Checker-deploy.yaml` ```bash $: kubectl apply -f https://raw.githubusercontent.com/fmdlc/ISP-Checker/master/kubernetes/ISP-Checker-deploy.yaml -``` +``` --- ### Configuration @@ -71,7 +71,7 @@ data: > Apply all `YAML` files. ``` -$: kubectl apply -f namespace.yaml +$: kubectl apply -f namespace.yaml namespace/monitoring created $: kubectl apply -f pvc.yaml @@ -82,7 +82,7 @@ secret/isp-checker-secrets-rw configured secret/isp-checker-secrets-ro configured secret/grafana-datasource configured -$: kubectl apply -f +$: kubectl apply -f configMaps.yaml configmap/grafana-user-config configured configmap/network-dashboard-provisioner configured configmap/telegraf-config configured @@ -90,9 +90,19 @@ configmap/telegraf-config configured $: kubectl apply -f services.yaml service/influxdb-svc created -$: kubectl apply -f network-dashboard.yaml +$: kubectl apply -f networkDashboard.yaml configmap/grafana-dashboard configured +$: kubectl apply -f raspberryDashboard.yaml +configmap/raspberry-dashboard configured + +$: kubectl apply -f daemonSet.yaml +daemonset.apps/telegraf configured + +$: kubectl apply -f cronJob.yaml +cronjob.batch/telefraf-mtr configured +cronjob.batch/telefraf-speedtest configured + $: kubectl apply -f deployment.yaml deployment.apps/influxdb configured deployment.apps/grafana configured @@ -119,11 +129,19 @@ And finally use your IngressController to access the service or a `port-forward` $: kubectl port-forward svc/grafana-svc 3000:3000 -n monitoring ``` +## Resources graph + +
+ + + +
+ --- ## ToDo - [ ] Create Helm Chart. -- [ ] Improve provisioning. -- [ ] Configure Default dashboard in Grafana. +- [X] Improve provisioning. +- [X] Configure Default dashboard in Grafana. - [ ] Create CRD to interact with Grafana API. diff --git a/kubernetes/yaml/networkDashboard.yaml b/kubernetes/yaml/networkDashboard.yaml index 472e22d..030b8a4 100644 --- a/kubernetes/yaml/networkDashboard.yaml +++ b/kubernetes/yaml/networkDashboard.yaml @@ -10,9 +10,9 @@ metadata: data: network-dashboard.json: |- { - "annotations": { - "list": [ - { + "annotations": { + "list": [ + { "builtIn": 1, "datasource": "-- Grafana --", "enable": true, @@ -20,268 +20,63 @@ data: "iconColor": "rgba(0, 211, 255, 1)", "name": "Annotations & Alerts", "type": "dashboard" - } - ] - }, + } + ] + }, "description": "Network latencies and availability", "editable": true, "gnetId": 13140, "graphTooltip": 0, - "iteration": 1603341911009, + "iteration": 1603557787209, "links": [], "panels": [ { - "datasource": "InfluxDB", - "fieldConfig": { - "defaults": { - "custom": {}, - "mappings": [], - "max": 300, - "min": 0, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "dark-red", - "value": null - }, - { - "color": "super-light-green", - "value": 0 - }, - { - "color": "light-green", - "value": 50 - }, - { - "color": "semi-dark-green", - "value": 100 - }, - { - "color": "semi-dark-green", - "value": 150 - }, - { - "color": "light-orange", - "value": 150 - }, - { - "color": "super-light-orange", - "value": 200 - }, - { - "color": "semi-dark-orange", - "value": 250 - }, - { - "color": "dark-red", - "value": 300 - } - ] - }, - "unit": "ms" - }, - "overrides": [] - }, - "gridPos": { - "h": 11, - "w": 6, - "x": 0, - "y": 0 - }, - "id": 26, - "options": { - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showThresholdLabels": true, - "showThresholdMarkers": true - }, - "pluginVersion": "7.2.1", - "targets": [ - { - "groupBy": [ - { - "params": [ - "5m" - ], - "type": "time" - }, - { - "params": [ - "previous" - ], - "type": "fill" - } - ], - "measurement": "speedtest", - "orderByTime": "ASC", - "policy": "default", - "refId": "A", - "resultFormat": "time_series", - "select": [ - [ - { - "params": [ - "Ping" - ], - "type": "field" - }, - { - "params": [], - "type": "last" - } - ] - ], - "tags": [] - } - ], - "timeFrom": null, - "timeShift": null, - "title": "Speedtest (Ping)", - "type": "gauge" - }, - { - "datasource": "InfluxDB", - "description": "Download bandwidth", + "datasource": null, "fieldConfig": { "defaults": { - "custom": {}, - "decimals": 2, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "dark-red", - "value": null - }, - { - "color": "light-red", - "value": 5 - }, - { - "color": "dark-orange", - "value": 10 - }, - { - "color": "super-light-orange", - "value": 20 - }, - { - "color": "super-light-green", - "value": 30 - }, - { - "color": "light-green", - "value": 40 - }, - { - "color": "semi-dark-green", - "value": 50 - } - ] - }, - "unit": "Mbits" - }, - "overrides": [] + "custom": {} }, + "overrides": [] + }, "gridPos": { "h": 6, - "w": 5, - "x": 6, + "w": 11, + "x": 0, "y": 0 - }, - "id": 20, + }, + "id": 95, "options": { - "colorMode": "background", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "textMode": "auto" - }, - "pluginVersion": "7.2.1", - "targets": [ - { - "groupBy": [ - { - "params": [ - "5m" - ], - "type": "time" - }, - { - "params": [ - "null" - ], - "type": "fill" - } - ], - "measurement": "speedtest", - "orderByTime": "ASC", - "policy": "default", - "refId": "A", - "resultFormat": "time_series", - "select": [ - [ - { - "params": [ - "Download" - ], - "type": "field" - }, - { - "params": [], - "type": "sum" - }, - { - "params": [ - "/1048576" - ], - "type": "math" - } - ] - ], - "tags": [] - } - ], + "content": " ", + "mode": "html" + }, + "pluginVersion": "7.1.0", "timeFrom": null, "timeShift": null, - "title": "Bandwidth (Download)", - "type": "stat" + "title": "", + "transparent": true, + "type": "text" + }, + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "InfluxDB", + "description": "", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] }, - { - "aliasColors": {}, - "bars": true, - "dashLength": 10, - "dashes": false, - "datasource": "InfluxDB", - "description": "", - "fieldConfig": { - "defaults": { - "custom": {} - }, - "overrides": [] - }, "fill": 1, "fillGradient": 2, "gridPos": { - "h": 11, + "h": 9, "w": 13, "x": 11, "y": 0 - }, + }, "hiddenSeries": false, "id": 24, "legend": { @@ -294,13 +89,13 @@ data: "show": false, "total": false, "values": false - }, + }, "lines": true, "linewidth": 1, "nullPointMode": "null", "options": { "alertThreshold": true - }, + }, "percentage": false, "pluginVersion": "7.2.1", "pointradius": 2, @@ -317,16 +112,16 @@ data: { "params": [ "$__interval" - ], - "type": "time" - }, - { - "params": [ - "previous" - ], - "type": "fill" - } - ], + ], + "type": "time" + }, + { + "params": [ + "previous" + ], + "type": "fill" + } + ], "measurement": "speedtest", "orderByTime": "ASC", "policy": "default", @@ -337,45 +132,45 @@ data: { "params": [ "Download" - ], - "type": "field" - }, - { - "params": [], - "type": "last" - }, - { - "params": [ - " / 1000000" - ], + ], + "type": "field" + }, + { + "params": [], + "type": "last" + }, + { + "params": [ + " / 1000000" + ], "type": "math" - } - ] - ], + } + ] + ], "tags": [ { "key": "host", "operator": "=~", "value": "/^$NetHost$/" - } - ] + } + ] + }, + { + "alias": "Upload", + "groupBy": [ + { + "params": [ + "$__interval" + ], + "type": "time" }, { - "alias": "Upload", - "groupBy": [ - { - "params": [ - "$__interval" - ], - "type": "time" - }, - { - "params": [ - "previous" - ], - "type": "fill" - } - ], + "params": [ + "previous" + ], + "type": "fill" + } + ], "measurement": "speedtest", "orderByTime": "ASC", "policy": "default", @@ -386,24 +181,24 @@ data: { "params": [ "Upload" - ], - "type": "field" - }, - { - "params": [], - "type": "last" - }, - { - "params": [ - " / 1000000" - ], + ], + "type": "field" + }, + { + "params": [], + "type": "last" + }, + { + "params": [ + " / 1000000" + ], "type": "math" - } - ] - ], + } + ] + ], "tags": [] - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -413,7 +208,7 @@ data: "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -421,7 +216,7 @@ data: "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "$$hashKey": "object:401", @@ -431,93 +226,204 @@ data: "max": null, "min": null, "show": true - }, - { - "$$hashKey": "object:402", - "decimals": 2, - "format": "MBs", - "label": "Download (MB/s)", - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], + }, + { + "$$hashKey": "object:402", + "decimals": 2, + "format": "MBs", + "label": "Download (MB/s)", + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], "yaxis": { "align": false, "alignLevel": null - } + } + }, + { + "datasource": "InfluxDB", + "fieldConfig": { + "defaults": { + "custom": {}, + "mappings": [], + "max": 300, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "dark-red", + "value": null + }, + { + "color": "super-light-green", + "value": 0 + }, + { + "color": "light-green", + "value": 50 + }, + { + "color": "semi-dark-green", + "value": 100 + }, + { + "color": "semi-dark-green", + "value": 150 + }, + { + "color": "light-orange", + "value": 150 + }, + { + "color": "super-light-orange", + "value": 200 + }, + { + "color": "semi-dark-orange", + "value": 250 + }, + { + "color": "dark-red", + "value": 300 + } + ] + }, + "unit": "ms" + }, + "overrides": [] }, - { - "datasource": "InfluxDB", - "description": "Uptime bandwidth", - "fieldConfig": { - "defaults": { - "custom": {}, - "decimals": 2, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "dark-red", - "value": null - }, - { - "color": "red", - "value": 0.5 - }, - { - "color": "dark-orange", - "value": 1 - }, - { - "color": "light-yellow", - "value": 2 - }, - { - "color": "super-light-green", - "value": 3 - }, - { - "color": "light-green", - "value": 4 - }, - { - "color": "semi-dark-green", - "value": 5 - }, + "gridPos": { + "h": 11, + "w": 6, + "x": 0, + "y": 6 + }, + "id": 26, + "options": { + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showThresholdLabels": true, + "showThresholdMarkers": true + }, + "pluginVersion": "7.2.1", + "targets": [ + { + "groupBy": [ + { + "params": [ + "5m" + ], + "type": "time" + }, + { + "params": [ + "previous" + ], + "type": "fill" + } + ], + "measurement": "speedtest", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ { - "color": "dark-green", - "value": 6 - } - ] + "params": [ + "Ping" + ], + "type": "field" }, - "unit": "Mbits" + { + "params": [], + "type": "last" + } + ] + ], + "tags": [] + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Speedtest (Ping)", + "type": "gauge" + }, + { + "datasource": "InfluxDB", + "description": "Download bandwidth", + "fieldConfig": { + "defaults": { + "custom": {}, + "decimals": 2, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "dark-red", + "value": null + }, + { + "color": "light-red", + "value": 5 + }, + { + "color": "dark-orange", + "value": 10 + }, + { + "color": "super-light-orange", + "value": 20 + }, + { + "color": "super-light-green", + "value": 30 + }, + { + "color": "light-green", + "value": 40 + }, + { + "color": "semi-dark-green", + "value": 50 + } + ] }, - "overrides": [] + "unit": "Mbits" }, + "overrides": [] + }, "gridPos": { - "h": 5, + "h": 6, "w": 5, "x": 6, "y": 6 - }, - "id": 22, + }, + "id": 20, "options": { - "colorMode": "value", + "colorMode": "background", "graphMode": "none", "justifyMode": "auto", "orientation": "auto", "reduceOptions": { "calcs": [ "lastNotNull" - ], - "fields": "", - "values": false - }, - "textMode": "auto" + ], + "fields": "", + "values": false }, + "textMode": "auto" + }, "pluginVersion": "7.2.1", "targets": [ { @@ -525,16 +431,16 @@ data: { "params": [ "5m" - ], - "type": "time" - }, - { - "params": [ - "null" - ], - "type": "fill" - } - ], + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], "measurement": "speedtest", "orderByTime": "ASC", "policy": "default", @@ -544,93 +450,101 @@ data: [ { "params": [ - "Upload" - ], - "type": "field" - }, - { - "params": [], - "type": "sum" - }, - { - "params": [ - "/1048576" - ], + "Download" + ], + "type": "field" + }, + { + "params": [], + "type": "sum" + }, + { + "params": [ + "/1048576" + ], "type": "math" - } - ] - ], - "tags": [] - } + } + ] ], + "tags": [] + } + ], "timeFrom": null, "timeShift": null, - "title": "Bandwidth (Upload)", + "title": "Bandwidth (Download)", "type": "stat" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "InfluxDB", + "description": "Percentage of package lost ", + "fieldConfig": { + "defaults": { + "custom": {}, + "unit": "percent" + }, + "overrides": [] }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "InfluxDB", - "description": "ICMP echo requests average latency.", - "fieldConfig": { - "defaults": { - "custom": {} - }, - "overrides": [] - }, - "fill": 1, + "fill": 3, "fillGradient": 2, "gridPos": { - "h": 11, - "w": 18, - "x": 0, - "y": 11 - }, + "h": 8, + "w": 13, + "x": 11, + "y": 9 + }, "hiddenSeries": false, - "id": 2, + "id": 8, "legend": { "alignAsTable": false, "avg": false, "current": false, - "hideEmpty": true, + "hideEmpty": false, "hideZero": false, "max": false, "min": false, - "rightSide": true, "show": true, - "sideWidth": null, "total": false, "values": false - }, + }, "lines": true, "linewidth": 1, - "nullPointMode": "null", + "nullPointMode": "connected", "options": { "alertThreshold": true - }, + }, "percentage": false, "pluginVersion": "7.2.1", "pointradius": 2, "points": false, "renderer": "flot", - "seriesOverrides": [], + "seriesOverrides": [ + { + "$$hashKey": "object:405" + } + ], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { - "alias": "$tag_url", "groupBy": [ { "params": [ - "url" - ], - "type": "tag" - } - ], + "5m" + ], + "type": "time" + }, + { + "params": [ + "linear" + ], + "type": "fill" + } + ], "measurement": "ping", "orderByTime": "ASC", "policy": "default", @@ -640,47 +554,59 @@ data: [ { "params": [ - "average_response_ms" - ], - "type": "field" - } - ] - ], - "tags": [ - { - "key": "url", - "operator": "=~", - "value": "/^$PingURL$/" - }, - { - "condition": "AND", - "key": "host", - "operator": "=~", - "value": "/^$NetHost$/" + "percent_packet_loss" + ], + "type": "field" + }, + { + "params": [ + 95 + ], + "type": "percentile" } ] - } ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [ + "tags": [] + } + ], + "thresholds": [ { - "$$hashKey": "object:150", - "colorMode": "background6", - "fill": true, - "fillColor": "rgba(234, 112, 112, 0.12)", - "line": false, - "lineColor": "rgba(237, 46, 24, 0.60)", - "op": "time" - } - ], + "$$hashKey": "object:387", + "colorMode": "critical", + "fill": false, + "line": true, + "op": "gt", + "value": 25, + "yaxis": "left" + }, + { + "$$hashKey": "object:393", + "colorMode": "warning", + "fill": false, + "line": true, + "op": "gt", + "value": 2, + "yaxis": "left" + }, + { + "$$hashKey": "object:399", + "colorMode": "ok", + "fill": true, + "line": false, + "op": "lt", + "value": 2, + "yaxis": "left" + } + ], + "timeFrom": null, + "timeRegions": [], "timeShift": null, - "title": "ICMP average response", + "title": "ICMP Packet loss (%)", "tooltip": { "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -688,217 +614,120 @@ data: "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { - "$$hashKey": "object:100", - "format": "short", - "label": "average (ms)", - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "$$hashKey": "object:101", - "format": "short", - "label": "", + "$$hashKey": "object:416", + "format": "percent", + "label": "Packet lost %", "logBase": 1, - "max": null, - "min": null, + "max": "100", + "min": "0", "show": true - } - ], + }, + { + "$$hashKey": "object:417", + "format": "percent", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, - { - "datasource": "InfluxDB", - "description": "Average response time for External Ping in ms.", - "fieldConfig": { - "defaults": { - "custom": {}, - "mappings": [], - "max": 1000, - "min": 0, - "thresholds": { - "mode": "percentage", - "steps": [ - { - "color": "super-light-green", - "value": null - }, - { - "color": "light-green", - "value": 10 - }, - { - "color": "semi-dark-green", - "value": 20 - }, - { - "color": "dark-green", - "value": 30 - }, - { - "color": "super-light-orange", - "value": 40 - }, - { - "color": "light-orange", - "value": 50 - }, - { - "color": "semi-dark-orange", - "value": 70 - }, - { - "color": "dark-orange", - "value": 80 - }, - { - "color": "light-red", - "value": 90 - }, - { - "color": "dark-red", - "value": 100 - } - ] - }, - "unit": "ms" - }, - "overrides": [] - }, - "gridPos": { - "h": 11, - "w": 6, - "x": 18, - "y": 11 - }, - "id": 4, - "options": { - "reduceOptions": { - "calcs": [ - "mean" - ], - "fields": "/^ping\\.average_response_ms$/", - "values": false - }, - "showThresholdLabels": false, - "showThresholdMarkers": true - }, - "pluginVersion": "7.2.1", - "targets": [ - { - "groupBy": [], - "hide": false, - "limit": "", - "measurement": "ping", - "orderByTime": "ASC", - "policy": "default", - "query": "SELECT \"average_response_ms\" FROM \"ping\" ", - "rawQuery": false, - "refId": "A", - "resultFormat": "time_series", - "select": [ - [ - { - "params": [ - "average_response_ms" - ], - "type": "field" - } - ] - ], - "tags": [ + } + }, + { + "datasource": "InfluxDB", + "description": "Uptime bandwidth", + "fieldConfig": { + "defaults": { + "custom": {}, + "decimals": 2, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "dark-red", + "value": null + }, { - "key": "url", - "operator": "=~", - "value": "/^$PingURL$/" + "color": "red", + "value": 0.5 }, { - "condition": "AND", - "key": "host", - "operator": "=~", - "value": "/^$NetHost$/" + "color": "dark-orange", + "value": 1 + }, + { + "color": "light-yellow", + "value": 2 + }, + { + "color": "super-light-green", + "value": 3 + }, + { + "color": "light-green", + "value": 4 + }, + { + "color": "semi-dark-green", + "value": 5 + }, + { + "color": "dark-green", + "value": 6 } ] - } - ], - "timeFrom": null, - "timeShift": null, - "title": "Ping AVG response time", - "type": "gauge" - }, - { - "datasource": "InfluxDB", - "description": "DNS resolution average query time", - "fieldConfig": { - "defaults": { - "custom": {}, - "mappings": [], - "max": 500, - "min": 0, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "super-light-yellow", - "value": 200 - }, - { - "color": "semi-dark-orange", - "value": 300 - }, - { - "color": "dark-red", - "value": 400 - } - ] - }, - "unit": "ms" }, - "overrides": [] + "unit": "Mbits" }, + "overrides": [] + }, "gridPos": { - "h": 9, - "w": 11, - "x": 0, - "y": 22 - }, - "id": 6, + "h": 5, + "w": 5, + "x": 6, + "y": 12 + }, + "id": 22, "options": { - "displayMode": "gradient", - "orientation": "horizontal", + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", "reduceOptions": { "calcs": [ - "last" - ], - "fields": "", - "values": false - }, - "showUnfilled": true + "lastNotNull" + ], + "fields": "", + "values": false }, + "textMode": "auto" + }, "pluginVersion": "7.2.1", "targets": [ { - "alias": "$tag_domain", "groupBy": [ { "params": [ - "domain" - ], - "type": "tag" - } - ], - "measurement": "dns_query", + "5m" + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "speedtest", "orderByTime": "ASC", "policy": "default", "refId": "A", @@ -907,159 +736,143 @@ data: [ { "params": [ - "query_time_ms" - ], - "type": "field" - } - ] - ], - "tags": [ + "Upload" + ], + "type": "field" + }, + { + "params": [], + "type": "sum" + }, { - "key": "host", - "operator": "=~", - "value": "/^$NetHost$/" + "params": [ + "/1048576" + ], + "type": "math" } ] - } ], + "tags": [] + } + ], "timeFrom": null, "timeShift": null, - "title": "DNS AVG Query time", - "type": "bargauge" + "title": "Bandwidth (Upload)", + "type": "stat" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "InfluxDB", + "description": "ICMP echo requests average latency.", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "InfluxDB", - "description": "Percentage of package lost ", - "fieldConfig": { - "defaults": { - "custom": {}, - "unit": "percent" - }, - "overrides": [] - }, - "fill": 3, + "fill": 1, "fillGradient": 2, "gridPos": { - "h": 9, - "w": 13, - "x": 11, - "y": 22 - }, + "h": 10, + "w": 18, + "x": 0, + "y": 17 + }, "hiddenSeries": false, - "id": 8, + "id": 2, "legend": { "alignAsTable": false, "avg": false, "current": false, - "hideEmpty": false, + "hideEmpty": true, "hideZero": false, "max": false, "min": false, + "rightSide": true, "show": true, + "sideWidth": null, "total": false, "values": false - }, + }, "lines": true, "linewidth": 1, - "nullPointMode": "connected", + "nullPointMode": "null", "options": { "alertThreshold": true - }, + }, "percentage": false, "pluginVersion": "7.2.1", "pointradius": 2, "points": false, "renderer": "flot", - "seriesOverrides": [ - { - "$$hashKey": "object:405" - } - ], + "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { + "alias": "$tag_url", "groupBy": [ { "params": [ - "5m" - ], - "type": "time" - }, - { - "params": [ - "linear" + "url" + ], + "type": "tag" + } + ], + "measurement": "ping", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "average_response_ms" ], - "type": "fill" + "type": "field" } - ], - "measurement": "ping", - "orderByTime": "ASC", - "policy": "default", - "refId": "A", - "resultFormat": "time_series", - "select": [ - [ - { - "params": [ - "percent_packet_loss" - ], - "type": "field" - }, - { - "params": [ - 95 - ], - "type": "percentile" - } - ] - ], - "tags": [] - } - ], - "thresholds": [ - { - "$$hashKey": "object:387", - "colorMode": "critical", - "fill": false, - "line": true, - "op": "gt", - "value": 25, - "yaxis": "left" - }, + ] + ], + "tags": [ { - "$$hashKey": "object:393", - "colorMode": "warning", - "fill": false, - "line": true, - "op": "gt", - "value": 2, - "yaxis": "left" - }, + "key": "url", + "operator": "=~", + "value": "/^$PingURL$/" + }, + { + "condition": "AND", + "key": "host", + "operator": "=~", + "value": "/^$NetHost$/" + } + ] + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [ { - "$$hashKey": "object:399", - "colorMode": "ok", + "$$hashKey": "object:150", + "colorMode": "background6", "fill": true, + "fillColor": "rgba(234, 112, 112, 0.12)", "line": false, - "op": "lt", - "value": 2, - "yaxis": "left" - } - ], - "timeFrom": null, - "timeRegions": [], + "lineColor": "rgba(237, 46, 24, 0.60)", + "op": "time" + } + ], "timeShift": null, - "title": "ICMP Packet loss (%)", + "title": "ICMP average response", "tooltip": { "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -1067,52 +880,171 @@ data: "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { - "$$hashKey": "object:416", - "format": "percent", - "label": "Packet lost %", - "logBase": 1, - "max": "100", - "min": "0", - "show": true - }, - { - "$$hashKey": "object:417", - "format": "percent", - "label": null, + "$$hashKey": "object:100", + "format": "short", + "label": "average (ms)", "logBase": 1, "max": null, "min": null, "show": true - } - ], + }, + { + "$$hashKey": "object:101", + "format": "short", + "label": "", + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "InfluxDB", - "fieldConfig": { - "defaults": { - "custom": {} + } + }, + { + "datasource": "InfluxDB", + "description": "Average response time for External Ping in ms.", + "fieldConfig": { + "defaults": { + "custom": {}, + "mappings": [], + "max": 1000, + "min": 0, + "thresholds": { + "mode": "percentage", + "steps": [ + { + "color": "super-light-green", + "value": null + }, + { + "color": "light-green", + "value": 10 + }, + { + "color": "semi-dark-green", + "value": 20 + }, + { + "color": "dark-green", + "value": 30 + }, + { + "color": "super-light-orange", + "value": 40 + }, + { + "color": "light-orange", + "value": 50 + }, + { + "color": "semi-dark-orange", + "value": 70 + }, + { + "color": "dark-orange", + "value": 80 + }, + { + "color": "light-red", + "value": 90 + }, + { + "color": "dark-red", + "value": 100 + } + ] }, - "overrides": [] + "unit": "ms" + }, + "overrides": [] + }, + "gridPos": { + "h": 10, + "w": 6, + "x": 18, + "y": 17 + }, + "id": 4, + "options": { + "reduceOptions": { + "calcs": [ + "mean" + ], + "fields": "/^ping\\.average_response_ms$/", + "values": false }, + "showThresholdLabels": false, + "showThresholdMarkers": true + }, + "pluginVersion": "7.2.1", + "targets": [ + { + "groupBy": [], + "hide": false, + "limit": "", + "measurement": "ping", + "orderByTime": "ASC", + "policy": "default", + "query": "SELECT \"average_response_ms\" FROM \"ping\" ", + "rawQuery": false, + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "average_response_ms" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "url", + "operator": "=~", + "value": "/^$PingURL$/" + }, + { + "condition": "AND", + "key": "host", + "operator": "=~", + "value": "/^$NetHost$/" + } + ] + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Ping AVG response time", + "type": "gauge" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "InfluxDB", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 9, - "w": 24, + "w": 11, "x": 0, - "y": 31 - }, + "y": 27 + }, "hiddenSeries": false, "id": 87, "legend": { @@ -1123,13 +1055,13 @@ data: "show": true, "total": false, "values": false - }, + }, "lines": true, "linewidth": 1, "nullPointMode": "null", "options": { "alertThreshold": true - }, + }, "percentage": false, "pluginVersion": "7.2.1", "pointradius": 2, @@ -1146,16 +1078,16 @@ data: { "params": [ "$__interval" - ], - "type": "time" - }, - { - "params": [ - "linear" - ], - "type": "fill" - } - ], + ], + "type": "time" + }, + { + "params": [ + "linear" + ], + "type": "fill" + } + ], "measurement": "http_response", "orderByTime": "ASC", "policy": "default", @@ -1166,65 +1098,544 @@ data: { "params": [ "response_time" - ], - "type": "field" - }, + ], + "type": "field" + }, + { + "params": [], + "type": "stddev" + } + ] + ], + "tags": [] + }, + { + "alias": "ICMP", + "groupBy": [ + { + "params": [ + "$__interval" + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "ping", + "orderByTime": "ASC", + "policy": "default", + "refId": "B", + "resultFormat": "time_series", + "select": [ + [ { - "params": [], - "type": "stddev" - } - ] - ], + "params": [ + "standard_deviation_ms" + ], + "type": "field" + }, + { + "params": [], + "type": "last" + } + ] + ], "tags": [] + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Jitter (ICMP/HTTP)", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:2579", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "$$hashKey": "object:2580", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "datasource": "InfluxDB", + "fieldConfig": { + "defaults": { + "custom": { + "align": "left", + "displayMode": "color-background", + "filterable": true + }, + "displayName": "Execution", + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "rgb(96, 96, 96)", + "value": null + }, + { + "color": "rgb(22, 51, 116)", + "value": 80 + } + ] + }, + "unit": "dateTimeAsUS" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Time" + }, + "properties": [ + { + "id": "custom.width", + "value": 176 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Time" + }, + "properties": [ + { + "id": "displayName", + "value": "Execution" + } + ] }, { - "alias": "ICMP", + "matcher": { + "id": "byName", + "options": "last" + }, + "properties": [ + { + "id": "displayName", + "value": "Speedtest Server" + } + ] + } + ] + }, + "gridPos": { + "h": 9, + "w": 13, + "x": 11, + "y": 27 + }, + "id": 97, + "options": { + "showHeader": true, + "sortBy": [] + }, + "pluginVersion": "7.2.1", + "targets": [ + { "groupBy": [ { "params": [ "$__interval" + ], + "type": "time" + }, + { + "params": [ + "none" + ], + "type": "fill" + } + ], + "measurement": "speedtest", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "table", + "select": [ + [ + { + "params": [ + "Sponsor" ], - "type": "time" + "type": "field" + }, + { + "params": [], + "type": "last" + } + ] + ], + "tags": [] + } + ], + "timeFrom": null, + "timeShift": null, + "title": "", + "type": "table" + }, + { + "datasource": "InfluxDB", + "description": "DNS resolution average query time", + "fieldConfig": { + "defaults": { + "custom": {}, + "mappings": [], + "max": 500, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "super-light-yellow", + "value": 200 + }, + { + "color": "semi-dark-orange", + "value": 300 }, + { + "color": "dark-red", + "value": 400 + } + ] + }, + "unit": "ms" + }, + "overrides": [] + }, + "gridPos": { + "h": 9, + "w": 11, + "x": 0, + "y": 36 + }, + "id": 6, + "options": { + "displayMode": "gradient", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "last" + ], + "fields": "", + "values": false + }, + "showUnfilled": true + }, + "pluginVersion": "7.2.1", + "targets": [ + { + "alias": "$tag_domain", + "groupBy": [ { "params": [ - "null" + "domain" + ], + "type": "tag" + } + ], + "measurement": "dns_query", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "query_time_ms" ], - "type": "fill" + "type": "field" } - ], - "measurement": "ping", + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$NetHost$/" + } + ] + } + ], + "timeFrom": null, + "timeShift": null, + "title": "DNS AVG Query time", + "type": "bargauge" + }, + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "InfluxDB", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 9, + "w": 13, + "x": 11, + "y": 36 + }, + "hiddenSeries": false, + "id": 99, + "legend": { + "alignAsTable": true, + "avg": false, + "current": false, + "max": false, + "min": false, + "rightSide": true, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "alias": "ICMP Out redirects", + "groupBy": [ + { + "params": [ + "$__interval" + ], + "type": "time" + }, + { + "params": [ + "none" + ], + "type": "fill" + } + ], + "measurement": "net", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "icmp_outredirects" + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$NetHost$/" + } + ] + }, + { + "alias": "ICMP In Redirects", + "groupBy": [ + { + "params": [ + "$__interval" + ], + "type": "time" + }, + { + "params": [ + "none" + ], + "type": "fill" + } + ], + "measurement": "net", + "orderByTime": "ASC", + "policy": "default", + "refId": "B", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "icmp_inredirects" + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$NetHost$/" + } + ] + }, + { + "alias": "ICMP Out Time exceeded", + "groupBy": [ + { + "params": [ + "$__interval" + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "net", + "orderByTime": "ASC", + "policy": "default", + "refId": "C", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "icmp_outtimeexcds" + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$NetHost$/" + } + ] + }, + { + "alias": "ICMP In Time exceeded", + "groupBy": [ + { + "params": [ + "$__interval" + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "net", "orderByTime": "ASC", "policy": "default", - "refId": "B", + "refId": "D", "resultFormat": "time_series", "select": [ [ { "params": [ - "standard_deviation_ms" - ], - "type": "field" - }, - { - "params": [], - "type": "last" - } - ] - ], - "tags": [] - } - ], + "icmp_intimeexcds" + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$NetHost$/" + } + ] + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, - "title": "Jitter (ICMP/HTTP)", + "title": "ICMP Analysis", "tooltip": { "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -1232,107 +1643,107 @@ data: "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { - "$$hashKey": "object:2579", - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "$$hashKey": "object:2580", + "$$hashKey": "object:765", "format": "short", "label": null, "logBase": 1, "max": null, - "min": null, + "min": "0", "show": true - } - ], + }, + { + "$$hashKey": "object:766", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], "yaxis": { "align": false, "alignLevel": null - } + } + }, + { + "collapsed": false, + "datasource": "InfluxDB", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 45 }, - { - "collapsed": false, - "datasource": "InfluxDB", - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 40 - }, "id": 34, "panels": [], "title": "Connectivity metrics", "type": "row" - }, - { - "datasource": "InfluxDB", - "fieldConfig": { - "defaults": { - "custom": {}, - "decimals": 2, - "mappings": [], - "min": 0, - "noValue": "N/A", - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "super-light-green", - "value": null - }, - { - "color": "semi-dark-green", - "value": 150 - }, - { - "color": "dark-green", - "value": 200 - }, - { - "color": "#EAB839", - "value": 250 - }, - { - "color": "semi-dark-orange", - "value": 300 - }, - { - "color": "dark-red", - "value": 350 - } - ] - }, - "unit": "ms" + }, + { + "datasource": "InfluxDB", + "fieldConfig": { + "defaults": { + "custom": {}, + "decimals": 2, + "mappings": [], + "min": 0, + "noValue": "N/A", + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "super-light-green", + "value": null + }, + { + "color": "semi-dark-green", + "value": 150 + }, + { + "color": "dark-green", + "value": 200 + }, + { + "color": "#EAB839", + "value": 250 + }, + { + "color": "semi-dark-orange", + "value": 300 + }, + { + "color": "dark-red", + "value": 350 + } + ] }, - "overrides": [] + "unit": "ms" }, + "overrides": [] + }, "gridPos": { "h": 6, "w": 6, "x": 0, - "y": 41 - }, + "y": 46 + }, "id": 42, "options": { "orientation": "horizontal", "reduceOptions": { "calcs": [ "mean" - ], - "fields": "", - "values": false - }, + ], + "fields": "", + "values": false + }, "showThresholdLabels": false, "showThresholdMarkers": true - }, + }, "pluginVersion": "7.2.1", "repeat": "PingURL", "scopedVars": { @@ -1340,24 +1751,24 @@ data: "selected": false, "text": "amazon.com", "value": "amazon.com" - } - }, + } + }, "targets": [ { "groupBy": [ { "params": [ "$__interval" - ], - "type": "time" - }, - { - "params": [ - "null" - ], - "type": "fill" - } - ], + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], "hide": false, "orderByTime": "ASC", "policy": "default", @@ -1370,110 +1781,110 @@ data: { "params": [ "value" - ], - "type": "field" - }, - { - "params": [], - "type": "mean" - } - ] - ], - "tags": [] - } + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + } + ] ], + "tags": [] + } + ], "timeFrom": null, "timeShift": null, "title": "$PingURL Ping", "type": "gauge" - }, - { - "datasource": "InfluxDB", - "fieldConfig": { - "defaults": { - "custom": {}, - "decimals": 2, - "mappings": [], - "min": 0, - "noValue": "N/A", - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "super-light-green", - "value": null - }, - { - "color": "semi-dark-green", - "value": 150 - }, - { - "color": "dark-green", - "value": 200 - }, - { - "color": "#EAB839", - "value": 250 - }, - { - "color": "semi-dark-orange", - "value": 300 - }, - { - "color": "dark-red", - "value": 350 - } - ] - }, - "unit": "ms" + }, + { + "datasource": "InfluxDB", + "fieldConfig": { + "defaults": { + "custom": {}, + "decimals": 2, + "mappings": [], + "min": 0, + "noValue": "N/A", + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "super-light-green", + "value": null + }, + { + "color": "semi-dark-green", + "value": 150 + }, + { + "color": "dark-green", + "value": 200 + }, + { + "color": "#EAB839", + "value": 250 + }, + { + "color": "semi-dark-orange", + "value": 300 + }, + { + "color": "dark-red", + "value": 350 + } + ] }, - "overrides": [] + "unit": "ms" }, + "overrides": [] + }, "gridPos": { "h": 6, "w": 6, "x": 6, - "y": 41 - }, + "y": 46 + }, "id": 88, "options": { "orientation": "horizontal", "reduceOptions": { "calcs": [ "mean" - ], - "fields": "", - "values": false - }, + ], + "fields": "", + "values": false + }, "showThresholdLabels": false, "showThresholdMarkers": true - }, + }, "pluginVersion": "7.2.1", - "repeatIteration": 1603341911009, + "repeatIteration": 1603557787209, "repeatPanelId": 42, "scopedVars": { "PingURL": { "selected": false, "text": "google.com", "value": "google.com" - } - }, + } + }, "targets": [ { "groupBy": [ { "params": [ "$__interval" - ], - "type": "time" - }, - { - "params": [ - "null" - ], - "type": "fill" - } - ], + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], "hide": false, "orderByTime": "ASC", "policy": "default", @@ -1486,110 +1897,110 @@ data: { "params": [ "value" - ], - "type": "field" - }, - { - "params": [], - "type": "mean" - } - ] - ], - "tags": [] - } + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + } + ] ], + "tags": [] + } + ], "timeFrom": null, "timeShift": null, "title": "$PingURL Ping", "type": "gauge" - }, - { - "datasource": "InfluxDB", - "fieldConfig": { - "defaults": { - "custom": {}, - "decimals": 2, - "mappings": [], - "min": 0, - "noValue": "N/A", - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "super-light-green", - "value": null - }, - { - "color": "semi-dark-green", - "value": 150 - }, - { - "color": "dark-green", - "value": 200 - }, - { - "color": "#EAB839", - "value": 250 - }, - { - "color": "semi-dark-orange", - "value": 300 - }, - { - "color": "dark-red", - "value": 350 - } - ] - }, - "unit": "ms" + }, + { + "datasource": "InfluxDB", + "fieldConfig": { + "defaults": { + "custom": {}, + "decimals": 2, + "mappings": [], + "min": 0, + "noValue": "N/A", + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "super-light-green", + "value": null + }, + { + "color": "semi-dark-green", + "value": 150 + }, + { + "color": "dark-green", + "value": 200 + }, + { + "color": "#EAB839", + "value": 250 + }, + { + "color": "semi-dark-orange", + "value": 300 + }, + { + "color": "dark-red", + "value": 350 + } + ] }, - "overrides": [] + "unit": "ms" }, + "overrides": [] + }, "gridPos": { "h": 6, "w": 6, "x": 12, - "y": 41 - }, + "y": 46 + }, "id": 89, "options": { "orientation": "horizontal", "reduceOptions": { "calcs": [ "mean" - ], - "fields": "", - "values": false - }, + ], + "fields": "", + "values": false + }, "showThresholdLabels": false, "showThresholdMarkers": true - }, + }, "pluginVersion": "7.2.1", - "repeatIteration": 1603341911009, + "repeatIteration": 1603557787209, "repeatPanelId": 42, "scopedVars": { "PingURL": { "selected": false, "text": "twitter.com", "value": "twitter.com" - } - }, + } + }, "targets": [ { "groupBy": [ { "params": [ "$__interval" - ], - "type": "time" - }, - { - "params": [ - "null" - ], - "type": "fill" - } - ], + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], "hide": false, "orderByTime": "ASC", "policy": "default", @@ -1602,110 +2013,110 @@ data: { "params": [ "value" - ], - "type": "field" - }, - { - "params": [], - "type": "mean" - } - ] - ], - "tags": [] - } + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + } + ] ], + "tags": [] + } + ], "timeFrom": null, "timeShift": null, "title": "$PingURL Ping", "type": "gauge" - }, - { - "datasource": "InfluxDB", - "fieldConfig": { - "defaults": { - "custom": {}, - "decimals": 2, - "mappings": [], - "min": 0, - "noValue": "N/A", - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "super-light-green", - "value": null - }, - { - "color": "semi-dark-green", - "value": 150 - }, - { - "color": "dark-green", - "value": 200 - }, - { - "color": "#EAB839", - "value": 250 - }, - { - "color": "semi-dark-orange", - "value": 300 - }, - { - "color": "dark-red", - "value": 350 - } - ] - }, - "unit": "ms" + }, + { + "datasource": "InfluxDB", + "fieldConfig": { + "defaults": { + "custom": {}, + "decimals": 2, + "mappings": [], + "min": 0, + "noValue": "N/A", + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "super-light-green", + "value": null + }, + { + "color": "semi-dark-green", + "value": 150 + }, + { + "color": "dark-green", + "value": 200 + }, + { + "color": "#EAB839", + "value": 250 + }, + { + "color": "semi-dark-orange", + "value": 300 + }, + { + "color": "dark-red", + "value": 350 + } + ] }, - "overrides": [] + "unit": "ms" }, + "overrides": [] + }, "gridPos": { "h": 6, "w": 6, "x": 18, - "y": 41 - }, + "y": 46 + }, "id": 90, "options": { "orientation": "horizontal", "reduceOptions": { "calcs": [ "mean" - ], - "fields": "", - "values": false - }, + ], + "fields": "", + "values": false + }, "showThresholdLabels": false, "showThresholdMarkers": true - }, + }, "pluginVersion": "7.2.1", - "repeatIteration": 1603341911009, + "repeatIteration": 1603557787209, "repeatPanelId": 42, "scopedVars": { "PingURL": { "selected": false, "text": "yahoo.com", "value": "yahoo.com" - } - }, + } + }, "targets": [ { "groupBy": [ { "params": [ "$__interval" - ], - "type": "time" - }, - { - "params": [ - "null" - ], - "type": "fill" - } - ], + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], "hide": false, "orderByTime": "ASC", "policy": "default", @@ -1718,44 +2129,44 @@ data: { "params": [ "value" - ], - "type": "field" - }, - { - "params": [], - "type": "mean" - } - ] - ], - "tags": [] - } + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + } + ] ], + "tags": [] + } + ], "timeFrom": null, "timeShift": null, "title": "$PingURL Ping", "type": "gauge" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "InfluxDB", + "description": "HTTP GET request response time (ms)", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "InfluxDB", - "description": "HTTP GET request response time (ms)", - "fieldConfig": { - "defaults": { - "custom": {} - }, - "overrides": [] - }, "fill": 0, "fillGradient": 0, "gridPos": { "h": 10, "w": 24, "x": 0, - "y": 47 - }, + "y": 52 + }, "hiddenSeries": false, "id": 12, "legend": { @@ -1769,13 +2180,13 @@ data: "show": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "nullPointMode": "null", "options": { "alertThreshold": true - }, + }, "percentage": false, "pluginVersion": "7.2.1", "pointradius": 2, @@ -1792,40 +2203,40 @@ data: { "params": [ "server" + ], + "type": "tag" + } + ], + "measurement": "http_response", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "response_time" ], - "type": "tag" - } - ], - "measurement": "http_response", - "orderByTime": "ASC", - "policy": "default", - "refId": "A", - "resultFormat": "time_series", - "select": [ - [ - { - "params": [ - "response_time" - ], - "type": "field" - } - ] - ], - "tags": [ - { - "key": "method", - "operator": "=", - "value": "GET" - }, - { - "condition": "AND", - "key": "host", - "operator": "=~", - "value": "/^$NetHost$/" + "type": "field" } ] - } - ], + ], + "tags": [ + { + "key": "method", + "operator": "=", + "value": "GET" + }, + { + "condition": "AND", + "key": "host", + "operator": "=~", + "value": "/^$NetHost$/" + } + ] + } + ], "thresholds": [ { "$$hashKey": "object:1216", @@ -1835,26 +2246,26 @@ data: "op": "gt", "value": 10, "yaxis": "left" - }, - { - "$$hashKey": "object:1222", - "colorMode": "warning", - "fill": false, - "line": false, - "op": "gt", - "value": 5, - "yaxis": "left" - }, - { - "$$hashKey": "object:1228", - "colorMode": "ok", - "fill": true, - "line": true, - "op": "lt", - "value": 2, - "yaxis": "left" - } - ], + }, + { + "$$hashKey": "object:1222", + "colorMode": "warning", + "fill": false, + "line": false, + "op": "gt", + "value": 5, + "yaxis": "left" + }, + { + "$$hashKey": "object:1228", + "colorMode": "ok", + "fill": true, + "line": true, + "op": "lt", + "value": 2, + "yaxis": "left" + } + ], "timeFrom": null, "timeRegions": [], "timeShift": null, @@ -1863,7 +2274,7 @@ data: "shared": true, "sort": 0, "value_type": "individual" - }, + }, "transparent": true, "type": "graph", "xaxis": { @@ -1872,7 +2283,7 @@ data: "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "$$hashKey": "object:1019", @@ -1882,42 +2293,42 @@ data: "max": null, "min": null, "show": true - }, - { - "$$hashKey": "object:1020", - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], + }, + { + "$$hashKey": "object:1020", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], "yaxis": { "align": false, "alignLevel": null - } + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "InfluxDB", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "InfluxDB", - "fieldConfig": { - "defaults": { - "custom": {} - }, - "overrides": [] - }, "fill": 1, "fillGradient": 1, "gridPos": { "h": 18, "w": 12, "x": 0, - "y": 57 - }, + "y": 62 + }, "hiddenSeries": false, "id": 85, "legend": { @@ -1930,13 +2341,13 @@ data: "show": true, "total": true, "values": true - }, + }, "lines": true, "linewidth": 1, "nullPointMode": "connected", "options": { "alertThreshold": true - }, + }, "percentage": false, "pluginVersion": "7.2.1", "pointradius": 2, @@ -1953,16 +2364,16 @@ data: { "params": [ "$__interval" - ], - "type": "time" - }, - { - "params": [ - "null" - ], - "type": "fill" - } - ], + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], "measurement": "netstat", "orderByTime": "ASC", "policy": "default", @@ -1975,30 +2386,30 @@ data: { "params": [ "tcp_close" - ], - "type": "field" - }, - { - "params": [], - "type": "mean" - }, - { - "params": [ - "tcp_close" - ], + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + }, + { + "params": [ + "tcp_close" + ], "type": "alias" - } - ] - ], + } + ] + ], "tags": [ { "key": "host", "operator": "=~", "value": "/^$NetHost$/" - } - ] - } - ], + } + ] + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -2008,7 +2419,7 @@ data: "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -2016,7 +2427,7 @@ data: "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "$$hashKey": "object:2208", @@ -2026,56 +2437,56 @@ data: "max": null, "min": null, "show": true - }, - { - "$$hashKey": "object:2209", - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": false - } - ], + }, + { + "$$hashKey": "object:2209", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": false + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": true, - "dashLength": 10, - "dashes": false, - "datasource": "InfluxDB", - "fieldConfig": { - "defaults": { - "custom": {}, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] + } + }, + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "InfluxDB", + "fieldConfig": { + "defaults": { + "custom": {}, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } }, + "overrides": [] + }, "fill": 0, "fillGradient": 0, "gridPos": { "h": 18, "w": 12, "x": 12, - "y": 57 - }, + "y": 62 + }, "hiddenSeries": false, "id": 16, "legend": { @@ -2090,13 +2501,13 @@ data: "show": true, "total": false, "values": true - }, + }, "lines": false, "linewidth": 1, "nullPointMode": "null as zero", "options": { "alertThreshold": false - }, + }, "percentage": false, "pluginVersion": "7.2.1", "pointradius": 2, @@ -2113,53 +2524,53 @@ data: { "params": [ "1m" + ], + "type": "time" + } + ], + "measurement": "net", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "bytes_sent" ], - "type": "time" - } - ], - "measurement": "net", - "orderByTime": "ASC", - "policy": "default", - "refId": "A", - "resultFormat": "time_series", - "select": [ - [ - { - "params": [ - "bytes_sent" - ], - "type": "field" - }, - { - "params": [], - "type": "sum" - } - ] - ], - "tags": [ - { - "key": "interface", - "operator": "=~", - "value": "/^$NetInterface$/" + "type": "field" }, { - "condition": "AND", - "key": "host", - "operator": "=~", - "value": "/^$NetHost$/" - } - ] - }, - { - "alias": "Rx (Bytes)", - "groupBy": [ - { - "params": [ - "1m" - ], - "type": "time" + "params": [], + "type": "sum" } - ], + ] + ], + "tags": [ + { + "key": "interface", + "operator": "=~", + "value": "/^$NetInterface$/" + }, + { + "condition": "AND", + "key": "host", + "operator": "=~", + "value": "/^$NetHost$/" + } + ] + }, + { + "alias": "Rx (Bytes)", + "groupBy": [ + { + "params": [ + "1m" + ], + "type": "time" + } + ], "measurement": "net", "orderByTime": "ASC", "policy": "default", @@ -2170,39 +2581,39 @@ data: { "params": [ "bytes_recv" - ], - "type": "field" - }, - { - "params": [], - "type": "sum" - } - ] - ], + ], + "type": "field" + }, + { + "params": [], + "type": "sum" + } + ] + ], "tags": [ { "key": "interface", "operator": "=~", "value": "/^$NetInterface$/" - }, - { - "condition": "AND", - "key": "host", - "operator": "=~", - "value": "/^$NetHost$/" - } - ] - }, - { - "alias": "Drop In", - "groupBy": [ - { - "params": [ - "1m" - ], - "type": "time" - } - ], + }, + { + "condition": "AND", + "key": "host", + "operator": "=~", + "value": "/^$NetHost$/" + } + ] + }, + { + "alias": "Drop In", + "groupBy": [ + { + "params": [ + "1m" + ], + "type": "time" + } + ], "measurement": "net", "orderByTime": "ASC", "policy": "default", @@ -2213,39 +2624,39 @@ data: { "params": [ "drop_in" - ], - "type": "field" - }, - { - "params": [], - "type": "sum" - } - ] - ], + ], + "type": "field" + }, + { + "params": [], + "type": "sum" + } + ] + ], "tags": [ { "key": "interface", "operator": "=~", "value": "/^$NetInterface$/" - }, - { - "condition": "AND", - "key": "host", - "operator": "=~", - "value": "/^$NetHost$/" - } - ] - }, - { - "alias": "Drop Out", - "groupBy": [ - { - "params": [ - "1m" - ], - "type": "time" - } - ], + }, + { + "condition": "AND", + "key": "host", + "operator": "=~", + "value": "/^$NetHost$/" + } + ] + }, + { + "alias": "Drop Out", + "groupBy": [ + { + "params": [ + "1m" + ], + "type": "time" + } + ], "measurement": "net", "orderByTime": "ASC", "policy": "default", @@ -2256,39 +2667,39 @@ data: { "params": [ "drop_out" - ], - "type": "field" - }, - { - "params": [], - "type": "sum" - } - ] - ], + ], + "type": "field" + }, + { + "params": [], + "type": "sum" + } + ] + ], "tags": [ { "key": "interface", "operator": "=~", "value": "/^$NetInterface$/" - }, - { - "condition": "AND", - "key": "host", - "operator": "=~", - "value": "/^$NetHost$/" - } - ] - }, - { - "alias": "Error In", - "groupBy": [ - { - "params": [ - "1m" - ], - "type": "time" - } - ], + }, + { + "condition": "AND", + "key": "host", + "operator": "=~", + "value": "/^$NetHost$/" + } + ] + }, + { + "alias": "Error In", + "groupBy": [ + { + "params": [ + "1m" + ], + "type": "time" + } + ], "measurement": "net", "orderByTime": "ASC", "policy": "default", @@ -2299,39 +2710,39 @@ data: { "params": [ "err_in" - ], - "type": "field" - }, - { - "params": [], - "type": "sum" - } - ] - ], + ], + "type": "field" + }, + { + "params": [], + "type": "sum" + } + ] + ], "tags": [ { "key": "interface", "operator": "=~", "value": "/^$NetInterface$/" - }, - { - "condition": "AND", - "key": "host", - "operator": "=~", - "value": "/^$NetHost$/" - } - ] - }, - { - "alias": "Error Out", - "groupBy": [ - { - "params": [ - "1m" - ], - "type": "time" - } - ], + }, + { + "condition": "AND", + "key": "host", + "operator": "=~", + "value": "/^$NetHost$/" + } + ] + }, + { + "alias": "Error Out", + "groupBy": [ + { + "params": [ + "1m" + ], + "type": "time" + } + ], "measurement": "net", "orderByTime": "ASC", "policy": "default", @@ -2342,30 +2753,30 @@ data: { "params": [ "err_out" - ], - "type": "field" - }, - { - "params": [], - "type": "sum" - } - ] - ], + ], + "type": "field" + }, + { + "params": [], + "type": "sum" + } + ] + ], "tags": [ { "key": "interface", "operator": "=~", "value": "/^$NetInterface$/" - }, - { - "condition": "AND", - "key": "host", - "operator": "=~", - "value": "/^$NetHost$/" - } - ] - } - ], + }, + { + "condition": "AND", + "key": "host", + "operator": "=~", + "value": "/^$NetHost$/" + } + ] + } + ], "thresholds": [ { "$$hashKey": "object:1747", @@ -2375,8 +2786,8 @@ data: "op": "lt", "value": 0, "yaxis": "left" - } - ], + } + ], "timeFrom": null, "timeRegions": [], "timeShift": null, @@ -2385,7 +2796,7 @@ data: "shared": true, "sort": 0, "value_type": "cumulative" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -2394,8 +2805,8 @@ data: "show": true, "values": [ "total" - ] - }, + ] + }, "yaxes": [ { "$$hashKey": "object:1468", @@ -2405,27 +2816,27 @@ data: "max": null, "min": null, "show": true - }, - { - "$$hashKey": "object:1469", - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], + }, + { + "$$hashKey": "object:1469", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], "yaxis": { "align": true, "alignLevel": null - } + } + }, + { + "cards": { + "cardPadding": 1, + "cardRound": null }, - { - "cards": { - "cardPadding": 1, - "cardRound": null - }, "color": { "cardColor": "#b4ff00", "colorScale": "sqrt", @@ -2434,29 +2845,29 @@ data: "max": null, "min": null, "mode": "spectrum" - }, + }, "dataFormat": "timeseries", "datasource": "InfluxDB", "description": "Standard Deviation (ms) heatmap", "fieldConfig": { "defaults": { "custom": {} - }, - "overrides": [] }, + "overrides": [] + }, "gridPos": { "h": 12, "w": 12, "x": 0, - "y": 75 - }, + "y": 80 + }, "heatmap": {}, "hideZeroBuckets": false, "highlightCards": true, "id": 10, "legend": { "show": true - }, + }, "pluginVersion": "7.2.0", "reverseYBuckets": false, "targets": [ @@ -2465,57 +2876,57 @@ data: { "params": [ "$interval" + ], + "type": "time" + } + ], + "measurement": "ping", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "table", + "select": [ + [ + { + "params": [ + "standard_deviation_ms" ], - "type": "time" - } - ], - "measurement": "ping", - "orderByTime": "ASC", - "policy": "default", - "refId": "A", - "resultFormat": "table", - "select": [ - [ - { - "params": [ - "standard_deviation_ms" - ], - "type": "field" - }, - { - "params": [], - "type": "stddev" - } - ] - ], - "tags": [ - { - "key": "url", - "operator": "=~", - "value": "/^$PingURL$/" + "type": "field" }, { - "condition": "AND", - "key": "host", - "operator": "=~", - "value": "/^$NetHost$/" + "params": [], + "type": "stddev" } ] - } - ], + ], + "tags": [ + { + "key": "url", + "operator": "=~", + "value": "/^$PingURL$/" + }, + { + "condition": "AND", + "key": "host", + "operator": "=~", + "value": "/^$NetHost$/" + } + ] + } + ], "timeFrom": null, "timeShift": null, "title": "Ping Standard Deviation (ms)", "tooltip": { "show": true, "showHistogram": true - }, + }, "tooltipDecimals": 3, "transparent": true, "type": "heatmap", "xAxis": { "show": true - }, + }, "xBucketNumber": null, "xBucketSize": "10s", "yAxis": { @@ -2526,181 +2937,181 @@ data: "min": null, "show": true, "splitFactor": null - }, + }, "yBucketBound": "auto", "yBucketNumber": null, "yBucketSize": null - }, - { - "datasource": "InfluxDB", - "fieldConfig": { - "defaults": { - "custom": { - "align": "center", - "displayMode": "color-text", - "filterable": true - }, - "mappings": [], - "max": 500, - "min": 100, - "noValue": "N/A", - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "super-light-blue", - "value": null - } - ] + }, + { + "datasource": "InfluxDB", + "fieldConfig": { + "defaults": { + "custom": { + "align": "center", + "displayMode": "color-text", + "filterable": true + }, + "mappings": [], + "max": 500, + "min": 100, + "noValue": "N/A", + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "super-light-blue", + "value": null + } + ] + }, + "unit": "none" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Time" + }, + "properties": [ + { + "id": "custom.width", + "value": 100 + }, + { + "id": "custom.displayMode", + "value": "color-text" + }, + { + "id": "unit", + "value": "dateTimeAsLocal" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "server" }, - "unit": "none" + "properties": [ + { + "id": "custom.width", + "value": 300 + }, + { + "id": "mappings", + "value": [] + } + ] }, - "overrides": [ - { - "matcher": { - "id": "byName", - "options": "Time" - }, - "properties": [ - { - "id": "custom.width", - "value": 100 - }, - { - "id": "custom.displayMode", - "value": "color-text" - }, - { - "id": "unit", - "value": "dateTimeAsLocal" - } - ] + { + "matcher": { + "id": "byName", + "options": "last" }, - { - "matcher": { - "id": "byName", - "options": "server" - }, - "properties": [ - { - "id": "custom.width", - "value": 300 - }, - { - "id": "mappings", - "value": [] - } - ] + "properties": [ + { + "id": "custom.width", + "value": 145 + }, + { + "id": "displayName", + "value": "Response code" }, { - "matcher": { - "id": "byName", - "options": "last" - }, - "properties": [ - { - "id": "custom.width", - "value": 145 - }, - { - "id": "displayName", - "value": "Response code" - }, - { - "id": "thresholds", - "value": { - "mode": "absolute", - "steps": [ - { - "color": "light-red", - "value": null - }, - { - "color": "light-green", - "value": 100 - }, - { - "color": "light-green", - "value": 200 - }, - { - "color": "semi-dark-green", - "value": 300 - }, - { - "color": "super-light-yellow", - "value": 400 - }, - { - "color": "super-light-red", - "value": 500 - } - ] - } + "id": "thresholds", + "value": { + "mode": "absolute", + "steps": [ + { + "color": "light-red", + "value": null + }, + { + "color": "light-green", + "value": 100 + }, + { + "color": "light-green", + "value": 200 + }, + { + "color": "semi-dark-green", + "value": 300 + }, + { + "color": "super-light-yellow", + "value": 400 + }, + { + "color": "super-light-red", + "value": 500 + } + ] } - ] + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Response code" }, - { - "matcher": { - "id": "byName", - "options": "Response code" - }, - "properties": [ - { - "id": "custom.width", - "value": 145 - } - ] + "properties": [ + { + "id": "custom.width", + "value": 145 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "method" }, - { - "matcher": { - "id": "byName", - "options": "method" - }, - "properties": [ - { - "id": "custom.width", - "value": 100 - } - ] + "properties": [ + { + "id": "custom.width", + "value": 100 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Endpoint" }, - { - "matcher": { - "id": "byName", - "options": "Endpoint" - }, - "properties": [ - { - "id": "custom.width", - "value": 514 - } - ] + "properties": [ + { + "id": "custom.width", + "value": 514 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "HTTP Method" }, - { - "matcher": { - "id": "byName", - "options": "HTTP Method" - }, - "properties": [ - { - "id": "custom.width", - "value": 333 - } - ] - } + "properties": [ + { + "id": "custom.width", + "value": 333 + } ] - }, + } + ] + }, "gridPos": { "h": 6, "w": 12, "x": 12, - "y": 75 - }, + "y": 80 + }, "id": 14, "options": { "showHeader": true, "sortBy": [] - }, + }, "pluginVersion": "7.2.1", "repeat": null, "repeatDirection": "h", @@ -2711,16 +3122,16 @@ data: { "params": [ "server" - ], - "type": "tag" - }, - { - "params": [ - "method" - ], - "type": "tag" - } - ], + ], + "type": "tag" + }, + { + "params": [ + "method" + ], + "type": "tag" + } + ], "measurement": "http_response", "orderByTime": "ASC", "policy": "default", @@ -2731,18 +3142,18 @@ data: { "params": [ "http_response_code" - ], - "type": "field" - }, - { - "params": [], - "type": "last" - } - ] - ], - "tags": [] - } + ], + "type": "field" + }, + { + "params": [], + "type": "last" + } + ] ], + "tags": [] + } + ], "timeFrom": null, "timeShift": null, "title": "HTTP response codes", @@ -2752,74 +3163,74 @@ data: "options": { "excludeByName": { "Time": true - }, - "indexByName": { - "Time": 0, - "last": 3, - "method": 2, - "server": 1 - }, - "renameByName": { - "last": "Response code", - "method": "HTTP Method", - "server": "Endpoint" - } - } + }, + "indexByName": { + "Time": 0, + "last": 3, + "method": 2, + "server": 1 + }, + "renameByName": { + "last": "Response code", + "method": "HTTP Method", + "server": "Endpoint" } - ], + } + } + ], "transparent": true, "type": "table" - }, - { - "datasource": "InfluxDB", - "fieldConfig": { - "defaults": { - "custom": {}, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] + }, + { + "datasource": "InfluxDB", + "fieldConfig": { + "defaults": { + "custom": {}, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } }, + "overrides": [] + }, "gridPos": { "h": 12, "w": 12, "x": 12, - "y": 81 - }, + "y": 86 + }, "id": 18, "options": { "geoIPProviders": { "active": "ipsb", "custom-api": { "kind": "custom-api" - }, - "custom-function": { - "kind": "custom-function" - }, - "ipinfo": { - "kind": "ipinfo" - }, - "ipsb": { - "kind": "ipsb" - } }, + "custom-function": { + "kind": "custom-function" + }, + "ipinfo": { + "kind": "ipinfo" + }, + "ipsb": { + "kind": "ipsb" + } + }, "hostnameLabelWidth": 8, "longitude360": false, "mapClusterRadius": 15, "simplifyHostname": false - }, + }, "pluginVersion": "7.2.0", "targets": [ { @@ -2827,16 +3238,16 @@ data: { "params": [ "$__interval" - ], - "type": "time" - }, - { - "params": [ - "null" - ], - "type": "fill" - } - ], + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], "orderByTime": "ASC", "policy": "default", "query": "select mean(avg) as rtt, mean(loss) as loss from mtr WHERE now() - 5m < time group by hop, ip, host, dest\n", @@ -2848,51 +3259,51 @@ data: { "params": [ "value" - ], - "type": "field" - }, - { - "params": [], - "type": "mean" - } - ] - ], - "tags": [] - } + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + } + ] ], + "tags": [] + } + ], "timeFrom": null, "timeShift": null, "title": "TraceRoute", "type": "gowee-traceroutemap-panel" - }, - { - "datasource": "InfluxDB", - "fieldConfig": { - "defaults": { - "custom": {}, - "decimals": 3, - "mappings": [], - "min": 0, - "noValue": "N/A", - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "rgb(238, 238, 238)", - "value": null - } - ] - }, - "unit": "decmbytes" + }, + { + "datasource": "InfluxDB", + "fieldConfig": { + "defaults": { + "custom": {}, + "decimals": 3, + "mappings": [], + "min": 0, + "noValue": "N/A", + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "rgb(238, 238, 238)", + "value": null + } + ] }, - "overrides": [] + "unit": "decmbytes" }, + "overrides": [] + }, "gridPos": { "h": 6, "w": 6, "x": 0, - "y": 87 - }, + "y": 92 + }, "id": 65, "maxDataPoints": 100, "options": { @@ -2903,12 +3314,12 @@ data: "reduceOptions": { "calcs": [ "last" - ], - "fields": "", - "values": false - }, - "textMode": "value" + ], + "fields": "", + "values": false }, + "textMode": "value" + }, "pluginVersion": "7.2.1", "targets": [ { @@ -2916,16 +3327,16 @@ data: { "params": [ "5m" - ], - "type": "time" - }, - { - "params": [ - "null" - ], - "type": "fill" - } - ], + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], "measurement": "net", "orderByTime": "ASC", "policy": "default", @@ -2936,75 +3347,75 @@ data: { "params": [ "bytes_recv" - ], - "type": "field" - }, - { - "params": [], - "type": "sum" - }, - { - "params": [ - "/1048576" - ], + ], + "type": "field" + }, + { + "params": [], + "type": "sum" + }, + { + "params": [ + "/1048576" + ], "type": "math" - }, - { - "params": [ - "MiB Sent" - ], + }, + { + "params": [ + "MiB Sent" + ], "type": "alias" - } - ] - ], + } + ] + ], "tags": [ { "key": "interface", "operator": "=~", "value": "/^$NetInterface$/" - }, - { - "condition": "AND", - "key": "host", - "operator": "=~", - "value": "/^$NetHost$/" - } - ] - } - ], + }, + { + "condition": "AND", + "key": "host", + "operator": "=~", + "value": "/^$NetHost$/" + } + ] + } + ], "timeFrom": null, "timeShift": null, "title": "MiB Received ($NetInterface)", "type": "stat" - }, - { - "datasource": "InfluxDB", - "fieldConfig": { - "defaults": { - "custom": {}, - "decimals": 3, - "mappings": [], - "min": 0, - "noValue": "N/A", - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "light-blue", - "value": null - } - ] - }, - "unit": "decmbytes" + }, + { + "datasource": "InfluxDB", + "fieldConfig": { + "defaults": { + "custom": {}, + "decimals": 3, + "mappings": [], + "min": 0, + "noValue": "N/A", + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "light-blue", + "value": null + } + ] }, - "overrides": [] + "unit": "decmbytes" }, + "overrides": [] + }, "gridPos": { "h": 6, "w": 6, "x": 6, - "y": 87 - }, + "y": 92 + }, "id": 56, "maxDataPoints": 100, "options": { @@ -3015,12 +3426,12 @@ data: "reduceOptions": { "calcs": [ "last" - ], - "fields": "", - "values": false - }, - "textMode": "value" + ], + "fields": "", + "values": false }, + "textMode": "value" + }, "pluginVersion": "7.2.1", "targets": [ { @@ -3028,16 +3439,16 @@ data: { "params": [ "5m" - ], - "type": "time" - }, - { - "params": [ - "null" - ], - "type": "fill" - } - ], + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], "measurement": "net", "orderByTime": "ASC", "policy": "default", @@ -3048,104 +3459,104 @@ data: { "params": [ "bytes_sent" - ], - "type": "field" - }, - { - "params": [], - "type": "sum" - }, - { - "params": [ - "/1048576" - ], - "type": "math" - }, - { - "params": [ - "MiB Sent" - ], - "type": "alias" - } - ] - ], - "tags": [ + ], + "type": "field" + }, + { + "params": [], + "type": "sum" + }, { - "key": "interface", - "operator": "=~", - "value": "/^$NetInterface$/" + "params": [ + "/1048576" + ], + "type": "math" }, { - "condition": "AND", - "key": "host", - "operator": "=~", - "value": "/^$NetHost$/" + "params": [ + "MiB Sent" + ], + "type": "alias" } ] - } ], + "tags": [ + { + "key": "interface", + "operator": "=~", + "value": "/^$NetInterface$/" + }, + { + "condition": "AND", + "key": "host", + "operator": "=~", + "value": "/^$NetHost$/" + } + ] + } + ], "timeFrom": null, "timeShift": null, "title": "MiB Sent ($NetInterface)", "type": "stat" + }, + { + "collapsed": false, + "datasource": "InfluxDB", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 98 }, - { - "collapsed": false, - "datasource": "InfluxDB", - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 93 - }, "id": 32, "panels": [], "title": "Availability metrics", "type": "row" - }, - { - "datasource": "InfluxDB", - "fieldConfig": { - "defaults": { - "custom": {}, - "decimals": 4, - "mappings": [ - { - "from": "", - "id": 0, - "text": "N/A", - "to": "", - "type": 1, - "value": "null" + }, + { + "datasource": "InfluxDB", + "fieldConfig": { + "defaults": { + "custom": {}, + "decimals": 4, + "mappings": [ + { + "from": "", + "id": 0, + "text": "N/A", + "to": "", + "type": 1, + "value": "null" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "dark-red", + "value": null + }, + { + "color": "semi-dark-orange", + "value": 95 + }, + { + "color": "semi-dark-green", + "value": 100 } - ], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "dark-red", - "value": null - }, - { - "color": "semi-dark-orange", - "value": 95 - }, - { - "color": "semi-dark-green", - "value": 100 - } - ] - }, - "unit": "percent" + ] }, - "overrides": [] + "unit": "percent" }, + "overrides": [] + }, "gridPos": { "h": 6, "w": 6, "x": 0, - "y": 94 - }, + "y": 99 + }, "id": 36, "options": { "colorMode": "value", @@ -3155,12 +3566,12 @@ data: "reduceOptions": { "calcs": [ "mean" - ], - "fields": "", - "values": false - }, - "textMode": "auto" + ], + "fields": "", + "values": false }, + "textMode": "auto" + }, "pluginVersion": "7.2.1", "repeat": "PingURL", "scopedVars": { @@ -3168,24 +3579,24 @@ data: "selected": false, "text": "amazon.com", "value": "amazon.com" - } - }, + } + }, "targets": [ { "groupBy": [ { "params": [ "$__interval" - ], - "type": "time" - }, - { - "params": [ - "null" - ], - "type": "fill" - } - ], + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], "orderByTime": "ASC", "policy": "default", "query": "SELECT 100 - mean(\"percent_packet_loss\") FROM \"ping\" WHERE \"url\" =~ /^$PingURL$/ AND $timeFilter GROUP BY time(1m) fill(null)", @@ -3197,66 +3608,66 @@ data: { "params": [ "value" - ], - "type": "field" - }, - { - "params": [], - "type": "mean" - } - ] - ], - "tags": [] - } + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + } + ] ], + "tags": [] + } + ], "timeFrom": null, "timeShift": null, "title": "$PingURL Ping", "type": "stat" - }, - { - "datasource": "InfluxDB", - "fieldConfig": { - "defaults": { - "custom": {}, - "decimals": 4, - "mappings": [ - { - "from": "", - "id": 0, - "text": "N/A", - "to": "", - "type": 1, - "value": "null" + }, + { + "datasource": "InfluxDB", + "fieldConfig": { + "defaults": { + "custom": {}, + "decimals": 4, + "mappings": [ + { + "from": "", + "id": 0, + "text": "N/A", + "to": "", + "type": 1, + "value": "null" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "dark-red", + "value": null + }, + { + "color": "semi-dark-orange", + "value": 95 + }, + { + "color": "semi-dark-green", + "value": 100 } - ], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "dark-red", - "value": null - }, - { - "color": "semi-dark-orange", - "value": 95 - }, - { - "color": "semi-dark-green", - "value": 100 - } - ] - }, - "unit": "percent" + ] }, - "overrides": [] + "unit": "percent" }, + "overrides": [] + }, "gridPos": { "h": 6, "w": 6, "x": 6, - "y": 94 - }, + "y": 99 + }, "id": 91, "options": { "colorMode": "value", @@ -3266,38 +3677,38 @@ data: "reduceOptions": { "calcs": [ "mean" - ], - "fields": "", - "values": false - }, - "textMode": "auto" + ], + "fields": "", + "values": false }, + "textMode": "auto" + }, "pluginVersion": "7.2.1", - "repeatIteration": 1603341911009, + "repeatIteration": 1603557787209, "repeatPanelId": 36, "scopedVars": { "PingURL": { "selected": false, "text": "google.com", "value": "google.com" - } - }, + } + }, "targets": [ { "groupBy": [ { "params": [ "$__interval" - ], - "type": "time" - }, - { - "params": [ - "null" - ], - "type": "fill" - } - ], + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], "orderByTime": "ASC", "policy": "default", "query": "SELECT 100 - mean(\"percent_packet_loss\") FROM \"ping\" WHERE \"url\" =~ /^$PingURL$/ AND $timeFilter GROUP BY time(1m) fill(null)", @@ -3309,66 +3720,66 @@ data: { "params": [ "value" - ], - "type": "field" - }, - { - "params": [], - "type": "mean" - } - ] - ], - "tags": [] - } + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + } + ] ], + "tags": [] + } + ], "timeFrom": null, "timeShift": null, "title": "$PingURL Ping", "type": "stat" - }, - { - "datasource": "InfluxDB", - "fieldConfig": { - "defaults": { - "custom": {}, - "decimals": 4, - "mappings": [ - { - "from": "", - "id": 0, - "text": "N/A", - "to": "", - "type": 1, - "value": "null" + }, + { + "datasource": "InfluxDB", + "fieldConfig": { + "defaults": { + "custom": {}, + "decimals": 4, + "mappings": [ + { + "from": "", + "id": 0, + "text": "N/A", + "to": "", + "type": 1, + "value": "null" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "dark-red", + "value": null + }, + { + "color": "semi-dark-orange", + "value": 95 + }, + { + "color": "semi-dark-green", + "value": 100 } - ], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "dark-red", - "value": null - }, - { - "color": "semi-dark-orange", - "value": 95 - }, - { - "color": "semi-dark-green", - "value": 100 - } - ] - }, - "unit": "percent" + ] }, - "overrides": [] + "unit": "percent" }, + "overrides": [] + }, "gridPos": { "h": 6, "w": 6, "x": 12, - "y": 94 - }, + "y": 99 + }, "id": 92, "options": { "colorMode": "value", @@ -3378,38 +3789,38 @@ data: "reduceOptions": { "calcs": [ "mean" - ], - "fields": "", - "values": false - }, - "textMode": "auto" + ], + "fields": "", + "values": false }, + "textMode": "auto" + }, "pluginVersion": "7.2.1", - "repeatIteration": 1603341911009, + "repeatIteration": 1603557787209, "repeatPanelId": 36, "scopedVars": { "PingURL": { "selected": false, "text": "twitter.com", "value": "twitter.com" - } - }, + } + }, "targets": [ { "groupBy": [ { "params": [ "$__interval" - ], - "type": "time" - }, - { - "params": [ - "null" - ], - "type": "fill" - } - ], + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], "orderByTime": "ASC", "policy": "default", "query": "SELECT 100 - mean(\"percent_packet_loss\") FROM \"ping\" WHERE \"url\" =~ /^$PingURL$/ AND $timeFilter GROUP BY time(1m) fill(null)", @@ -3421,66 +3832,66 @@ data: { "params": [ "value" - ], - "type": "field" - }, - { - "params": [], - "type": "mean" - } - ] - ], - "tags": [] - } + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + } + ] ], + "tags": [] + } + ], "timeFrom": null, "timeShift": null, "title": "$PingURL Ping", "type": "stat" - }, - { - "datasource": "InfluxDB", - "fieldConfig": { - "defaults": { - "custom": {}, - "decimals": 4, - "mappings": [ - { - "from": "", - "id": 0, - "text": "N/A", - "to": "", - "type": 1, - "value": "null" + }, + { + "datasource": "InfluxDB", + "fieldConfig": { + "defaults": { + "custom": {}, + "decimals": 4, + "mappings": [ + { + "from": "", + "id": 0, + "text": "N/A", + "to": "", + "type": 1, + "value": "null" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "dark-red", + "value": null + }, + { + "color": "semi-dark-orange", + "value": 95 + }, + { + "color": "semi-dark-green", + "value": 100 } - ], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "dark-red", - "value": null - }, - { - "color": "semi-dark-orange", - "value": 95 - }, - { - "color": "semi-dark-green", - "value": 100 - } - ] - }, - "unit": "percent" + ] }, - "overrides": [] + "unit": "percent" }, + "overrides": [] + }, "gridPos": { "h": 6, "w": 6, "x": 18, - "y": 94 - }, + "y": 99 + }, "id": 93, "options": { "colorMode": "value", @@ -3490,38 +3901,38 @@ data: "reduceOptions": { "calcs": [ "mean" - ], - "fields": "", - "values": false - }, - "textMode": "auto" + ], + "fields": "", + "values": false }, + "textMode": "auto" + }, "pluginVersion": "7.2.1", - "repeatIteration": 1603341911009, + "repeatIteration": 1603557787209, "repeatPanelId": 36, "scopedVars": { "PingURL": { "selected": false, "text": "yahoo.com", "value": "yahoo.com" - } - }, + } + }, "targets": [ { "groupBy": [ { "params": [ "$__interval" - ], - "type": "time" - }, - { - "params": [ - "null" - ], - "type": "fill" - } - ], + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], "orderByTime": "ASC", "policy": "default", "query": "SELECT 100 - mean(\"percent_packet_loss\") FROM \"ping\" WHERE \"url\" =~ /^$PingURL$/ AND $timeFilter GROUP BY time(1m) fill(null)", @@ -3533,24 +3944,24 @@ data: { "params": [ "value" - ], - "type": "field" - }, - { - "params": [], - "type": "mean" - } - ] - ], - "tags": [] - } + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + } + ] ], + "tags": [] + } + ], "timeFrom": null, "timeShift": null, "title": "$PingURL Ping", "type": "stat" - } - ], + } + ], "refresh": "5s", "schemaVersion": 26, "style": "dark", @@ -3561,7 +3972,7 @@ data: "influxdb", "isp", "raspberry" - ], + ], "templating": { "list": [ { @@ -3570,84 +3981,84 @@ data: "selected": false, "text": "All", "value": "$__all" - }, - "datasource": "InfluxDB", - "definition": "", - "hide": 0, - "includeAll": true, - "label": null, - "multi": true, - "name": "PingURL", - "options": [], - "query": "SHOW TAG VALUES FROM \"ping\" WITH KEY = \"url\"", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "tagValuesQuery": "", - "tags": [], - "tagsQuery": "", - "type": "query", - "useTags": false - }, - { - "allValue": null, - "current": { - "selected": false, - "text": "All", - "value": "$__all" - }, - "datasource": "InfluxDB", - "definition": "", - "hide": 0, - "includeAll": true, - "label": null, - "multi": true, - "name": "NetInterface", - "options": [], - "query": "SHOW TAG VALUES FROM \"net\" WITH KEY = \"interface\" WHERE \"host\" =~ /$NetHost/", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "tagValuesQuery": "", - "tags": [], - "tagsQuery": "", - "type": "query", - "useTags": false }, - { - "allValue": null, - "current": { - "selected": true, - "text": "node1", - "value": "node1" - }, - "datasource": "InfluxDB", - "definition": "", - "hide": 0, - "includeAll": false, - "label": null, - "multi": false, - "name": "NetHost", - "options": [], - "query": "SHOW TAG VALUES FROM \"net\" WITH KEY = \"host\"", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "tagValuesQuery": "", - "tags": [], - "tagsQuery": "", - "type": "query", - "useTags": false - } - ] + "datasource": "InfluxDB", + "definition": "", + "hide": 0, + "includeAll": true, + "label": null, + "multi": true, + "name": "PingURL", + "options": [], + "query": "SHOW TAG VALUES FROM \"ping\" WITH KEY = \"url\"", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": { + "selected": false, + "text": "All", + "value": "$__all" + }, + "datasource": "InfluxDB", + "definition": "", + "hide": 0, + "includeAll": true, + "label": null, + "multi": true, + "name": "NetInterface", + "options": [], + "query": "SHOW TAG VALUES FROM \"net\" WITH KEY = \"interface\" WHERE \"host\" =~ /$NetHost/", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false }, + { + "allValue": null, + "current": { + "selected": false, + "text": "node1", + "value": "node1" + }, + "datasource": "InfluxDB", + "definition": "", + "hide": 0, + "includeAll": false, + "label": null, + "multi": false, + "name": "NetHost", + "options": [], + "query": "SHOW TAG VALUES FROM \"net\" WITH KEY = \"host\"", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + } + ] + }, "time": { "from": "now-1h", "to": "now" - }, + }, "timepicker": {}, "timezone": "browser", "title": "Network",