A comprehensive suite of Hazelcast Grafana dashboards
1.2K
PadoGrid | Catalogs | Manual | FAQ | Releases | Templates | Pods | Kubernetes | Docker | Apps | Quick Start
The padogrid/padogrid-grafana container imports the PadoGrid GemFire Dashboards (PGFD) and PadoGrid Hazelcast Dashboards (PHD) to Grafana. Both PGFD and PHD include a complete and comprehensive suite of dashboards tuned for monitoring multi-cluster production environments. They offer three (3) sets of integrated dashboards for monitoring Single, Dual, and All clusters with support for multiple Prometheus data sources.
The following environment variables are supported.
| Env Variable | Default | Description |
|---|---|---|
| PADOGRID_GRAFANA_PRODUCT | all | Allowed values are gemfire, hazelcast, all. Invalid values default to all. |
| PADOGRID_GRAFANA_PROTOCOL | http | http or https |
| PADOGRID_GRAFANA_HOST | localhost | Grafana host name or address |
| PADOGRID_GRAFANA_PORT | 3000 | Grafana port number |
| PADOGRID_GRAFANA_USER_NAME | admin | Grafana user with admin privileges |
| PADOGRID_GRAFANA_PASSWORD | admin | Grafana user password |
| PADOGRID_GRAFANA_LABEL | job | Prometheus label to filter. Allowed values are job, namespace, or service. For Prometheus running on Kubernetes, this environment variable should be set to namespace or service. All others should be set to job. |
| PADOGRID_GRAFANA_EDITABLE | false | By default, all dashboards are in the read-only mode. Set this enviroment variable to true to make the dashboards editable. |
| PADOGRID_GRAFANA_DATASOURCE_REGEX | /.*/ | By default, all Prometheus data source instances defined in Grafana are included. Set this environment variable to a regex expression to filter data sources. The regex expression must be enclosed in forward-slashes, e.g., /.*/. |
✏️ The PGFD requires GemFire 10.x configured with Prometheus statistics enabled.

The following imports the PGFD dashboards to a local Grafana instance with the URI, http://localhost:3000.
# Import dashboards using default values
docker run --rm --name padogrid-grafana padogrid/padogrid-grafana
# Equivalent to the above command:
docker run --rm --name padogrid-grafana \
--env "PADOGRID_GRAFANA_PRODUCT=gemfire" \
--env "PADOGRID_GRAFANA_PROTOCOL=http" \
--env "PADOGRID_GRAFANA_HOST=localhost" \
--env "PADOGRID_GRAFANA_PORT=3000" \
--env "PADOGRID_GRAFANA_USER_NAME=admin" \
--env "PADOGRID_GRAFANA_PASSWORD=admin" \
--env "PADOGRID_GRAFANA_LABEL=job" \
--env "PADOGRID_GRAFANA_EDITABLE=false" \
--env "PADOGRID_GRAFANA_DATASOURCE_REGEX=/.*/" \
padogrid/padogrid-grafana
The following imports the PGFD dashboards to the Grafana instance reachable by its Kubernetes service and filters the Hazelcast members by the namespace label.
kubectl run padogrid-grafana --image padogrid/padogrid-grafana \
--restart=Never \
--env "PADOGRID_GRAFANA_PRODUCT=gemfire" \
--env "PADOGRID_GRAFANA_PROTOCOL=http" \
--env "PADOGRID_GRAFANA_HOST=grafana.kubectl-helm.svc.cluster.local" \
--env "PADOGRID_GRAFANA_PORT=3000" \
--env "PADOGRID_GRAFANA_USER_NAME=admin" \
--env "PADOGRID_GRAFANA_PASSWORD=admin" \
--env "PADOGRID_GRAFANA_LABEL=namespace" \
--env "PADOGRID_GRAFANA_EDITABLE=false" \
--env "PADOGRID_GRAFANA_DATASOURCE_REGEX=/.*/"
PADOGRID_GRAFANA_HOST is set to the Grafana service name.PADOGRID_GRAFANA_LABEL is set to namespace. This effectively filters all cluster members running in each Kubernetes namespace.Check the padogrid-grafana log.
kubectl logs padogrid-grafana -f
Check the padogrid-grafana pod status
kubectl get pods -w
Output:
NAME READY STATUS RESTARTS AGE
grafana-74fcbcc77d-h5hzx 1/1 Running 0 12h
kubectl-helm-gemfire-0 1/1 Running 0 12h
kubectl-helm-gemfire-1 1/1 Running 0 12h
kubectl-helm-gemfire-2 1/1 Running 0 12h
padogrid-grafana 0/1 Completed 0 38m
prometheus-operator-744c6bb8f9-j9w79 1/1 Running 0 12h
When padogrid-grafana completes, delete the pod. Its sole purpose is to import the dashboards and terminate.
kubectl delete padogrid-grafana

The following imports the PHD dashboards to a local Grafana instance with the URI, http://localhost:3000.
# Import dashboards using default values
docker run --rm --name padogrid-grafana padogrid/padogrid-grafana
# Equivalent to the above command:
docker run --rm --name padogrid-grafana \
--env "PADOGRID_GRAFANA_PRODUCT=hazelcast" \
--env "PADOGRID_GRAFANA_PROTOCOL=http" \
--env "PADOGRID_GRAFANA_HOST=localhost" \
--env "PADOGRID_GRAFANA_PORT=3000" \
--env "PADOGRID_GRAFANA_USER_NAME=admin" \
--env "PADOGRID_GRAFANA_PASSWORD=admin" \
--env "PADOGRID_GRAFANA_LABEL=job" \
--env "PADOGRID_GRAFANA_EDITABLE=false" \
--env "PADOGRID_GRAFANA_DATASOURCE_REGEX=/.*/" \
padogrid/padogrid-grafana
The following imports the PHD dashboards to the Grafana instance reachable by its Kubernetes service and filters the Hazelcast members by the namespace label.
kubectl run padogrid-grafana --image padogrid/padogrid-grafana \
--restart=Never \
--env "PADOGRID_GRAFANA_PRODUCT=hazelcast" \
--env "PADOGRID_GRAFANA_PROTOCOL=http" \
--env "PADOGRID_GRAFANA_HOST=grafana.kubectl-helm.svc.cluster.local" \
--env "PADOGRID_GRAFANA_PORT=3000" \
--env "PADOGRID_GRAFANA_USER_NAME=admin" \
--env "PADOGRID_GRAFANA_PASSWORD=admin" \
--env "PADOGRID_GRAFANA_LABEL=namespace" \
--env "PADOGRID_GRAFANA_EDITABLE=false" \
--env "PADOGRID_GRAFANA_DATASOURCE_REGEX=/.*/"
PADOGRID_GRAFANA_HOST is set to the Grafana service name.PADOGRID_GRAFANA_LABEL is set to namespace. This effectively filters all cluster members running in each Kubernetes namespace.Check the padogrid-grafana log.
kubectl logs padogrid-grafana -f
Check the padogrid-grafana pod status
kubectl get pods -w
Output:
NAME READY STATUS RESTARTS AGE
grafana-74fcbcc77d-h5hzx 1/1 Running 0 12h
kubectl-helm-hazelcast-enterprise-0 1/1 Running 0 12h
kubectl-helm-hazelcast-enterprise-1 1/1 Running 0 12h
kubectl-helm-hazelcast-enterprise-2 1/1 Running 0 12h
kubectl-helm-hazelcast-enterprise-mancenter-0 1/1 Running 0 12h
padogrid-grafana 0/1 Completed 0 38m
prometheus-operator-744c6bb8f9-j9w79 1/1 Running 0 12h
When padogrid-grafana completes, delete the pod. Its sole purpose is to import the dashboards and terminate.
kubectl delete padogrid-grafana
The following imports both PGFD ad PHD dashboards to a local Grafana instance with the URI, http://localhost:3000.
# Import dashboards using default values
docker run --rm --name padogrid-grafana padogrid/padogrid-grafana
# Equivalent to the above command:
docker run --rm --name padogrid-grafana \
--env "PADOGRID_GRAFANA_PRODUCT=all" \
--env "PADOGRID_GRAFANA_PROTOCOL=http" \
--env "PADOGRID_GRAFANA_HOST=localhost" \
--env "PADOGRID_GRAFANA_PORT=3000" \
--env "PADOGRID_GRAFANA_USER_NAME=admin" \
--env "PADOGRID_GRAFANA_PASSWORD=admin" \
--env "PADOGRID_GRAFANA_LABEL=job" \
--env "PADOGRID_GRAFANA_EDITABLE=false" \
--env "PADOGRID_GRAFANA_DATASOURCE_REGEX=/.*/" \
padogrid/padogrid-grafana
The following imports the both PGFD and PHD dashboards to the Grafana instance reachable by its Kubernetes service and filters the Hazelcast members by the namespace label.
kubectl run padogrid-grafana --image padogrid/padogrid-grafana \
--restart=Never \
--env "PADOGRID_GRAFANA_PRODUCT=hazelcast" \
--env "PADOGRID_GRAFANA_PROTOCOL=http" \
--env "PADOGRID_GRAFANA_HOST=grafana.kubectl-helm.svc.cluster.local" \
--env "PADOGRID_GRAFANA_PORT=3000" \
--env "PADOGRID_GRAFANA_USER_NAME=admin" \
--env "PADOGRID_GRAFANA_PASSWORD=admin" \
--env "PADOGRID_GRAFANA_LABEL=namespace" \
--env "PADOGRID_GRAFANA_EDITABLE=false" \
--env "PADOGRID_GRAFANA_DATASOURCE_REGEX=/.*/"
PADOGRID_GRAFANA_HOST is set to the Grafana service name.PADOGRID_GRAFANA_LABEL is set to namespace. This effectively filters all cluster members running in each Kubernetes namespace.
PadoGrid | Catalogs | Manual | FAQ | Releases | Templates | Pods | Kubernetes | Docker | Apps | Quick Start
Content type
Image
Digest
sha256:7004c1196…
Size
218.6 MB
Last updated
over 1 year ago
docker pull padogrid/padogrid-grafana