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

# Grafana

> Connect Grafana to CloudThinker for dashboard integration, metric analysis, and unified observability

Connect your Grafana instance to enable CloudThinker agents to access dashboards, query metrics, and reference visualizations during analysis.

***

## Supported Platforms

| Platform               | Support      |
| ---------------------- | ------------ |
| **Grafana OSS**        | 9.x, 10.x    |
| **Grafana Enterprise** | All versions |
| **Grafana Cloud**      | All tiers    |

***

## Setup

<Steps>
  <Step title="Open Grafana">
    Navigate to your Grafana instance and sign in with admin access.
  </Step>

  <Step title="Navigate to Service Accounts">
    Go to **Administration → Users and access → Service Accounts**.
  </Step>

  <Step title="Create Service Account">
    Click **Add service account** and enter:

    * **Name**: `cloudthinker-readonly`
    * **Role**: Select **Viewer**

    Click **Create** to create the service account.
  </Step>

  <Step title="Generate Token">
    On your new service account page:

    1. Click **Add service account token**
    2. Enter a token name (e.g., `cloudthinker-token`)
    3. Optionally set an expiration date
    4. Click **Generate token**
    5. **Immediately copy the token** (it won't be shown again)
  </Step>

  <Step title="Add Connection in CloudThinker">
    Navigate to **Connections → Grafana** and enter:

    * **Grafana URL**: Your instance URL (e.g., `https://grafana.your-domain.com`)
    * **Service Account Token**: The token you just copied
  </Step>
</Steps>

<Warning>
  Copy the service account token immediately after generation. Grafana will not show it again, and you'll need to create a new token if lost.
</Warning>

***

## Connection Details

| Field                                | Description                         | Example                             |
| ------------------------------------ | ----------------------------------- | ----------------------------------- |
| **GRAFANA\_URL**                     | Your Grafana instance URL           | `https://your-instance.grafana.net` |
| **GRAFANA\_SERVICE\_ACCOUNT\_TOKEN** | The generated service account token | `glsa_xxxxx...`                     |

***

## Required Permissions

### Minimum (Viewer Role)

* View dashboards
* Query data sources
* View annotations
* Access folder contents

### Recommended (Editor Role)

All Viewer permissions, plus:

* Create annotations
* Save dashboard snapshots

***

## Agent Capabilities

Once connected, agents can:

| Capability             | Description                               |
| ---------------------- | ----------------------------------------- |
| **Dashboard Access**   | Reference existing dashboards in analysis |
| **Metric Queries**     | Query data sources through Grafana        |
| **Annotation Reading** | Access dashboard annotations for context  |
| **Alert Status**       | Check Grafana alerting rules status       |

### Example Prompts

```bash theme={null}
@alex check the AWS cost dashboard for anomalies
@kai reference the Kubernetes cluster dashboard
@tony query database metrics from the Grafana data source
```

***

## Supported Data Sources

CloudThinker can query through Grafana's configured data sources:

| Data Source   | Query Support      |
| ------------- | ------------------ |
| Prometheus    | PromQL queries     |
| InfluxDB      | InfluxQL / Flux    |
| Elasticsearch | Lucene / KQL       |
| CloudWatch    | CloudWatch metrics |
| Loki          | LogQL queries      |

***

## Troubleshooting

<Accordion title="Connection failed">
  * Verify Grafana URL is accessible
  * Check SSL certificate is valid
  * Ensure no proxy is blocking the connection
  * Confirm Grafana is running
</Accordion>

<Accordion title="Authentication failed">
  * Verify service account token is correct
  * Check token hasn't expired
  * Ensure service account is active
  * Confirm no IP restrictions on the account
</Accordion>

<Accordion title="Token expired">
  * Navigate to **Administration → Service Accounts**
  * Select the CloudThinker service account
  * Generate a new token
  * Update the token in CloudThinker connection settings
</Accordion>

<Accordion title="Cannot access dashboards">
  * Verify service account has Viewer role
  * Check folder permissions include the service account
  * Ensure dashboards aren't in restricted folders
</Accordion>

***

## Security Best Practices

* **Viewer role only** - Never grant Editor or Admin roles
* **Token expiration** - Set appropriate expiration on tokens
* **Token rotation** - Rotate tokens every 90 days
* **IP restrictions** - Consider limiting access to CloudThinker IPs
* **Audit logs** - Enable Grafana audit logging

***

## Related

<CardGroup cols={2}>
  <Card title="Elasticsearch Connection" icon="https://mintcdn.com/cloudthinker/aLd-ttc-SCW-aFky/images/icons/elasticsearch.svg?fit=max&auto=format&n=aLd-ttc-SCW-aFky&q=85&s=c7389cfcd0bc8d303aeeb68bd19199ca" href="/guide/connections/elasticsearch" width="24" height="24" data-path="images/icons/elasticsearch.svg">
    Connect log data source
  </Card>

  <Card title="AWS Connection" icon="https://mintcdn.com/cloudthinker/aLd-ttc-SCW-aFky/images/icons/aws.svg?fit=max&auto=format&n=aLd-ttc-SCW-aFky&q=85&s=45d526a3e9345214c0345f277da2e829" href="/guide/connections/aws" width="24" height="24" data-path="images/icons/aws.svg">
    Connect CloudWatch metrics
  </Card>
</CardGroup>
