Skip to content

Commit 6bbc17f

Browse files
committed
Solr per-container monitoring (v0.11.0)
New solr_services: block + Solr-specific probe. Each container is hit at /solr/<core>/admin/system (JVM memory, system load, host memory, FDs, Solr version) and /solr/<core>/admin/mbeans?stats=true&key=/select&key=/update (cumulative request counts and mean rates for the query and update handlers). Same Rancher v1 API enumeration we use for caches / apps / Neo4j. Per-container rows in a new solr_history table (23 metric columns). Falls back to the LB-fronted probe when RANCHER_API_KEY / RANCHER_API_SECRET aren't set. Two services seeded: SOLR (solr.virtualflybrain.org, 1s103) and SOLR -- ServerONLY (1s263). Both scale 1 today; the per-container path is ready when they're scaled out. Page card shows cluster summary plus a per-container breakdown and four sparklines: JVM memory %, delta query requests per check, delta update requests per check, and system load. New /api/solr endpoint follows the same shape as /api/neo4j. Verified end-to-end against the live Solr LB: 935,249 queries served, mean 9.48/sec, JVM 33%, system load 2.14, Solr 8.11.4.
1 parent 59fd7e9 commit 6bbc17f

4 files changed

Lines changed: 656 additions & 6 deletions

File tree

CHANGELOG.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,23 @@
22

33
All notable changes to vfb-status are recorded here. The format is loosely based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and the project follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
44

5+
## [0.11.0] — 2026-06-05
6+
7+
### Added
8+
9+
- New `solr_services:` YAML block + Solr-specific probe. Each entry hits two admin endpoints per container:
10+
- `/solr/<core>/admin/system?wt=json` for JVM memory (`used/free/total/max` bytes + `used%`), system load average, host memory, open/max file descriptors, and the running Solr version.
11+
- `/solr/<core>/admin/mbeans?stats=true&key=/select&key=/update&compact=true` for cumulative `/select` and `/update` request counts plus mean rates.
12+
- Per-container probing via the same Rancher v1 API plumbing as caches / apps / Neo4j; falls back to LB-fronted probe if the API isn't configured.
13+
- New `solr_history` SQLite table (auto-migrated) — 23 metric columns per row plus `service`/`container`/`ts`/`ok`/`error`.
14+
- New **"Solr — load over time"** card section on the page, between Neo4j and Application services. Each card shows cluster summary (memory %, load avg, query rate, update rate, totals) plus a per-container breakdown table and four sparklines:
15+
- JVM memory % (cluster avg)
16+
- Δ query requests per check (cluster max)
17+
- Δ update requests per check (cluster max)
18+
- System load average (cluster avg)
19+
- New `GET /api/solr` endpoint returns `summary` + `containers[]` per service, mirroring `/api/neo4j` and `/api/cache`.
20+
- Two services seeded in the YAML: `SOLR (solr.virtualflybrain.org)` (service `1s103`, scale 1) and `SOLR — ServerONLY (1s263)` (scale 1). Single-container today but the path is ready when they're scaled out.
21+
522
## [0.10.0] — 2026-06-04
623

724
### Added
@@ -233,6 +250,7 @@ Initial release. Self-contained Docker uptime tracker for public-facing Virtual
233250
- Four subdomains (`nas0`, `iip3d`, `nblast`, `abd1-5.catmaid`) ship with `verify_tls: false` because the production cert SAN doesn't cover them. The servers are up; the cert provisioning is a separate problem.
234251
- Kubernetes nodes are intentionally not handled here — separate checks planned for a later release.
235252

253+
[0.11.0]: https://github.com/VirtualFlyBrain/vfb-status/releases/tag/v0.11.0
236254
[0.10.0]: https://github.com/VirtualFlyBrain/vfb-status/releases/tag/v0.10.0
237255
[0.9.0]: https://github.com/VirtualFlyBrain/vfb-status/releases/tag/v0.9.0
238256
[0.8.2]: https://github.com/VirtualFlyBrain/vfb-status/releases/tag/v0.8.2

0 commit comments

Comments
 (0)