AMBARI-26638: Replace legacy Ambari Metrics with Prometheus and VictoriaMetrics - #4182
Open
JiaLiangC wants to merge 20 commits into
Open
AMBARI-26638: Replace legacy Ambari Metrics with Prometheus and VictoriaMetrics#4182JiaLiangC wants to merge 20 commits into
JiaLiangC wants to merge 20 commits into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Issue: AMBARI-26638
What changes were proposed in this pull request?
This pull request replaces the legacy Ambari Metrics System with a
Prometheus-compatible monitoring architecture backed by VictoriaMetrics. It is
based on the current
frontend-refactorbranch and contains only the Metricsmigration commits; already merged AMBARI-26634 frontend work is not repeated.
Architecture overview and reviewer guide
The control plane distributes validated topology and scrape assignments; metric
values remain in the Prometheus data plane:
Recommended reading order:
Architecture and migration
stack-defined component JMX profiles. The server compiles assignments and
distributes them through the existing realtime channel, while agents expose
normalized Prometheus endpoints without requiring a restart for assignment
changes.
management, dashboard persistence, chart sharing, builtin provisioning, and
the database upgrade from legacy widgets/layouts to the new model.
Server, VMAGENT, and VMAUTH components, verified architecture-specific
artifacts, quick links, alerts, topology recommendations, and service
dashboards.
implementation paths instead of maintaining two monitoring systems in
parallel.
Deployment reliability
victoriametrics-scrapeconfiguration before VMAGENT startup. Provisioning isidempotent and applies during both cluster creation and later service
installation.
stack-select, permits RPM version overrides, and enforces a deployable
VictoriaMetrics component topology.
service-update payloads so monitoring failures do not break unrelated service
pages.
React monitoring experience
scrape targets, datasources, and shared-chart workflows with authorization
checks and error handling.
HBase, and Hive, and exposes them from the relevant service pages.
component. It renders master, worker, and client component health, counts,
alerts, maintenance state, host/component navigation, and an explicit empty
state.
gray VictoriaMetrics status indicator after a successful start.
Commit breakdown
How was this patch tested?
The final branch was rebased onto the latest
origin/frontend-refactorbeforevalidation. The focused generic-summary suite passed 1 test file and 2 tests,
the TypeScript/Vite production build completed successfully, and
git diff --checkreported no errors.The build emitted only the branch's existing Sass deprecation warnings and the
Vite large-chunk advisory.
Runtime validation used a three-node Rocky Linux 8 ARM64 container cluster.
Ambari Blueprint request 13 completed at 100 percent. The initial managed
victoriametrics-scrapeconfiguration contained the generated discoveryidentity before VMAGENT startup; VMAGENT completed its first INSTALL and START;
and VictoriaMetrics Server, VMAGENT, and VMAUTH all reached
STARTED. A finalAmbari REST check returned service state
STARTEDand1/1started instancesfor all three components.
The updated React assets were deployed into the running Ambari Server. Real
Chrome validation confirmed the VictoriaMetrics service summary, green sidebar
health state, dashboard catalog, Linux/HDFS/HBase metric queries, and healthy
Prometheus scrape targets. The screenshots below are from that deployment.
The Ambari Server module was compiled under JDK 17 with tests and static checks
skipped for the runtime hot-deployment cycle. Full server and agent suites were
not rerun after the final history-only rebase; no source conflicts occurred
during that rebase.
Please review Ambari Contributing Guide before opening a pull request.