dodjdnh opened a new issue, #1572:
URL: https://github.com/apache/dubbo-admin/issues/1572

   ## Problem
   
   The official `release/kubernetes/` manifests already include ConfigMaps for 
six Dubbo metric and trace dashboards, a Grafana dashboard provider, a Jaeger 
Service, and support for dashboard URLs in Dubbo Admin. However, three 
provisioning connections are incomplete:
   
   1. The six dashboard ConfigMaps are not mounted by the Grafana Deployment 
under the provider's scan path, `/grafana-dashboard-definitions/0`. The 
presence of dashboard JSON therefore does not mean the dashboards are 
automatically provisioned.
   2. `grafana-dashboardDatasources.yaml` provisions only Prometheus. The 
Jaeger datasource required by the three trace dashboards is missing. Grafana 
should query Jaeger at `http://jaeger.monitoring.svc:16686`, not at the OTLP 
ingestion ports `4317/4318`.
   3. Kubernetes Dubbo Admin starts with the ConfigMap-provided 
`/etc/dubbo-admin/dubbo-admin.yaml`, but that configuration lacks the six 
`console.metricDashboards` and `console.traceDashboards` URLs. Even if Grafana 
has the dashboards, Admin cannot generate their entry points from this 
Kubernetes configuration.
   
   ## Origin and history
   
   These are initial or later integration omissions, **not regressions where a 
previously correct implementation was removed**:
   
   | Gap | Introducing PR | Historical finding |
   | --- | --- | --- |
   | A: six dashboards are not mounted | 
[#1387](https://github.com/apache/dubbo-admin/pull/1387), merge commit 
`2eb4409b03420f687416763770c9b4e88ed2d0da` | `INITIAL_OMISSION`: that PR 
introduced the Grafana Deployment, provider, and six Dubbo dashboard 
ConfigMaps, but its first Deployment did not include their volumes and volume 
mounts. |
   | B: Jaeger datasource is missing | Also 
[#1387](https://github.com/apache/dubbo-admin/pull/1387) | `INITIAL_OMISSION`: 
that PR added the Jaeger Deployment/Service and trace dashboards that depend on 
Jaeger, while datasource provisioning contained only Prometheus from the 
outset. |
   | C: six Kubernetes Admin URLs are missing | 
[#1410](https://github.com/apache/dubbo-admin/pull/1410), merge commit 
`35cbd342b75467cc87f0f6763f72e8752d09fe47` | `LATER_PARTIAL_INTEGRATION`: the 
local example in #1387 already had the six URLs, and 
[#1397](https://github.com/apache/dubbo-admin/pull/1397) changed them to the 
current `/d/<UID>?kiosk=1&theme=light` form. When #1410 later established the 
actual Kubernetes Admin ConfigMap, mount, and `-c` loading path, it did not 
carry over those existing settings. |
   
   There was no actual Kubernetes Admin ConfigMap in #1387, so gap C should not 
be described as "#1387 removed URLs from the ConfigMap." #1410 did not change 
the Grafana monitoring manifests, so gaps A/B should not be attributed to #1410.
   
   ## Expected behavior
   
   - Mount all six existing Dubbo dashboard ConfigMaps into the existing 
Grafana provider scan path through the Deployment's volumes and volume mounts, 
so versioned manifests provision them automatically without manual UI import.
   - Keep Prometheus available and also provision a `type: jaeger`, `access: 
proxy` datasource pointing to the Jaeger query Service, so all three trace 
dashboards can resolve it.
   - Provide the Application, Instance, and Service metric and trace dashboard 
URLs in the Kubernetes Admin ConfigMap. All six UIDs should match the formal 
dashboard JSON, and the Grafana base URL should use the correct Kubernetes 
Service DNS name.
   
   ## Reproduction and scope
   
   At official baseline `bb906476e1aa923d957e6420560ca13aba17524f`, inspect the 
dashboard ConfigMap → Deployment mount → provider path, the Grafana datasource 
Secret, and the Admin ConfigMap → `-c` path to see gaps A/B/C. On the unfixed 
baseline with D002 applied, an external read-only Provisioning Oracle reported 
A1–A6 FAIL; B1 PASS, B2–B4 FAIL; C1–C6 FAIL; and `OVERALL: FAIL`.
   
   This issue concerns Kubernetes provisioning only. It does not require every 
metric or trace business query to pass, and does not include dashboard query 
changes, Instance Trace instance identity, the OTel Collector, Log, or 
cross-signal navigation.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to