> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gcore.com/llms.txt
> Use this file to discover all available pages before exploring further.

# View Edge Network statistics in Grafana

The Gcore Platform-EN data source connects Grafana to Edge Network statistics through a single plugin and query editor. Select a service — CDN, DNS, FastEdge, or WAAP — then build time-series panels from the matching Gcore APIs. Grafana 12.0.0 or higher and an API token are required.

<Warning>
  The previous CDN-only plugin (`cdn-stats` / [cdn-stats-datasource-plugin](https://github.com/G-Core/cdn-stats-datasource-plugin)) is deprecated as of **July 25, 2026**. Migrate dashboards to **Gcore Platform-EN** before that date.
</Warning>

Supported services:

* **CDN** — delivery traffic, bandwidth, cache efficiency, and request statistics
* **DNS** — authoritative DNS traffic per zone and record type
* **FastEdge** — application latency and performance metrics
* **WAAP** — web application and API protection traffic and request analytics

## Download and install the plugin

Install the unified plugin from the [GitHub repository](https://github.com/G-Core/gcore-stats-datasource-plugin), then restart Grafana so it can load the data source.

1. Download the latest [gcore-stats-datasource-plugin.zip](https://github.com/G-Core/gcore-stats-datasource-plugin/raw/main/release/gcore-stats-datasource-plugin.zip) from the repository `release` folder.

2. Extract the archive into the Grafana plugins directory. Default locations:

   * **Linux/macOS:** `/var/lib/grafana/plugins`
   * **Windows:** `C:\Program Files\GrafanaLabs\grafana\data\plugins`

   The plugin folder name must be `gcore-stats-datasource-plugin`.

3. If Grafana blocks unsigned plugins, allow this plugin ID in the Grafana configuration file (`custom.ini` or `grafana.ini`):

   ```ini theme={null}
   [plugins]
   allow_loading_unsigned_plugins = gcore-stats-datasource-plugin
   ```

4. [Restart Grafana](https://grafana.com/docs/grafana/latest/setup-grafana/restart-grafana/) and sign in.

## Configure the data source

After installation, add **Gcore Platform-EN** as a data source and authenticate it with a Gcore API token.

1. In the Grafana main menu, navigate to **Connections** > **Data sources**.

2. Click **Add new data source**.

3. Search for `Gcore` and select **Gcore Platform-EN**.

4. Configure the connection fields:

   * **URL** — leave empty to use the default host, or enter a hostname only with no scheme or path — `api.gcore.com`.
   * **API key** — paste an [API token](/account-settings/api-tokens) from the Gcore Customer Portal (**Profile** > **API tokens** > **Create**). The raw token is enough; the plugin adds the `APIKey` prefix when needed. A value that already includes `APIKey` or `Bearer` is also accepted.

5. Click **Save & Test**.

A successful test confirms authentication with the account name. If the test fails, verify the token and that the URL is a hostname only.

## Configure a dashboard

With the data source connected, create a panel and pick the Edge Network service to query.

1. In the Grafana main menu, click **+** > **Dashboard**, then **Add visualization**.

2. In the data source dropdown, select **Gcore Platform-EN**.

3. In the query editor, under **Edge Network**, select the **Service**: **CDN**, **DNS**, **FastEdge**, or **WAAP**. The fields below update for that service.

4. Configure the service-specific query fields, then click **Apply** to add the panel.

5. Click **Save dashboard**, enter a name, and click **Save**.

The following sections describe the query fields for each service.

### CDN

CDN queries cover delivery traffic, cache efficiency, and request or response trends. Metrics, granularity, and grouping match the CDN statistics API.

**Metrics**

| Metric in the plugin                                               | Description                                                                                                                                                     |
| ------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `total_bytes`                                                      | Total traffic volume: origin to CDN or [Shielding](/cdn/cdn-resource-options/general/enable-and-configure-origin-shielding), Shielding to CDN, and CDN to users |
| `cache_hit_traffic_ratio`                                          | Share of cached traffic: `1 - (origin or Shielding traffic / CDN-to-user traffic)`                                                                              |
| `sent_bytes`                                                       | Edges traffic: Shielding to CDN plus CDN to users                                                                                                               |
| `shield_bytes`                                                     | Traffic from Shielding to CDN                                                                                                                                   |
| `upstream_bytes`                                                   | Origin traffic: origin to CDN or origin to Shielding                                                                                                            |
| `requests`                                                         | Number of requests to the CDN                                                                                                                                   |
| `responses_2xx`, `responses_3xx`, `responses_4xx`, `responses_5xx` | Response counts by status class                                                                                                                                 |
| `bandwidth`                                                        | Bandwidth derived from total traffic                                                                                                                            |
| `cache_hit_requests_ratio`                                         | Share of responses served from cache                                                                                                                            |
| `shield_traffic_ratio`                                             | Shielding efficiency: `(Shielding-to-CDN traffic - origin-to-Shielding traffic) / Shielding-to-CDN traffic`                                                     |
| `image_processed`                                                  | Number of processed images                                                                                                                                      |

**Granularity:** `5m`, `15m`, `1h`, or `1d`.

**Group by:** `resource`, `client`, `region`, `country`, `dc` (data center), or `vhost` (custom domain). Multiple groupings can be selected.

**Filters (comma-separated):** optional **Vhosts**, **Resources**, **Clients**, **Regions**, and **Countries** fields narrow the series.

**Legend Format:** by default the legend uses the group-by values and metric name. Customize it with placeholders in double curly braces that match the selected grouping — <code>Traffic — \{\{resource}}</code>.

### DNS

DNS queries show authoritative traffic across zones and record types so query volume and load can be monitored per zone.

* **Zone** — a specific zone, or **All Zones**
* **Granularity** — `5m`, `10m`, `15m`, `30m`, `1h`, `1.5h`, `2h45m`, or `24h`
* **Record type** — `ALL`, `A`, `AAAA`, `NS`, `CNAME`, `MX`, `TXT`, `SVCB`, or `HTTPS`
* **Legend Format** — optional series label template

### FastEdge

FastEdge queries expose application duration metrics so latency can be compared across apps and networks.

* **App** — a specific application, or **All**
* **Metric** — `avg`, `min`, `max`, `median`, `perc75`, or `perc90`
* **Step** — sampling interval in seconds
* **Network** — optional network name filter
* **Legend Format** — optional series label template

### WAAP

WAAP queries surface protection traffic and request volume for protected domains over time.

* **Metric** — `total_requests` or `total_bytes`
* **Granularity** — `1h` or `1d`
* **Legend Format** — optional series label template

## Dashboard variables

Dashboard variables can drive CDN filters so the same panel switches between resources, clients, or other dimensions without editing the query.

1. Open dashboard settings (gear icon), go to **Variables**, and click **Add variable**.

2. Configure the variable. For CDN resource filtering:
   * **Name** — variable name used in the query
   * **Query type / Values for** — select the CDN dimension exposed by the plugin (`resource`, `client`, `vhost`, `region`, `country`, or `datacenter`)
   * Optional **Sort** and **Selection options** (**Multi-value**, **Include All option**)

3. Return to the dashboard and enter the variable in the matching CDN filter field with a `$` prefix — `$resource` in **Resources**.

4. Save the dashboard.

## Grafana Alerting

Because Gcore Platform-EN is a backend data source with alerting enabled, panel queries can back [Grafana Alerting](https://grafana.com/docs/grafana/latest/alerting/) rules. Build a CDN, DNS, FastEdge, or WAAP query, create an alert rule from it, and use Grafana expressions (Reduce, Math, Threshold) to turn the time series into a condition.
