├── .gitignore ├── grafana-provisioning ├── plugins │ └── .gitkeep ├── notifiers │ └── .gitkeep ├── datasources │ └── default.yaml └── dashboards │ ├── default.yaml │ ├── starlink │ └── starlink.json │ └── network │ └── netstats.json ├── LICENSE.md ├── default.env.tpl ├── docker-compose.yml ├── netstats-provisioning └── telegraf.conf └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | default.env 2 | /.idea -------------------------------------------------------------------------------- /grafana-provisioning/plugins/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /grafana-provisioning/notifiers/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /grafana-provisioning/datasources/default.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: 1 2 | 3 | datasources: 4 | - name: netstats 5 | type: influxdb 6 | access: proxy 7 | database: netstats 8 | user: $INFLUXDB_USERNAME 9 | password: $INFLUXDB_PASSWORD 10 | url: $INFLUXDB_URL 11 | jsonData: 12 | httpMode: GET 13 | 14 | - name: starlinkstats 15 | type: influxdb 16 | access: proxy 17 | database: starlinkstats 18 | user: $INFLUXDB_USERNAME 19 | password: $INFLUXDB_PASSWORD 20 | url: $INFLUXDB_URL 21 | jsonData: 22 | httpMode: GET 23 | -------------------------------------------------------------------------------- /grafana-provisioning/dashboards/default.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: 1 2 | 3 | providers: 4 | - name: 'Starlink' 5 | orgId: 1 6 | folder: 'Starlink' 7 | type: file 8 | disableDeletion: true 9 | updateIntervalSeconds: 10 10 | allowUiUpdates: true 11 | options: 12 | path: /etc/grafana/provisioning/dashboards/starlink 13 | foldersFromFilesStructure: false 14 | 15 | - name: 'Network' 16 | orgId: 1 17 | folder: 'Network' 18 | type: file 19 | disableDeletion: true 20 | updateIntervalSeconds: 10 21 | allowUiUpdates: true 22 | options: 23 | path: /etc/grafana/provisioning/dashboards/network 24 | foldersFromFilesStructure: false 25 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | Copyright 2021 https://github.com/sponsianus 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 4 | 5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 8 | -------------------------------------------------------------------------------- /default.env.tpl: -------------------------------------------------------------------------------- 1 | ################### 2 | ### User Values ### 3 | ################### 4 | 5 | # Login/Database Settings 6 | 7 | ADMIN_USERNAME="admin" 8 | ADMIN_PASSWORD="StrongPassword1234" 9 | 10 | # Speed Test Settings 11 | 12 | SPEEDTEST_INTERVAL="1h" 13 | 14 | ######################## 15 | ### END: User Values ### 16 | ######################## 17 | 18 | ################ 19 | ### Defaults ### 20 | ################ 21 | 22 | DATABASE_HOST="influxdb" 23 | DATABASE_PORT="8086" 24 | 25 | INFLUXDB_DB=starlinkstats 26 | INFLUXDB_URL=http://${DATABASE_HOST}:${DATABASE_PORT} 27 | INFLUXDB_HOST=${DATABASE_HOST} 28 | INFLUXDB_PORT=${DATABASE_PORT} 29 | 30 | INFLUXDB_ADMIN_USER=${ADMIN_USERNAME} 31 | INFLUXDB_USER=${ADMIN_USERNAME} 32 | INFLUXDB_USERNAME=${ADMIN_USERNAME} 33 | 34 | INFLUXDB_ADMIN_PASSWORD=${ADMIN_PASSWORD} 35 | INFLUXDB_PWD=${ADMIN_PASSWORD} 36 | INFLUXDB_PASSWORD=${ADMIN_PASSWORD} 37 | 38 | GF_SECURITY_ADMIN_USER=${ADMIN_USERNAME} 39 | GF_SECURITY_ADMIN_PASSWORD=${ADMIN_PASSWORD} 40 | 41 | # Network Test Settings 42 | 43 | DOMAIN_1="google.com" 44 | HTTP_DOMAIN_1="https://www.google.com" 45 | DOMAIN_2="twitter.com" 46 | HTTP_DOMAIN_2="https://www.twitter.com" 47 | DOMAIN_3="amazon.com" 48 | HTTP_DOMAIN_3="https://www.amazon.com" 49 | DOMAIN_4="yahoo.com" 50 | HTTP_DOMAIN_4="https://www.yahoo.com" 51 | DOMAIN_5="reddit.com" 52 | HTTP_DOMAIN_5="https://www.redit.com" 53 | DOMAIN_6="cloudflare.com" 54 | HTTP_DOMAIN_6="https://www.cloudflare.com" 55 | 56 | PRIMARY_DNS_SERVER="1.1.1.1" 57 | SECONDARY_DNS_SERVER="8.8.8.8" 58 | 59 | ##################### 60 | ### END: Defaults ### 61 | ##################### 62 | -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '3.7' 2 | 3 | services: 4 | influxdb: 5 | image: influxdb:1.8 6 | ports: 7 | - '8086:8086' 8 | volumes: 9 | - influxdb-storage:/var/lib/influxdb 10 | env_file: 11 | - default.env 12 | restart: always 13 | 14 | ### Uncomment lines below to enable Chronograf containter 15 | # chronograf: 16 | # image: chronograf:latest 17 | # ports: 18 | # - '8888:8888' 19 | # volumes: 20 | # - chronograf-storage:/var/lib/chronograf 21 | # depends_on: 22 | # - influxdb 23 | # env_file: 24 | # - default.env 25 | # restart: always 26 | 27 | grafana: 28 | image: grafana/grafana 29 | ports: 30 | - '3000:3000' 31 | volumes: 32 | - grafana-storage:/var/lib/grafana 33 | - ./grafana-provisioning/:/etc/grafana/provisioning 34 | depends_on: 35 | - influxdb 36 | env_file: 37 | - default.env 38 | restart: always 39 | 40 | grpc: 41 | image: sponsianus/starlink-grpc-tools 42 | command: "dish_grpc_influx.py -t 1 -a -v status obstruction_detail alert_detail ping_drop ping_run_length ping_latency ping_loaded_latency usage bulk_history" 43 | depends_on: 44 | - influxdb 45 | env_file: 46 | - default.env 47 | tty: true 48 | restart: always 49 | 50 | netstats: 51 | image: sponsianus/netstats 52 | volumes: 53 | - ./netstats-provisioning:/etc/telegraf 54 | depends_on: 55 | - influxdb 56 | env_file: 57 | - default.env 58 | restart: always 59 | 60 | volumes: 61 | influxdb-storage: 62 | chronograf-storage: 63 | grafana-storage: 64 | -------------------------------------------------------------------------------- /netstats-provisioning/telegraf.conf: -------------------------------------------------------------------------------- 1 | [global_tags] 2 | 3 | [agent] 4 | interval = "30s" 5 | round_interval = true 6 | metric_batch_size = 1000 7 | metric_buffer_limit = 10000 8 | collection_jitter = "0s" 9 | flush_interval = "15s" 10 | flush_jitter = "0s" 11 | precision = "" 12 | hostname = "netstats" 13 | omit_hostname = false 14 | debug = false 15 | 16 | [[outputs.influxdb]] 17 | urls = ["${INFLUXDB_URL}"] 18 | database = "netstats" 19 | timeout = "60s" 20 | username = "${INFLUXDB_USERNAME}" 21 | password = "${INFLUXDB_PASSWORD]" 22 | user_agent = "telegraf" 23 | 24 | [[inputs.net]] 25 | [[inputs.netstat]] 26 | 27 | [[inputs.dns_query]] 28 | servers = ["${PRIMARY_DNS_SERVER}", "${SECONDARY_DNS_SERVER}"] 29 | domains = ["${DOMAIN_1}", "${DOMAIN_2}", "${DOMAIN_3}", "${DOMAIN_4}", "${DOMAIN_5}", "${DOMAIN_6}"] 30 | record_type = "A" 31 | port = 53 32 | timeout = 3 33 | 34 | [[inputs.http_response]] 35 | urls = ["${HTTP_DOMAIN_1}", "${HTTP_DOMAIN_2}", "${HTTP_DOMAIN_3}", "${HTTP_DOMAIN_4}", "${HTTP_DOMAIN_5}", "${HTTP_DOMAIN_6}"] 36 | response_timeout = "5s" 37 | method = "GET" 38 | follow_redirects = true 39 | insecure_skip_verify = true 40 | 41 | [[inputs.internal]] 42 | collect_memstats = true 43 | 44 | [[inputs.ping]] 45 | urls = ["${DOMAIN_1}", "${DOMAIN_2}", "${DOMAIN_3}", "${DOMAIN_4}", "${DOMAIN_5}", "${DOMAIN_6}"] 46 | method = "exec" 47 | count = 1 48 | ping_interval = 1.0 49 | timeout = 5.0 50 | deadline = 10 51 | binary = "ping" 52 | ipv6 = false 53 | 54 | [[inputs.exec]] 55 | commands = ["speedtest -u bps -f json-pretty --accept-license"] 56 | name_override = "speedtest" 57 | timeout = "90s" 58 | interval = "${SPEEDTEST_INTERVAL}" 59 | data_format = "json" 60 | json_string_fields = ["*"] 61 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Starlink Dishy Grafana Dashboards 2 | 3 | ![Docker Pulls](https://img.shields.io/docker/pulls/sponsianus/starlink-grpc-tools) [![GitHub stars](https://img.shields.io/github/stars/sponsianus/dishy_grafana)](https://github.com/sponsianus/dishy_grafana/stargazers) 4 | 5 | Docker compose project for tracking Starlink Dishy and Network statistics with Grafana. 6 | 7 | ## Initial Install 8 | 9 | 1. Install Git, Docker and Compose. 10 | - [Install Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) 11 | - [Install Docker](https://docs.docker.com/get-docker) 12 | - [Install Compose](https://docs.docker.com/compose/install) 13 | 14 | 1. Clone the repo. (Suggested to clone into your `/opt` directory) 15 | 16 | ```bash 17 | git clone https://github.com/sponsianus/dishy_grafana 18 | ``` 19 | 20 | 1. Copy `default.env.tpl` to `default.env` and **edit the variables** to suite your needs. 21 | 22 | ```bash 23 | cp default.env.tpl default.env && nano default.env 24 | ``` 25 | 26 | 1. Start the app. 27 | 28 | ```bash 29 | docker-compose up -d 30 | ``` 31 | 32 | 1. Point your browser to your hosts `IP` and port `3000` to load the Grafana dashboard. `http://:3000` 33 | 34 | - Login with the credentials you set in your newly created `default.env` file. 35 | 36 | ## Updating 37 | 38 | The project container images will be rebuilt on a regular basis but may be slightly behind their original sources. 39 | When updating, check for any variable changes in `default.env.tpl` and apply any changes to your `default.env` file as needed. 40 | 41 | ### One Line Update Command 42 | 43 | ```bash 44 | git pull && docker-compose pull && docker-compose up -d 45 | ``` 46 | 47 | ### Manual Update 48 | 49 | From the directory containing the `docker-compose.yml` file: 50 | 51 | 1. Update repo. 52 | 53 | ```bash 54 | git pull 55 | ``` 56 | 57 | 1. Update container images. 58 | 59 | ```bash 60 | docker-compose pull 61 | ``` 62 | 63 | 1. Update the running containers. 64 | 65 | ```bash 66 | docker-compose up -d 67 | ``` 68 | 69 | ## Troubleshooting 70 | 71 | - Watch the logs from the containers by running: 72 | 73 | ```bash 74 | docker-compose logs -f --tail="10" 75 | ``` 76 | 77 | - Destroy and rebuild the containers. This will destroy existing data. 78 | 79 | ```bash 80 | docker-compose down -v && docker-compose up -d 81 | ``` 82 | 83 | ## Support 84 | 85 | - Open an issue in the [GitHub repo](https://github.com/sponsianus/dishy_grafana/issues/new). 86 | - Discussion on Reddit in [r/Starlink](https://www.reddit.com/r/Starlink/comments/nhwb6w/dishy_grafana_monitoring/). 87 | 88 | ## Resources 89 | 90 | - See [starlink-grpc-tools](https://github.com/sparky8512/starlink-grpc-tools) for the GRPC tools used in this project. 91 | 92 | ## License 93 | 94 | [MIT](LICENSE.md) -------------------------------------------------------------------------------- /grafana-provisioning/dashboards/starlink/starlink.json: -------------------------------------------------------------------------------- 1 | { 2 | "annotations": { 3 | "list": [ 4 | { 5 | "builtIn": 1, 6 | "datasource": { 7 | "type": "datasource", 8 | "uid": "grafana" 9 | }, 10 | "enable": true, 11 | "hide": true, 12 | "iconColor": "rgba(0, 211, 255, 1)", 13 | "name": "Annotations & Alerts", 14 | "target": { 15 | "limit": 100, 16 | "matchAny": false, 17 | "tags": [], 18 | "type": "dashboard" 19 | }, 20 | "type": "dashboard" 21 | } 22 | ] 23 | }, 24 | "description": "Dishy Statistics", 25 | "editable": true, 26 | "fiscalYearStartMonth": 0, 27 | "graphTooltip": 0, 28 | "id": 4, 29 | "links": [], 30 | "liveNow": false, 31 | "panels": [ 32 | { 33 | "datasource": { 34 | "type": "influxdb", 35 | "uid": "starlinkstats" 36 | }, 37 | "fieldConfig": { 38 | "defaults": { 39 | "color": { 40 | "mode": "palette-classic" 41 | }, 42 | "custom": { 43 | "axisCenteredZero": false, 44 | "axisColorMode": "text", 45 | "axisLabel": "", 46 | "axisPlacement": "auto", 47 | "barAlignment": 0, 48 | "drawStyle": "line", 49 | "fillOpacity": 10, 50 | "gradientMode": "none", 51 | "hideFrom": { 52 | "legend": false, 53 | "tooltip": false, 54 | "viz": false 55 | }, 56 | "lineInterpolation": "linear", 57 | "lineWidth": 1, 58 | "pointSize": 5, 59 | "scaleDistribution": { 60 | "type": "linear" 61 | }, 62 | "showPoints": "never", 63 | "spanNulls": true, 64 | "stacking": { 65 | "group": "A", 66 | "mode": "none" 67 | }, 68 | "thresholdsStyle": { 69 | "mode": "off" 70 | } 71 | }, 72 | "mappings": [], 73 | "thresholds": { 74 | "mode": "absolute", 75 | "steps": [ 76 | { 77 | "color": "green", 78 | "value": null 79 | }, 80 | { 81 | "color": "red", 82 | "value": 80 83 | } 84 | ] 85 | }, 86 | "unit": "bps" 87 | }, 88 | "overrides": [ 89 | { 90 | "matcher": { 91 | "id": "byName", 92 | "options": "spacex.starlink.user_terminal.history.snr" 93 | }, 94 | "properties": [ 95 | { 96 | "id": "unit", 97 | "value": "dB" 98 | } 99 | ] 100 | } 101 | ] 102 | }, 103 | "gridPos": { 104 | "h": 7, 105 | "w": 12, 106 | "x": 0, 107 | "y": 0 108 | }, 109 | "id": 4, 110 | "options": { 111 | "legend": { 112 | "calcs": [ 113 | "mean", 114 | "lastNotNull", 115 | "max" 116 | ], 117 | "displayMode": "table", 118 | "placement": "bottom", 119 | "showLegend": true 120 | }, 121 | "tooltip": { 122 | "mode": "multi", 123 | "sort": "none" 124 | } 125 | }, 126 | "pluginVersion": "8.5.3", 127 | "targets": [ 128 | { 129 | "groupBy": [], 130 | "measurement": "spacex.starlink.user_terminal.history", 131 | "orderByTime": "ASC", 132 | "policy": "default", 133 | "queryType": "randomWalk", 134 | "refId": "A", 135 | "resultFormat": "time_series", 136 | "select": [ 137 | [ 138 | { 139 | "params": [ 140 | "downlink_throughput_bps" 141 | ], 142 | "type": "field" 143 | } 144 | ], 145 | [ 146 | { 147 | "params": [ 148 | "uplink_throughput_bps" 149 | ], 150 | "type": "field" 151 | } 152 | ] 153 | ], 154 | "tags": [] 155 | } 156 | ], 157 | "title": "Throughput", 158 | "type": "timeseries" 159 | }, 160 | { 161 | "datasource": { 162 | "type": "influxdb", 163 | "uid": "starlinkstats" 164 | }, 165 | "description": "", 166 | "fieldConfig": { 167 | "defaults": { 168 | "color": { 169 | "mode": "thresholds" 170 | }, 171 | "mappings": [], 172 | "thresholds": { 173 | "mode": "absolute", 174 | "steps": [ 175 | { 176 | "color": "green", 177 | "value": null 178 | }, 179 | { 180 | "color": "red", 181 | "value": 80 182 | } 183 | ] 184 | } 185 | }, 186 | "overrides": [] 187 | }, 188 | "gridPos": { 189 | "h": 4, 190 | "w": 4, 191 | "x": 12, 192 | "y": 0 193 | }, 194 | "id": 7, 195 | "options": { 196 | "colorMode": "value", 197 | "graphMode": "area", 198 | "justifyMode": "auto", 199 | "orientation": "auto", 200 | "reduceOptions": { 201 | "calcs": [ 202 | "lastNotNull" 203 | ], 204 | "fields": "", 205 | "values": false 206 | }, 207 | "text": {}, 208 | "textMode": "auto" 209 | }, 210 | "pluginVersion": "9.1.2", 211 | "targets": [ 212 | { 213 | "groupBy": [], 214 | "measurement": "spacex.starlink.user_terminal.status", 215 | "orderByTime": "ASC", 216 | "policy": "default", 217 | "queryType": "randomWalk", 218 | "refId": "A", 219 | "resultFormat": "time_series", 220 | "select": [ 221 | [ 222 | { 223 | "params": [ 224 | "pop_ping_latency_ms" 225 | ], 226 | "type": "field" 227 | } 228 | ] 229 | ], 230 | "tags": [] 231 | } 232 | ], 233 | "title": "PoP Ping", 234 | "type": "stat" 235 | }, 236 | { 237 | "datasource": { 238 | "type": "influxdb", 239 | "uid": "starlinkstats" 240 | }, 241 | "description": "", 242 | "fieldConfig": { 243 | "defaults": { 244 | "color": { 245 | "mode": "thresholds" 246 | }, 247 | "mappings": [], 248 | "thresholds": { 249 | "mode": "absolute", 250 | "steps": [ 251 | { 252 | "color": "dark-red", 253 | "value": null 254 | }, 255 | { 256 | "color": "super-light-red", 257 | "value": 3600 258 | }, 259 | { 260 | "color": "dark-orange", 261 | "value": 36000 262 | }, 263 | { 264 | "color": "dark-blue", 265 | "value": 43200 266 | }, 267 | { 268 | "color": "dark-green", 269 | "value": 86400 270 | } 271 | ] 272 | }, 273 | "unit": "s" 274 | }, 275 | "overrides": [] 276 | }, 277 | "gridPos": { 278 | "h": 4, 279 | "w": 4, 280 | "x": 16, 281 | "y": 0 282 | }, 283 | "id": 9, 284 | "options": { 285 | "colorMode": "value", 286 | "graphMode": "area", 287 | "justifyMode": "auto", 288 | "orientation": "auto", 289 | "reduceOptions": { 290 | "calcs": [ 291 | "lastNotNull" 292 | ], 293 | "fields": "", 294 | "values": false 295 | }, 296 | "text": {}, 297 | "textMode": "auto" 298 | }, 299 | "pluginVersion": "9.1.2", 300 | "targets": [ 301 | { 302 | "groupBy": [], 303 | "measurement": "spacex.starlink.user_terminal.status", 304 | "orderByTime": "ASC", 305 | "policy": "default", 306 | "queryType": "randomWalk", 307 | "refId": "A", 308 | "resultFormat": "time_series", 309 | "select": [ 310 | [ 311 | { 312 | "params": [ 313 | "uptime" 314 | ], 315 | "type": "field" 316 | } 317 | ] 318 | ], 319 | "tags": [] 320 | } 321 | ], 322 | "title": "Uptime", 323 | "type": "stat" 324 | }, 325 | { 326 | "datasource": { 327 | "type": "influxdb", 328 | "uid": "QO9OCO_Mz" 329 | }, 330 | "description": "", 331 | "fieldConfig": { 332 | "defaults": { 333 | "color": { 334 | "mode": "palette-classic" 335 | }, 336 | "custom": { 337 | "axisCenteredZero": false, 338 | "axisColorMode": "text", 339 | "axisLabel": "", 340 | "axisPlacement": "auto", 341 | "barAlignment": 0, 342 | "drawStyle": "line", 343 | "fillOpacity": 0, 344 | "gradientMode": "none", 345 | "hideFrom": { 346 | "legend": false, 347 | "tooltip": false, 348 | "viz": false 349 | }, 350 | "lineInterpolation": "linear", 351 | "lineWidth": 1, 352 | "pointSize": 5, 353 | "scaleDistribution": { 354 | "type": "linear" 355 | }, 356 | "showPoints": "auto", 357 | "spanNulls": false, 358 | "stacking": { 359 | "group": "A", 360 | "mode": "none" 361 | }, 362 | "thresholdsStyle": { 363 | "mode": "off" 364 | } 365 | }, 366 | "mappings": [], 367 | "thresholds": { 368 | "mode": "absolute", 369 | "steps": [ 370 | { 371 | "color": "green", 372 | "value": null 373 | }, 374 | { 375 | "color": "red", 376 | "value": 80 377 | } 378 | ] 379 | } 380 | }, 381 | "overrides": [] 382 | }, 383 | "gridPos": { 384 | "h": 4, 385 | "w": 4, 386 | "x": 20, 387 | "y": 0 388 | }, 389 | "id": 10, 390 | "options": { 391 | "legend": { 392 | "calcs": [], 393 | "displayMode": "list", 394 | "placement": "bottom", 395 | "showLegend": true 396 | }, 397 | "tooltip": { 398 | "mode": "single", 399 | "sort": "none" 400 | } 401 | }, 402 | "pluginVersion": "9.1.2", 403 | "targets": [ 404 | { 405 | "datasource": { 406 | "type": "influxdb", 407 | "uid": "QO9OCO_Mz" 408 | }, 409 | "groupBy": [], 410 | "measurement": "spacex.starlink.user_terminal.status", 411 | "orderByTime": "ASC", 412 | "policy": "default", 413 | "queryType": "randomWalk", 414 | "refId": "A", 415 | "resultFormat": "time_series", 416 | "select": [ 417 | [ 418 | { 419 | "params": [ 420 | "is_snr_above_noise_floor" 421 | ], 422 | "type": "field" 423 | } 424 | ] 425 | ], 426 | "tags": [] 427 | } 428 | ], 429 | "title": "SNR Above Floor", 430 | "type": "timeseries" 431 | }, 432 | { 433 | "datasource": { 434 | "type": "influxdb", 435 | "uid": "starlinkstats" 436 | }, 437 | "description": "", 438 | "fieldConfig": { 439 | "defaults": { 440 | "color": { 441 | "mode": "thresholds" 442 | }, 443 | "mappings": [], 444 | "thresholds": { 445 | "mode": "absolute", 446 | "steps": [ 447 | { 448 | "color": "green", 449 | "value": null 450 | }, 451 | { 452 | "color": "red", 453 | "value": 1 454 | } 455 | ] 456 | }, 457 | "unit": "none" 458 | }, 459 | "overrides": [] 460 | }, 461 | "gridPos": { 462 | "h": 3, 463 | "w": 4, 464 | "x": 12, 465 | "y": 4 466 | }, 467 | "id": 14, 468 | "options": { 469 | "colorMode": "value", 470 | "graphMode": "area", 471 | "justifyMode": "center", 472 | "orientation": "auto", 473 | "reduceOptions": { 474 | "calcs": [ 475 | "lastNotNull" 476 | ], 477 | "fields": "", 478 | "values": false 479 | }, 480 | "text": {}, 481 | "textMode": "auto" 482 | }, 483 | "pluginVersion": "9.1.2", 484 | "targets": [ 485 | { 486 | "groupBy": [], 487 | "measurement": "spacex.starlink.user_terminal.status", 488 | "orderByTime": "ASC", 489 | "policy": "default", 490 | "queryType": "randomWalk", 491 | "refId": "A", 492 | "resultFormat": "time_series", 493 | "select": [ 494 | [ 495 | { 496 | "params": [ 497 | "pop_ping_drop_rate" 498 | ], 499 | "type": "field" 500 | } 501 | ] 502 | ], 503 | "tags": [] 504 | } 505 | ], 506 | "title": "Ping Drop Rate", 507 | "type": "stat" 508 | }, 509 | { 510 | "datasource": { 511 | "type": "influxdb", 512 | "uid": "starlinkstats" 513 | }, 514 | "description": "", 515 | "fieldConfig": { 516 | "defaults": { 517 | "color": { 518 | "mode": "thresholds" 519 | }, 520 | "mappings": [], 521 | "thresholds": { 522 | "mode": "absolute", 523 | "steps": [ 524 | { 525 | "color": "super-light-green", 526 | "value": null 527 | }, 528 | { 529 | "color": "light-green", 530 | "value": 1000000 531 | }, 532 | { 533 | "color": "semi-dark-green", 534 | "value": 5000000 535 | }, 536 | { 537 | "color": "dark-green", 538 | "value": 10000000 539 | }, 540 | { 541 | "color": "super-light-yellow", 542 | "value": 25000000 543 | }, 544 | { 545 | "color": "light-yellow", 546 | "value": 50000000 547 | }, 548 | { 549 | "color": "semi-dark-yellow", 550 | "value": 100000000 551 | }, 552 | { 553 | "color": "dark-yellow", 554 | "value": 150000000 555 | }, 556 | { 557 | "color": "super-light-orange", 558 | "value": 175000000 559 | }, 560 | { 561 | "color": "light-orange", 562 | "value": 200000000 563 | }, 564 | { 565 | "color": "semi-dark-orange", 566 | "value": 250000000 567 | }, 568 | { 569 | "color": "dark-orange", 570 | "value": 300000000 571 | }, 572 | { 573 | "color": "super-light-red", 574 | "value": 350000000 575 | }, 576 | { 577 | "color": "light-red", 578 | "value": 400000000 579 | }, 580 | { 581 | "color": "semi-dark-red", 582 | "value": 450000000 583 | }, 584 | { 585 | "color": "dark-red", 586 | "value": 500000000 587 | } 588 | ] 589 | }, 590 | "unit": "Bps" 591 | }, 592 | "overrides": [] 593 | }, 594 | "gridPos": { 595 | "h": 3, 596 | "w": 4, 597 | "x": 16, 598 | "y": 4 599 | }, 600 | "id": 12, 601 | "options": { 602 | "colorMode": "value", 603 | "graphMode": "area", 604 | "justifyMode": "auto", 605 | "orientation": "auto", 606 | "reduceOptions": { 607 | "calcs": [ 608 | "lastNotNull" 609 | ], 610 | "fields": "", 611 | "values": false 612 | }, 613 | "text": {}, 614 | "textMode": "auto" 615 | }, 616 | "pluginVersion": "9.1.2", 617 | "targets": [ 618 | { 619 | "groupBy": [], 620 | "measurement": "spacex.starlink.user_terminal.status", 621 | "orderByTime": "ASC", 622 | "policy": "default", 623 | "queryType": "randomWalk", 624 | "refId": "A", 625 | "resultFormat": "time_series", 626 | "select": [ 627 | [ 628 | { 629 | "params": [ 630 | "downlink_throughput_bps" 631 | ], 632 | "type": "field" 633 | } 634 | ] 635 | ], 636 | "tags": [] 637 | } 638 | ], 639 | "title": "Download", 640 | "type": "stat" 641 | }, 642 | { 643 | "datasource": { 644 | "type": "influxdb", 645 | "uid": "starlinkstats" 646 | }, 647 | "description": "", 648 | "fieldConfig": { 649 | "defaults": { 650 | "color": { 651 | "mode": "thresholds" 652 | }, 653 | "mappings": [], 654 | "thresholds": { 655 | "mode": "absolute", 656 | "steps": [ 657 | { 658 | "color": "super-light-green", 659 | "value": null 660 | }, 661 | { 662 | "color": "light-green", 663 | "value": 1000000 664 | }, 665 | { 666 | "color": "semi-dark-green", 667 | "value": 2000000 668 | }, 669 | { 670 | "color": "dark-green", 671 | "value": 2500000 672 | }, 673 | { 674 | "color": "super-light-yellow", 675 | "value": 5000000 676 | }, 677 | { 678 | "color": "light-yellow", 679 | "value": 7500000 680 | }, 681 | { 682 | "color": "semi-dark-yellow", 683 | "value": 10000000 684 | }, 685 | { 686 | "color": "dark-yellow", 687 | "value": 15000000 688 | }, 689 | { 690 | "color": "super-light-red", 691 | "value": 20000000 692 | }, 693 | { 694 | "color": "light-red", 695 | "value": 25000000 696 | }, 697 | { 698 | "color": "semi-dark-red", 699 | "value": 27500000 700 | }, 701 | { 702 | "color": "dark-red", 703 | "value": 30000000 704 | }, 705 | { 706 | "color": "super-light-purple", 707 | "value": 40000000 708 | } 709 | ] 710 | }, 711 | "unit": "Bps" 712 | }, 713 | "overrides": [] 714 | }, 715 | "gridPos": { 716 | "h": 3, 717 | "w": 4, 718 | "x": 20, 719 | "y": 4 720 | }, 721 | "id": 13, 722 | "options": { 723 | "colorMode": "value", 724 | "graphMode": "area", 725 | "justifyMode": "auto", 726 | "orientation": "auto", 727 | "reduceOptions": { 728 | "calcs": [ 729 | "lastNotNull" 730 | ], 731 | "fields": "", 732 | "values": false 733 | }, 734 | "text": {}, 735 | "textMode": "auto" 736 | }, 737 | "pluginVersion": "9.1.2", 738 | "targets": [ 739 | { 740 | "groupBy": [], 741 | "measurement": "spacex.starlink.user_terminal.status", 742 | "orderByTime": "ASC", 743 | "policy": "default", 744 | "queryType": "randomWalk", 745 | "refId": "A", 746 | "resultFormat": "time_series", 747 | "select": [ 748 | [ 749 | { 750 | "params": [ 751 | "uplink_throughput_bps" 752 | ], 753 | "type": "field" 754 | } 755 | ] 756 | ], 757 | "tags": [] 758 | } 759 | ], 760 | "title": "Upload", 761 | "type": "stat" 762 | }, 763 | { 764 | "datasource": { 765 | "type": "influxdb", 766 | "uid": "starlinkstats" 767 | }, 768 | "description": "", 769 | "fieldConfig": { 770 | "defaults": { 771 | "color": { 772 | "mode": "palette-classic" 773 | }, 774 | "custom": { 775 | "axisCenteredZero": false, 776 | "axisColorMode": "text", 777 | "axisLabel": "", 778 | "axisPlacement": "auto", 779 | "barAlignment": 0, 780 | "drawStyle": "line", 781 | "fillOpacity": 10, 782 | "gradientMode": "none", 783 | "hideFrom": { 784 | "legend": false, 785 | "tooltip": false, 786 | "viz": false 787 | }, 788 | "lineInterpolation": "linear", 789 | "lineWidth": 1, 790 | "pointSize": 5, 791 | "scaleDistribution": { 792 | "type": "linear" 793 | }, 794 | "showPoints": "never", 795 | "spanNulls": true, 796 | "stacking": { 797 | "group": "A", 798 | "mode": "none" 799 | }, 800 | "thresholdsStyle": { 801 | "mode": "off" 802 | } 803 | }, 804 | "mappings": [], 805 | "thresholds": { 806 | "mode": "absolute", 807 | "steps": [ 808 | { 809 | "color": "green", 810 | "value": null 811 | }, 812 | { 813 | "color": "red", 814 | "value": 80 815 | } 816 | ] 817 | }, 818 | "unit": "ms" 819 | }, 820 | "overrides": [ 821 | { 822 | "matcher": { 823 | "id": "byName", 824 | "options": "spacex.starlink.user_terminal.status.pop_ping_drop_rate" 825 | }, 826 | "properties": [ 827 | { 828 | "id": "unit", 829 | "value": "short" 830 | } 831 | ] 832 | }, 833 | { 834 | "matcher": { 835 | "id": "byName", 836 | "options": "spacex.starlink.user_terminal.history.pop_ping_drop_rate" 837 | }, 838 | "properties": [ 839 | { 840 | "id": "unit", 841 | "value": "short" 842 | } 843 | ] 844 | } 845 | ] 846 | }, 847 | "gridPos": { 848 | "h": 7, 849 | "w": 12, 850 | "x": 0, 851 | "y": 7 852 | }, 853 | "id": 2, 854 | "options": { 855 | "legend": { 856 | "calcs": [ 857 | "mean", 858 | "lastNotNull", 859 | "max", 860 | "min" 861 | ], 862 | "displayMode": "table", 863 | "placement": "bottom", 864 | "showLegend": true 865 | }, 866 | "tooltip": { 867 | "mode": "multi", 868 | "sort": "none" 869 | } 870 | }, 871 | "pluginVersion": "8.5.3", 872 | "targets": [ 873 | { 874 | "groupBy": [], 875 | "measurement": "spacex.starlink.user_terminal.history", 876 | "orderByTime": "ASC", 877 | "policy": "default", 878 | "queryType": "randomWalk", 879 | "refId": "A", 880 | "resultFormat": "time_series", 881 | "select": [ 882 | [ 883 | { 884 | "params": [ 885 | "pop_ping_latency_ms" 886 | ], 887 | "type": "field" 888 | } 889 | ], 890 | [ 891 | { 892 | "params": [ 893 | "pop_ping_drop_rate" 894 | ], 895 | "type": "field" 896 | } 897 | ] 898 | ], 899 | "tags": [] 900 | } 901 | ], 902 | "title": "Latency & Drop Rate", 903 | "type": "timeseries" 904 | }, 905 | { 906 | "datasource": { 907 | "type": "influxdb", 908 | "uid": "starlinkstats" 909 | }, 910 | "description": "", 911 | "fieldConfig": { 912 | "defaults": { 913 | "color": { 914 | "mode": "palette-classic" 915 | }, 916 | "custom": { 917 | "axisCenteredZero": false, 918 | "axisColorMode": "text", 919 | "axisLabel": "", 920 | "axisPlacement": "auto", 921 | "barAlignment": 0, 922 | "drawStyle": "line", 923 | "fillOpacity": 10, 924 | "gradientMode": "none", 925 | "hideFrom": { 926 | "legend": false, 927 | "tooltip": false, 928 | "viz": false 929 | }, 930 | "lineInterpolation": "linear", 931 | "lineWidth": 1, 932 | "pointSize": 5, 933 | "scaleDistribution": { 934 | "type": "linear" 935 | }, 936 | "showPoints": "never", 937 | "spanNulls": true, 938 | "stacking": { 939 | "group": "A", 940 | "mode": "none" 941 | }, 942 | "thresholdsStyle": { 943 | "mode": "off" 944 | } 945 | }, 946 | "mappings": [], 947 | "thresholds": { 948 | "mode": "absolute", 949 | "steps": [ 950 | { 951 | "color": "green", 952 | "value": null 953 | }, 954 | { 955 | "color": "red", 956 | "value": 80 957 | } 958 | ] 959 | }, 960 | "unit": "percentunit" 961 | }, 962 | "overrides": [ 963 | { 964 | "matcher": { 965 | "id": "byName", 966 | "options": "spacex.starlink.user_terminal.status.obstruction_duration" 967 | }, 968 | "properties": [ 969 | { 970 | "id": "unit", 971 | "value": "s" 972 | } 973 | ] 974 | } 975 | ] 976 | }, 977 | "gridPos": { 978 | "h": 7, 979 | "w": 12, 980 | "x": 12, 981 | "y": 7 982 | }, 983 | "id": 8, 984 | "options": { 985 | "legend": { 986 | "calcs": [ 987 | "mean", 988 | "lastNotNull", 989 | "max", 990 | "min" 991 | ], 992 | "displayMode": "table", 993 | "placement": "bottom", 994 | "showLegend": true 995 | }, 996 | "tooltip": { 997 | "mode": "multi", 998 | "sort": "none" 999 | } 1000 | }, 1001 | "pluginVersion": "8.5.3", 1002 | "targets": [ 1003 | { 1004 | "datasource": { 1005 | "type": "influxdb", 1006 | "uid": "starlinkstats" 1007 | }, 1008 | "groupBy": [], 1009 | "hide": false, 1010 | "measurement": "spacex.starlink.user_terminal.status", 1011 | "orderByTime": "ASC", 1012 | "policy": "default", 1013 | "queryType": "randomWalk", 1014 | "refId": "B", 1015 | "resultFormat": "time_series", 1016 | "select": [ 1017 | [ 1018 | { 1019 | "params": [ 1020 | "fraction_obstructed" 1021 | ], 1022 | "type": "field" 1023 | }, 1024 | { 1025 | "params": [ 1026 | "*100" 1027 | ], 1028 | "type": "math" 1029 | }, 1030 | { 1031 | "params": [ 1032 | "Percent Obstructed" 1033 | ], 1034 | "type": "alias" 1035 | } 1036 | ], 1037 | [ 1038 | { 1039 | "params": [ 1040 | "obstruction_duration" 1041 | ], 1042 | "type": "field" 1043 | } 1044 | ], 1045 | [ 1046 | { 1047 | "params": [ 1048 | "obstruction_interval" 1049 | ], 1050 | "type": "field" 1051 | } 1052 | ] 1053 | ], 1054 | "tags": [] 1055 | } 1056 | ], 1057 | "title": "Obstructions Data", 1058 | "transformations": [], 1059 | "type": "timeseries" 1060 | }, 1061 | { 1062 | "datasource": { 1063 | "type": "influxdb", 1064 | "uid": "starlinkstats" 1065 | }, 1066 | "description": "", 1067 | "fieldConfig": { 1068 | "defaults": { 1069 | "color": { 1070 | "mode": "thresholds" 1071 | }, 1072 | "custom": { 1073 | "align": "center", 1074 | "displayMode": "auto", 1075 | "filterable": false, 1076 | "inspect": false 1077 | }, 1078 | "mappings": [], 1079 | "thresholds": { 1080 | "mode": "absolute", 1081 | "steps": [ 1082 | { 1083 | "color": "green", 1084 | "value": null 1085 | }, 1086 | { 1087 | "color": "red", 1088 | "value": 80 1089 | } 1090 | ] 1091 | } 1092 | }, 1093 | "overrides": [ 1094 | { 1095 | "matcher": { 1096 | "id": "byName", 1097 | "options": "State" 1098 | }, 1099 | "properties": [ 1100 | { 1101 | "id": "custom.width", 1102 | "value": 120 1103 | } 1104 | ] 1105 | }, 1106 | { 1107 | "matcher": { 1108 | "id": "byName", 1109 | "options": "Obstructed" 1110 | }, 1111 | "properties": [ 1112 | { 1113 | "id": "custom.width", 1114 | "value": 88 1115 | } 1116 | ] 1117 | }, 1118 | { 1119 | "matcher": { 1120 | "id": "byName", 1121 | "options": "Bad Location" 1122 | }, 1123 | "properties": [ 1124 | { 1125 | "id": "custom.width", 1126 | "value": 102 1127 | } 1128 | ] 1129 | }, 1130 | { 1131 | "matcher": { 1132 | "id": "byName", 1133 | "options": "Temp Throttled" 1134 | }, 1135 | "properties": [ 1136 | { 1137 | "id": "custom.width", 1138 | "value": 116 1139 | } 1140 | ] 1141 | }, 1142 | { 1143 | "matcher": { 1144 | "id": "byName", 1145 | "options": "Temp Shutdown" 1146 | }, 1147 | "properties": [ 1148 | { 1149 | "id": "custom.width", 1150 | "value": 119 1151 | } 1152 | ] 1153 | }, 1154 | { 1155 | "matcher": { 1156 | "id": "byName", 1157 | "options": "Motors Stuck" 1158 | }, 1159 | "properties": [ 1160 | { 1161 | "id": "custom.width", 1162 | "value": 103 1163 | } 1164 | ] 1165 | }, 1166 | { 1167 | "matcher": { 1168 | "id": "byName", 1169 | "options": "Mast Not Vertical" 1170 | }, 1171 | "properties": [ 1172 | { 1173 | "id": "custom.width", 1174 | "value": 128 1175 | } 1176 | ] 1177 | }, 1178 | { 1179 | "matcher": { 1180 | "id": "byName", 1181 | "options": "Slow Speed" 1182 | }, 1183 | "properties": [ 1184 | { 1185 | "id": "custom.width", 1186 | "value": 94 1187 | } 1188 | ] 1189 | }, 1190 | { 1191 | "matcher": { 1192 | "id": "byName", 1193 | "options": "Time (last)" 1194 | }, 1195 | "properties": [ 1196 | { 1197 | "id": "custom.width" 1198 | } 1199 | ] 1200 | }, 1201 | { 1202 | "matcher": { 1203 | "id": "byName", 1204 | "options": "Software Version" 1205 | }, 1206 | "properties": [ 1207 | { 1208 | "id": "custom.width", 1209 | "value": 320 1210 | } 1211 | ] 1212 | }, 1213 | { 1214 | "matcher": { 1215 | "id": "byName", 1216 | "options": "Roaming" 1217 | }, 1218 | "properties": [ 1219 | { 1220 | "id": "custom.width", 1221 | "value": 79 1222 | } 1223 | ] 1224 | }, 1225 | { 1226 | "matcher": { 1227 | "id": "byName", 1228 | "options": "Heating" 1229 | }, 1230 | "properties": [ 1231 | { 1232 | "id": "custom.width", 1233 | "value": 84 1234 | } 1235 | ] 1236 | }, 1237 | { 1238 | "matcher": { 1239 | "id": "byName", 1240 | "options": "Unexpected Loc." 1241 | }, 1242 | "properties": [ 1243 | { 1244 | "id": "custom.width", 1245 | "value": 121 1246 | } 1247 | ] 1248 | }, 1249 | { 1250 | "matcher": { 1251 | "id": "byName", 1252 | "options": "Unexpected Location" 1253 | }, 1254 | "properties": [ 1255 | { 1256 | "id": "custom.width", 1257 | "value": 153 1258 | } 1259 | ] 1260 | } 1261 | ] 1262 | }, 1263 | "gridPos": { 1264 | "h": 5, 1265 | "w": 24, 1266 | "x": 0, 1267 | "y": 14 1268 | }, 1269 | "id": 11, 1270 | "links": [], 1271 | "options": { 1272 | "footer": { 1273 | "fields": "", 1274 | "reducer": [ 1275 | "sum" 1276 | ], 1277 | "show": false 1278 | }, 1279 | "showHeader": true, 1280 | "sortBy": [] 1281 | }, 1282 | "pluginVersion": "9.1.2", 1283 | "targets": [ 1284 | { 1285 | "datasource": { 1286 | "type": "influxdb", 1287 | "uid": "starlinkstats" 1288 | }, 1289 | "groupBy": [], 1290 | "hide": false, 1291 | "limit": "", 1292 | "measurement": "spacex.starlink.user_terminal.status", 1293 | "orderByTime": "ASC", 1294 | "policy": "default", 1295 | "query": "SELECT \"state\" AS \"State\", \"alert_roaming\" AS \"Roaming\", \"currently_obstructed\" AS \"Obstructed\", \"alert_unexpected_location\" AS \"Bad Location\", \"alert_thermal_throttle\" AS \"Temp Throttled\", \"alert_thermal_shutdown\" AS \"Temp Shutdown\", \"alert_motors_stuck\" AS \"Motors Stuck\", \"software_version\" AS \"Software Version\", \"alert_slow_ethernet_speeds\" AS \"Slow Speed\", \"alert_is_heating\" AS \"Heating\", \"alert_mast_not_near_vertical\" AS \"Mast Not Vertical\" FROM \"spacex.starlink.user_terminal.status\" WHERE $timeFilter", 1296 | "queryType": "randomWalk", 1297 | "rawQuery": false, 1298 | "refId": "A", 1299 | "resultFormat": "table", 1300 | "select": [ 1301 | [ 1302 | { 1303 | "params": [ 1304 | "state" 1305 | ], 1306 | "type": "field" 1307 | }, 1308 | { 1309 | "params": [ 1310 | "State" 1311 | ], 1312 | "type": "alias" 1313 | } 1314 | ], 1315 | [ 1316 | { 1317 | "params": [ 1318 | "currently_obstructed" 1319 | ], 1320 | "type": "field" 1321 | }, 1322 | { 1323 | "params": [ 1324 | "Obstructed" 1325 | ], 1326 | "type": "alias" 1327 | } 1328 | ], 1329 | [ 1330 | { 1331 | "params": [ 1332 | "alert_unexpected_location" 1333 | ], 1334 | "type": "field" 1335 | }, 1336 | { 1337 | "params": [ 1338 | "Unexpected Location" 1339 | ], 1340 | "type": "alias" 1341 | } 1342 | ], 1343 | [ 1344 | { 1345 | "params": [ 1346 | "alert_thermal_throttle" 1347 | ], 1348 | "type": "field" 1349 | }, 1350 | { 1351 | "params": [ 1352 | "Temp Throttled" 1353 | ], 1354 | "type": "alias" 1355 | } 1356 | ], 1357 | [ 1358 | { 1359 | "params": [ 1360 | "alert_thermal_shutdown" 1361 | ], 1362 | "type": "field" 1363 | }, 1364 | { 1365 | "params": [ 1366 | "Temp Shutdown" 1367 | ], 1368 | "type": "alias" 1369 | } 1370 | ], 1371 | [ 1372 | { 1373 | "params": [ 1374 | "alert_motors_stuck" 1375 | ], 1376 | "type": "field" 1377 | }, 1378 | { 1379 | "params": [ 1380 | "Motors Stuck" 1381 | ], 1382 | "type": "alias" 1383 | } 1384 | ], 1385 | [ 1386 | { 1387 | "params": [ 1388 | "software_version" 1389 | ], 1390 | "type": "field" 1391 | }, 1392 | { 1393 | "params": [ 1394 | "Software Version" 1395 | ], 1396 | "type": "alias" 1397 | } 1398 | ], 1399 | [ 1400 | { 1401 | "params": [ 1402 | "alert_slow_ethernet_speeds" 1403 | ], 1404 | "type": "field" 1405 | }, 1406 | { 1407 | "params": [ 1408 | "Slow Speed" 1409 | ], 1410 | "type": "alias" 1411 | } 1412 | ], 1413 | [ 1414 | { 1415 | "params": [ 1416 | "alert_mast_not_near_vertical" 1417 | ], 1418 | "type": "field" 1419 | }, 1420 | { 1421 | "params": [ 1422 | "Mast Not Vertical" 1423 | ], 1424 | "type": "alias" 1425 | } 1426 | ], 1427 | [ 1428 | { 1429 | "params": [ 1430 | "alert_is_heating" 1431 | ], 1432 | "type": "field" 1433 | }, 1434 | { 1435 | "params": [ 1436 | "Heating" 1437 | ], 1438 | "type": "alias" 1439 | } 1440 | ], 1441 | [ 1442 | { 1443 | "params": [ 1444 | "alert_roaming" 1445 | ], 1446 | "type": "field" 1447 | }, 1448 | { 1449 | "params": [ 1450 | "Roaming" 1451 | ], 1452 | "type": "alias" 1453 | } 1454 | ] 1455 | ], 1456 | "tags": [] 1457 | } 1458 | ], 1459 | "title": "Dishy System Status", 1460 | "transformations": [ 1461 | { 1462 | "id": "groupBy", 1463 | "options": { 1464 | "fields": { 1465 | "Bad Location": { 1466 | "aggregations": [], 1467 | "operation": "groupby" 1468 | }, 1469 | "Hardware Version": { 1470 | "aggregations": [], 1471 | "operation": "groupby" 1472 | }, 1473 | "Heating": { 1474 | "aggregations": [], 1475 | "operation": "groupby" 1476 | }, 1477 | "Mast Not Vertical": { 1478 | "aggregations": [], 1479 | "operation": "groupby" 1480 | }, 1481 | "Motors Stuck": { 1482 | "aggregations": [], 1483 | "operation": "groupby" 1484 | }, 1485 | "Obstructed": { 1486 | "aggregations": [], 1487 | "operation": "groupby" 1488 | }, 1489 | "Roaming": { 1490 | "aggregations": [], 1491 | "operation": "groupby" 1492 | }, 1493 | "Slow Speed": { 1494 | "aggregations": [], 1495 | "operation": "groupby" 1496 | }, 1497 | "Software Version": { 1498 | "aggregations": [], 1499 | "operation": "groupby" 1500 | }, 1501 | "State": { 1502 | "aggregations": [], 1503 | "operation": "groupby" 1504 | }, 1505 | "Temp Shutdown": { 1506 | "aggregations": [], 1507 | "operation": "groupby" 1508 | }, 1509 | "Temp Throttle": { 1510 | "aggregations": [], 1511 | "operation": "groupby" 1512 | }, 1513 | "Temp Throttled": { 1514 | "aggregations": [], 1515 | "operation": "groupby" 1516 | }, 1517 | "Thermal Shutdown": { 1518 | "aggregations": [], 1519 | "operation": "groupby" 1520 | }, 1521 | "Thermal Throttle": { 1522 | "aggregations": [], 1523 | "operation": "groupby" 1524 | }, 1525 | "Time": { 1526 | "aggregations": [ 1527 | "last" 1528 | ], 1529 | "operation": "aggregate" 1530 | }, 1531 | "Unexpected Loc.": { 1532 | "aggregations": [], 1533 | "operation": "groupby" 1534 | }, 1535 | "Unexpected Location": { 1536 | "aggregations": [], 1537 | "operation": "groupby" 1538 | }, 1539 | "Wrong Location": { 1540 | "aggregations": [], 1541 | "operation": "groupby" 1542 | } 1543 | } 1544 | } 1545 | }, 1546 | { 1547 | "id": "organize", 1548 | "options": { 1549 | "excludeByName": {}, 1550 | "indexByName": { 1551 | "Heating": 3, 1552 | "Mast Not Vertical": 7, 1553 | "Motors Stuck": 6, 1554 | "Obstructed": 2, 1555 | "Roaming": 10, 1556 | "Slow Speed": 8, 1557 | "Software Version": 9, 1558 | "State": 1, 1559 | "Temp Shutdown": 5, 1560 | "Temp Throttled": 4, 1561 | "Time (last)": 0, 1562 | "Unexpected Location": 11 1563 | }, 1564 | "renameByName": { 1565 | "State": "", 1566 | "Time (last)": "Time" 1567 | } 1568 | } 1569 | } 1570 | ], 1571 | "type": "table" 1572 | } 1573 | ], 1574 | "refresh": "30s", 1575 | "schemaVersion": 37, 1576 | "style": "dark", 1577 | "tags": [], 1578 | "templating": { 1579 | "list": [ 1580 | { 1581 | "hide": 2, 1582 | "label": "InfluxDB DataSource", 1583 | "name": "DS_INFLUXDB", 1584 | "query": "starlinkstats", 1585 | "skipUrlSync": false, 1586 | "type": "constant" 1587 | }, 1588 | { 1589 | "hide": 2, 1590 | "label": "Table name for Statistics", 1591 | "name": "TBL_STATS", 1592 | "query": "spacex.starlink.user_terminal.status", 1593 | "skipUrlSync": false, 1594 | "type": "constant" 1595 | } 1596 | ] 1597 | }, 1598 | "time": { 1599 | "from": "now/d", 1600 | "to": "now" 1601 | }, 1602 | "timepicker": { 1603 | "refresh_intervals": [ 1604 | "5s", 1605 | "10s", 1606 | "30s", 1607 | "1m", 1608 | "5m", 1609 | "15m", 1610 | "30m", 1611 | "1h", 1612 | "2h", 1613 | "1d" 1614 | ] 1615 | }, 1616 | "timezone": "browser", 1617 | "title": "Statistics", 1618 | "uid": "ymkHwLaMz", 1619 | "version": 44, 1620 | "weekStart": "sunday" 1621 | } 1622 | -------------------------------------------------------------------------------- /grafana-provisioning/dashboards/network/netstats.json: -------------------------------------------------------------------------------- 1 | { 2 | "annotations": { 3 | "list": [ 4 | { 5 | "builtIn": 1, 6 | "datasource": { 7 | "type": "datasource", 8 | "uid": "grafana" 9 | }, 10 | "enable": true, 11 | "hide": true, 12 | "iconColor": "rgba(0, 211, 255, 1)", 13 | "name": "Annotations & Alerts", 14 | "target": { 15 | "limit": 100, 16 | "matchAny": false, 17 | "tags": [], 18 | "type": "dashboard" 19 | }, 20 | "type": "dashboard" 21 | } 22 | ] 23 | }, 24 | "description": "Network Statistics", 25 | "editable": true, 26 | "fiscalYearStartMonth": 0, 27 | "gnetId": 13140, 28 | "graphTooltip": 0, 29 | "id": 6, 30 | "iteration": 1656010158469, 31 | "links": [], 32 | "liveNow": false, 33 | "panels": [ 34 | { 35 | "collapsed": false, 36 | "datasource": { 37 | "type": "influxdb", 38 | "uid": "grafana" 39 | }, 40 | "gridPos": { 41 | "h": 1, 42 | "w": 24, 43 | "x": 0, 44 | "y": 0 45 | }, 46 | "id": 109, 47 | "panels": [], 48 | "title": "Speedtest", 49 | "type": "row" 50 | }, 51 | { 52 | "datasource": { 53 | "type": "influxdb", 54 | "uid": "netstats" 55 | }, 56 | "fieldConfig": { 57 | "defaults": { 58 | "mappings": [], 59 | "max": 300, 60 | "min": 0, 61 | "thresholds": { 62 | "mode": "absolute", 63 | "steps": [ 64 | { 65 | "color": "dark-red", 66 | "value": null 67 | }, 68 | { 69 | "color": "super-light-green", 70 | "value": 0 71 | }, 72 | { 73 | "color": "light-green", 74 | "value": 50 75 | }, 76 | { 77 | "color": "semi-dark-green", 78 | "value": 100 79 | }, 80 | { 81 | "color": "semi-dark-green", 82 | "value": 150 83 | }, 84 | { 85 | "color": "light-orange", 86 | "value": 150 87 | }, 88 | { 89 | "color": "super-light-orange", 90 | "value": 200 91 | }, 92 | { 93 | "color": "semi-dark-orange", 94 | "value": 250 95 | }, 96 | { 97 | "color": "dark-red", 98 | "value": 300 99 | } 100 | ] 101 | }, 102 | "unit": "ms" 103 | }, 104 | "overrides": [] 105 | }, 106 | "gridPos": { 107 | "h": 6, 108 | "w": 6, 109 | "x": 0, 110 | "y": 1 111 | }, 112 | "id": 26, 113 | "options": { 114 | "orientation": "auto", 115 | "reduceOptions": { 116 | "calcs": [ 117 | "lastNotNull" 118 | ], 119 | "fields": "", 120 | "values": false 121 | }, 122 | "showThresholdLabels": true, 123 | "showThresholdMarkers": true, 124 | "text": {} 125 | }, 126 | "pluginVersion": "9.0.1", 127 | "targets": [ 128 | { 129 | "groupBy": [ 130 | { 131 | "params": [ 132 | "5m" 133 | ], 134 | "type": "time" 135 | }, 136 | { 137 | "params": [ 138 | "previous" 139 | ], 140 | "type": "fill" 141 | } 142 | ], 143 | "measurement": "speedtest", 144 | "orderByTime": "ASC", 145 | "policy": "default", 146 | "refId": "A", 147 | "resultFormat": "time_series", 148 | "select": [ 149 | [ 150 | { 151 | "params": [ 152 | "ping_latency" 153 | ], 154 | "type": "field" 155 | }, 156 | { 157 | "params": [], 158 | "type": "last" 159 | } 160 | ] 161 | ], 162 | "tags": [] 163 | } 164 | ], 165 | "title": "Ping", 166 | "type": "gauge" 167 | }, 168 | { 169 | "datasource": { 170 | "type": "influxdb", 171 | "uid": "netstats" 172 | }, 173 | "description": "", 174 | "fieldConfig": { 175 | "defaults": { 176 | "color": { 177 | "mode": "thresholds" 178 | }, 179 | "mappings": [], 180 | "thresholds": { 181 | "mode": "absolute", 182 | "steps": [ 183 | { 184 | "color": "dark-red", 185 | "value": null 186 | }, 187 | { 188 | "color": "semi-dark-red", 189 | "value": 10 190 | }, 191 | { 192 | "color": "super-light-green", 193 | "value": 25 194 | }, 195 | { 196 | "color": "light-green", 197 | "value": 50 198 | }, 199 | { 200 | "color": "semi-dark-green", 201 | "value": 100 202 | }, 203 | { 204 | "color": "dark-green", 205 | "value": 200 206 | } 207 | ] 208 | }, 209 | "unit": "MBs" 210 | }, 211 | "overrides": [] 212 | }, 213 | "gridPos": { 214 | "h": 6, 215 | "w": 5, 216 | "x": 6, 217 | "y": 1 218 | }, 219 | "id": 20, 220 | "options": { 221 | "colorMode": "background", 222 | "graphMode": "area", 223 | "justifyMode": "center", 224 | "orientation": "auto", 225 | "reduceOptions": { 226 | "calcs": [ 227 | "lastNotNull" 228 | ], 229 | "fields": "", 230 | "values": false 231 | }, 232 | "text": {}, 233 | "textMode": "auto" 234 | }, 235 | "pluginVersion": "9.0.1", 236 | "targets": [ 237 | { 238 | "groupBy": [], 239 | "measurement": "speedtest", 240 | "orderByTime": "ASC", 241 | "policy": "default", 242 | "refId": "A", 243 | "resultFormat": "time_series", 244 | "select": [ 245 | [ 246 | { 247 | "params": [ 248 | "download_bandwidth" 249 | ], 250 | "type": "field" 251 | }, 252 | { 253 | "params": [ 254 | " / 125000" 255 | ], 256 | "type": "math" 257 | } 258 | ] 259 | ], 260 | "tags": [] 261 | } 262 | ], 263 | "title": "Download Speed", 264 | "type": "stat" 265 | }, 266 | { 267 | "datasource": { 268 | "type": "influxdb", 269 | "uid": "netstats" 270 | }, 271 | "description": "", 272 | "fieldConfig": { 273 | "defaults": { 274 | "color": { 275 | "mode": "palette-classic" 276 | }, 277 | "custom": { 278 | "axisLabel": "", 279 | "axisPlacement": "auto", 280 | "barAlignment": 0, 281 | "drawStyle": "bars", 282 | "fillOpacity": 100, 283 | "gradientMode": "opacity", 284 | "hideFrom": { 285 | "legend": false, 286 | "tooltip": false, 287 | "viz": false 288 | }, 289 | "lineInterpolation": "linear", 290 | "lineWidth": 1, 291 | "pointSize": 5, 292 | "scaleDistribution": { 293 | "type": "linear" 294 | }, 295 | "showPoints": "never", 296 | "spanNulls": true, 297 | "stacking": { 298 | "group": "A", 299 | "mode": "normal" 300 | }, 301 | "thresholdsStyle": { 302 | "mode": "off" 303 | } 304 | }, 305 | "decimals": 2, 306 | "mappings": [], 307 | "thresholds": { 308 | "mode": "absolute", 309 | "steps": [ 310 | { 311 | "color": "green", 312 | "value": null 313 | }, 314 | { 315 | "color": "red", 316 | "value": 80 317 | } 318 | ] 319 | }, 320 | "unit": "MBs" 321 | }, 322 | "overrides": [] 323 | }, 324 | "gridPos": { 325 | "h": 6, 326 | "w": 13, 327 | "x": 11, 328 | "y": 1 329 | }, 330 | "id": 24, 331 | "options": { 332 | "legend": { 333 | "calcs": [], 334 | "displayMode": "hidden", 335 | "placement": "right" 336 | }, 337 | "tooltip": { 338 | "mode": "multi", 339 | "sort": "none" 340 | } 341 | }, 342 | "pluginVersion": "8.5.3", 343 | "targets": [ 344 | { 345 | "alias": "Download", 346 | "groupBy": [], 347 | "measurement": "speedtest", 348 | "orderByTime": "ASC", 349 | "policy": "default", 350 | "refId": "A", 351 | "resultFormat": "time_series", 352 | "select": [ 353 | [ 354 | { 355 | "params": [ 356 | "download_bandwidth" 357 | ], 358 | "type": "field" 359 | }, 360 | { 361 | "params": [ 362 | " / 125000" 363 | ], 364 | "type": "math" 365 | } 366 | ] 367 | ], 368 | "tags": [] 369 | }, 370 | { 371 | "alias": "Upload", 372 | "groupBy": [], 373 | "measurement": "speedtest", 374 | "orderByTime": "ASC", 375 | "policy": "default", 376 | "refId": "B", 377 | "resultFormat": "time_series", 378 | "select": [ 379 | [ 380 | { 381 | "params": [ 382 | "upload_bandwidth" 383 | ], 384 | "type": "field" 385 | }, 386 | { 387 | "params": [ 388 | " / 125000" 389 | ], 390 | "type": "math" 391 | } 392 | ] 393 | ], 394 | "tags": [] 395 | } 396 | ], 397 | "title": "Transmit/Receive", 398 | "type": "timeseries" 399 | }, 400 | { 401 | "datasource": { 402 | "type": "influxdb", 403 | "uid": "netstats" 404 | }, 405 | "description": "Average response time for External Ping in ms.", 406 | "fieldConfig": { 407 | "defaults": { 408 | "mappings": [], 409 | "max": 1000, 410 | "min": 0, 411 | "thresholds": { 412 | "mode": "percentage", 413 | "steps": [ 414 | { 415 | "color": "super-light-green", 416 | "value": null 417 | }, 418 | { 419 | "color": "light-green", 420 | "value": 10 421 | }, 422 | { 423 | "color": "semi-dark-green", 424 | "value": 20 425 | }, 426 | { 427 | "color": "dark-green", 428 | "value": 30 429 | }, 430 | { 431 | "color": "super-light-orange", 432 | "value": 40 433 | }, 434 | { 435 | "color": "light-orange", 436 | "value": 50 437 | }, 438 | { 439 | "color": "semi-dark-orange", 440 | "value": 60 441 | }, 442 | { 443 | "color": "dark-orange", 444 | "value": 70 445 | }, 446 | { 447 | "color": "super-light-red", 448 | "value": 80 449 | }, 450 | { 451 | "color": "light-red", 452 | "value": 90 453 | }, 454 | { 455 | "color": "dark-red", 456 | "value": 100 457 | } 458 | ] 459 | }, 460 | "unit": "ms" 461 | }, 462 | "overrides": [] 463 | }, 464 | "gridPos": { 465 | "h": 5, 466 | "w": 6, 467 | "x": 0, 468 | "y": 7 469 | }, 470 | "id": 4, 471 | "options": { 472 | "orientation": "auto", 473 | "reduceOptions": { 474 | "calcs": [ 475 | "mean" 476 | ], 477 | "fields": "/^ping\\.average_response_ms$/", 478 | "values": false 479 | }, 480 | "showThresholdLabels": true, 481 | "showThresholdMarkers": true, 482 | "text": {} 483 | }, 484 | "pluginVersion": "9.0.1", 485 | "targets": [ 486 | { 487 | "groupBy": [], 488 | "hide": false, 489 | "limit": "", 490 | "measurement": "ping", 491 | "orderByTime": "ASC", 492 | "policy": "default", 493 | "query": "SELECT \"average_response_ms\" FROM \"ping\" ", 494 | "rawQuery": false, 495 | "refId": "A", 496 | "resultFormat": "time_series", 497 | "select": [ 498 | [ 499 | { 500 | "params": [ 501 | "average_response_ms" 502 | ], 503 | "type": "field" 504 | } 505 | ] 506 | ], 507 | "tags": [ 508 | { 509 | "key": "url", 510 | "operator": "=~", 511 | "value": "/^$PingURL$/" 512 | } 513 | ] 514 | } 515 | ], 516 | "title": "Ping AVG response time", 517 | "type": "gauge" 518 | }, 519 | { 520 | "datasource": { 521 | "type": "influxdb", 522 | "uid": "netstats" 523 | }, 524 | "description": "", 525 | "fieldConfig": { 526 | "defaults": { 527 | "decimals": 2, 528 | "mappings": [], 529 | "thresholds": { 530 | "mode": "absolute", 531 | "steps": [ 532 | { 533 | "color": "dark-red", 534 | "value": null 535 | }, 536 | { 537 | "color": "yellow", 538 | "value": 5 539 | }, 540 | { 541 | "color": "super-light-green", 542 | "value": 10 543 | }, 544 | { 545 | "color": "light-green", 546 | "value": 15 547 | }, 548 | { 549 | "color": "semi-dark-green", 550 | "value": 20 551 | }, 552 | { 553 | "color": "dark-green", 554 | "value": 25 555 | } 556 | ] 557 | }, 558 | "unit": "MBs" 559 | }, 560 | "overrides": [] 561 | }, 562 | "gridPos": { 563 | "h": 5, 564 | "w": 5, 565 | "x": 6, 566 | "y": 7 567 | }, 568 | "id": 22, 569 | "options": { 570 | "colorMode": "background", 571 | "graphMode": "area", 572 | "justifyMode": "center", 573 | "orientation": "auto", 574 | "reduceOptions": { 575 | "calcs": [ 576 | "lastNotNull" 577 | ], 578 | "fields": "", 579 | "values": false 580 | }, 581 | "text": {}, 582 | "textMode": "auto" 583 | }, 584 | "pluginVersion": "9.0.1", 585 | "targets": [ 586 | { 587 | "groupBy": [], 588 | "measurement": "speedtest", 589 | "orderByTime": "ASC", 590 | "policy": "default", 591 | "refId": "A", 592 | "resultFormat": "time_series", 593 | "select": [ 594 | [ 595 | { 596 | "params": [ 597 | "upload_bandwidth" 598 | ], 599 | "type": "field" 600 | }, 601 | { 602 | "params": [ 603 | " / 125000" 604 | ], 605 | "type": "math" 606 | } 607 | ] 608 | ], 609 | "tags": [] 610 | } 611 | ], 612 | "title": "Upload Speed", 613 | "type": "stat" 614 | }, 615 | { 616 | "datasource": { 617 | "type": "influxdb", 618 | "uid": "netstats" 619 | }, 620 | "description": "", 621 | "fieldConfig": { 622 | "defaults": { 623 | "color": { 624 | "mode": "palette-classic" 625 | }, 626 | "custom": { 627 | "axisLabel": "", 628 | "axisPlacement": "auto", 629 | "barAlignment": 0, 630 | "drawStyle": "bars", 631 | "fillOpacity": 100, 632 | "gradientMode": "opacity", 633 | "hideFrom": { 634 | "legend": false, 635 | "tooltip": false, 636 | "viz": false 637 | }, 638 | "lineInterpolation": "linear", 639 | "lineWidth": 1, 640 | "pointSize": 5, 641 | "scaleDistribution": { 642 | "type": "linear" 643 | }, 644 | "showPoints": "never", 645 | "spanNulls": true, 646 | "stacking": { 647 | "group": "A", 648 | "mode": "normal" 649 | }, 650 | "thresholdsStyle": { 651 | "mode": "off" 652 | } 653 | }, 654 | "decimals": 2, 655 | "mappings": [], 656 | "thresholds": { 657 | "mode": "absolute", 658 | "steps": [ 659 | { 660 | "color": "green", 661 | "value": null 662 | }, 663 | { 664 | "color": "red", 665 | "value": 80 666 | } 667 | ] 668 | }, 669 | "unit": "decmbytes" 670 | }, 671 | "overrides": [] 672 | }, 673 | "gridPos": { 674 | "h": 5, 675 | "w": 13, 676 | "x": 11, 677 | "y": 7 678 | }, 679 | "id": 139, 680 | "options": { 681 | "legend": { 682 | "calcs": [], 683 | "displayMode": "hidden", 684 | "placement": "right" 685 | }, 686 | "tooltip": { 687 | "mode": "multi", 688 | "sort": "none" 689 | } 690 | }, 691 | "pluginVersion": "8.5.3", 692 | "targets": [ 693 | { 694 | "alias": "Download", 695 | "groupBy": [], 696 | "measurement": "speedtest", 697 | "orderByTime": "ASC", 698 | "policy": "default", 699 | "refId": "A", 700 | "resultFormat": "time_series", 701 | "select": [ 702 | [ 703 | { 704 | "params": [ 705 | "download_bytes" 706 | ], 707 | "type": "field" 708 | }, 709 | { 710 | "params": [ 711 | " / 125000" 712 | ], 713 | "type": "math" 714 | } 715 | ] 716 | ], 717 | "tags": [] 718 | }, 719 | { 720 | "alias": "Upload", 721 | "groupBy": [], 722 | "measurement": "speedtest", 723 | "orderByTime": "ASC", 724 | "policy": "default", 725 | "refId": "B", 726 | "resultFormat": "time_series", 727 | "select": [ 728 | [ 729 | { 730 | "params": [ 731 | "upload_bytes" 732 | ], 733 | "type": "field" 734 | }, 735 | { 736 | "params": [ 737 | " / 125000" 738 | ], 739 | "type": "math" 740 | } 741 | ] 742 | ], 743 | "tags": [] 744 | } 745 | ], 746 | "title": "Download/Upload", 747 | "type": "timeseries" 748 | }, 749 | { 750 | "collapsed": false, 751 | "datasource": { 752 | "type": "influxdb", 753 | "uid": "grafana" 754 | }, 755 | "gridPos": { 756 | "h": 1, 757 | "w": 24, 758 | "x": 0, 759 | "y": 12 760 | }, 761 | "id": 151, 762 | "panels": [], 763 | "title": "DNS/ICMP", 764 | "type": "row" 765 | }, 766 | { 767 | "datasource": { 768 | "type": "influxdb", 769 | "uid": "netstats" 770 | }, 771 | "description": "", 772 | "fieldConfig": { 773 | "defaults": { 774 | "mappings": [], 775 | "max": 500, 776 | "min": 0, 777 | "thresholds": { 778 | "mode": "absolute", 779 | "steps": [ 780 | { 781 | "color": "green", 782 | "value": null 783 | }, 784 | { 785 | "color": "super-light-yellow", 786 | "value": 200 787 | }, 788 | { 789 | "color": "semi-dark-orange", 790 | "value": 300 791 | }, 792 | { 793 | "color": "dark-red", 794 | "value": 400 795 | } 796 | ] 797 | }, 798 | "unit": "ms" 799 | }, 800 | "overrides": [] 801 | }, 802 | "gridPos": { 803 | "h": 5, 804 | "w": 6, 805 | "x": 0, 806 | "y": 13 807 | }, 808 | "id": 6, 809 | "options": { 810 | "displayMode": "gradient", 811 | "minVizHeight": 10, 812 | "minVizWidth": 0, 813 | "orientation": "horizontal", 814 | "reduceOptions": { 815 | "calcs": [ 816 | "last" 817 | ], 818 | "fields": "", 819 | "values": false 820 | }, 821 | "showUnfilled": true, 822 | "text": {} 823 | }, 824 | "pluginVersion": "9.0.1", 825 | "targets": [ 826 | { 827 | "alias": "$tag_domain", 828 | "groupBy": [ 829 | { 830 | "params": [ 831 | "domain" 832 | ], 833 | "type": "tag" 834 | } 835 | ], 836 | "measurement": "dns_query", 837 | "orderByTime": "ASC", 838 | "policy": "default", 839 | "refId": "A", 840 | "resultFormat": "time_series", 841 | "select": [ 842 | [ 843 | { 844 | "params": [ 845 | "query_time_ms" 846 | ], 847 | "type": "field" 848 | } 849 | ] 850 | ], 851 | "tags": [] 852 | } 853 | ], 854 | "title": "DNS AVG Query time", 855 | "type": "bargauge" 856 | }, 857 | { 858 | "datasource": { 859 | "type": "influxdb", 860 | "uid": "netstats" 861 | }, 862 | "description": "", 863 | "fieldConfig": { 864 | "defaults": { 865 | "color": { 866 | "mode": "palette-classic" 867 | }, 868 | "custom": { 869 | "axisLabel": "average (ms)", 870 | "axisPlacement": "auto", 871 | "barAlignment": 0, 872 | "drawStyle": "line", 873 | "fillOpacity": 20, 874 | "gradientMode": "opacity", 875 | "hideFrom": { 876 | "legend": false, 877 | "tooltip": false, 878 | "viz": false 879 | }, 880 | "lineInterpolation": "linear", 881 | "lineWidth": 1, 882 | "pointSize": 5, 883 | "scaleDistribution": { 884 | "type": "linear" 885 | }, 886 | "showPoints": "never", 887 | "spanNulls": true, 888 | "stacking": { 889 | "group": "A", 890 | "mode": "none" 891 | }, 892 | "thresholdsStyle": { 893 | "mode": "off" 894 | } 895 | }, 896 | "mappings": [], 897 | "thresholds": { 898 | "mode": "absolute", 899 | "steps": [ 900 | { 901 | "color": "green", 902 | "value": null 903 | }, 904 | { 905 | "color": "red", 906 | "value": 80 907 | } 908 | ] 909 | }, 910 | "unit": "short" 911 | }, 912 | "overrides": [] 913 | }, 914 | "gridPos": { 915 | "h": 5, 916 | "w": 11, 917 | "x": 6, 918 | "y": 13 919 | }, 920 | "id": 2, 921 | "options": { 922 | "legend": { 923 | "calcs": [], 924 | "displayMode": "list", 925 | "placement": "right" 926 | }, 927 | "tooltip": { 928 | "mode": "multi", 929 | "sort": "none" 930 | } 931 | }, 932 | "pluginVersion": "8.5.3", 933 | "targets": [ 934 | { 935 | "alias": "$tag_url", 936 | "groupBy": [ 937 | { 938 | "params": [ 939 | "url" 940 | ], 941 | "type": "tag" 942 | } 943 | ], 944 | "measurement": "ping", 945 | "orderByTime": "ASC", 946 | "policy": "default", 947 | "refId": "A", 948 | "resultFormat": "time_series", 949 | "select": [ 950 | [ 951 | { 952 | "params": [ 953 | "average_response_ms" 954 | ], 955 | "type": "field" 956 | } 957 | ] 958 | ], 959 | "tags": [ 960 | { 961 | "key": "url", 962 | "operator": "=~", 963 | "value": "/^$PingURL$/" 964 | } 965 | ] 966 | } 967 | ], 968 | "title": "ICMP average response", 969 | "type": "timeseries" 970 | }, 971 | { 972 | "datasource": { 973 | "type": "influxdb", 974 | "uid": "netstats" 975 | }, 976 | "description": "", 977 | "fieldConfig": { 978 | "defaults": { 979 | "color": { 980 | "mode": "palette-classic" 981 | }, 982 | "custom": { 983 | "axisLabel": "Packet lost %", 984 | "axisPlacement": "auto", 985 | "barAlignment": 0, 986 | "drawStyle": "line", 987 | "fillOpacity": 20, 988 | "gradientMode": "opacity", 989 | "hideFrom": { 990 | "legend": false, 991 | "tooltip": false, 992 | "viz": false 993 | }, 994 | "lineInterpolation": "linear", 995 | "lineWidth": 1, 996 | "pointSize": 5, 997 | "scaleDistribution": { 998 | "type": "linear" 999 | }, 1000 | "showPoints": "never", 1001 | "spanNulls": false, 1002 | "stacking": { 1003 | "group": "A", 1004 | "mode": "none" 1005 | }, 1006 | "thresholdsStyle": { 1007 | "mode": "line+area" 1008 | } 1009 | }, 1010 | "mappings": [], 1011 | "max": 100, 1012 | "min": 0, 1013 | "thresholds": { 1014 | "mode": "absolute", 1015 | "steps": [ 1016 | { 1017 | "color": "red", 1018 | "value": null 1019 | }, 1020 | { 1021 | "color": "transparent", 1022 | "value": 2 1023 | }, 1024 | { 1025 | "color": "orange", 1026 | "value": 2 1027 | }, 1028 | { 1029 | "color": "red", 1030 | "value": 25 1031 | } 1032 | ] 1033 | }, 1034 | "unit": "percent" 1035 | }, 1036 | "overrides": [] 1037 | }, 1038 | "gridPos": { 1039 | "h": 5, 1040 | "w": 7, 1041 | "x": 17, 1042 | "y": 13 1043 | }, 1044 | "id": 8, 1045 | "options": { 1046 | "legend": { 1047 | "calcs": [], 1048 | "displayMode": "list", 1049 | "placement": "bottom" 1050 | }, 1051 | "tooltip": { 1052 | "mode": "multi", 1053 | "sort": "none" 1054 | } 1055 | }, 1056 | "pluginVersion": "8.5.3", 1057 | "targets": [ 1058 | { 1059 | "groupBy": [ 1060 | { 1061 | "params": [ 1062 | "5m" 1063 | ], 1064 | "type": "time" 1065 | }, 1066 | { 1067 | "params": [ 1068 | "linear" 1069 | ], 1070 | "type": "fill" 1071 | } 1072 | ], 1073 | "measurement": "ping", 1074 | "orderByTime": "ASC", 1075 | "policy": "default", 1076 | "refId": "A", 1077 | "resultFormat": "time_series", 1078 | "select": [ 1079 | [ 1080 | { 1081 | "params": [ 1082 | "percent_packet_loss" 1083 | ], 1084 | "type": "field" 1085 | }, 1086 | { 1087 | "params": [ 1088 | 95 1089 | ], 1090 | "type": "percentile" 1091 | } 1092 | ] 1093 | ], 1094 | "tags": [] 1095 | } 1096 | ], 1097 | "title": "ICMP Packet loss (%)", 1098 | "type": "timeseries" 1099 | }, 1100 | { 1101 | "datasource": { 1102 | "type": "influxdb", 1103 | "uid": "netstats" 1104 | }, 1105 | "fieldConfig": { 1106 | "defaults": { 1107 | "color": { 1108 | "mode": "palette-classic" 1109 | }, 1110 | "custom": { 1111 | "axisLabel": "", 1112 | "axisPlacement": "auto", 1113 | "barAlignment": 0, 1114 | "drawStyle": "bars", 1115 | "fillOpacity": 100, 1116 | "gradientMode": "none", 1117 | "hideFrom": { 1118 | "legend": false, 1119 | "tooltip": false, 1120 | "viz": false 1121 | }, 1122 | "lineInterpolation": "linear", 1123 | "lineWidth": 1, 1124 | "pointSize": 5, 1125 | "scaleDistribution": { 1126 | "type": "linear" 1127 | }, 1128 | "showPoints": "never", 1129 | "spanNulls": true, 1130 | "stacking": { 1131 | "group": "A", 1132 | "mode": "none" 1133 | }, 1134 | "thresholdsStyle": { 1135 | "mode": "off" 1136 | } 1137 | }, 1138 | "mappings": [], 1139 | "min": 0, 1140 | "thresholds": { 1141 | "mode": "absolute", 1142 | "steps": [ 1143 | { 1144 | "color": "green", 1145 | "value": null 1146 | }, 1147 | { 1148 | "color": "red", 1149 | "value": 80 1150 | } 1151 | ] 1152 | }, 1153 | "unit": "short" 1154 | }, 1155 | "overrides": [] 1156 | }, 1157 | "gridPos": { 1158 | "h": 5, 1159 | "w": 13, 1160 | "x": 0, 1161 | "y": 18 1162 | }, 1163 | "id": 99, 1164 | "options": { 1165 | "legend": { 1166 | "calcs": [], 1167 | "displayMode": "table", 1168 | "placement": "right" 1169 | }, 1170 | "tooltip": { 1171 | "mode": "multi", 1172 | "sort": "none" 1173 | } 1174 | }, 1175 | "pluginVersion": "8.5.3", 1176 | "targets": [ 1177 | { 1178 | "alias": "ICMP Out redirects", 1179 | "groupBy": [], 1180 | "measurement": "net", 1181 | "orderByTime": "ASC", 1182 | "policy": "default", 1183 | "refId": "A", 1184 | "resultFormat": "time_series", 1185 | "select": [ 1186 | [ 1187 | { 1188 | "params": [ 1189 | "icmp_outredirects" 1190 | ], 1191 | "type": "field" 1192 | } 1193 | ] 1194 | ], 1195 | "tags": [] 1196 | }, 1197 | { 1198 | "alias": "ICMP In Redirects", 1199 | "groupBy": [], 1200 | "measurement": "net", 1201 | "orderByTime": "ASC", 1202 | "policy": "default", 1203 | "refId": "B", 1204 | "resultFormat": "time_series", 1205 | "select": [ 1206 | [ 1207 | { 1208 | "params": [ 1209 | "icmp_inredirects" 1210 | ], 1211 | "type": "field" 1212 | } 1213 | ] 1214 | ], 1215 | "tags": [] 1216 | }, 1217 | { 1218 | "alias": "ICMP Out Time exceeded", 1219 | "groupBy": [], 1220 | "measurement": "net", 1221 | "orderByTime": "ASC", 1222 | "policy": "default", 1223 | "refId": "C", 1224 | "resultFormat": "time_series", 1225 | "select": [ 1226 | [ 1227 | { 1228 | "params": [ 1229 | "icmp_outtimeexcds" 1230 | ], 1231 | "type": "field" 1232 | } 1233 | ] 1234 | ], 1235 | "tags": [] 1236 | }, 1237 | { 1238 | "alias": "ICMP In Time exceeded", 1239 | "groupBy": [], 1240 | "measurement": "net", 1241 | "orderByTime": "ASC", 1242 | "policy": "default", 1243 | "refId": "D", 1244 | "resultFormat": "time_series", 1245 | "select": [ 1246 | [ 1247 | { 1248 | "params": [ 1249 | "icmp_intimeexcds" 1250 | ], 1251 | "type": "field" 1252 | } 1253 | ] 1254 | ], 1255 | "tags": [] 1256 | } 1257 | ], 1258 | "title": "ICMP Analysis", 1259 | "type": "timeseries" 1260 | }, 1261 | { 1262 | "datasource": { 1263 | "type": "influxdb", 1264 | "uid": "netstats" 1265 | }, 1266 | "fieldConfig": { 1267 | "defaults": { 1268 | "color": { 1269 | "mode": "palette-classic" 1270 | }, 1271 | "custom": { 1272 | "axisLabel": "", 1273 | "axisPlacement": "auto", 1274 | "barAlignment": 0, 1275 | "drawStyle": "line", 1276 | "fillOpacity": 10, 1277 | "gradientMode": "none", 1278 | "hideFrom": { 1279 | "legend": false, 1280 | "tooltip": false, 1281 | "viz": false 1282 | }, 1283 | "lineInterpolation": "linear", 1284 | "lineWidth": 1, 1285 | "pointSize": 5, 1286 | "scaleDistribution": { 1287 | "type": "linear" 1288 | }, 1289 | "showPoints": "never", 1290 | "spanNulls": true, 1291 | "stacking": { 1292 | "group": "A", 1293 | "mode": "none" 1294 | }, 1295 | "thresholdsStyle": { 1296 | "mode": "off" 1297 | } 1298 | }, 1299 | "mappings": [], 1300 | "thresholds": { 1301 | "mode": "absolute", 1302 | "steps": [ 1303 | { 1304 | "color": "green", 1305 | "value": null 1306 | }, 1307 | { 1308 | "color": "red", 1309 | "value": 80 1310 | } 1311 | ] 1312 | }, 1313 | "unit": "short" 1314 | }, 1315 | "overrides": [] 1316 | }, 1317 | "gridPos": { 1318 | "h": 5, 1319 | "w": 11, 1320 | "x": 13, 1321 | "y": 18 1322 | }, 1323 | "id": 87, 1324 | "options": { 1325 | "legend": { 1326 | "calcs": [], 1327 | "displayMode": "list", 1328 | "placement": "bottom" 1329 | }, 1330 | "tooltip": { 1331 | "mode": "multi", 1332 | "sort": "none" 1333 | } 1334 | }, 1335 | "pluginVersion": "8.5.3", 1336 | "targets": [ 1337 | { 1338 | "alias": "HTTP", 1339 | "groupBy": [ 1340 | { 1341 | "params": [ 1342 | "$__interval" 1343 | ], 1344 | "type": "time" 1345 | }, 1346 | { 1347 | "params": [ 1348 | "linear" 1349 | ], 1350 | "type": "fill" 1351 | } 1352 | ], 1353 | "measurement": "http_response", 1354 | "orderByTime": "ASC", 1355 | "policy": "default", 1356 | "refId": "A", 1357 | "resultFormat": "time_series", 1358 | "select": [ 1359 | [ 1360 | { 1361 | "params": [ 1362 | "response_time" 1363 | ], 1364 | "type": "field" 1365 | }, 1366 | { 1367 | "params": [], 1368 | "type": "stddev" 1369 | } 1370 | ] 1371 | ], 1372 | "tags": [] 1373 | }, 1374 | { 1375 | "alias": "ICMP", 1376 | "groupBy": [ 1377 | { 1378 | "params": [ 1379 | "$__interval" 1380 | ], 1381 | "type": "time" 1382 | }, 1383 | { 1384 | "params": [ 1385 | "null" 1386 | ], 1387 | "type": "fill" 1388 | } 1389 | ], 1390 | "measurement": "ping", 1391 | "orderByTime": "ASC", 1392 | "policy": "default", 1393 | "refId": "B", 1394 | "resultFormat": "time_series", 1395 | "select": [ 1396 | [ 1397 | { 1398 | "params": [ 1399 | "standard_deviation_ms" 1400 | ], 1401 | "type": "field" 1402 | }, 1403 | { 1404 | "params": [], 1405 | "type": "last" 1406 | } 1407 | ] 1408 | ], 1409 | "tags": [] 1410 | } 1411 | ], 1412 | "title": "Jitter (ICMP/HTTP)", 1413 | "type": "timeseries" 1414 | }, 1415 | { 1416 | "collapsed": false, 1417 | "datasource": { 1418 | "type": "influxdb", 1419 | "uid": "netstats" 1420 | }, 1421 | "gridPos": { 1422 | "h": 1, 1423 | "w": 24, 1424 | "x": 0, 1425 | "y": 23 1426 | }, 1427 | "id": 34, 1428 | "panels": [], 1429 | "title": "Internet Connectivity Metrics", 1430 | "type": "row" 1431 | }, 1432 | { 1433 | "datasource": { 1434 | "type": "influxdb", 1435 | "uid": "netstats" 1436 | }, 1437 | "fieldConfig": { 1438 | "defaults": { 1439 | "decimals": 2, 1440 | "mappings": [], 1441 | "min": 0, 1442 | "noValue": "N/A", 1443 | "thresholds": { 1444 | "mode": "absolute", 1445 | "steps": [ 1446 | { 1447 | "color": "super-light-green" 1448 | }, 1449 | { 1450 | "color": "semi-dark-green", 1451 | "value": 150 1452 | }, 1453 | { 1454 | "color": "dark-green", 1455 | "value": 200 1456 | }, 1457 | { 1458 | "color": "#EAB839", 1459 | "value": 250 1460 | }, 1461 | { 1462 | "color": "semi-dark-orange", 1463 | "value": 300 1464 | }, 1465 | { 1466 | "color": "dark-red", 1467 | "value": 350 1468 | } 1469 | ] 1470 | }, 1471 | "unit": "ms" 1472 | }, 1473 | "overrides": [] 1474 | }, 1475 | "gridPos": { 1476 | "h": 4, 1477 | "w": 4, 1478 | "x": 0, 1479 | "y": 24 1480 | }, 1481 | "id": 42, 1482 | "maxPerRow": 6, 1483 | "options": { 1484 | "orientation": "horizontal", 1485 | "reduceOptions": { 1486 | "calcs": [ 1487 | "mean" 1488 | ], 1489 | "fields": "", 1490 | "values": false 1491 | }, 1492 | "showThresholdLabels": false, 1493 | "showThresholdMarkers": true, 1494 | "text": {} 1495 | }, 1496 | "pluginVersion": "8.5.3", 1497 | "repeat": "PingURL", 1498 | "repeatDirection": "h", 1499 | "targets": [ 1500 | { 1501 | "groupBy": [ 1502 | { 1503 | "params": [ 1504 | "$__interval" 1505 | ], 1506 | "type": "time" 1507 | }, 1508 | { 1509 | "params": [ 1510 | "null" 1511 | ], 1512 | "type": "fill" 1513 | } 1514 | ], 1515 | "hide": false, 1516 | "orderByTime": "ASC", 1517 | "policy": "default", 1518 | "query": "SELECT mean(\"average_response_ms\") FROM \"ping\" WHERE (\"url\" =~ /^$PingURL$/) AND $timeFilter GROUP BY time($__interval) fill(null)", 1519 | "rawQuery": true, 1520 | "refId": "A", 1521 | "resultFormat": "time_series", 1522 | "select": [ 1523 | [ 1524 | { 1525 | "params": [ 1526 | "value" 1527 | ], 1528 | "type": "field" 1529 | }, 1530 | { 1531 | "params": [], 1532 | "type": "mean" 1533 | } 1534 | ] 1535 | ], 1536 | "tags": [] 1537 | } 1538 | ], 1539 | "title": "$PingURL Ping", 1540 | "type": "gauge" 1541 | }, 1542 | { 1543 | "datasource": { 1544 | "type": "influxdb", 1545 | "uid": "netstats" 1546 | }, 1547 | "fieldConfig": { 1548 | "defaults": { 1549 | "color": { 1550 | "mode": "thresholds" 1551 | }, 1552 | "decimals": 3, 1553 | "mappings": [], 1554 | "min": 0, 1555 | "noValue": "N/A", 1556 | "thresholds": { 1557 | "mode": "absolute", 1558 | "steps": [ 1559 | { 1560 | "color": "rgb(238, 238, 238)" 1561 | } 1562 | ] 1563 | }, 1564 | "unit": "decbytes" 1565 | }, 1566 | "overrides": [] 1567 | }, 1568 | "gridPos": { 1569 | "h": 4, 1570 | "w": 4, 1571 | "x": 0, 1572 | "y": 28 1573 | }, 1574 | "id": 130, 1575 | "maxDataPoints": 100, 1576 | "options": { 1577 | "colorMode": "value", 1578 | "graphMode": "none", 1579 | "justifyMode": "center", 1580 | "orientation": "horizontal", 1581 | "reduceOptions": { 1582 | "calcs": [ 1583 | "last" 1584 | ], 1585 | "fields": "", 1586 | "values": false 1587 | }, 1588 | "text": {}, 1589 | "textMode": "value" 1590 | }, 1591 | "pluginVersion": "8.5.3", 1592 | "targets": [ 1593 | { 1594 | "groupBy": [], 1595 | "measurement": "net", 1596 | "orderByTime": "ASC", 1597 | "policy": "default", 1598 | "refId": "B", 1599 | "resultFormat": "time_series", 1600 | "select": [ 1601 | [ 1602 | { 1603 | "params": [ 1604 | "bytes_recv" 1605 | ], 1606 | "type": "field" 1607 | } 1608 | ] 1609 | ], 1610 | "tags": [] 1611 | } 1612 | ], 1613 | "title": "Host Download", 1614 | "type": "stat" 1615 | }, 1616 | { 1617 | "datasource": { 1618 | "type": "influxdb", 1619 | "uid": "netstats" 1620 | }, 1621 | "description": "HTTP GET request response time (ms)", 1622 | "fieldConfig": { 1623 | "defaults": { 1624 | "color": { 1625 | "mode": "palette-classic" 1626 | }, 1627 | "custom": { 1628 | "axisLabel": "", 1629 | "axisPlacement": "auto", 1630 | "barAlignment": 0, 1631 | "drawStyle": "line", 1632 | "fillOpacity": 0, 1633 | "gradientMode": "none", 1634 | "hideFrom": { 1635 | "legend": false, 1636 | "tooltip": false, 1637 | "viz": false 1638 | }, 1639 | "lineInterpolation": "linear", 1640 | "lineWidth": 1, 1641 | "pointSize": 5, 1642 | "scaleDistribution": { 1643 | "type": "linear" 1644 | }, 1645 | "showPoints": "never", 1646 | "spanNulls": true, 1647 | "stacking": { 1648 | "group": "A", 1649 | "mode": "none" 1650 | }, 1651 | "thresholdsStyle": { 1652 | "mode": "line+area" 1653 | } 1654 | }, 1655 | "mappings": [], 1656 | "thresholds": { 1657 | "mode": "absolute", 1658 | "steps": [ 1659 | { 1660 | "color": "red" 1661 | }, 1662 | { 1663 | "color": "transparent", 1664 | "value": 2 1665 | }, 1666 | { 1667 | "color": "orange", 1668 | "value": 5 1669 | }, 1670 | { 1671 | "color": "red", 1672 | "value": 10 1673 | } 1674 | ] 1675 | }, 1676 | "unit": "short" 1677 | }, 1678 | "overrides": [] 1679 | }, 1680 | "gridPos": { 1681 | "h": 8, 1682 | "w": 11, 1683 | "x": 4, 1684 | "y": 28 1685 | }, 1686 | "id": 12, 1687 | "options": { 1688 | "legend": { 1689 | "calcs": [ 1690 | "lastNotNull" 1691 | ], 1692 | "displayMode": "table", 1693 | "placement": "right" 1694 | }, 1695 | "tooltip": { 1696 | "mode": "multi", 1697 | "sort": "none" 1698 | } 1699 | }, 1700 | "pluginVersion": "8.5.3", 1701 | "targets": [ 1702 | { 1703 | "alias": "$tag_server", 1704 | "groupBy": [ 1705 | { 1706 | "params": [ 1707 | "server" 1708 | ], 1709 | "type": "tag" 1710 | } 1711 | ], 1712 | "measurement": "http_response", 1713 | "orderByTime": "ASC", 1714 | "policy": "default", 1715 | "refId": "A", 1716 | "resultFormat": "time_series", 1717 | "select": [ 1718 | [ 1719 | { 1720 | "params": [ 1721 | "response_time" 1722 | ], 1723 | "type": "field" 1724 | } 1725 | ] 1726 | ], 1727 | "tags": [ 1728 | { 1729 | "key": "method", 1730 | "operator": "=", 1731 | "value": "GET" 1732 | } 1733 | ] 1734 | } 1735 | ], 1736 | "title": "HTTP GET response time (ms)", 1737 | "transparent": true, 1738 | "type": "timeseries" 1739 | }, 1740 | { 1741 | "datasource": { 1742 | "type": "influxdb", 1743 | "uid": "netstats" 1744 | }, 1745 | "fieldConfig": { 1746 | "defaults": { 1747 | "color": { 1748 | "mode": "palette-classic" 1749 | }, 1750 | "custom": { 1751 | "axisLabel": "", 1752 | "axisPlacement": "auto", 1753 | "barAlignment": 1, 1754 | "drawStyle": "line", 1755 | "fillOpacity": 30, 1756 | "gradientMode": "hue", 1757 | "hideFrom": { 1758 | "legend": false, 1759 | "tooltip": false, 1760 | "viz": false 1761 | }, 1762 | "lineInterpolation": "linear", 1763 | "lineStyle": { 1764 | "fill": "solid" 1765 | }, 1766 | "lineWidth": 1, 1767 | "pointSize": 5, 1768 | "scaleDistribution": { 1769 | "type": "linear" 1770 | }, 1771 | "showPoints": "always", 1772 | "spanNulls": false, 1773 | "stacking": { 1774 | "group": "A", 1775 | "mode": "none" 1776 | }, 1777 | "thresholdsStyle": { 1778 | "mode": "line+area" 1779 | } 1780 | }, 1781 | "mappings": [], 1782 | "thresholds": { 1783 | "mode": "absolute", 1784 | "steps": [ 1785 | { 1786 | "color": "transparent" 1787 | } 1788 | ] 1789 | }, 1790 | "unit": "decbytes" 1791 | }, 1792 | "overrides": [] 1793 | }, 1794 | "gridPos": { 1795 | "h": 8, 1796 | "w": 9, 1797 | "x": 15, 1798 | "y": 28 1799 | }, 1800 | "id": 16, 1801 | "options": { 1802 | "legend": { 1803 | "calcs": [ 1804 | "lastNotNull" 1805 | ], 1806 | "displayMode": "table", 1807 | "placement": "right" 1808 | }, 1809 | "tooltip": { 1810 | "mode": "multi", 1811 | "sort": "none" 1812 | } 1813 | }, 1814 | "pluginVersion": "8.5.3", 1815 | "targets": [ 1816 | { 1817 | "alias": "Transmit", 1818 | "datasource": { 1819 | "type": "influxdb", 1820 | "uid": "netstats" 1821 | }, 1822 | "groupBy": [ 1823 | { 1824 | "params": [ 1825 | "1m" 1826 | ], 1827 | "type": "time" 1828 | } 1829 | ], 1830 | "measurement": "net", 1831 | "orderByTime": "ASC", 1832 | "policy": "default", 1833 | "refId": "A", 1834 | "resultFormat": "time_series", 1835 | "select": [ 1836 | [ 1837 | { 1838 | "params": [ 1839 | "bytes_sent" 1840 | ], 1841 | "type": "field" 1842 | }, 1843 | { 1844 | "params": [], 1845 | "type": "sum" 1846 | } 1847 | ] 1848 | ], 1849 | "tags": [] 1850 | }, 1851 | { 1852 | "alias": "Receive", 1853 | "datasource": { 1854 | "type": "influxdb", 1855 | "uid": "netstats" 1856 | }, 1857 | "groupBy": [ 1858 | { 1859 | "params": [ 1860 | "1m" 1861 | ], 1862 | "type": "time" 1863 | } 1864 | ], 1865 | "measurement": "net", 1866 | "orderByTime": "ASC", 1867 | "policy": "default", 1868 | "refId": "B", 1869 | "resultFormat": "time_series", 1870 | "select": [ 1871 | [ 1872 | { 1873 | "params": [ 1874 | "bytes_recv" 1875 | ], 1876 | "type": "field" 1877 | }, 1878 | { 1879 | "params": [], 1880 | "type": "sum" 1881 | } 1882 | ] 1883 | ], 1884 | "tags": [] 1885 | }, 1886 | { 1887 | "alias": "Drop In", 1888 | "datasource": { 1889 | "type": "influxdb", 1890 | "uid": "netstats" 1891 | }, 1892 | "groupBy": [ 1893 | { 1894 | "params": [ 1895 | "1m" 1896 | ], 1897 | "type": "time" 1898 | } 1899 | ], 1900 | "measurement": "net", 1901 | "orderByTime": "ASC", 1902 | "policy": "default", 1903 | "refId": "C", 1904 | "resultFormat": "time_series", 1905 | "select": [ 1906 | [ 1907 | { 1908 | "params": [ 1909 | "drop_in" 1910 | ], 1911 | "type": "field" 1912 | }, 1913 | { 1914 | "params": [], 1915 | "type": "sum" 1916 | } 1917 | ] 1918 | ], 1919 | "tags": [] 1920 | }, 1921 | { 1922 | "alias": "Drop Out", 1923 | "datasource": { 1924 | "type": "influxdb", 1925 | "uid": "netstats" 1926 | }, 1927 | "groupBy": [ 1928 | { 1929 | "params": [ 1930 | "1m" 1931 | ], 1932 | "type": "time" 1933 | } 1934 | ], 1935 | "measurement": "net", 1936 | "orderByTime": "ASC", 1937 | "policy": "default", 1938 | "refId": "D", 1939 | "resultFormat": "time_series", 1940 | "select": [ 1941 | [ 1942 | { 1943 | "params": [ 1944 | "drop_out" 1945 | ], 1946 | "type": "field" 1947 | }, 1948 | { 1949 | "params": [], 1950 | "type": "sum" 1951 | } 1952 | ] 1953 | ], 1954 | "tags": [] 1955 | }, 1956 | { 1957 | "alias": "Error In", 1958 | "datasource": { 1959 | "type": "influxdb", 1960 | "uid": "netstats" 1961 | }, 1962 | "groupBy": [ 1963 | { 1964 | "params": [ 1965 | "1m" 1966 | ], 1967 | "type": "time" 1968 | } 1969 | ], 1970 | "measurement": "net", 1971 | "orderByTime": "ASC", 1972 | "policy": "default", 1973 | "refId": "E", 1974 | "resultFormat": "time_series", 1975 | "select": [ 1976 | [ 1977 | { 1978 | "params": [ 1979 | "err_in" 1980 | ], 1981 | "type": "field" 1982 | }, 1983 | { 1984 | "params": [], 1985 | "type": "sum" 1986 | } 1987 | ] 1988 | ], 1989 | "tags": [] 1990 | }, 1991 | { 1992 | "alias": "Error Out", 1993 | "datasource": { 1994 | "type": "influxdb", 1995 | "uid": "netstats" 1996 | }, 1997 | "groupBy": [ 1998 | { 1999 | "params": [ 2000 | "1m" 2001 | ], 2002 | "type": "time" 2003 | } 2004 | ], 2005 | "measurement": "net", 2006 | "orderByTime": "ASC", 2007 | "policy": "default", 2008 | "refId": "F", 2009 | "resultFormat": "time_series", 2010 | "select": [ 2011 | [ 2012 | { 2013 | "params": [ 2014 | "err_out" 2015 | ], 2016 | "type": "field" 2017 | }, 2018 | { 2019 | "params": [], 2020 | "type": "sum" 2021 | } 2022 | ] 2023 | ], 2024 | "tags": [] 2025 | } 2026 | ], 2027 | "title": "Interface Tx/Rx", 2028 | "type": "timeseries" 2029 | }, 2030 | { 2031 | "datasource": { 2032 | "type": "influxdb", 2033 | "uid": "netstats" 2034 | }, 2035 | "fieldConfig": { 2036 | "defaults": { 2037 | "color": { 2038 | "mode": "thresholds" 2039 | }, 2040 | "decimals": 3, 2041 | "mappings": [], 2042 | "min": 0, 2043 | "noValue": "N/A", 2044 | "thresholds": { 2045 | "mode": "absolute", 2046 | "steps": [ 2047 | { 2048 | "color": "rgb(238, 238, 238)" 2049 | } 2050 | ] 2051 | }, 2052 | "unit": "decbytes" 2053 | }, 2054 | "overrides": [] 2055 | }, 2056 | "gridPos": { 2057 | "h": 4, 2058 | "w": 4, 2059 | "x": 0, 2060 | "y": 32 2061 | }, 2062 | "id": 65, 2063 | "maxDataPoints": 100, 2064 | "options": { 2065 | "colorMode": "value", 2066 | "graphMode": "none", 2067 | "justifyMode": "center", 2068 | "orientation": "horizontal", 2069 | "reduceOptions": { 2070 | "calcs": [ 2071 | "last" 2072 | ], 2073 | "fields": "", 2074 | "values": false 2075 | }, 2076 | "text": {}, 2077 | "textMode": "value" 2078 | }, 2079 | "pluginVersion": "8.5.3", 2080 | "targets": [ 2081 | { 2082 | "groupBy": [], 2083 | "measurement": "net", 2084 | "orderByTime": "ASC", 2085 | "policy": "default", 2086 | "refId": "B", 2087 | "resultFormat": "time_series", 2088 | "select": [ 2089 | [ 2090 | { 2091 | "params": [ 2092 | "bytes_sent" 2093 | ], 2094 | "type": "field" 2095 | } 2096 | ] 2097 | ], 2098 | "tags": [] 2099 | } 2100 | ], 2101 | "title": "Host Upload", 2102 | "type": "stat" 2103 | }, 2104 | { 2105 | "datasource": { 2106 | "type": "influxdb", 2107 | "uid": "netstats" 2108 | }, 2109 | "fieldConfig": { 2110 | "defaults": { 2111 | "color": { 2112 | "mode": "thresholds" 2113 | }, 2114 | "mappings": [], 2115 | "max": 100, 2116 | "min": 0, 2117 | "thresholds": { 2118 | "mode": "percentage", 2119 | "steps": [ 2120 | { 2121 | "color": "red" 2122 | }, 2123 | { 2124 | "color": "red", 2125 | "value": 30 2126 | }, 2127 | { 2128 | "color": "yellow", 2129 | "value": 60 2130 | }, 2131 | { 2132 | "color": "green", 2133 | "value": 90 2134 | } 2135 | ] 2136 | }, 2137 | "unit": "percent" 2138 | }, 2139 | "overrides": [] 2140 | }, 2141 | "gridPos": { 2142 | "h": 4, 2143 | "w": 4, 2144 | "x": 0, 2145 | "y": 36 2146 | }, 2147 | "id": 36, 2148 | "maxPerRow": 6, 2149 | "options": { 2150 | "colorMode": "value", 2151 | "graphMode": "area", 2152 | "justifyMode": "auto", 2153 | "orientation": "horizontal", 2154 | "reduceOptions": { 2155 | "calcs": [ 2156 | "mean" 2157 | ], 2158 | "fields": "", 2159 | "values": false 2160 | }, 2161 | "text": {}, 2162 | "textMode": "auto" 2163 | }, 2164 | "pluginVersion": "8.5.3", 2165 | "repeat": "PingURL", 2166 | "repeatDirection": "h", 2167 | "targets": [ 2168 | { 2169 | "groupBy": [ 2170 | { 2171 | "params": [ 2172 | "$__interval" 2173 | ], 2174 | "type": "time" 2175 | }, 2176 | { 2177 | "params": [ 2178 | "null" 2179 | ], 2180 | "type": "fill" 2181 | } 2182 | ], 2183 | "orderByTime": "ASC", 2184 | "policy": "default", 2185 | "query": "SELECT 100 - mean(\"percent_packet_loss\") FROM \"ping\" WHERE \"url\" =~ /^$PingURL$/ AND $timeFilter GROUP BY time(1m) fill(null)", 2186 | "rawQuery": true, 2187 | "refId": "A", 2188 | "resultFormat": "time_series", 2189 | "select": [ 2190 | [ 2191 | { 2192 | "params": [ 2193 | "value" 2194 | ], 2195 | "type": "field" 2196 | }, 2197 | { 2198 | "params": [], 2199 | "type": "mean" 2200 | } 2201 | ] 2202 | ], 2203 | "tags": [] 2204 | } 2205 | ], 2206 | "title": "$PingURL Ping", 2207 | "type": "stat" 2208 | }, 2209 | { 2210 | "collapsed": true, 2211 | "datasource": { 2212 | "type": "influxdb", 2213 | "uid": "grafana" 2214 | }, 2215 | "gridPos": { 2216 | "h": 1, 2217 | "w": 24, 2218 | "x": 0, 2219 | "y": 40 2220 | }, 2221 | "id": 115, 2222 | "panels": [ 2223 | { 2224 | "datasource": { 2225 | "type": "influxdb", 2226 | "uid": "netstats" 2227 | }, 2228 | "description": "", 2229 | "fieldConfig": { 2230 | "defaults": { 2231 | "color": { 2232 | "mode": "palette-classic" 2233 | }, 2234 | "custom": { 2235 | "axisLabel": "", 2236 | "axisPlacement": "auto", 2237 | "barAlignment": 0, 2238 | "drawStyle": "line", 2239 | "fillOpacity": 10, 2240 | "gradientMode": "opacity", 2241 | "hideFrom": { 2242 | "legend": false, 2243 | "tooltip": false, 2244 | "viz": false 2245 | }, 2246 | "lineInterpolation": "linear", 2247 | "lineWidth": 1, 2248 | "pointSize": 5, 2249 | "scaleDistribution": { 2250 | "type": "linear" 2251 | }, 2252 | "showPoints": "never", 2253 | "spanNulls": false, 2254 | "stacking": { 2255 | "group": "A", 2256 | "mode": "none" 2257 | }, 2258 | "thresholdsStyle": { 2259 | "mode": "off" 2260 | } 2261 | }, 2262 | "mappings": [], 2263 | "thresholds": { 2264 | "mode": "absolute", 2265 | "steps": [ 2266 | { 2267 | "color": "green" 2268 | }, 2269 | { 2270 | "color": "red", 2271 | "value": 80 2272 | } 2273 | ] 2274 | }, 2275 | "unit": "short" 2276 | }, 2277 | "overrides": [] 2278 | }, 2279 | "gridPos": { 2280 | "h": 10, 2281 | "w": 24, 2282 | "x": 0, 2283 | "y": 41 2284 | }, 2285 | "id": 85, 2286 | "options": { 2287 | "legend": { 2288 | "calcs": [ 2289 | "mean", 2290 | "lastNotNull", 2291 | "max", 2292 | "min", 2293 | "sum" 2294 | ], 2295 | "displayMode": "table", 2296 | "placement": "bottom" 2297 | }, 2298 | "tooltip": { 2299 | "mode": "multi", 2300 | "sort": "none" 2301 | } 2302 | }, 2303 | "pluginVersion": "8.5.3", 2304 | "targets": [ 2305 | { 2306 | "alias": "$col", 2307 | "groupBy": [ 2308 | { 2309 | "params": [ 2310 | "$__interval" 2311 | ], 2312 | "type": "time" 2313 | }, 2314 | { 2315 | "params": [ 2316 | "null" 2317 | ], 2318 | "type": "fill" 2319 | } 2320 | ], 2321 | "measurement": "netstat", 2322 | "orderByTime": "ASC", 2323 | "policy": "default", 2324 | "query": "SELECT mean(\"tcp_close\") AS \"tcp_close\", mean(\"tcp_close_wait\") AS \"tcp_close_wait\", mean(\"tcp_closing\") AS \"tcp_colsing\", mean(\"tcp_fin_wait1\") AS \"tcp_fin_wait1\", mean(\"tcp_fin_wait2\") AS \"tcp_fin_wait2\", mean(\"tcp_last_ack\") AS \"tcp_last_ack\", mean(\"tcp_syn_recv\") AS \"tcp_syn_recv\", mean(\"tcp_syn_sent\") AS \"tcp_syn_sent\", mean(\"tcp_listen\") AS \"tcp_listen\", mean(\"tcp_time_wait\") AS \"tcp_time_wait\", mean(\"udp_socket\") AS \"udp_socket\", mean(\"tcp_established\") AS \"tcp_established\" FROM \"netstat\" GROUP BY time($interval) fill(null)", 2325 | "rawQuery": true, 2326 | "refId": "A", 2327 | "resultFormat": "time_series", 2328 | "select": [ 2329 | [ 2330 | { 2331 | "params": [ 2332 | "tcp_close" 2333 | ], 2334 | "type": "field" 2335 | }, 2336 | { 2337 | "params": [], 2338 | "type": "mean" 2339 | }, 2340 | { 2341 | "params": [ 2342 | "tcp_close" 2343 | ], 2344 | "type": "alias" 2345 | } 2346 | ] 2347 | ], 2348 | "tags": [ 2349 | { 2350 | "key": "host", 2351 | "operator": "=~", 2352 | "value": "/^$NetHost$/" 2353 | } 2354 | ] 2355 | } 2356 | ], 2357 | "title": "Netstat Details", 2358 | "type": "timeseries" 2359 | }, 2360 | { 2361 | "datasource": { 2362 | "type": "influxdb", 2363 | "uid": "netstats" 2364 | }, 2365 | "fieldConfig": { 2366 | "defaults": { 2367 | "custom": { 2368 | "align": "center", 2369 | "displayMode": "color-text", 2370 | "filterable": true, 2371 | "inspect": false 2372 | }, 2373 | "mappings": [], 2374 | "max": 500, 2375 | "min": 100, 2376 | "noValue": "N/A", 2377 | "thresholds": { 2378 | "mode": "absolute", 2379 | "steps": [ 2380 | { 2381 | "color": "super-light-blue" 2382 | } 2383 | ] 2384 | }, 2385 | "unit": "none" 2386 | }, 2387 | "overrides": [ 2388 | { 2389 | "matcher": { 2390 | "id": "byName", 2391 | "options": "Time" 2392 | }, 2393 | "properties": [ 2394 | { 2395 | "id": "custom.width", 2396 | "value": 100 2397 | }, 2398 | { 2399 | "id": "custom.displayMode", 2400 | "value": "color-text" 2401 | }, 2402 | { 2403 | "id": "unit", 2404 | "value": "dateTimeAsLocal" 2405 | } 2406 | ] 2407 | }, 2408 | { 2409 | "matcher": { 2410 | "id": "byName", 2411 | "options": "server" 2412 | }, 2413 | "properties": [ 2414 | { 2415 | "id": "custom.width", 2416 | "value": 300 2417 | }, 2418 | { 2419 | "id": "mappings", 2420 | "value": [] 2421 | } 2422 | ] 2423 | }, 2424 | { 2425 | "matcher": { 2426 | "id": "byName", 2427 | "options": "last" 2428 | }, 2429 | "properties": [ 2430 | { 2431 | "id": "custom.width", 2432 | "value": 145 2433 | }, 2434 | { 2435 | "id": "displayName", 2436 | "value": "Response code" 2437 | }, 2438 | { 2439 | "id": "thresholds", 2440 | "value": { 2441 | "mode": "absolute", 2442 | "steps": [ 2443 | { 2444 | "color": "light-red" 2445 | }, 2446 | { 2447 | "color": "light-green", 2448 | "value": 100 2449 | }, 2450 | { 2451 | "color": "light-green", 2452 | "value": 200 2453 | }, 2454 | { 2455 | "color": "semi-dark-green", 2456 | "value": 300 2457 | }, 2458 | { 2459 | "color": "super-light-yellow", 2460 | "value": 400 2461 | }, 2462 | { 2463 | "color": "super-light-red", 2464 | "value": 500 2465 | } 2466 | ] 2467 | } 2468 | } 2469 | ] 2470 | }, 2471 | { 2472 | "matcher": { 2473 | "id": "byName", 2474 | "options": "Response code" 2475 | }, 2476 | "properties": [ 2477 | { 2478 | "id": "custom.width", 2479 | "value": 248 2480 | } 2481 | ] 2482 | }, 2483 | { 2484 | "matcher": { 2485 | "id": "byName", 2486 | "options": "method" 2487 | }, 2488 | "properties": [ 2489 | { 2490 | "id": "custom.width", 2491 | "value": 100 2492 | } 2493 | ] 2494 | }, 2495 | { 2496 | "matcher": { 2497 | "id": "byName", 2498 | "options": "Endpoint" 2499 | }, 2500 | "properties": [ 2501 | { 2502 | "id": "custom.width", 2503 | "value": 218 2504 | } 2505 | ] 2506 | }, 2507 | { 2508 | "matcher": { 2509 | "id": "byName", 2510 | "options": "HTTP Method" 2511 | }, 2512 | "properties": [ 2513 | { 2514 | "id": "custom.width", 2515 | "value": 248 2516 | } 2517 | ] 2518 | } 2519 | ] 2520 | }, 2521 | "gridPos": { 2522 | "h": 8, 2523 | "w": 12, 2524 | "x": 0, 2525 | "y": 51 2526 | }, 2527 | "id": 14, 2528 | "options": { 2529 | "footer": { 2530 | "fields": "", 2531 | "reducer": [ 2532 | "sum" 2533 | ], 2534 | "show": false 2535 | }, 2536 | "showHeader": true, 2537 | "sortBy": [] 2538 | }, 2539 | "pluginVersion": "8.5.3", 2540 | "repeatDirection": "h", 2541 | "targets": [ 2542 | { 2543 | "alias": "$tag_server", 2544 | "groupBy": [ 2545 | { 2546 | "params": [ 2547 | "server" 2548 | ], 2549 | "type": "tag" 2550 | }, 2551 | { 2552 | "params": [ 2553 | "method" 2554 | ], 2555 | "type": "tag" 2556 | } 2557 | ], 2558 | "measurement": "http_response", 2559 | "orderByTime": "ASC", 2560 | "policy": "default", 2561 | "refId": "A", 2562 | "resultFormat": "table", 2563 | "select": [ 2564 | [ 2565 | { 2566 | "params": [ 2567 | "http_response_code" 2568 | ], 2569 | "type": "field" 2570 | }, 2571 | { 2572 | "params": [], 2573 | "type": "last" 2574 | } 2575 | ] 2576 | ], 2577 | "tags": [] 2578 | } 2579 | ], 2580 | "title": "HTTP response codes", 2581 | "transformations": [ 2582 | { 2583 | "id": "organize", 2584 | "options": { 2585 | "excludeByName": { 2586 | "Time": true 2587 | }, 2588 | "indexByName": { 2589 | "Time": 0, 2590 | "last": 3, 2591 | "method": 2, 2592 | "server": 1 2593 | }, 2594 | "renameByName": { 2595 | "last": "Response code", 2596 | "method": "HTTP Method", 2597 | "server": "Endpoint" 2598 | } 2599 | } 2600 | } 2601 | ], 2602 | "transparent": true, 2603 | "type": "table" 2604 | }, 2605 | { 2606 | "datasource": { 2607 | "type": "influxdb", 2608 | "uid": "netstats" 2609 | }, 2610 | "fieldConfig": { 2611 | "defaults": { 2612 | "color": { 2613 | "mode": "continuous-BlPu" 2614 | }, 2615 | "custom": { 2616 | "align": "center", 2617 | "displayMode": "color-background", 2618 | "filterable": true, 2619 | "inspect": false 2620 | }, 2621 | "mappings": [], 2622 | "thresholds": { 2623 | "mode": "absolute", 2624 | "steps": [ 2625 | { 2626 | "color": "rgb(96, 96, 96)" 2627 | } 2628 | ] 2629 | }, 2630 | "unit": "none" 2631 | }, 2632 | "overrides": [ 2633 | { 2634 | "matcher": { 2635 | "id": "byName", 2636 | "options": "Time" 2637 | }, 2638 | "properties": [ 2639 | { 2640 | "id": "custom.width", 2641 | "value": 144 2642 | } 2643 | ] 2644 | }, 2645 | { 2646 | "matcher": { 2647 | "id": "byName", 2648 | "options": "Server Name" 2649 | }, 2650 | "properties": [ 2651 | { 2652 | "id": "custom.width", 2653 | "value": 133 2654 | } 2655 | ] 2656 | }, 2657 | { 2658 | "matcher": { 2659 | "id": "byName", 2660 | "options": "Server Location" 2661 | }, 2662 | "properties": [ 2663 | { 2664 | "id": "custom.width", 2665 | "value": 139 2666 | } 2667 | ] 2668 | }, 2669 | { 2670 | "matcher": { 2671 | "id": "byName", 2672 | "options": "External IP" 2673 | }, 2674 | "properties": [ 2675 | { 2676 | "id": "custom.width", 2677 | "value": 149 2678 | } 2679 | ] 2680 | } 2681 | ] 2682 | }, 2683 | "gridPos": { 2684 | "h": 8, 2685 | "w": 12, 2686 | "x": 12, 2687 | "y": 51 2688 | }, 2689 | "id": 97, 2690 | "options": { 2691 | "footer": { 2692 | "fields": "", 2693 | "reducer": [ 2694 | "sum" 2695 | ], 2696 | "show": false 2697 | }, 2698 | "showHeader": true, 2699 | "sortBy": [] 2700 | }, 2701 | "pluginVersion": "8.5.3", 2702 | "targets": [ 2703 | { 2704 | "groupBy": [], 2705 | "limit": "", 2706 | "measurement": "speedtest", 2707 | "orderByTime": "DESC", 2708 | "policy": "default", 2709 | "refId": "A", 2710 | "resultFormat": "table", 2711 | "select": [ 2712 | [ 2713 | { 2714 | "params": [ 2715 | "server_name" 2716 | ], 2717 | "type": "field" 2718 | }, 2719 | { 2720 | "params": [ 2721 | "Server Name" 2722 | ], 2723 | "type": "alias" 2724 | } 2725 | ], 2726 | [ 2727 | { 2728 | "params": [ 2729 | "server_location" 2730 | ], 2731 | "type": "field" 2732 | }, 2733 | { 2734 | "params": [ 2735 | "Server Location" 2736 | ], 2737 | "type": "alias" 2738 | } 2739 | ], 2740 | [ 2741 | { 2742 | "params": [ 2743 | "interface_externalIp" 2744 | ], 2745 | "type": "field" 2746 | }, 2747 | { 2748 | "params": [ 2749 | "External IP" 2750 | ], 2751 | "type": "alias" 2752 | } 2753 | ], 2754 | [ 2755 | { 2756 | "params": [ 2757 | "result_url" 2758 | ], 2759 | "type": "field" 2760 | }, 2761 | { 2762 | "params": [ 2763 | "URL" 2764 | ], 2765 | "type": "alias" 2766 | } 2767 | ] 2768 | ], 2769 | "tags": [] 2770 | } 2771 | ], 2772 | "title": "Speedtest Details", 2773 | "transformations": [], 2774 | "type": "table" 2775 | } 2776 | ], 2777 | "title": "Additional Test Details", 2778 | "type": "row" 2779 | } 2780 | ], 2781 | "refresh": "30s", 2782 | "schemaVersion": 36, 2783 | "style": "dark", 2784 | "tags": [ 2785 | "networking", 2786 | "monitoring", 2787 | "telegraf", 2788 | "influxdb", 2789 | "isp" 2790 | ], 2791 | "templating": { 2792 | "list": [ 2793 | { 2794 | "current": { 2795 | "selected": true, 2796 | "text": [ 2797 | "All" 2798 | ], 2799 | "value": [ 2800 | "$__all" 2801 | ] 2802 | }, 2803 | "datasource": { 2804 | "type": "influxdb", 2805 | "uid": "netstats" 2806 | }, 2807 | "definition": "", 2808 | "hide": 0, 2809 | "includeAll": true, 2810 | "multi": true, 2811 | "name": "PingURL", 2812 | "options": [], 2813 | "query": "SHOW TAG VALUES FROM \"ping\" WITH KEY = \"url\"", 2814 | "refresh": 1, 2815 | "regex": "", 2816 | "skipUrlSync": false, 2817 | "sort": 0, 2818 | "tagValuesQuery": "", 2819 | "tagsQuery": "", 2820 | "type": "query", 2821 | "useTags": false 2822 | } 2823 | ] 2824 | }, 2825 | "time": { 2826 | "from": "now/d", 2827 | "to": "now" 2828 | }, 2829 | "timepicker": {}, 2830 | "timezone": "browser", 2831 | "title": "Network Statistics", 2832 | "uid": "Is1f1nRgz", 2833 | "version": 60, 2834 | "weekStart": "sunday" 2835 | } 2836 | --------------------------------------------------------------------------------