Set up a GEM instance

Create a Grafana Enterprise Metrics instance:

Create an instance (or in Cortex terms, a tenant):

  1. Navigate to Grafana Metrics Enterprise > Instances.

  2. Click on Create new instance.

  3. Choose a name for this very instance. For demonstration purposes, use the name dev-instance.

  4. Select the cluster.

  5. Click Create instance.

create-instance

Create an access policy

Create a data source access policy and token, which are used by Grafana Enterprise itself to access the metrics in the instance named dev-instance:

  1. Navigate to Grafana Enterprise Metrics > Access policies.

  2. Click Create new access policy.

  3. Choose a name for the policy. For demonstration purposes, use dev-read-write-policy.

  4. Enable the scope metrics:read and metrics:write.

  5. Select the instance dev-instance.

  6. Click on Create. create-ap

  7. From the newly created access policy, click + Add token.

  8. Name the token dev-token, and click on Create.

  9. In the next window, copy the token.

You can add the following example of a remote-write configuration to your Prometheus or Grafana Cloud Agent configuration files:

remote_write:
  - url: http://metrics-enterprise/api/v1/push
    basic_auth:
      username: dev-instance
      password: ZGV2LXJlYWQtd3JpdGVyLXBvbGljeS1kZW1vLXRva2VuOjY/ezduMTVhJDQvPGMvLzQ1SzgsJjFbMQ==
## Setup remote-write to your instance

To enable writes to your cluster, add the above remote-write configuration snippet to the configuration file of an existing Prometheus or Grafana Cloud Agent. If you do not have an existing metrics collector [you can get started with the Grafana Cloud Agent.](https://github.com/grafana/agent/blob/master/docs/getting-started.md)

An example agent configuration would be:

```yaml
server:
  log_level: info
  http_listen_port: 8081

prometheus:
  wal_directory: /tmp/agent
  global:
    scrape_interval: 5s
  configs:
    - name: default
      scrape_configs:
        - job_name: metrics-enterprise
          static_configs:
            - targets: ["localhost:8080"]
        - job_name: agent
          static_configs:
            - targets: ["localhost:8081"]

integrations:
  agent:
    enabled: true
  node_exporter:
    enabled: true
  prometheus_remote_write:
    - url: http://<gme-hostname>/api/v1/push
      basic_auth:
        username: dev-instance
        password: ZGV2LXJlYWQtd3JpdGVyLXBvbGljeS1kZW1vLXRva2VuOjY/ezduMTVhJDQvPGMvLzQ1SzgsJjFbMQ==

Setup your instance as a Grafana datasource

Following that we can use this access policy and token to create a new datasource in Grafana:

  1. Navigate to Configuration ≫ Data Sources.

  2. Click on Add new data source.

  3. Select Prometheus.

  4. Set the URL to http://<gme-host>/prometheus.

  5. Enable Basic Auth and use User dev-instance and as Password the token from your clipboard.

  6. Click Save & Test.

create-datasource

Visualize your data

Once you have created a datasource you should now be able to visualize your metrics in the Grafana Explore page.

visualize