andoncloud-prometheus-widget
v1.3.19
Published
Made with create-andoncloud-widget
Readme
andoncloud-prometheus-widget
PromQL chart widget for the AndonCloud Dashboard.
Install
npm install --save andoncloud-prometheus-widgetUsage
import { Widget, permissions } from 'andoncloud-prometheus-widget';Settings
| Field | Required | Notes |
|---|---|---|
| Endpoint URL | yes | Prometheus HTTP API base (e.g. https://prometheus.example.com) |
| Username | no | Optional — fill only if your Prometheus requires HTTP Basic Auth |
| Password | no | Optional — paired with Username; left empty for anonymous Prometheus |
| Period | yes | Current shift / Previous shift |
| Queries | ≥1 | PromQL expressions with display names |
| Displayed query parameters | optional | Labels to include in dataset names |
| X-axis unit, Y-axis unit | yes | Axis titles |
When both Username and Password are filled, the widget sends Authorization: Basic <base64(user:pass)> on every Prometheus request. When either is empty, the request is anonymous.
If the Endpoint URL uses http:// (not https://) and credentials are filled, the settings dialog shows a non-blocking warning that credentials will be sent over an unencrypted channel.
Error states
The widget body distinguishes three failure modes:
- 401 —
Could not authenticate to Prometheus. Check the username and password in widget settings. - 403 —
Authenticated, but the Prometheus user has no permission to read these metrics. - network / DNS / TLS / 5xx —
Could not reach Prometheus at the configured URL.
Development
npm start # build:watch + preview
npm run build # production build
./scripts/cypress_run_prod.sh # component tests (Docker)
./scripts/cypress_run_prod.sh --e2e # E2E tests (Docker)See specs/projects/dashboard/widgets/prometheus-widget/spec.md for the full project specification.
