mirror of
				https://github.com/ItsDrike/network-monitor.git
				synced 2025-11-04 04:16:35 +00:00 
			
		
		
		
	Full update
This commit is contained in:
		
							parent
							
								
									b7ebadaafb
								
							
						
					
					
						commit
						da62c947ca
					
				
					 10 changed files with 652 additions and 693 deletions
				
			
		
							
								
								
									
										48
									
								
								README.md
									
										
									
									
									
								
							
							
						
						
									
										48
									
								
								README.md
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -1,46 +1,43 @@
 | 
			
		|||
# Internet Monitoring Docker Stack with Prometheus + Grafana
 | 
			
		||||
 | 
			
		||||
# A Docker Stack which Monitors your home network
 | 
			
		||||
Here's a quick start to stand-up a Docker [Prometheus](http://prometheus.io/) stack containing Prometheus, Grafana with  [blackbox-exporter](https://github.com/prometheus/blackbox_exporter) and [speedtest-exporter](https://github.com/stefanwalther/speedtest-exporter) to collect and graph home network connections and speed.
 | 
			
		||||
> This repository is a fork from [maxandersen/internet-monitoring](https://github.com/maxandersen/internet-monitoring), tailored for use on a Raspberry Pi. It has only been tested on a Raspberry Pi 4 running Pi OS 64-bit beta.
 | 
			
		||||
>
 | 
			
		||||
> This has also recently been merged into the internet-pi repository, so there could be a few little things that need tweaking.
 | 
			
		||||
 | 
			
		||||
Stand-up a Docker [Prometheus](http://prometheus.io/) stack containing Prometheus, Grafana with [blackbox-exporter](https://github.com/prometheus/blackbox_exporter), and [speedtest-exporter](https://github.com/MiguelNdeCarvalho/speedtest-exporter) to collect and graph home Internet reliability and throughput.
 | 
			
		||||
 | 
			
		||||
## Pre-requisites
 | 
			
		||||
Before we get started installing the Prometheus stack. Ensure you install the latest version of docker and [docker-compose](https://docs.docker.com/compose/install/) on your Docker host machine. This has been tested with Docker for Mac and Synology and it works.
 | 
			
		||||
 | 
			
		||||
# Quick Start
 | 
			
		||||
Make sure Docker and [Docker Compose](https://docs.docker.com/compose/install/) are installed on your Docker host machine.
 | 
			
		||||
 | 
			
		||||
If on Mac run this:
 | 
			
		||||
## Quick Start
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
git clone https://github.com/maxandersen/internet-monitoring && cd internet-monitoring/prometheus && docker-compose up && open http://localhost:3030/d/o9mIe_Aik/internet-connection
 | 
			
		||||
git clone https://github.com/geerlingguy/internet-monitoring
 | 
			
		||||
cd internet-monitoring
 | 
			
		||||
docker-compose up -d
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
otherwise:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
git clone https://github.com/maxandersen/internet-monitoring
 | 
			
		||||
cd internet-monitoring/prometheus
 | 
			
		||||
docker-compose up
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Goto [http://localhost:3030/d/o9mIe_Aik/internet-connection](http://localhost:3030/d/o9mIe_Aik/internet-connection) (change `localhost` to your docker host ip/name).
 | 
			
		||||
Go to [http://localhost:3030/d/o9mIe_Aik/internet-connection](http://localhost:3030/d/o9mIe_Aik/internet-connection) (change `localhost` to your docker host ip/name).
 | 
			
		||||
 | 
			
		||||
## Configuration
 | 
			
		||||
 | 
			
		||||
To change what hosts you ping you change the `targets` section in [/prometheus/pinghosts.yaml](./prometheus/pinghosts.yaml) file.
 | 
			
		||||
 | 
			
		||||
For speedtest the only relevant configuration is how often you want the check to happen. It is at 5 minutes by default which might be too much if you have limit on downloads. This is changed by editing `scrape_interval` under `speedtest` in [/prometheus/prometheus.yml](./prometheus/prometheus.yml).
 | 
			
		||||
For speedtest the only relevant configuration is how often you want the check to happen. It is at 30 minutes by default which might be too much if you have limit on downloads. This is changed by editing `scrape_interval` under `speedtest` in [/prometheus/prometheus.yml](./prometheus/prometheus.yml).
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Once configurations are done let's start it up. From the /prometheus project directory run the following command:
 | 
			
		||||
Once configurations are done, run the following command:
 | 
			
		||||
 | 
			
		||||
    $ docker-compose up -d
 | 
			
		||||
 | 
			
		||||
That's it. docker-compose builds the entire Grafana and Prometheus stack automagically. 
 | 
			
		||||
That's it. docker-compose builds the entire Grafana and Prometheus stack automagically.
 | 
			
		||||
 | 
			
		||||
The Grafana Dashboard is now accessible via: `http://<Host IP Address>:3030` for example http://localhost:3030
 | 
			
		||||
 | 
			
		||||
username - admin
 | 
			
		||||
password - wonka (Password is stored in the `config.monitoring` env file)
 | 
			
		||||
 | 
			
		||||
The DataSource and Dashboard for Grafana are automatically provisioned. 
 | 
			
		||||
The DataSource and Dashboard for Grafana are automatically provisioned.
 | 
			
		||||
 | 
			
		||||
If all works it should be available at http://localhost:3030/d/o9mIe_Aik/internet-connection - if no data shows up try change the timeduration to something smaller.
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -48,19 +45,18 @@ If all works it should be available at http://localhost:3030/d/o9mIe_Aik/interne
 | 
			
		|||
 | 
			
		||||
## Interesting urls
 | 
			
		||||
 | 
			
		||||
Note: replace `localhost` with your docker host ip/name if not running this locally.
 | 
			
		||||
 | 
			
		||||
http://localhost:9090/targets shows status of monitored targets as seen from prometheus - in this case which hosts being pinged and speedtest. note: speedtest will take a while before it shows as UP as it takes ~30s to respond.
 | 
			
		||||
http://localhost:9090/targets shows status of monitored targets as seen from prometheus - in this case which hosts being pinged and speedtest. note: speedtest will take a while before it shows as UP as it takes about 30s to respond.
 | 
			
		||||
 | 
			
		||||
http://localhost:9090/graph?g0.expr=probe_http_status_code&g0.tab=1 shows prometheus value for `probe_http_status_code` for each host. You can edit/play with additional values. Useful to check everything is okey in prometheus (in case Grafana is not showing the data you expect).
 | 
			
		||||
 | 
			
		||||
http://localhost:9115 blackbox exporter endpoint. Lets you see what have failed/succeded.
 | 
			
		||||
 | 
			
		||||
http://localhost:9696/metrics speedtest exporter endpoint. Does take ~30 seconds to show its result as it runs an actual speedtest when requested.
 | 
			
		||||
http://localhost:9798/metrics speedtest exporter endpoint. Does take about 30 seconds to show its result as it runs an actual speedtest when requested.
 | 
			
		||||
 | 
			
		||||
## Thanks and a disclaimer
 | 
			
		||||
 | 
			
		||||
Thanks to @maxandersen for making the original project this fork is based on.
 | 
			
		||||
 | 
			
		||||
Thanks to @vegasbrianc work on making a [super easy docker](https://github.com/vegasbrianc/github-monitoring) stack for running prometheus and grafana.
 | 
			
		||||
 | 
			
		||||
I also want to disclaim that Prometheus aren't really (currently) intended for this kind of blackbox/external monitoring and this setup is not in anyway secured. Thus only use this for inspiration and do not blame me if someone hacks this and figure out what your real internet sped is :)
 | 
			
		||||
 | 
			
		||||
This setup is not secured in any way, so please only use on non-public networks, or find a way to secure it on your own.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,3 +1,4 @@
 | 
			
		|||
---
 | 
			
		||||
modules:
 | 
			
		||||
  http_2xx:
 | 
			
		||||
    prober: http
 | 
			
		||||
| 
						 | 
				
			
			@ -13,7 +14,7 @@ modules:
 | 
			
		|||
    prober: tcp
 | 
			
		||||
    tcp:
 | 
			
		||||
      query_response:
 | 
			
		||||
      - expect: "^+OK"
 | 
			
		||||
        - expect: "^+OK"
 | 
			
		||||
      tls: true
 | 
			
		||||
      tls_config:
 | 
			
		||||
        insecure_skip_verify: false
 | 
			
		||||
| 
						 | 
				
			
			@ -21,15 +22,15 @@ modules:
 | 
			
		|||
    prober: tcp
 | 
			
		||||
    tcp:
 | 
			
		||||
      query_response:
 | 
			
		||||
      - expect: "^SSH-2.0-"
 | 
			
		||||
        - expect: "^SSH-2.0-"
 | 
			
		||||
  irc_banner:
 | 
			
		||||
    prober: tcp
 | 
			
		||||
    tcp:
 | 
			
		||||
      query_response:
 | 
			
		||||
      - send: "NICK prober"
 | 
			
		||||
      - send: "USER prober prober prober :prober"
 | 
			
		||||
      - expect: "PING :([^ ]+)"
 | 
			
		||||
        send: "PONG ${1}"
 | 
			
		||||
      - expect: "^:[^ ]+ 001"
 | 
			
		||||
        - send: "NICK prober"
 | 
			
		||||
        - send: "USER prober prober prober :prober"
 | 
			
		||||
        - expect: "PING :([^ ]+)"
 | 
			
		||||
          send: "PONG ${1}"
 | 
			
		||||
        - expect: "^:[^ ]+ 001"
 | 
			
		||||
  icmp:
 | 
			
		||||
    prober: icmp
 | 
			
		||||
    prober: icmp
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,8 +1,9 @@
 | 
			
		|||
---
 | 
			
		||||
version: "3.1"
 | 
			
		||||
 | 
			
		||||
volumes:
 | 
			
		||||
    prometheus_data: {}
 | 
			
		||||
    grafana_data: {}
 | 
			
		||||
  prometheus_data: {}
 | 
			
		||||
  grafana_data: {}
 | 
			
		||||
 | 
			
		||||
networks:
 | 
			
		||||
  front-tier:
 | 
			
		||||
| 
						 | 
				
			
			@ -10,7 +11,8 @@ networks:
 | 
			
		|||
 | 
			
		||||
services:
 | 
			
		||||
  prometheus:
 | 
			
		||||
    image: prom/prometheus:v2.0.0
 | 
			
		||||
    image: prom/prometheus:v2.25.2
 | 
			
		||||
    restart: always
 | 
			
		||||
    volumes:
 | 
			
		||||
      - ./prometheus/:/etc/prometheus/
 | 
			
		||||
      - prometheus_data:/prometheus
 | 
			
		||||
| 
						 | 
				
			
			@ -29,6 +31,7 @@ services:
 | 
			
		|||
 | 
			
		||||
  grafana:
 | 
			
		||||
    image: grafana/grafana
 | 
			
		||||
    restart: always
 | 
			
		||||
    volumes:
 | 
			
		||||
      - grafana_data:/var/lib/grafana
 | 
			
		||||
      - ./grafana/provisioning/:/etc/grafana/provisioning/
 | 
			
		||||
| 
						 | 
				
			
			@ -41,7 +44,7 @@ services:
 | 
			
		|||
    networks:
 | 
			
		||||
      - back-tier
 | 
			
		||||
      - front-tier
 | 
			
		||||
 
 | 
			
		||||
 | 
			
		||||
  ping:
 | 
			
		||||
    tty: true
 | 
			
		||||
    stdin_open: true
 | 
			
		||||
| 
						 | 
				
			
			@ -50,6 +53,7 @@ services:
 | 
			
		|||
    ports:
 | 
			
		||||
      - 9115:9115
 | 
			
		||||
    image: prom/blackbox-exporter
 | 
			
		||||
    restart: always
 | 
			
		||||
    volumes:
 | 
			
		||||
      - ./blackbox/config:/config
 | 
			
		||||
    command:
 | 
			
		||||
| 
						 | 
				
			
			@ -61,26 +65,14 @@ services:
 | 
			
		|||
    tty: true
 | 
			
		||||
    stdin_open: true
 | 
			
		||||
    expose:
 | 
			
		||||
      - 9696
 | 
			
		||||
      - 9798
 | 
			
		||||
    ports:
 | 
			
		||||
      - 9696:9696
 | 
			
		||||
    image: stefanwalther/speedtest-exporter
 | 
			
		||||
      - 9798:9798
 | 
			
		||||
    image: miguelndecarvalho/speedtest-exporter
 | 
			
		||||
    restart: always
 | 
			
		||||
    networks:
 | 
			
		||||
      - back-tier
 | 
			
		||||
 | 
			
		||||
  sonos:
 | 
			
		||||
    tty: true
 | 
			
		||||
    stdin_open: true
 | 
			
		||||
    expose: 
 | 
			
		||||
      - 1915
 | 
			
		||||
    ports:
 | 
			
		||||
      - 1915:1915
 | 
			
		||||
    image: maxandersen/sonos_exporter
 | 
			
		||||
    command:
 | 
			
		||||
      - '--address=0.0.0.0:1915'
 | 
			
		||||
    network_mode: host
 | 
			
		||||
 | 
			
		||||
  nodeexp:
 | 
			
		||||
    privileged: true
 | 
			
		||||
    image: prom/node-exporter
 | 
			
		||||
| 
						 | 
				
			
			@ -98,4 +90,3 @@ services:
 | 
			
		|||
      - "^/(sys|proc|dev|host|etc|rootfs/var/lib/docker/containers|rootfs/var/lib/docker/overlay2|rootfs/run/docker/netns|rootfs/var/lib/docker/aufs)($$|/)"
 | 
			
		||||
    networks:
 | 
			
		||||
      - back-tier
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,3 +1,3 @@
 | 
			
		|||
GF_SECURITY_ADMIN_PASSWORD=wonka
 | 
			
		||||
GF_SECURITY_ADMIN_PASSWORD=rNwyUT8u*J8Wd$dRLh
 | 
			
		||||
GF_USERS_ALLOW_SIGN_UP=false
 | 
			
		||||
 GF_INSTALL_PLUGINS=flant-statusmap-panel
 | 
			
		||||
GF_INSTALL_PLUGINS=flant-statusmap-panel,ae3e-plotly-panel
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,11 +1,11 @@
 | 
			
		|||
apiVersion: 1
 | 
			
		||||
 | 
			
		||||
providers:
 | 
			
		||||
- name: 'prometheus'
 | 
			
		||||
  orgId: 1
 | 
			
		||||
  folder: ''
 | 
			
		||||
  type: file
 | 
			
		||||
  disableDeletion: false
 | 
			
		||||
  editable: true
 | 
			
		||||
  options:
 | 
			
		||||
    path: /etc/grafana/provisioning/dashboards
 | 
			
		||||
  - name: 'prometheus'
 | 
			
		||||
    orgId: 1
 | 
			
		||||
    folder: ''
 | 
			
		||||
    type: file
 | 
			
		||||
    disableDeletion: false
 | 
			
		||||
    editable: true
 | 
			
		||||
    options:
 | 
			
		||||
      path: /etc/grafana/provisioning/dashboards
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										560
									
								
								grafana/provisioning/dashboards/internet-connection.json
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										560
									
								
								grafana/provisioning/dashboards/internet-connection.json
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,560 @@
 | 
			
		|||
{
 | 
			
		||||
  "annotations": {
 | 
			
		||||
    "list": [
 | 
			
		||||
      {
 | 
			
		||||
        "builtIn": 1,
 | 
			
		||||
        "datasource": "-- Grafana --",
 | 
			
		||||
        "enable": true,
 | 
			
		||||
        "hide": true,
 | 
			
		||||
        "iconColor": "rgba(0, 211, 255, 1)",
 | 
			
		||||
        "limit": 100,
 | 
			
		||||
        "name": "Annotations & Alerts",
 | 
			
		||||
        "showIn": 0,
 | 
			
		||||
        "type": "dashboard"
 | 
			
		||||
      }
 | 
			
		||||
    ]
 | 
			
		||||
  },
 | 
			
		||||
  "editable": true,
 | 
			
		||||
  "gnetId": null,
 | 
			
		||||
  "graphTooltip": 0,
 | 
			
		||||
  "links": [],
 | 
			
		||||
  "panels": [
 | 
			
		||||
    {
 | 
			
		||||
      "cacheTimeout": null,
 | 
			
		||||
      "datasource": "prometheus",
 | 
			
		||||
      "fieldConfig": {
 | 
			
		||||
        "defaults": {
 | 
			
		||||
          "color": {
 | 
			
		||||
            "mode": "thresholds"
 | 
			
		||||
          },
 | 
			
		||||
          "mappings": [
 | 
			
		||||
            {
 | 
			
		||||
              "id": 0,
 | 
			
		||||
              "op": "=",
 | 
			
		||||
              "text": "N/A",
 | 
			
		||||
              "type": 1,
 | 
			
		||||
              "value": "null"
 | 
			
		||||
            }
 | 
			
		||||
          ],
 | 
			
		||||
          "thresholds": {
 | 
			
		||||
            "mode": "absolute",
 | 
			
		||||
            "steps": [
 | 
			
		||||
              {
 | 
			
		||||
                "color": "#299c46",
 | 
			
		||||
                "value": null
 | 
			
		||||
              },
 | 
			
		||||
              {
 | 
			
		||||
                "color": "blue",
 | 
			
		||||
                "value": 100
 | 
			
		||||
              }
 | 
			
		||||
            ]
 | 
			
		||||
          },
 | 
			
		||||
          "unit": "bps"
 | 
			
		||||
        },
 | 
			
		||||
        "overrides": []
 | 
			
		||||
      },
 | 
			
		||||
      "gridPos": {
 | 
			
		||||
        "h": 9,
 | 
			
		||||
        "w": 6,
 | 
			
		||||
        "x": 0,
 | 
			
		||||
        "y": 0
 | 
			
		||||
      },
 | 
			
		||||
      "id": 8,
 | 
			
		||||
      "interval": null,
 | 
			
		||||
      "links": [],
 | 
			
		||||
      "maxDataPoints": 50000,
 | 
			
		||||
      "options": {
 | 
			
		||||
        "orientation": "horizontal",
 | 
			
		||||
        "reduceOptions": {
 | 
			
		||||
          "calcs": [
 | 
			
		||||
            "mean"
 | 
			
		||||
          ],
 | 
			
		||||
          "fields": "",
 | 
			
		||||
          "values": false
 | 
			
		||||
        },
 | 
			
		||||
        "showThresholdLabels": false,
 | 
			
		||||
        "showThresholdMarkers": true,
 | 
			
		||||
        "text": {}
 | 
			
		||||
      },
 | 
			
		||||
      "pluginVersion": "7.5.6",
 | 
			
		||||
      "targets": [
 | 
			
		||||
        {
 | 
			
		||||
          "expr": "speedtest_download_bits_per_second{}",
 | 
			
		||||
          "format": "time_series",
 | 
			
		||||
          "interval": "",
 | 
			
		||||
          "intervalFactor": 1,
 | 
			
		||||
          "legendFormat": "",
 | 
			
		||||
          "refId": "A"
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      "title": "Download",
 | 
			
		||||
      "type": "gauge"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "cacheTimeout": null,
 | 
			
		||||
      "datasource": "prometheus",
 | 
			
		||||
      "fieldConfig": {
 | 
			
		||||
        "defaults": {
 | 
			
		||||
          "color": {
 | 
			
		||||
            "mode": "thresholds"
 | 
			
		||||
          },
 | 
			
		||||
          "mappings": [
 | 
			
		||||
            {
 | 
			
		||||
              "id": 0,
 | 
			
		||||
              "op": "=",
 | 
			
		||||
              "text": "N/A",
 | 
			
		||||
              "type": 1,
 | 
			
		||||
              "value": "null"
 | 
			
		||||
            }
 | 
			
		||||
          ],
 | 
			
		||||
          "thresholds": {
 | 
			
		||||
            "mode": "absolute",
 | 
			
		||||
            "steps": [
 | 
			
		||||
              {
 | 
			
		||||
                "color": "green",
 | 
			
		||||
                "value": null
 | 
			
		||||
              },
 | 
			
		||||
              {
 | 
			
		||||
                "color": "blue",
 | 
			
		||||
                "value": 20
 | 
			
		||||
              }
 | 
			
		||||
            ]
 | 
			
		||||
          },
 | 
			
		||||
          "unit": "bps"
 | 
			
		||||
        },
 | 
			
		||||
        "overrides": []
 | 
			
		||||
      },
 | 
			
		||||
      "gridPos": {
 | 
			
		||||
        "h": 9,
 | 
			
		||||
        "w": 6,
 | 
			
		||||
        "x": 6,
 | 
			
		||||
        "y": 0
 | 
			
		||||
      },
 | 
			
		||||
      "id": 10,
 | 
			
		||||
      "interval": null,
 | 
			
		||||
      "links": [],
 | 
			
		||||
      "maxDataPoints": 50000,
 | 
			
		||||
      "options": {
 | 
			
		||||
        "orientation": "horizontal",
 | 
			
		||||
        "reduceOptions": {
 | 
			
		||||
          "calcs": [
 | 
			
		||||
            "mean"
 | 
			
		||||
          ],
 | 
			
		||||
          "fields": "",
 | 
			
		||||
          "values": false
 | 
			
		||||
        },
 | 
			
		||||
        "showThresholdLabels": false,
 | 
			
		||||
        "showThresholdMarkers": true,
 | 
			
		||||
        "text": {}
 | 
			
		||||
      },
 | 
			
		||||
      "pluginVersion": "7.5.6",
 | 
			
		||||
      "targets": [
 | 
			
		||||
        {
 | 
			
		||||
          "expr": "speedtest_upload_bits_per_second{}",
 | 
			
		||||
          "format": "time_series",
 | 
			
		||||
          "interval": "",
 | 
			
		||||
          "intervalFactor": 1,
 | 
			
		||||
          "legendFormat": "",
 | 
			
		||||
          "refId": "A"
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      "title": "Upload",
 | 
			
		||||
      "type": "gauge"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "cacheTimeout": null,
 | 
			
		||||
      "datasource": "prometheus",
 | 
			
		||||
      "fieldConfig": {
 | 
			
		||||
        "defaults": {
 | 
			
		||||
          "color": {
 | 
			
		||||
            "mode": "thresholds"
 | 
			
		||||
          },
 | 
			
		||||
          "decimals": 2,
 | 
			
		||||
          "mappings": [
 | 
			
		||||
            {
 | 
			
		||||
              "id": 0,
 | 
			
		||||
              "op": "=",
 | 
			
		||||
              "text": "N/A",
 | 
			
		||||
              "type": 1,
 | 
			
		||||
              "value": "null"
 | 
			
		||||
            }
 | 
			
		||||
          ],
 | 
			
		||||
          "thresholds": {
 | 
			
		||||
            "mode": "absolute",
 | 
			
		||||
            "steps": [
 | 
			
		||||
              {
 | 
			
		||||
                "color": "green",
 | 
			
		||||
                "value": null
 | 
			
		||||
              },
 | 
			
		||||
              {
 | 
			
		||||
                "color": "red",
 | 
			
		||||
                "value": 80
 | 
			
		||||
              }
 | 
			
		||||
            ]
 | 
			
		||||
          },
 | 
			
		||||
          "unit": "ms"
 | 
			
		||||
        },
 | 
			
		||||
        "overrides": []
 | 
			
		||||
      },
 | 
			
		||||
      "gridPos": {
 | 
			
		||||
        "h": 9,
 | 
			
		||||
        "w": 12,
 | 
			
		||||
        "x": 12,
 | 
			
		||||
        "y": 0
 | 
			
		||||
      },
 | 
			
		||||
      "id": 12,
 | 
			
		||||
      "interval": null,
 | 
			
		||||
      "links": [],
 | 
			
		||||
      "maxDataPoints": 50000,
 | 
			
		||||
      "options": {
 | 
			
		||||
        "orientation": "horizontal",
 | 
			
		||||
        "reduceOptions": {
 | 
			
		||||
          "calcs": [
 | 
			
		||||
            "mean"
 | 
			
		||||
          ],
 | 
			
		||||
          "fields": "",
 | 
			
		||||
          "values": false
 | 
			
		||||
        },
 | 
			
		||||
        "showThresholdLabels": false,
 | 
			
		||||
        "showThresholdMarkers": true,
 | 
			
		||||
        "text": {}
 | 
			
		||||
      },
 | 
			
		||||
      "pluginVersion": "7.5.6",
 | 
			
		||||
      "targets": [
 | 
			
		||||
        {
 | 
			
		||||
          "expr": "speedtest_ping_latency_milliseconds",
 | 
			
		||||
          "format": "time_series",
 | 
			
		||||
          "instant": false,
 | 
			
		||||
          "interval": "",
 | 
			
		||||
          "intervalFactor": 1,
 | 
			
		||||
          "legendFormat": "",
 | 
			
		||||
          "refId": "A"
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      "title": "Speedtest Ping",
 | 
			
		||||
      "type": "gauge"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "datasource": "prometheus",
 | 
			
		||||
      "fieldConfig": {
 | 
			
		||||
        "defaults": {
 | 
			
		||||
          "color": {
 | 
			
		||||
            "mode": "palette-classic"
 | 
			
		||||
          },
 | 
			
		||||
          "custom": {
 | 
			
		||||
            "axisLabel": "",
 | 
			
		||||
            "axisPlacement": "auto",
 | 
			
		||||
            "barAlignment": 0,
 | 
			
		||||
            "drawStyle": "line",
 | 
			
		||||
            "fillOpacity": 50,
 | 
			
		||||
            "gradientMode": "none",
 | 
			
		||||
            "hideFrom": {
 | 
			
		||||
              "graph": false,
 | 
			
		||||
              "legend": false,
 | 
			
		||||
              "tooltip": false
 | 
			
		||||
            },
 | 
			
		||||
            "lineInterpolation": "linear",
 | 
			
		||||
            "lineWidth": 0,
 | 
			
		||||
            "pointSize": 5,
 | 
			
		||||
            "scaleDistribution": {
 | 
			
		||||
              "type": "linear"
 | 
			
		||||
            },
 | 
			
		||||
            "showPoints": "never",
 | 
			
		||||
            "spanNulls": true
 | 
			
		||||
          },
 | 
			
		||||
          "mappings": [],
 | 
			
		||||
          "thresholds": {
 | 
			
		||||
            "mode": "absolute",
 | 
			
		||||
            "steps": [
 | 
			
		||||
              {
 | 
			
		||||
                "color": "green",
 | 
			
		||||
                "value": null
 | 
			
		||||
              },
 | 
			
		||||
              {
 | 
			
		||||
                "color": "red",
 | 
			
		||||
                "value": 80
 | 
			
		||||
              }
 | 
			
		||||
            ]
 | 
			
		||||
          },
 | 
			
		||||
          "unit": "bps"
 | 
			
		||||
        },
 | 
			
		||||
        "overrides": []
 | 
			
		||||
      },
 | 
			
		||||
      "gridPos": {
 | 
			
		||||
        "h": 9,
 | 
			
		||||
        "w": 12,
 | 
			
		||||
        "x": 0,
 | 
			
		||||
        "y": 9
 | 
			
		||||
      },
 | 
			
		||||
      "id": 6,
 | 
			
		||||
      "links": [],
 | 
			
		||||
      "maxDataPoints": 50000,
 | 
			
		||||
      "options": {
 | 
			
		||||
        "graph": {},
 | 
			
		||||
        "legend": {
 | 
			
		||||
          "calcs": [],
 | 
			
		||||
          "displayMode": "list",
 | 
			
		||||
          "placement": "right"
 | 
			
		||||
        },
 | 
			
		||||
        "tooltipOptions": {
 | 
			
		||||
          "mode": "multi"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "pluginVersion": "7.4.5",
 | 
			
		||||
      "repeat": null,
 | 
			
		||||
      "targets": [
 | 
			
		||||
        {
 | 
			
		||||
          "expr": "speedtest_download_bits_per_second{}",
 | 
			
		||||
          "format": "time_series",
 | 
			
		||||
          "interval": "",
 | 
			
		||||
          "intervalFactor": 1,
 | 
			
		||||
          "legendFormat": "Download",
 | 
			
		||||
          "refId": "A"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "expr": "speedtest_upload_bits_per_second{}",
 | 
			
		||||
          "hide": false,
 | 
			
		||||
          "interval": "",
 | 
			
		||||
          "legendFormat": "Upload",
 | 
			
		||||
          "refId": "B"
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      "timeFrom": null,
 | 
			
		||||
      "timeShift": null,
 | 
			
		||||
      "title": "Speedtest Graph",
 | 
			
		||||
      "type": "timeseries"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "cards": {
 | 
			
		||||
        "cardHSpacing": 2,
 | 
			
		||||
        "cardMinWidth": 5,
 | 
			
		||||
        "cardRound": null,
 | 
			
		||||
        "cardVSpacing": 2
 | 
			
		||||
      },
 | 
			
		||||
      "color": {
 | 
			
		||||
        "cardColor": "#b4ff00",
 | 
			
		||||
        "colorScale": "sqrt",
 | 
			
		||||
        "colorScheme": "interpolateGnYlRd",
 | 
			
		||||
        "defaultColor": "#757575",
 | 
			
		||||
        "exponent": 0.5,
 | 
			
		||||
        "max": 1,
 | 
			
		||||
        "min": 0,
 | 
			
		||||
        "mode": "discrete",
 | 
			
		||||
        "thresholds": [
 | 
			
		||||
          {
 | 
			
		||||
            "$$hashKey": "object:68",
 | 
			
		||||
            "color": "#37872D",
 | 
			
		||||
            "tooltip": "Up",
 | 
			
		||||
            "value": "1"
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            "$$hashKey": "object:72",
 | 
			
		||||
            "color": "#C4162A",
 | 
			
		||||
            "tooltip": "Down",
 | 
			
		||||
            "value": "0"
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
      },
 | 
			
		||||
      "datasource": "prometheus",
 | 
			
		||||
      "fieldConfig": {
 | 
			
		||||
        "defaults": {},
 | 
			
		||||
        "overrides": []
 | 
			
		||||
      },
 | 
			
		||||
      "gridPos": {
 | 
			
		||||
        "h": 9,
 | 
			
		||||
        "w": 12,
 | 
			
		||||
        "x": 12,
 | 
			
		||||
        "y": 9
 | 
			
		||||
      },
 | 
			
		||||
      "highlightCards": true,
 | 
			
		||||
      "id": 14,
 | 
			
		||||
      "legend": {
 | 
			
		||||
        "show": false
 | 
			
		||||
      },
 | 
			
		||||
      "links": [],
 | 
			
		||||
      "nullPointMode": "as empty",
 | 
			
		||||
      "pageSize": 15,
 | 
			
		||||
      "seriesFilterIndex": -1,
 | 
			
		||||
      "statusmap": {
 | 
			
		||||
        "ConfigVersion": "v1"
 | 
			
		||||
      },
 | 
			
		||||
      "targets": [
 | 
			
		||||
        {
 | 
			
		||||
          "expr": "probe_success",
 | 
			
		||||
          "format": "time_series",
 | 
			
		||||
          "interval": "",
 | 
			
		||||
          "intervalFactor": 1,
 | 
			
		||||
          "legendFormat": "{{instance}}",
 | 
			
		||||
          "refId": "A"
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      "title": "Uptime",
 | 
			
		||||
      "tooltip": {
 | 
			
		||||
        "extraInfo": "",
 | 
			
		||||
        "freezeOnClick": true,
 | 
			
		||||
        "items": [],
 | 
			
		||||
        "show": true,
 | 
			
		||||
        "showExtraInfo": false,
 | 
			
		||||
        "showItems": false
 | 
			
		||||
      },
 | 
			
		||||
      "type": "flant-statusmap-panel",
 | 
			
		||||
      "useMax": true,
 | 
			
		||||
      "usingPagination": false,
 | 
			
		||||
      "xAxis": {
 | 
			
		||||
        "show": true
 | 
			
		||||
      },
 | 
			
		||||
      "yAxis": {
 | 
			
		||||
        "maxWidth": -1,
 | 
			
		||||
        "minWidth": -1,
 | 
			
		||||
        "show": true
 | 
			
		||||
      },
 | 
			
		||||
      "yAxisSort": "metrics",
 | 
			
		||||
      "yLabel": {
 | 
			
		||||
        "delimiter": "",
 | 
			
		||||
        "labelTemplate": "",
 | 
			
		||||
        "usingSplitLabel": false
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "aliasColors": {},
 | 
			
		||||
      "bars": false,
 | 
			
		||||
      "dashLength": 10,
 | 
			
		||||
      "dashes": false,
 | 
			
		||||
      "datasource": "prometheus",
 | 
			
		||||
      "fieldConfig": {
 | 
			
		||||
        "defaults": {},
 | 
			
		||||
        "overrides": []
 | 
			
		||||
      },
 | 
			
		||||
      "fill": 1,
 | 
			
		||||
      "fillGradient": 0,
 | 
			
		||||
      "gridPos": {
 | 
			
		||||
        "h": 9,
 | 
			
		||||
        "w": 24,
 | 
			
		||||
        "x": 0,
 | 
			
		||||
        "y": 18
 | 
			
		||||
      },
 | 
			
		||||
      "hiddenSeries": false,
 | 
			
		||||
      "id": 4,
 | 
			
		||||
      "legend": {
 | 
			
		||||
        "avg": false,
 | 
			
		||||
        "current": false,
 | 
			
		||||
        "max": false,
 | 
			
		||||
        "min": false,
 | 
			
		||||
        "show": true,
 | 
			
		||||
        "total": false,
 | 
			
		||||
        "values": false
 | 
			
		||||
      },
 | 
			
		||||
      "lines": true,
 | 
			
		||||
      "linewidth": 1,
 | 
			
		||||
      "links": [],
 | 
			
		||||
      "maxPerRow": 12,
 | 
			
		||||
      "nullPointMode": "null",
 | 
			
		||||
      "options": {
 | 
			
		||||
        "alertThreshold": true
 | 
			
		||||
      },
 | 
			
		||||
      "percentage": false,
 | 
			
		||||
      "pluginVersion": "7.5.6",
 | 
			
		||||
      "pointradius": 5,
 | 
			
		||||
      "points": false,
 | 
			
		||||
      "renderer": "flot",
 | 
			
		||||
      "repeat": "host",
 | 
			
		||||
      "repeatDirection": "h",
 | 
			
		||||
      "seriesOverrides": [],
 | 
			
		||||
      "spaceLength": 10,
 | 
			
		||||
      "stack": false,
 | 
			
		||||
      "steppedLine": false,
 | 
			
		||||
      "targets": [
 | 
			
		||||
        {
 | 
			
		||||
          "expr": "sum(probe_http_duration_seconds) by (instance)",
 | 
			
		||||
          "format": "time_series",
 | 
			
		||||
          "intervalFactor": 1,
 | 
			
		||||
          "legendFormat": "{{instance}}",
 | 
			
		||||
          "refId": "A"
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      "thresholds": [],
 | 
			
		||||
      "timeFrom": null,
 | 
			
		||||
      "timeRegions": [],
 | 
			
		||||
      "timeShift": null,
 | 
			
		||||
      "title": "HTTP Request Duration",
 | 
			
		||||
      "tooltip": {
 | 
			
		||||
        "shared": true,
 | 
			
		||||
        "sort": 0,
 | 
			
		||||
        "value_type": "individual"
 | 
			
		||||
      },
 | 
			
		||||
      "type": "graph",
 | 
			
		||||
      "xaxis": {
 | 
			
		||||
        "buckets": null,
 | 
			
		||||
        "mode": "time",
 | 
			
		||||
        "name": null,
 | 
			
		||||
        "show": true,
 | 
			
		||||
        "values": []
 | 
			
		||||
      },
 | 
			
		||||
      "yaxes": [
 | 
			
		||||
        {
 | 
			
		||||
          "format": "short",
 | 
			
		||||
          "label": null,
 | 
			
		||||
          "logBase": 1,
 | 
			
		||||
          "max": null,
 | 
			
		||||
          "min": null,
 | 
			
		||||
          "show": true
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "format": "short",
 | 
			
		||||
          "label": null,
 | 
			
		||||
          "logBase": 1,
 | 
			
		||||
          "max": null,
 | 
			
		||||
          "min": null,
 | 
			
		||||
          "show": true
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      "yaxis": {
 | 
			
		||||
        "align": false,
 | 
			
		||||
        "alignLevel": null
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
  "refresh": "5m",
 | 
			
		||||
  "schemaVersion": 27,
 | 
			
		||||
  "style": "dark",
 | 
			
		||||
  "tags": [
 | 
			
		||||
    "speedtest",
 | 
			
		||||
    "ping"
 | 
			
		||||
  ],
 | 
			
		||||
  "templating": {
 | 
			
		||||
    "list": []
 | 
			
		||||
  },
 | 
			
		||||
  "time": {
 | 
			
		||||
    "from": "now-7d",
 | 
			
		||||
    "to": "now"
 | 
			
		||||
  },
 | 
			
		||||
  "timepicker": {
 | 
			
		||||
    "refresh_intervals": [
 | 
			
		||||
      "5s",
 | 
			
		||||
      "10s",
 | 
			
		||||
      "30s",
 | 
			
		||||
      "1m",
 | 
			
		||||
      "5m",
 | 
			
		||||
      "15m",
 | 
			
		||||
      "30m",
 | 
			
		||||
      "1h",
 | 
			
		||||
      "2h",
 | 
			
		||||
      "1d"
 | 
			
		||||
    ],
 | 
			
		||||
    "time_options": [
 | 
			
		||||
      "5m",
 | 
			
		||||
      "15m",
 | 
			
		||||
      "1h",
 | 
			
		||||
      "6h",
 | 
			
		||||
      "12h",
 | 
			
		||||
      "24h",
 | 
			
		||||
      "2d",
 | 
			
		||||
      "7d",
 | 
			
		||||
      "30d"
 | 
			
		||||
    ]
 | 
			
		||||
  },
 | 
			
		||||
  "timezone": "browser",
 | 
			
		||||
  "title": "Internet connection",
 | 
			
		||||
  "uid": "o9mIe_Aik",
 | 
			
		||||
  "version": 12
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,540 +0,0 @@
 | 
			
		|||
{
 | 
			
		||||
  "annotations": {
 | 
			
		||||
    "list": [
 | 
			
		||||
      {
 | 
			
		||||
        "builtIn": 1,
 | 
			
		||||
        "datasource": "-- Grafana --",
 | 
			
		||||
        "enable": true,
 | 
			
		||||
        "hide": true,
 | 
			
		||||
        "iconColor": "rgba(0, 211, 255, 1)",
 | 
			
		||||
        "limit": 100,
 | 
			
		||||
        "name": "Annotations & Alerts",
 | 
			
		||||
        "showIn": 0,
 | 
			
		||||
        "type": "dashboard"
 | 
			
		||||
      }
 | 
			
		||||
    ]
 | 
			
		||||
  },
 | 
			
		||||
  "editable": true,
 | 
			
		||||
  "gnetId": null,
 | 
			
		||||
  "graphTooltip": 0,
 | 
			
		||||
  "links": [],
 | 
			
		||||
  "panels": [
 | 
			
		||||
    {
 | 
			
		||||
      "cacheTimeout": null,
 | 
			
		||||
      "colorBackground": false,
 | 
			
		||||
      "colorValue": false,
 | 
			
		||||
      "colors": [
 | 
			
		||||
        "#299c46",
 | 
			
		||||
        "rgba(237, 129, 40, 0.89)",
 | 
			
		||||
        "#d44a3a"
 | 
			
		||||
      ],
 | 
			
		||||
      "datasource": "prometheus",
 | 
			
		||||
      "format": "none",
 | 
			
		||||
      "gauge": {
 | 
			
		||||
        "maxValue": 50,
 | 
			
		||||
        "minValue": 0,
 | 
			
		||||
        "show": true,
 | 
			
		||||
        "thresholdLabels": false,
 | 
			
		||||
        "thresholdMarkers": true
 | 
			
		||||
      },
 | 
			
		||||
      "gridPos": {
 | 
			
		||||
        "h": 9,
 | 
			
		||||
        "w": 6,
 | 
			
		||||
        "x": 0,
 | 
			
		||||
        "y": 0
 | 
			
		||||
      },
 | 
			
		||||
      "id": 8,
 | 
			
		||||
      "interval": null,
 | 
			
		||||
      "links": [],
 | 
			
		||||
      "mappingType": 1,
 | 
			
		||||
      "mappingTypes": [
 | 
			
		||||
        {
 | 
			
		||||
          "name": "value to text",
 | 
			
		||||
          "value": 1
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "name": "range to text",
 | 
			
		||||
          "value": 2
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      "maxDataPoints": 100,
 | 
			
		||||
      "nullPointMode": "connected",
 | 
			
		||||
      "nullText": null,
 | 
			
		||||
      "postfix": "",
 | 
			
		||||
      "postfixFontSize": "50%",
 | 
			
		||||
      "prefix": "",
 | 
			
		||||
      "prefixFontSize": "50%",
 | 
			
		||||
      "rangeMaps": [
 | 
			
		||||
        {
 | 
			
		||||
          "from": "null",
 | 
			
		||||
          "text": "N/A",
 | 
			
		||||
          "to": "null"
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      "sparkline": {
 | 
			
		||||
        "fillColor": "rgba(31, 118, 189, 0.18)",
 | 
			
		||||
        "full": false,
 | 
			
		||||
        "lineColor": "rgb(31, 120, 193)",
 | 
			
		||||
        "show": true
 | 
			
		||||
      },
 | 
			
		||||
      "tableColumn": "",
 | 
			
		||||
      "targets": [
 | 
			
		||||
        {
 | 
			
		||||
          "expr": "speedtest_bits_per_second{direction=\"downstream\"}",
 | 
			
		||||
          "format": "time_series",
 | 
			
		||||
          "intervalFactor": 1,
 | 
			
		||||
          "refId": "A"
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      "thresholds": "25,40",
 | 
			
		||||
      "title": "Download",
 | 
			
		||||
      "type": "singlestat",
 | 
			
		||||
      "valueFontSize": "80%",
 | 
			
		||||
      "valueMaps": [
 | 
			
		||||
        {
 | 
			
		||||
          "op": "=",
 | 
			
		||||
          "text": "N/A",
 | 
			
		||||
          "value": "null"
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      "valueName": "avg"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "cacheTimeout": null,
 | 
			
		||||
      "colorBackground": false,
 | 
			
		||||
      "colorValue": false,
 | 
			
		||||
      "colors": [
 | 
			
		||||
        "#299c46",
 | 
			
		||||
        "rgba(237, 129, 40, 0.89)",
 | 
			
		||||
        "#d44a3a"
 | 
			
		||||
      ],
 | 
			
		||||
      "datasource": "prometheus",
 | 
			
		||||
      "format": "none",
 | 
			
		||||
      "gauge": {
 | 
			
		||||
        "maxValue": 20,
 | 
			
		||||
        "minValue": 0,
 | 
			
		||||
        "show": true,
 | 
			
		||||
        "thresholdLabels": false,
 | 
			
		||||
        "thresholdMarkers": true
 | 
			
		||||
      },
 | 
			
		||||
      "gridPos": {
 | 
			
		||||
        "h": 9,
 | 
			
		||||
        "w": 6,
 | 
			
		||||
        "x": 6,
 | 
			
		||||
        "y": 0
 | 
			
		||||
      },
 | 
			
		||||
      "id": 10,
 | 
			
		||||
      "interval": null,
 | 
			
		||||
      "links": [],
 | 
			
		||||
      "mappingType": 1,
 | 
			
		||||
      "mappingTypes": [
 | 
			
		||||
        {
 | 
			
		||||
          "name": "value to text",
 | 
			
		||||
          "value": 1
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "name": "range to text",
 | 
			
		||||
          "value": 2
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      "maxDataPoints": 100,
 | 
			
		||||
      "nullPointMode": "connected",
 | 
			
		||||
      "nullText": null,
 | 
			
		||||
      "postfix": "",
 | 
			
		||||
      "postfixFontSize": "50%",
 | 
			
		||||
      "prefix": "",
 | 
			
		||||
      "prefixFontSize": "50%",
 | 
			
		||||
      "rangeMaps": [
 | 
			
		||||
        {
 | 
			
		||||
          "from": "null",
 | 
			
		||||
          "text": "N/A",
 | 
			
		||||
          "to": "null"
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      "sparkline": {
 | 
			
		||||
        "fillColor": "rgba(31, 118, 189, 0.18)",
 | 
			
		||||
        "full": false,
 | 
			
		||||
        "lineColor": "rgb(31, 120, 193)",
 | 
			
		||||
        "show": true
 | 
			
		||||
      },
 | 
			
		||||
      "tableColumn": "",
 | 
			
		||||
      "targets": [
 | 
			
		||||
        {
 | 
			
		||||
          "expr": "speedtest_bits_per_second{direction=\"upstream\"}",
 | 
			
		||||
          "format": "time_series",
 | 
			
		||||
          "intervalFactor": 1,
 | 
			
		||||
          "refId": "A"
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      "thresholds": "5,10",
 | 
			
		||||
      "title": "Upload",
 | 
			
		||||
      "type": "singlestat",
 | 
			
		||||
      "valueFontSize": "80%",
 | 
			
		||||
      "valueMaps": [
 | 
			
		||||
        {
 | 
			
		||||
          "op": "=",
 | 
			
		||||
          "text": "N/A",
 | 
			
		||||
          "value": "null"
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      "valueName": "avg"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "cacheTimeout": null,
 | 
			
		||||
      "colorBackground": false,
 | 
			
		||||
      "colorValue": false,
 | 
			
		||||
      "colors": [
 | 
			
		||||
        "#d44a3a",
 | 
			
		||||
        "rgba(237, 129, 40, 0.89)",
 | 
			
		||||
        "#299c46"
 | 
			
		||||
      ],
 | 
			
		||||
      "datasource": "prometheus",
 | 
			
		||||
      "decimals": 2,
 | 
			
		||||
      "format": "ms",
 | 
			
		||||
      "gauge": {
 | 
			
		||||
        "maxValue": 100,
 | 
			
		||||
        "minValue": 0,
 | 
			
		||||
        "show": true,
 | 
			
		||||
        "thresholdLabels": false,
 | 
			
		||||
        "thresholdMarkers": true
 | 
			
		||||
      },
 | 
			
		||||
      "gridPos": {
 | 
			
		||||
        "h": 9,
 | 
			
		||||
        "w": 12,
 | 
			
		||||
        "x": 12,
 | 
			
		||||
        "y": 0
 | 
			
		||||
      },
 | 
			
		||||
      "id": 12,
 | 
			
		||||
      "interval": null,
 | 
			
		||||
      "links": [],
 | 
			
		||||
      "mappingType": 1,
 | 
			
		||||
      "mappingTypes": [
 | 
			
		||||
        {
 | 
			
		||||
          "name": "value to text",
 | 
			
		||||
          "value": 1
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "name": "range to text",
 | 
			
		||||
          "value": 2
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      "maxDataPoints": 100,
 | 
			
		||||
      "nullPointMode": "connected",
 | 
			
		||||
      "nullText": null,
 | 
			
		||||
      "postfix": "",
 | 
			
		||||
      "postfixFontSize": "50%",
 | 
			
		||||
      "prefix": "",
 | 
			
		||||
      "prefixFontSize": "50%",
 | 
			
		||||
      "rangeMaps": [
 | 
			
		||||
        {
 | 
			
		||||
          "from": "null",
 | 
			
		||||
          "text": "N/A",
 | 
			
		||||
          "to": "null"
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      "sparkline": {
 | 
			
		||||
        "fillColor": "rgba(31, 118, 189, 0.18)",
 | 
			
		||||
        "full": false,
 | 
			
		||||
        "lineColor": "rgb(31, 120, 193)",
 | 
			
		||||
        "show": true
 | 
			
		||||
      },
 | 
			
		||||
      "tableColumn": "",
 | 
			
		||||
      "targets": [
 | 
			
		||||
        {
 | 
			
		||||
          "expr": "speedtest_ping",
 | 
			
		||||
          "format": "time_series",
 | 
			
		||||
          "intervalFactor": 1,
 | 
			
		||||
          "refId": "A"
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      "thresholds": "",
 | 
			
		||||
      "title": "speedtest ping",
 | 
			
		||||
      "transparent": false,
 | 
			
		||||
      "type": "singlestat",
 | 
			
		||||
      "valueFontSize": "80%",
 | 
			
		||||
      "valueMaps": [
 | 
			
		||||
        {
 | 
			
		||||
          "op": "=",
 | 
			
		||||
          "text": "N/A",
 | 
			
		||||
          "value": "null"
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      "valueName": "avg"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "aliasColors": {},
 | 
			
		||||
      "bars": false,
 | 
			
		||||
      "dashLength": 10,
 | 
			
		||||
      "dashes": false,
 | 
			
		||||
      "datasource": "prometheus",
 | 
			
		||||
      "fill": 1,
 | 
			
		||||
      "gridPos": {
 | 
			
		||||
        "h": 9,
 | 
			
		||||
        "w": 12,
 | 
			
		||||
        "x": 0,
 | 
			
		||||
        "y": 9
 | 
			
		||||
      },
 | 
			
		||||
      "id": 6,
 | 
			
		||||
      "legend": {
 | 
			
		||||
        "avg": false,
 | 
			
		||||
        "current": false,
 | 
			
		||||
        "max": false,
 | 
			
		||||
        "min": false,
 | 
			
		||||
        "show": true,
 | 
			
		||||
        "total": false,
 | 
			
		||||
        "values": false
 | 
			
		||||
      },
 | 
			
		||||
      "lines": true,
 | 
			
		||||
      "linewidth": 1,
 | 
			
		||||
      "links": [],
 | 
			
		||||
      "nullPointMode": "null",
 | 
			
		||||
      "percentage": false,
 | 
			
		||||
      "pointradius": 5,
 | 
			
		||||
      "points": false,
 | 
			
		||||
      "renderer": "flot",
 | 
			
		||||
      "repeat": null,
 | 
			
		||||
      "seriesOverrides": [],
 | 
			
		||||
      "spaceLength": 10,
 | 
			
		||||
      "stack": false,
 | 
			
		||||
      "steppedLine": false,
 | 
			
		||||
      "targets": [
 | 
			
		||||
        {
 | 
			
		||||
          "expr": "speedtest_bits_per_second{}",
 | 
			
		||||
          "format": "time_series",
 | 
			
		||||
          "intervalFactor": 1,
 | 
			
		||||
          "legendFormat": "{{direction}}",
 | 
			
		||||
          "refId": "A"
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      "thresholds": [],
 | 
			
		||||
      "timeFrom": null,
 | 
			
		||||
      "timeShift": null,
 | 
			
		||||
      "title": "speedtest",
 | 
			
		||||
      "tooltip": {
 | 
			
		||||
        "shared": true,
 | 
			
		||||
        "sort": 0,
 | 
			
		||||
        "value_type": "individual"
 | 
			
		||||
      },
 | 
			
		||||
      "type": "graph",
 | 
			
		||||
      "xaxis": {
 | 
			
		||||
        "buckets": null,
 | 
			
		||||
        "mode": "time",
 | 
			
		||||
        "name": null,
 | 
			
		||||
        "show": true,
 | 
			
		||||
        "values": []
 | 
			
		||||
      },
 | 
			
		||||
      "yaxes": [
 | 
			
		||||
        {
 | 
			
		||||
          "format": "short",
 | 
			
		||||
          "label": null,
 | 
			
		||||
          "logBase": 1,
 | 
			
		||||
          "max": null,
 | 
			
		||||
          "min": null,
 | 
			
		||||
          "show": true
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "format": "short",
 | 
			
		||||
          "label": null,
 | 
			
		||||
          "logBase": 1,
 | 
			
		||||
          "max": null,
 | 
			
		||||
          "min": null,
 | 
			
		||||
          "show": true
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      "yaxis": {
 | 
			
		||||
        "align": false,
 | 
			
		||||
        "alignLevel": null
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "cards": {
 | 
			
		||||
        "cardMinWidth": 5,
 | 
			
		||||
        "cardRound": null,
 | 
			
		||||
        "cardSpacing": 2
 | 
			
		||||
      },
 | 
			
		||||
      "color": {
 | 
			
		||||
        "cardColor": "#b4ff00",
 | 
			
		||||
        "colorScale": "sqrt",
 | 
			
		||||
        "colorScheme": "interpolateGnYlRd",
 | 
			
		||||
        "defaultColor": "#757575",
 | 
			
		||||
        "exponent": 0.5,
 | 
			
		||||
        "mode": "spectrum",
 | 
			
		||||
        "thresholds": []
 | 
			
		||||
      },
 | 
			
		||||
      "data": {
 | 
			
		||||
        "decimals": null,
 | 
			
		||||
        "unitFormat": "short"
 | 
			
		||||
      },
 | 
			
		||||
      "datasource": "prometheus",
 | 
			
		||||
      "gridPos": {
 | 
			
		||||
        "h": 9,
 | 
			
		||||
        "w": 12,
 | 
			
		||||
        "x": 12,
 | 
			
		||||
        "y": 9
 | 
			
		||||
      },
 | 
			
		||||
      "highlightCards": true,
 | 
			
		||||
      "id": 14,
 | 
			
		||||
      "legend": {
 | 
			
		||||
        "show": false
 | 
			
		||||
      },
 | 
			
		||||
      "links": [],
 | 
			
		||||
      "nullPointMode": "as empty",
 | 
			
		||||
      "targets": [
 | 
			
		||||
        {
 | 
			
		||||
          "expr": "probe_success",
 | 
			
		||||
          "format": "time_series",
 | 
			
		||||
          "interval": "",
 | 
			
		||||
          "intervalFactor": 1,
 | 
			
		||||
          "legendFormat": "{{instance}}",
 | 
			
		||||
          "refId": "A"
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      "title": "Panel Title",
 | 
			
		||||
      "tooltip": {
 | 
			
		||||
        "show": true
 | 
			
		||||
      },
 | 
			
		||||
      "type": "flant-statusmap-panel",
 | 
			
		||||
      "useMax": true,
 | 
			
		||||
      "xAxis": {
 | 
			
		||||
        "labelFormat": "%a %m/%d",
 | 
			
		||||
        "minBucketWidthToShowWeekends": 4,
 | 
			
		||||
        "show": true,
 | 
			
		||||
        "showCrosshair": true,
 | 
			
		||||
        "showWeekends": true
 | 
			
		||||
      },
 | 
			
		||||
      "yAxis": {
 | 
			
		||||
        "show": true,
 | 
			
		||||
        "showCrosshair": false
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "aliasColors": {},
 | 
			
		||||
      "bars": false,
 | 
			
		||||
      "dashLength": 10,
 | 
			
		||||
      "dashes": false,
 | 
			
		||||
      "datasource": "prometheus",
 | 
			
		||||
      "fill": 1,
 | 
			
		||||
      "gridPos": {
 | 
			
		||||
        "h": 9,
 | 
			
		||||
        "w": 24,
 | 
			
		||||
        "x": 0,
 | 
			
		||||
        "y": 18
 | 
			
		||||
      },
 | 
			
		||||
      "id": 4,
 | 
			
		||||
      "legend": {
 | 
			
		||||
        "avg": false,
 | 
			
		||||
        "current": false,
 | 
			
		||||
        "max": false,
 | 
			
		||||
        "min": false,
 | 
			
		||||
        "show": true,
 | 
			
		||||
        "total": false,
 | 
			
		||||
        "values": false
 | 
			
		||||
      },
 | 
			
		||||
      "lines": true,
 | 
			
		||||
      "linewidth": 1,
 | 
			
		||||
      "links": [],
 | 
			
		||||
      "minSpan": 2,
 | 
			
		||||
      "nullPointMode": "null",
 | 
			
		||||
      "percentage": false,
 | 
			
		||||
      "pointradius": 5,
 | 
			
		||||
      "points": false,
 | 
			
		||||
      "renderer": "flot",
 | 
			
		||||
      "repeat": "host",
 | 
			
		||||
      "repeatDirection": "h",
 | 
			
		||||
      "seriesOverrides": [],
 | 
			
		||||
      "spaceLength": 10,
 | 
			
		||||
      "stack": false,
 | 
			
		||||
      "steppedLine": false,
 | 
			
		||||
      "targets": [
 | 
			
		||||
        {
 | 
			
		||||
          "expr": "sum(probe_http_duration_seconds) by (instance)",
 | 
			
		||||
          "format": "time_series",
 | 
			
		||||
          "intervalFactor": 1,
 | 
			
		||||
          "legendFormat": "{{instance}}",
 | 
			
		||||
          "refId": "A"
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      "thresholds": [],
 | 
			
		||||
      "timeFrom": null,
 | 
			
		||||
      "timeShift": null,
 | 
			
		||||
      "title": "http duration",
 | 
			
		||||
      "tooltip": {
 | 
			
		||||
        "shared": true,
 | 
			
		||||
        "sort": 0,
 | 
			
		||||
        "value_type": "individual"
 | 
			
		||||
      },
 | 
			
		||||
      "type": "graph",
 | 
			
		||||
      "xaxis": {
 | 
			
		||||
        "buckets": null,
 | 
			
		||||
        "mode": "time",
 | 
			
		||||
        "name": null,
 | 
			
		||||
        "show": true,
 | 
			
		||||
        "values": []
 | 
			
		||||
      },
 | 
			
		||||
      "yaxes": [
 | 
			
		||||
        {
 | 
			
		||||
          "format": "short",
 | 
			
		||||
          "label": null,
 | 
			
		||||
          "logBase": 1,
 | 
			
		||||
          "max": null,
 | 
			
		||||
          "min": null,
 | 
			
		||||
          "show": true
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "format": "short",
 | 
			
		||||
          "label": null,
 | 
			
		||||
          "logBase": 1,
 | 
			
		||||
          "max": null,
 | 
			
		||||
          "min": null,
 | 
			
		||||
          "show": true
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      "yaxis": {
 | 
			
		||||
        "align": false,
 | 
			
		||||
        "alignLevel": null
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
  "schemaVersion": 16,
 | 
			
		||||
  "style": "dark",
 | 
			
		||||
  "tags": [
 | 
			
		||||
    "speedtest",
 | 
			
		||||
    "ping"
 | 
			
		||||
  ],
 | 
			
		||||
  "templating": {
 | 
			
		||||
    "list": []
 | 
			
		||||
  },
 | 
			
		||||
  "time": {
 | 
			
		||||
    "from": "now-24h",
 | 
			
		||||
    "to": "now"
 | 
			
		||||
  },
 | 
			
		||||
  "timepicker": {
 | 
			
		||||
    "refresh_intervals": [
 | 
			
		||||
      "5s",
 | 
			
		||||
      "10s",
 | 
			
		||||
      "30s",
 | 
			
		||||
      "1m",
 | 
			
		||||
      "5m",
 | 
			
		||||
      "15m",
 | 
			
		||||
      "30m",
 | 
			
		||||
      "1h",
 | 
			
		||||
      "2h",
 | 
			
		||||
      "1d"
 | 
			
		||||
    ],
 | 
			
		||||
    "time_options": [
 | 
			
		||||
      "5m",
 | 
			
		||||
      "15m",
 | 
			
		||||
      "1h",
 | 
			
		||||
      "6h",
 | 
			
		||||
      "12h",
 | 
			
		||||
      "24h",
 | 
			
		||||
      "2d",
 | 
			
		||||
      "7d",
 | 
			
		||||
      "30d"
 | 
			
		||||
    ]
 | 
			
		||||
  },
 | 
			
		||||
  "timezone": "browser",
 | 
			
		||||
  "title": "internet connection",
 | 
			
		||||
  "uid": "o9mIe_Aik",
 | 
			
		||||
  "version": 8
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
# config file version
 | 
			
		||||
---
 | 
			
		||||
apiVersion: 1
 | 
			
		||||
 | 
			
		||||
# list of datasources that should be deleted from the database
 | 
			
		||||
| 
						 | 
				
			
			@ -9,42 +9,26 @@ deleteDatasources:
 | 
			
		|||
# list of datasources to insert/update depending
 | 
			
		||||
# whats available in the database
 | 
			
		||||
datasources:
 | 
			
		||||
  # <string, required> name of the datasource. Required
 | 
			
		||||
- name: prometheus
 | 
			
		||||
  # <string, required> datasource type. Required
 | 
			
		||||
  type: prometheus
 | 
			
		||||
  # <string, required> access mode. direct or proxy. Required
 | 
			
		||||
  access: proxy
 | 
			
		||||
  # <int> org id. will default to orgId 1 if not specified
 | 
			
		||||
  orgId: 1
 | 
			
		||||
  # <string> url
 | 
			
		||||
  url: http://prometheus:9090
 | 
			
		||||
  # <string> database password, if used
 | 
			
		||||
  password:
 | 
			
		||||
  # <string> database user, if used
 | 
			
		||||
  user:
 | 
			
		||||
  # <string> database name, if used
 | 
			
		||||
  database:
 | 
			
		||||
  # <bool> enable/disable basic auth
 | 
			
		||||
  basicAuth: true
 | 
			
		||||
  # <string> basic auth username
 | 
			
		||||
  basicAuthUser: admin
 | 
			
		||||
  # <string> basic auth password
 | 
			
		||||
  basicAuthPassword: foobar
 | 
			
		||||
  # <bool> enable/disable with credentials headers
 | 
			
		||||
  withCredentials:
 | 
			
		||||
  # <bool> mark as default datasource. Max one per org
 | 
			
		||||
  isDefault:
 | 
			
		||||
  # <map> fields that will be converted to json and stored in json_data
 | 
			
		||||
  jsonData:
 | 
			
		||||
     graphiteVersion: "1.1"
 | 
			
		||||
     tlsAuth: false
 | 
			
		||||
     tlsAuthWithCACert: false
 | 
			
		||||
  # <string> json object of data that will be encrypted.
 | 
			
		||||
  secureJsonData:
 | 
			
		||||
    tlsCACert: "..."
 | 
			
		||||
    tlsClientCert: "..."
 | 
			
		||||
    tlsClientKey: "..."
 | 
			
		||||
  version: 1
 | 
			
		||||
  # <bool> allow users to edit datasources from the UI.
 | 
			
		||||
  editable: true
 | 
			
		||||
  - name: prometheus
 | 
			
		||||
    type: prometheus
 | 
			
		||||
    access: proxy
 | 
			
		||||
    orgId: 1
 | 
			
		||||
    url: http://prometheus:9090
 | 
			
		||||
    password:
 | 
			
		||||
    user:
 | 
			
		||||
    database:
 | 
			
		||||
    basicAuth: true
 | 
			
		||||
    basicAuthUser: admin
 | 
			
		||||
    basicAuthPassword: foobar
 | 
			
		||||
    withCredentials:
 | 
			
		||||
    isDefault:
 | 
			
		||||
    jsonData:
 | 
			
		||||
      graphiteVersion: "1.1"
 | 
			
		||||
      tlsAuth: false
 | 
			
		||||
      tlsAuthWithCACert: false
 | 
			
		||||
    secureJsonData:
 | 
			
		||||
      tlsCACert: "..."
 | 
			
		||||
      tlsClientCert: "..."
 | 
			
		||||
      tlsClientKey: "..."
 | 
			
		||||
    version: 1
 | 
			
		||||
    editable: true
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,8 +1,3 @@
 | 
			
		|||
- targets:  # url;humanname;routing;switch
 | 
			
		||||
    - http://google.com;google.com;external;internetbox
 | 
			
		||||
    - http://github.com;github.com;external;internetbox
 | 
			
		||||
    - https://blackdata.xam.dk:5001;blackdata.xam.dk;external;internetbox
 | 
			
		||||
    - http://192.168.1.1;internetbox;local;internetbox
 | 
			
		||||
    - http://192.168.1.42;blackdata;local;orbirouter-attic
 | 
			
		||||
    - http://192.168.1.101;orbirouter;local;orbirouter
 | 
			
		||||
 | 
			
		||||
- targets: # url;humanname;routing;switch
 | 
			
		||||
    - http://google.com/;google.com
 | 
			
		||||
    - https://github.com/;github.com
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,40 +1,25 @@
 | 
			
		|||
# my global config
 | 
			
		||||
global:
 | 
			
		||||
  scrape_interval:     15s # By default, scrape targets every 15 seconds.
 | 
			
		||||
  evaluation_interval: 15s # By default, scrape targets every 15 seconds.
 | 
			
		||||
  # scrape_timeout is set to the global default (10s).
 | 
			
		||||
 | 
			
		||||
  # Attach these labels to any time series or alerts when communicating with
 | 
			
		||||
  # external systems (federation, remote storage, Alertmanager).
 | 
			
		||||
  scrape_interval: 15s
 | 
			
		||||
  evaluation_interval: 15s
 | 
			
		||||
  scrape_timeout: 10s
 | 
			
		||||
  external_labels:
 | 
			
		||||
      monitor: 'Alertmanager'
 | 
			
		||||
    monitor: 'Alertmanager'
 | 
			
		||||
 | 
			
		||||
# Load and evaluate rules in this file every 'evaluation_interval' seconds.
 | 
			
		||||
rule_files:
 | 
			
		||||
    - 'alert.rules'
 | 
			
		||||
  # - "first.rules"
 | 
			
		||||
  # - "second.rules"
 | 
			
		||||
  - 'alert.rules'
 | 
			
		||||
 | 
			
		||||
# A scrape configuration containing exactly one endpoint to scrape:
 | 
			
		||||
# Here it's Prometheus itself.
 | 
			
		||||
scrape_configs:
 | 
			
		||||
 | 
			
		||||
  - job_name: 'prometheus'
 | 
			
		||||
 | 
			
		||||
    # Override the global default and scrape targets from this job every 5 seconds.
 | 
			
		||||
    scrape_interval: 5s
 | 
			
		||||
 | 
			
		||||
    static_configs:
 | 
			
		||||
         - targets: ['localhost:9090']
 | 
			
		||||
 | 
			
		||||
      - targets: ['localhost:9090']
 | 
			
		||||
 | 
			
		||||
  - job_name: 'speedtest'
 | 
			
		||||
    metrics_path: /metrics
 | 
			
		||||
    scrape_interval: 15m
 | 
			
		||||
    scrape_timeout: 60s # running speedtest needs time to complete
 | 
			
		||||
    
 | 
			
		||||
    scrape_interval: 10m # TODO: Make this ~60m, we don't need that many
 | 
			
		||||
    scrape_timeout: 60s  # running speedtest needs time to complete
 | 
			
		||||
    static_configs:
 | 
			
		||||
      - targets: ['speedtest:9696']
 | 
			
		||||
      - targets: ['speedtest:9798']
 | 
			
		||||
 | 
			
		||||
  - job_name: 'ping'
 | 
			
		||||
    metrics_path: /probe
 | 
			
		||||
| 
						 | 
				
			
			@ -43,24 +28,16 @@ scrape_configs:
 | 
			
		|||
      module: [http_2xx]  # Look for a HTTP 200 response.
 | 
			
		||||
    file_sd_configs:
 | 
			
		||||
      - files:
 | 
			
		||||
        - pinghosts.yaml
 | 
			
		||||
          - pinghosts.yaml
 | 
			
		||||
    relabel_configs:
 | 
			
		||||
      - source_labels: [__address__]
 | 
			
		||||
        regex: '(.*);(.*);(.*);(.*)'  #first is the url, thus unique for instance
 | 
			
		||||
        regex: '(.*);(.*)'  # first is the url, thus unique for instance
 | 
			
		||||
        target_label: instance
 | 
			
		||||
        replacement: $1
 | 
			
		||||
      - source_labels: [__address__]
 | 
			
		||||
        regex: '(.*);(.*);(.*);(.*)'  #second is humanname to use in charts
 | 
			
		||||
        regex: '(.*);(.*)'  # second is humanname to use in charts
 | 
			
		||||
        target_label: humanname
 | 
			
		||||
        replacement: $2
 | 
			
		||||
      - source_labels: [__address__]
 | 
			
		||||
        regex: '(.*);(.*);(.*);(.*)'  #third state whether this is testing external or internal network
 | 
			
		||||
        target_label: routing
 | 
			
		||||
        replacement: $3
 | 
			
		||||
      - source_labels: [__address__]
 | 
			
		||||
        regex: '(.*);(.*);(.*);(.*)'  #fourth is which switch/router the device is connected to.
 | 
			
		||||
        target_label: switching
 | 
			
		||||
        replacement: $4
 | 
			
		||||
      - source_labels: [instance]
 | 
			
		||||
        target_label: __param_target
 | 
			
		||||
      - target_label: __address__
 | 
			
		||||
| 
						 | 
				
			
			@ -68,9 +45,4 @@ scrape_configs:
 | 
			
		|||
 | 
			
		||||
  - job_name: 'nodeexp'
 | 
			
		||||
    static_configs:
 | 
			
		||||
    - targets: ['nodeexp:9100']
 | 
			
		||||
 | 
			
		||||
  - job_name: 'sonos'
 | 
			
		||||
    static_configs:
 | 
			
		||||
    - targets: ['192.168.1.42:1915']
 | 
			
		||||
    
 | 
			
		||||
      - targets: ['nodeexp:9100']
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue