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

<AgentInstructions>

## Submitting Feedback

If you encounter incorrect, outdated, or confusing documentation on this page, submit feedback:

POST https://docs.chainstack.com/feedback

```json
{
  "path": "/docs/self-hosted/monitoring",
  "feedback": "Description of the issue"
}
```

Only submit feedback when you have something specific and actionable to report.

</AgentInstructions>

# Monitoring

> Use the integrated Grafana and Prometheus observability stack in Chainstack Self-Hosted to monitor node health, sync status, and resource utilization.

Chainstack Self-Hosted ships with an optional integrated observability stack deployed inside the `control-panel` namespace alongside the Control Panel itself. No additional configuration is required.

## Stack components

| Component                           | Pod prefix                                     | Purpose                                  |
| ----------------------------------- | ---------------------------------------------- | ---------------------------------------- |
| Grafana                             | `cp-grafana`                                   | Dashboards and visualization             |
| VictoriaMetrics (single-node)       | `vmsingle-cp-victoria-metrics-k8s-stack`       | Metrics storage                          |
| VMAgent                             | `vmagent-cp-victoria-metrics-k8s-stack`        | Metrics scraping                         |
| VMAlertmanager                      | `vmalertmanager-cp-victoria-metrics-k8s-stack` | Alerting                                 |
| VictoriaMetrics operator            | `cp-victoria-metrics-operator`                 | Manages VictoriaMetrics custom resources |
| Chainstack blockchain-node-exporter | `cp-blockchain-node-exporter`                  | Chain-specific health signals            |
| Prometheus node exporter            | `cp-prometheus-node-exporter`                  | Host-level metrics                       |
| kube-state-metrics                  | `cp-kube-state-metrics`                        | Kubernetes resource metrics              |

## Accessing Grafana

The Grafana service (`cp-grafana`) is a ClusterIP service on port 80. Expose it the same way as the Control Panel.

### Port forward (testing)

```bash theme={"system"}
kubectl port-forward svc/cp-grafana 3000:80 -n control-panel --address 0.0.0.0
```

Then open `http://<SERVER-IP>:3000` in your browser.

### LoadBalancer (production)

```bash theme={"system"}
kubectl expose service cp-grafana --type=LoadBalancer --name=cp-grafana-external -n control-panel
kubectl get svc cp-grafana-external -n control-panel
```

### NodePort

```bash theme={"system"}
kubectl expose service cp-grafana --type=NodePort --name=cp-grafana-nodeport -n control-panel
```

## Grafana credentials

Grafana credentials are auto-generated during installation. At the end of the installation, `cpctl` displays the retrieval command. The Grafana username is `admin`. To retrieve the password:

```bash theme={"system"}
yq '.grafana.adminPassword' ~/.config/cp-suite/values/cp-control-panel-*.yaml
```

## Dashboards

Grafana ships with pre-built dashboards covering:

* Ethereum node health — sync status, peer count, and client-specific signals from the Chainstack blockchain-node-exporter
* Kubernetes infrastructure — pod status, resource utilization, and persistent volume metrics from kube-state-metrics and the Prometheus node exporter

## Disabling monitoring

During installation, the installer prompts you to configure the monitoring stack. Select option **\[3] Skip monitoring** to skip it.

You can also skip it non-interactively with `--disable-monitoring`:

```bash theme={"system"}
cpctl install -s STORAGE_CLASS_NAME --disable-monitoring
```

Skipping monitoring removes all observability components. The Control Panel itself is unaffected.
