Commit Graph

362 Commits

Author SHA1 Message Date
Afreen Misbah
8321ca25d7 mgr/dashboard: fix stale metrics in hardware dashboards
Switch all stat panels in the hardware and hardware compression
dashboards from lastNotNull to last reduceFunction. When a host is
unreachable or node-proxy stops, metric silence is ambiguous — it
could mean host down, agent crash, or scrape failure. lastNotNull
freezes the last known value (e.g. 4 NVMe drives), causing
inconsistency with the global Overview which reflects live count
reductions.

Use last so panels show N/A when no current data arrives.

Fixes: https://tracker.ceph.com/issues/78360

Signed-off-by: Afreen Misbah <afreen@ibm.com>
2026-07-23 01:43:38 +05:30
Aashish Sharma
ce24915123 monitoring: Rename Ceph Object - Sync Overview - Replication (objects) from Source Zone
Replication (objects) from Source Zone title is misleading, the panel actually shows How many objects are being replicated per second

Fixes: https://tracker.ceph.com/issues/78230

Signed-off-by: Aashish Sharma <aasharma@redhat.com>
2026-07-15 13:51:23 +05:30
Kefu Chai
89cb0fc152 monitoring/ceph-mixin: scope test queries per dashboard
get_dashboards_data() keeps every query in a single map keyed by
"<panel title>-<legendFormat>", but that id is not unique: several
dashboards have a panel titled "IOPS", "OSDs" or "Throughput". The
dashboard read last overwrites the earlier entry, so one query shadows
another and never gets tested. glob() walks the files in filesystem
order, so which query survives, and whether the test passes, depends on
readdir.

run-tox-promql-query-test hit this in "Test IOPS Read"
(ceph-cluster.feature): the scenario feeds ceph_osd_op_r but the id
resolved to a CephFS pool panel.

    FAILED:
      expr: "sum(rate(ceph_pool_rd{cluster=~"mycluster|",  pool_id=~"UNSET VARIABLE"}[1m]))", time: 1m,
          exp:"{} 2.5E+01"
          got:"nil"
    HOOK-ERROR in after_scenario: AssertionError:

pool_id is "UNSET VARIABLE" because the scenario does not set $mdatapool,
and no ceph_pool_rd series were fed, so the query returns nil. It only
fails when readdir returns cephfsdashboard after ceph-cluster-advanced,
so the earlier change that walked nested rows and made the winner
deterministic did not fix it; it fixed which query wins, not that the
wrong one can win.

Key the queries per dashboard (data['queries'][<dashboard>][<id>]) and
have each .feature name its dashboard in a Background step. The lookup is
confined to that dashboard, so a title/legend used elsewhere no longer
shadows it. A duplicate within one dashboard is still an error, unless it
is in a collapsed row.

ceph-cluster.feature covers ceph-cluster-advanced; the rest map to one
dashboard each.

Signed-off-by: Kefu Chai <k.chai@proxmox.com>
2026-07-04 09:40:07 +08:00
Afreen Misbah
2785810838
Merge pull request #69753 from rhcs-dashboard/atollon-fixes
mgr/dashboard: Add compression panels and PSU temperature

Reviewed-by: Nizamudeen A <nia@redhat.com>
Reviewed-by: Aashish Sharma <aasharma@redhat.com>
2026-07-03 12:48:59 +05:30
Afreen Misbah
42b3a7dfe8 mointoring: Add hardware alerts
Signed-off-by: Afreen Misbah <afreen@ibm.com>
2026-07-03 01:15:38 +05:30
Afreen Misbah
da21940d11 monitoring: add Ceph Hardware - Compression dashboard
Add comprehensive Grafana dashboard for monitoring hardware compression
metrics from FCM-enabled drives.

Signed-off-by: Afreen Misbah <afreen@ibm.com>
2026-07-03 01:12:20 +05:30
Afreen Misbah
b231e6f318 monitoring: add panel descriptions and fix tooltip labels
Signed-off-by: Afreen Misbah <afreen@ibm.com>
2026-07-03 00:48:41 +05:30
Afreen Misbah
4be833e11e monitoring: add PSU temperature graph to hardware dashboard
Signed-off-by: Afreen Misbah <afreen@ibm.com>
2026-07-03 00:48:41 +05:30
Afreen Misbah
aba8698e96 mgr/promethues: fixed tests and refactor module.py
- Update tests to check for queries in nested row panels
- fix tox tests
- add named tuple

Signed-off-by: Afreen Misbah <afreen@ibm.com>
2026-07-02 14:20:08 +05:30
Afreen Misbah
be324304db mgr/prometheus: refactor hardware metrics
- export `firmware_version` labels from `node_proxy_storage_capacity_bytes` metrics to be used in device firmware panel
- improve iterations for performance - dropping redundant node_proxy_firmware() RPC; firmware data is already
  present in the fullreport response, and removing unnecessary loops.
- replace health if/elif chain with HEALTH_STATUS_MAP dict lookup
- rename metrics to ceph_hardware_*, fix component labels and add tests
- added unit test cases
- add serial name, slot info to capacity metric
- fix health metrics showing ID instead of component name

Signed-off-by: Afreen Misbah <afreen@ibm.com>
2026-07-02 14:20:08 +05:30
Afreen Misbah
5dd6807e31 monitoring: improve hardware Grafana dashboard panels
- CPU/NVMe temp: change from stat to gauge panels with colored
  arc thresholds (green/yellow/red) and proper °C units
- Health panels: wrap queries in max() aggregation to show
  single worst-case value instead of overlapping series
- Pie charts: switch to donut style with visible legends
- Fan RPM: use locale unit for comma formatting instead of
  short which auto-scaled to "K"
- Fix temperature panels units
- Add Device List and Platform Firmware table panels

Fixes https://tracker.ceph.com/issues/77723

Signed-off-by: Afreen Misbah <afreen@ibm.com>
2026-07-02 14:20:08 +05:30
Afreen Misbah
04207ca6dc monitoring: fix hardware Grafana dashboard and health metrics
- Fix fan repeating panels: set multi=true on fan_speeds template
  variable so Grafana generates one panel per fan instead of one
- Remove TACH-only regex filter on fan_speeds template and AVG
  Cooling query so all system fans are visible regardless of naming
- Replace duplicate Power Control panel with Network health panel
- Fix NVMe drive count to use storage_capacity_bytes{protocol=NVMe}
  instead of counting temperature sensors (inaccurate proxy)
- Normalize all hostname filters to regex match (=~) for consistency
- Register hardware.libsonnet in dashboards.libsonnet so the
  dashboard JSON is generated during ceph-mixin builds
- Add temperatures category to prometheus health metrics loop

Signed-off-by: Afreen Misbah <afreen@ibm.com>
Assisted-by: Claude
Signed-off-by: Afreen Misbah <afreen@ibm.com>
2026-07-02 14:20:08 +05:30
Afreen Misbah
0514014687 monitoring: add hardware metrics Grafana dashboard
Signed-off-by: Afreen Misbah <afreen@ibm.com>
2026-07-02 14:20:08 +05:30
Kefu Chai
cc1f41c8d2
Merge pull request #69156 from sunyuechi/wip-riscv64-jsonnet-bundler-v0.6.0
monitoring/ceph-mixin: bump jsonnet-bundler to v0.6.0

Reviewed-by: Afreen Misbah <afreen@ibm.com>
2026-07-01 18:57:00 +08:00
Sun Yuechi
a764ecf720 monitoring/ceph-mixin: make jsonnet-bundler clone idempotent
A run that aborts before the cleanup fixture runs (timeout, OOM,
interrupt) leaves the clone dir behind, so the next build fails with
"destination path already exists". Remove it first.

Signed-off-by: Sun Yuechi <sunyuechi@iscas.ac.cn>
2026-06-20 23:22:01 +08:00
Vallari Agrawal
7114fd10f6
monitoring: fix NVMeoFMultipleNamespacesOfRBDImage
Do not trigger alert NVMeoFMultipleNamespacesOfRBDImage
for same pool/image name used in multiple nvmeof namespaces,
if they are in different rados namespaces (rados_namespace_name)

These are valid repeation of pool/image name:
- mypool/rados_ns1/myimage1
- mypool/rados_ns2/myimage1
- mypool/myimage1 (default rados namespace)

Fixes: https://tracker.ceph.com/issues/77128

Signed-off-by: Vallari Agrawal <vallari.agrawal@ibm.com>
2026-06-05 10:48:08 +05:30
Sun Yuechi
dada074b34 monitoring/ceph-mixin: bump jsonnet-bundler to v0.6.0
v0.4.0 fails to build on riscv64; bump to v0.6.0 to fix it.

Signed-off-by: Sun Yuechi <sunyuechi@iscas.ac.cn>
2026-05-29 14:51:52 +08:00
Ankush Behl
6c1a17b666 monitoring: Fix application overview to show Raw used
- Updated capacity used to show Raw capacity
- Pool table shows Raw capacity
- Total used capacity graph shows raw capacity

fixes: https://tracker.ceph.com/issues/76456

Signed-off-by: Ankush Behl <cloudbehl@gmail.com>
2026-05-07 14:54:29 +05:30
Aashish Sharma
b0601df2a5 mr/dashboard: remove rgw_servers filter from radosgw-sync-overview grafana dashboard
Fixes: https://tracker.ceph.com/issues/76239

Signed-off-by: Aashish Sharma <aasharma@redhat.com>
2026-04-23 21:47:41 +05:30
Ankush Behl
f17f4064af mgt/dashboard: Add the CPU, Memory to CephFS dashboard
Fixes: https://tracker.ceph.com/issues/76058

Signed-off-by: Ankush Behl <cloudbehl@gmail.com>
2026-04-21 13:30:20 +05:30
Ankush Behl
809839e5f0 Fixes for subvolume overview in grafana
- multiple values were shown in graph and single state
- Remove All selection from subvolume path

fixes: https://tracker.ceph.com/issues/75849

Signed-off-by: Ankush Behl <cloudbehl@gmail.com>
2026-04-15 19:12:07 +05:30
bst2002git
6218ce52e9 found duplicate series for the match group {fs_id="-1"}
when 1 MDS active and 2 MDS standby (on 3Node-Cluster)
found duplicate series for the match group {fs_id="-1"} on the right hand-side of the operation
many-to-many matching not allowed: matching labels must be unique on one side

Fixes: https://tracker.ceph.com/issues/75754

Signed-off-by: bst2002git <bst2002@ios.dhs.org>
2026-03-31 10:55:39 +05:30
Aashish Sharma
2a405520fc mgr/dashboard: Fix unit tests
Signed-off-by: Aashish Sharma <aasharma@redhat.com>
2026-02-25 21:01:17 +05:30
Ankush Behl
bdbe9d2a4f mgr/dashboard: Added capacity metrics
Signed-off-by: Ankush Behl <cloudbehl@gmail.com>
2026-02-25 21:01:17 +05:30
Ankush Behl
0486d807ac monitoring: Add subvolume dashboard
- Add IO, Throughput and Latency

Fixes: https://tracker.ceph.com/issues/74323

Signed-off-by: Ankush Behl <cloudbehl@gmail.com>
2026-02-25 21:01:17 +05:30
Abhishek Desai
4b5096cc0d mgr/dashboard : Add certmgr alerts and warings to Prometheus and dashboard
fixes : https://tracker.ceph.com/issues/73674
Signed-off-by: Abhishek Desai <abhishek.desai1@ibm.com>

New changes commit for certmgr alerts
2026-02-23 20:21:29 +05:30
Vallari Agrawal
ad708f4c69
monitoring: update NVMeoFTooManyNamespaces to 4096 ns
Change NVMeoFTooManyNamespaces alert limit from 2048 namespaces
to 4096 namespaces.

Fixes: https://tracker.ceph.com/issues/74464

Signed-off-by: Vallari Agrawal <vallari.agrawal@ibm.com>
2026-01-20 14:43:03 +05:30
Aashish Sharma
5c94d225b4
Merge pull request #66791 from rhcs-dashboard/fix-74315-main
monitoring: fix rgw_servers filtering in rgw sync overview grafana

Reviewed-by: Ankush Behl <ankush.behl@ibm.com>
2026-01-20 13:05:48 +05:30
Aashish Sharma
af3099ecc1
Merge pull request #66661 from rhcs-dashboard/prometheus-cluster-label-fix
monitoring: make cluster matcher backward compatible for pre-reef metrics

Reviewed-by: Ankush Behl <ankush.behl@ibm.com>
2026-01-20 12:58:37 +05:30
Aashish Sharma
f7f74e4554 monitoring: make cluster matcher backward compatible for pre-7.1 metrics
Ceph 18.* adds a `cluster` label to all Prometheus metrics. When
upgrading from earlier releases, historical metrics lack this label
and are excluded by Grafana queries that strictly match on `cluster`.
Update the shared Grafana matcher logic to use a regex matcher that
also matches series without the `cluster` label, restoring visibility
of pre-upgrade metrics while preserving multi-cluster behavior.

Fixes: https://tracker.ceph.com/issues/74342

Signed-off-by: Aashish Sharma <aasharma@redhat.com>
2026-01-19 14:34:19 +05:30
Aashish Sharma
c1329c9945 monitoring: upgrade grafana version to 12.3.1
Fixes: https://tracker.ceph.com/issues/74436

Signed-off-by: Aashish Sharma <aasharma@redhat.com>
2026-01-19 11:06:11 +05:30
Aashish Sharma
cd23e940c1 monitoring: fix rgw_servers filtering in rgw sync overview grafana
Fix rgw daemon filtering in RGW Sync Overview --> Replication(Time) Delta per shard graph in grafana

Fixes: https://tracker.ceph.com/issues/74315

Signed-off-by: Aashish Sharma <aasharma@redhat.com>
2026-01-05 12:48:14 +05:30
Aashish Sharma
5b4f737365 monitoring: fix CephPgImbalance alert rule expression
The alert CephPGImbalance doesn't take any device classes configured into account. As a result, there can be false positives when using mixed-size OSD disks.
Ref: https://github.com/rook/rook/discussions/13126#discussioncomment-10043490

Fixes: https://tracker.ceph.com/issues/69690

Signed-off-by: Aashish Sharma <aasharma@redhat.com>
2025-12-12 10:39:34 +05:30
afreen23
8468138102
Merge pull request #66326 from afreen23/fixes-mixins
monitoring: Fixes for development

Reviewed-by: Nizamudeen A <nia@redhat.com>
Reviewed-by: Anthony D Atri <anthony.datri@gmail.com>
2025-11-24 17:47:33 +05:30
Afreen Misbah
bdae7b3ff7 monitoring: Fixes for development
- fixes tox.ini using and undefined env - `grafonnet-check`( instead of `jsonnet-check`)
- adds steps for local development of mixins and building jsonnet
- added help command in Makefile
- added comments and descriptions for Makefile and tox.ini

Signed-off-by: Afreen Misbah <afreen@ibm.com>
2025-11-20 01:47:49 +05:30
Aashish Sharma
bd18dec8ec monitoring: remove cephfs.libsonnet mention from dashboards.libsonnet
We recently added a new CephFS Overview dashboard and removed the
older MDS Performance dashboard. We need to remove the mention
of cephfs.libsonnet from dashboards.libsonnet file as well.

Fixes: https://tracker.ceph.com/issues/73910

Signed-off-by: Aashish Sharma <aasharma@redhat.com>
2025-11-19 10:43:22 +05:30
afreen23
c231a32918
Merge pull request #65711 from rhcs-dashboard/fix-73296-main
monitoring: Improve grafana dashboards naming convention

Reviewed-by: Ankush Behl <cloudbehl@gmail.com>
2025-11-18 19:38:36 +05:30
Vallari Agrawal
16d46aed67
monitoring: use ceph_cephadm_daemon_status in ceph-nvmeof
Use this metric to show accurate data for "down"
NVMeoF gateways in ceph NVMeoF Overview dashboard.

Fixes: https://tracker.ceph.com/issues/71384

Signed-off-by: Vallari Agrawal <vallari.agrawal@ibm.com>
2025-11-05 13:59:03 +05:30
Aashish Sharma
3b5b8da7d2
Merge pull request #65938 from cloudbehl/smb-overview-fixes
monitoring: Fixes for smb overview

Reviewed-by: Aashish Sharma <aasharma@redhat.com>
2025-10-22 13:15:52 +05:30
Ankush Behl
39eabe5305 monitoring: Fixes for smb overview
Fixes: https://tracker.ceph.com/issues/73535

Signed-off-by: Ankush Behl <cloudbehl@gmail.com>
2025-10-14 20:27:37 +05:30
Ankush Behl
3174b4ee9a monitoring: Fix Filesystem grafana dashboard units
Fixes: https://tracker.ceph.com/issues/73521

Signed-off-by: Ankush Behl <cloudbehl@gmail.com>
2025-10-13 18:13:00 +05:30
Ankush Behl
eba3b2ae54 mgr/dashboard: added node-exporter dashboard
Fixes: https://tracker.ceph.com/issues/70534

Signed-off-by: Ankush Behl <cloudbehl@gmail.com>
2025-10-09 10:39:40 +05:30
Aashish Sharma
6754d7a28f monitoring: Standardize Ceph Grafana dashboards
naming convention

Improve consistency  by aligning the naming scheme
across all ceph Grafana dashboards.

Fixes: https://tracker.ceph.com/issues/73296

Signed-off-by: Aashish Sharma <aasharma@redhat.com>
2025-09-30 14:21:42 +05:30
Aashish Sharma
bee24dec44 monitoring: fix MTU Mismatch alert rule and expr
Fixes: https://tracker.ceph.com/issues/73290

Signed-off-by: Aashish Sharma <aasharma@redhat.com>
2025-09-29 10:27:32 +05:30
afreen23
2d0108ab7e
Merge pull request #64755 from cloudbehl/grafana-rate-irate-fix
ceph-mixin: Update monitoring mixin


Reviewed-by: Aashish Sharma <aasharma@redhat.com>
Reviewed-by: SuperQ <superq@gmail.com>
2025-09-25 13:44:52 +05:30
Aashish Sharma
53a6856d60 monitoring/ceph_mixin: fix Cluster - Advanced OSD grafana panel
1. Fixes the promql expr used to calculate "In" OSDs in
   ceph-cluster-advanced.json.
2. Fixes the color coding for the single state panels used in the OSDs
   grafana panel like "In", "Out" etc

Fixes: https://tracker.ceph.com/issues/72810

Signed-off-by: Aashish Sharma <aasharma@redhat.com>
2025-09-17 15:28:41 +05:30
Aashish Sharma
ebca859c5d ceph-mixin: reset auto_count to 10
Signed-off-by: Aashish Sharma <aasharma@redhat.com>
2025-09-17 15:06:21 +05:30
Nizamudeen A
b8fe487010 monitoring: add user-agent headers to the urllib
The documentation started raising 403 suddenly. Adding User-Agent
headers to the request

Signed-off-by: Nizamudeen A <nia@redhat.com>
2025-09-10 18:30:36 +05:30
Aashish Sharma
2c2f1f83ec mgr/dashboard: fix RGW Bucket Notification Dashboard units
Fixes: https://tracker.ceph.com/issues/72868

Signed-off-by: Aashish Sharma <aasharma@redhat.com>
2025-09-04 13:40:00 +05:30
Aashish Sharma
be407d43a7
Merge pull request #63641 from anushruti10116/add-bucket-notification-dashboard
mgr/dashboard: Adding RGW Bucket Notification Dashboard for Grafana
2025-08-29 16:21:08 +05:30