Sign inSign up

padogrid/padogrid-grafana

By padogrid

Updated over 1 year ago

A comprehensive suite of Hazelcast Grafana dashboards

Image
Data science
Monitoring & observability
Web analytics
0

1.2K

padogrid/padogrid-grafana repository overview

PadoGrid PadoGrid | Catalogs | Manual | FAQ | Releases | Templates | Pods | Kubernetes | Docker | Apps | Quick Start


Table of Contents

1. Introduction

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.

1.1. Environment Variables

The following environment variables are supported.

Env VariableDefaultDescription
PADOGRID_GRAFANA_PRODUCTallAllowed values are gemfire, hazelcast, all. Invalid values default to all.
PADOGRID_GRAFANA_PROTOCOLhttphttp or https
PADOGRID_GRAFANA_HOSTlocalhostGrafana host name or address
PADOGRID_GRAFANA_PORT3000Grafana port number
PADOGRID_GRAFANA_USER_NAMEadminGrafana user with admin privileges
PADOGRID_GRAFANA_PASSWORDadminGrafana user password
PADOGRID_GRAFANA_LABELjobPrometheus 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_EDITABLEfalseBy 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., /.*/.

2. GemFire

✏️ The PGFD requires GemFire 10.x configured with Prometheus statistics enabled.

PadoGrid GemFire Dashboards

2.1. GemFire: Docker Example

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
2.2. GemFire: Kubernetes Example

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.
2.3. GemFire: Verifying Dashboard Installation

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

3. Hazelcast

PadoGrid Hazelcast Dashboards

3.1. Hazelcast: Docker Example

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
3.2. Hazelcast: Kubernetes Example

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.
3.3. Hazelcast: Verifying Dashboard Installation

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

4. All (GemFire and Hazelcast)
4.1. All: Docker Example

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
4.2. All: Kubernetes Example

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 PadoGrid | Catalogs | Manual | FAQ | Releases | Templates | Pods | Kubernetes | Docker | Apps | Quick Start

Tag summary

Content type

Image

Digest

sha256:7004c1196

Size

218.6 MB

Last updated

over 1 year ago

docker pull padogrid/padogrid-grafana