janhoy opened a new pull request, #5109:
URL: https://github.com/apache/solr/pull/5109

   https://issues.apache.org/jira/browse/SOLR-18533
   
   Establishes the build and test plumbing for Solr's Grafana dashboard and 
Prometheus alert rules, under `solr/monitoring`. This is the foundation split 
out of the #4210 POC, so that the dashboard, alert rules and OTLP collector 
support can land as focused follow-ups.
   
   ## What's here
   
   - `mixin/` — jsonnet sources in the style of the 
[monitoring-mixins](https://github.com/monitoring-mixins/docs) community, with 
a `Makefile` and a Docker wrapper (`make.sh`) so contributors need no local 
toolchain. A target checks for its tools before touching anything and writes 
through a temp file, so a missing tool cannot truncate a committed artifact.
   - `grafana-solr-dashboard.json` and `prometheus-solr-alerts.yml` — the 
generated artifacts, committed alongside the source that produced them. Nothing 
in the Gradle build regenerates or verifies them.
   - `dev/` — a docker-compose stack (Solr, Prometheus, Grafana, Alertmanager 
and a traffic generator) for seeing a change rendered against live metrics. 
Contributor tooling, excluded from the source release, with image versions 
pinned and overridable.
   - A reference guide page, laid out so the follow-ups fill in sections rather 
than restructure it.
   
   ## The artifacts are placeholders
   
   Two panels and one alert rule, carrying an example identity 
(`solr-mixin-example`, `SolrExampleAlerts`) so they are not mistaken for the 
real thing. They exist to prove the pipeline end to end, and every key in 
`config.libsonnet` is wired into them. The real dashboard follows in 
SOLR-18534, the alert rules in SOLR-18535, and OTLP push support in SOLR-18536.
   
   ## Decisions worth a look
   
   These close the threads left open on #4210:
   
   - **Location** — `solr/monitoring/`, with `dev/` and the traffic generator 
inside it, rather than the root, `solr/integrations/`, or a separate repo.
   - **No Gradle hook** — the mixin build stays standalone, so jsonnet and Go 
tooling stay out of the Solr build and CI. The trade-off is that a committed 
artifact can drift from its source; the README says plainly to commit them 
together.
   - **Release packaging** — the assets ship in the source tarball, `dev/` is 
`export-ignore`d like `dev-docs/`.
   - **Anonymous viewing in the dev stack** — Grafana opens straight on the 
dashboard with no login, since the stack is local and throwaway. Happy to drop 
this if reviewers would rather keep the login.
   
   ## Validation
   
   `gradlew check -x test` passes, including `rat` and the ref guide build. The 
stack was run end to end: both Solr nodes scraped, the alert rule loaded 
healthy, and both panels drawing live data (the screenshot in the ref guide 
page is a real render of it). Re-running `./make.sh all check` leaves the tree 
clean, so the committed output matches its source.
   


-- 
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