Wingbits
Wingbits - English
Wingbits - English
  • Introduction
    • What is Wingbits?
    • Who can use Wingbits Data?
    • Terminology
    • For the DePin Crew
    • Official Wingbits Channels
    • Our Plan
    • How to get involved
  • rewards
    • How to maximize rewards
  • Get Started
    • Hardware needed
      • HYFIX Hardware Setup
      • Wingbits Onboarding
      • HYFIX Hardware FAQ
    • How to claim your station location
    • Add wallet address to your account
    • Enable devnet on wallet apps
      • Phantom
      • Solflare
    • Monitor with Grafana cloud
  • Site Info
    • Change Password
  • BYOD (DIY) Station Info
    • BYOD Stations
      • Hardware needed
      • Hardware suggestions
      • GeoSigner FAQ
      • Setup steps guide
      • Installing new client
      • Install GeoSigner
      • Debug your station
      • Install wb-config tool
      • Theoretical range of coverage
  • Project
    • Wingbits Litepaper
    • Wingbits Roadmap
    • Wingbits FAQ
    • Distributors of approved hardware
    • Wingbits Approved Hardware Program
Powered by GitBook
On this page
  • Prerequisites
  • Step 1: Install Grafana Alloy
  • Step 2: Configure Metrics Collection
  • Step 3: Create Dashboard
  1. Get Started

Monitor with Grafana cloud

PreviousSolflareNextChange Password

Last updated 12 hours ago

This guide will help you set up monitoring for your Wingbits clients using Grafana Cloud.

Prerequisites

  • A Grafana Cloud account (free tier available at )

Step 1: Install Grafana Alloy

Grafana Alloy is a collector that will gather metrics from your Wingbits clients.

  1. Go to https://{your-grafana-account}.grafana.net/a/grafana-collector-app/alloy

  2. Follow the installation instructions

  3. Enable Remote Configuration during setup

Step 2: Configure Metrics Collection

  1. Wait a few minutes for your server to appear under Collector->Fleet Management

  2. Select Remote Configuration and click Create Configuration Pipeline

  3. Choose Custom Configuration

  4. Paste this configuration (replace the IPs with your Wingbits clients):

prometheus.scrape "wingbits_hosts" {
    targets = [
        {__address__ = "192.168.10.1:8088", alias = "station1"},
        {__address__ = "192.168.10.2:8088", alias = "station2"},
    ]
    forward_to = [prometheus.remote_write.default.receiver]
}

prometheus.remote_write "default" {
    endpoint {
        url = sys.env("GCLOUD_HOSTED_METRICS_URL")
        basic_auth {
            username = sys.env("GCLOUD_HOSTED_METRICS_ID")
            password = sys.env("GCLOUD_RW_API_KEY")
        }
    }
}
  1. Click Test Configuration Pipeline

  2. Select matching attributes (e.g., os=linux)

  3. Save the configuration

Step 3: Create Dashboard

  1. Go to Dashboards → New → Import

  2. Paste the dashboard JSON below

  3. Save and view your metrics

{
  "annotations": {
    "list": [
      {
        "builtIn": 1,
        "datasource": {
          "type": "grafana",
          "uid": "-- Grafana --"
        },
        "enable": true,
        "hide": true,
        "iconColor": "rgba(0, 211, 255, 1)",
        "name": "Annotations & Alerts",
        "type": "dashboard"
      }
    ]
  },
  "editable": true,
  "fiscalYearStartMonth": 0,
  "graphTooltip": 0,
  "id": 27,
  "links": [],
  "panels": [
    {
      "datasource": {
        "type": "prometheus",
        "uid": "grafanacloud-prom"
      },
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "palette-classic"
          },
          "custom": {
            "axisBorderShow": false,
            "axisCenteredZero": false,
            "axisColorMode": "text",
            "axisLabel": "",
            "axisPlacement": "auto",
            "barAlignment": 0,
            "barWidthFactor": 0.6,
            "drawStyle": "line",
            "fillOpacity": 0,
            "gradientMode": "none",
            "hideFrom": {
              "legend": false,
              "tooltip": false,
              "viz": false
            },
            "insertNulls": false,
            "lineInterpolation": "linear",
            "lineWidth": 1,
            "pointSize": 5,
            "scaleDistribution": {
              "type": "linear"
            },
            "showPoints": "auto",
            "spanNulls": false,
            "stacking": {
              "group": "A",
              "mode": "none"
            },
            "thresholdsStyle": {
              "mode": "off"
            }
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green"
              },
              {
                "color": "red",
                "value": 80
              }
            ]
          }
        },
        "overrides": []
      },
      "gridPos": {
        "h": 8,
        "w": 12,
        "x": 0,
        "y": 0
      },
      "id": 1,
      "options": {
        "legend": {
          "calcs": [],
          "displayMode": "list",
          "placement": "bottom",
          "showLegend": true
        },
        "tooltip": {
          "hideZeros": false,
          "mode": "single",
          "sort": "none"
        }
      },
      "pluginVersion": "12.0.0-85820.patch2-86140",
      "targets": [
        {
          "adhocFilters": [],
          "datasource": {
            "type": "prometheus",
            "uid": "grafanacloud-prom"
          },
          "disableTextWrap": false,
          "editorMode": "code",
          "expr": "sum by(alias) (rate(wingbits_readsb_received_total[$__rate_interval]))",
          "fromExploreMetrics": true,
          "fullMetaSearch": false,
          "includeNullMetadata": true,
          "instant": true,
          "interval": "",
          "legendFormat": "__auto",
          "range": true,
          "refId": "A",
          "useBackend": false
        }
      ],
      "title": "readsb recieved",
      "type": "timeseries"
    },
    {
      "datasource": {
        "type": "prometheus",
        "uid": "grafanacloud-prom"
      },
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "palette-classic"
          },
          "custom": {
            "axisBorderShow": false,
            "axisCenteredZero": false,
            "axisColorMode": "text",
            "axisLabel": "",
            "axisPlacement": "auto",
            "barAlignment": 0,
            "barWidthFactor": 0.6,
            "drawStyle": "line",
            "fillOpacity": 0,
            "gradientMode": "none",
            "hideFrom": {
              "legend": false,
              "tooltip": false,
              "viz": false
            },
            "insertNulls": false,
            "lineInterpolation": "linear",
            "lineWidth": 1,
            "pointSize": 5,
            "scaleDistribution": {
              "type": "linear"
            },
            "showPoints": "auto",
            "spanNulls": false,
            "stacking": {
              "group": "A",
              "mode": "none"
            },
            "thresholdsStyle": {
              "mode": "off"
            }
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green"
              },
              {
                "color": "red",
                "value": 80
              }
            ]
          }
        },
        "overrides": []
      },
      "gridPos": {
        "h": 8,
        "w": 12,
        "x": 12,
        "y": 0
      },
      "id": 2,
      "options": {
        "legend": {
          "calcs": [],
          "displayMode": "list",
          "placement": "bottom",
          "showLegend": true
        },
        "tooltip": {
          "hideZeros": false,
          "mode": "single",
          "sort": "none"
        }
      },
      "pluginVersion": "12.0.0-85820.patch2-86140",
      "targets": [
        {
          "adhocFilters": [],
          "datasource": {
            "type": "prometheus",
            "uid": "grafanacloud-prom"
          },
          "disableTextWrap": false,
          "editorMode": "code",
          "expr": "sum by(alias) (rate(wingbits_server_sent_total[$__rate_interval]))",
          "fromExploreMetrics": true,
          "fullMetaSearch": false,
          "includeNullMetadata": true,
          "instant": true,
          "interval": "",
          "legendFormat": "__auto",
          "range": true,
          "refId": "A",
          "useBackend": false
        }
      ],
      "title": "server sent",
      "type": "timeseries"
    }
  ],
  "preload": false,
  "schemaVersion": 41,
  "tags": [],
  "templating": {
    "list": []
  },
  "time": {
    "from": "now-5m",
    "to": "now"
  },
  "timepicker": {},
  "timezone": "browser",
  "title": "wingbits",
  "uid": "0681a362-4b83-45ac-af58-4eecb1f84034",
  "version": 2
}

Your dashboard will now show two graphs:

  • Readsb received: Shows the rate of data received by your Wingbits clients

  • Server sent: Shows the rate of data sent by your server

grafana.com