@@ -199,6 +199,36 @@ echo -e "\n${YELLOW}Waiting for all pods to be ready...${NC}"
199199kubectl wait --for=condition=ready pod --all -n observability --timeout=300s
200200echo -e " ${GREEN} ✓ All pods are ready${NC} "
201201
202+ # Import Grafana dashboards
203+ echo -e " \n${YELLOW} Importing Grafana dashboards...${NC} "
204+ SCRIPT_DIR=" $( cd " $( dirname " ${BASH_SOURCE[0]} " ) " && pwd) "
205+
206+ if [ -f " $SCRIPT_DIR /jvm-metrics-dashboard.json" ]; then
207+ kubectl create configmap jvm-metrics-dashboard \
208+ --from-file=" $SCRIPT_DIR /jvm-metrics-dashboard.json" \
209+ -n observability \
210+ --dry-run=client -o yaml | \
211+ kubectl label --dry-run=client --local -f - grafana_dashboard=1 -o yaml | \
212+ kubectl apply -f -
213+ echo -e " ${GREEN} ✓ JVM Metrics dashboard imported${NC} "
214+ else
215+ echo -e " ${YELLOW} ⚠ JVM Metrics dashboard not found at $SCRIPT_DIR /jvm-metrics-dashboard.json${NC} "
216+ fi
217+
218+ if [ -f " $SCRIPT_DIR /josdk-operator-metrics-dashboard.json" ]; then
219+ kubectl create configmap josdk-operator-metrics-dashboard \
220+ --from-file=" $SCRIPT_DIR /josdk-operator-metrics-dashboard.json" \
221+ -n observability \
222+ --dry-run=client -o yaml | \
223+ kubectl label --dry-run=client --local -f - grafana_dashboard=1 -o yaml | \
224+ kubectl apply -f -
225+ echo -e " ${GREEN} ✓ JOSDK Operator Metrics dashboard imported${NC} "
226+ else
227+ echo -e " ${YELLOW} ⚠ JOSDK Operator Metrics dashboard not found at $SCRIPT_DIR /josdk-operator-metrics-dashboard.json${NC} "
228+ fi
229+
230+ echo -e " ${GREEN} ✓ Dashboards will be available in Grafana shortly${NC} "
231+
202232# Get pod statuses
203233echo -e " \n${GREEN} ========================================${NC} "
204234echo -e " ${GREEN} Installation Complete!${NC} "
@@ -237,16 +267,17 @@ echo -e " ${GREEN}OTEL_TRACES_EXPORTER=otlp${NC}"
237267echo -e " \n${GREEN} ========================================${NC} "
238268echo -e " ${GREEN} Grafana Dashboards${NC} "
239269echo -e " ${GREEN} ========================================${NC} "
240- echo -e " \nPre-installed dashboards in Grafana:"
270+ echo -e " \nAutomatically imported dashboards:"
271+ echo -e " - ${GREEN} JOSDK - JVM Metrics${NC} - Java Virtual Machine health and performance"
272+ echo -e " - ${GREEN} JOSDK - Operator Metrics${NC} - Kubernetes operator performance and reconciliation"
273+ echo -e " \nPre-installed Kubernetes dashboards:"
241274echo -e " - Kubernetes / Compute Resources / Cluster"
242275echo -e " - Kubernetes / Compute Resources / Namespace (Pods)"
243276echo -e " - Node Exporter / Nodes"
244- echo -e " \nFor JOSDK metrics, create a custom dashboard with queries like:"
245- echo -e " ${GREEN} sum(rate(operator_sdk_reconciliations_started_total[5m]))${NC} "
246- echo -e " ${GREEN} sum(rate(operator_sdk_reconciliations_success_total[5m]))${NC} "
247- echo -e " ${GREEN} sum(rate(operator_sdk_reconciliations_failed_total[5m]))${NC} "
277+ echo -e " \n${YELLOW} Note:${NC} Dashboards may take 30-60 seconds to appear in Grafana after installation."
248278
249279echo -e " \n${YELLOW} To uninstall:${NC} "
280+ echo -e " kubectl delete configmap -n observability jvm-metrics-dashboard josdk-operator-metrics-dashboard"
250281echo -e " kubectl delete -n observability OpenTelemetryCollector otel-collector"
251282echo -e " helm uninstall -n observability kube-prometheus-stack"
252283echo -e " helm uninstall -n observability opentelemetry-operator"
0 commit comments