ceph-mirror/monitoring/ceph-mixin
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
..
dashboards mr/dashboard: remove rgw_servers filter from radosgw-sync-overview grafana dashboard 2026-04-23 21:47:41 +05:30
dashboards_out monitoring: Fix application overview to show Raw used 2026-05-07 14:54:29 +05:30
tests_alerts mgr/dashboard : Add certmgr alerts and warings to Prometheus and dashboard 2026-02-23 20:21:29 +05:30
tests_dashboards monitoring/ceph-mixin/dashboards_out: Correct panel title in ceph-cluster-advanced.json 2025-06-04 14:32:05 -04:00
.gitignore monitoring: Fixes for development 2025-11-20 01:47:49 +05:30
.pylintrc
alerts.jsonnet mgr/dashboard: fix broken alert generator 2023-10-13 12:42:50 +05:30
alerts.libsonnet ceph-mixin: fix config inheritance 2022-08-18 16:21:36 +02:00
CMakeLists.txt ceph-mixin: fix PATH issues with jsonnet-bundler 2022-08-18 13:43:34 +02:00
config.libsonnet monitoring: update NVMeoFTooManyNamespaces to 4096 ns 2026-01-20 14:43:03 +05:30
dashboards.jsonnet
dashboards.libsonnet monitoring: remove cephfs.libsonnet mention from dashboards.libsonnet 2025-11-19 10:43:22 +05:30
jsonnet-bundler-build.sh monitoring: build jsonnet/jb only for testing 2022-02-03 13:08:37 +01:00
jsonnetfile.json
jsonnetfile.lock.json mgr/dashboard: fix broken alert generator 2023-10-13 12:42:50 +05:30
lint-jsonnet.sh ceph-mixin: fix ceph-mixin setup 2023-08-09 12:19:04 +05:30
Makefile monitoring: Fixes for development 2025-11-20 01:47:49 +05:30
mixin.libsonnet ceph-mixin: refactor the structure of _config and utils 2022-05-16 15:26:56 +02:00
prometheus_alerts.libsonnet mgr/dashboard : Add certmgr alerts and warings to Prometheus and dashboard 2026-02-23 20:21:29 +05:30
prometheus_alerts.yml mgr/dashboard : Add certmgr alerts and warings to Prometheus and dashboard 2026-02-23 20:21:29 +05:30
README.md monitoring: Fixes for development 2025-11-20 01:47:49 +05:30
requirements-alerts.txt install-deps: Update Pyyaml version 2024-03-07 14:13:11 +10:00
requirements-grafonnet.txt
requirements-lint.txt install-deps: Update Pyyaml version 2024-03-07 14:13:11 +10:00
test-jsonnet.sh prometheus: add multicluster support to alerts 2022-08-17 12:08:56 +02:00
tox.ini monitoring: Fixes for development 2025-11-20 01:47:49 +05:30

Prometheus Monitoring Mixin for Ceph

A set of Grafana dashboards and Prometheus alerts for Ceph.

All the Grafana dashboards are already generated in the dashboards_out directory and alerts in the prometheus_alerts.yml file.

You can use the Grafana dashboards and alerts with Jsonnet like any other prometheus mixin. You can find more resources about mixins in general on monitoring.mixins.dev.


Grafana dashboards for Ceph

In dashboards_out you can find a collection of Grafana dashboards for Ceph Monitoring.

These dashboards are based on metrics collected from prometheus scraping the prometheus mgr plugin and the node_exporter (0.17.0).

Prometheus alerts

In prometheus_alerts.libsonnet you'll find a set of Prometheus alert rules that should provide a decent set of default alerts for a Ceph cluster. After building them with jsonnet put this file in place according to your Prometheus configuration (wherever the rules configuration stanza points).

SNMP

Ceph provides a MIB (CEPH-PROMETHEUS-ALERT-MIB.txt) to support sending Prometheus alerts to an SNMP management platform. The translation from Prometheus alert to SNMP trap requires the Prometheus alert to contain an OID that maps to a definition within the MIB. When making changes to the Prometheus alert rules file, developers should include any necessary changes to the MIB.

Multi-cluster support

Ceph-mixin supports dashboards and alerts across multiple clusters. To enable this feature you need to configure the following in config.libsonnnet:

showMultiCluster: true,
clusterLabel: '<your cluster label>',

Building from Jsonnet

sudo dnf install jsonnet jsonnet-bundler  # RHEL/Fedora
sudo apt-get install jsonnet jsonnet-bundler  # Ubuntu/Debian

# Install dependencies
jb install

# Generate all dashboards and alerts
make generate

# Run tests
make test

Method 2: Local Build (For CI/CD or no root access)

./jsonnet-bundler-build.sh

# Install dependencies using local jb
./jb install

# Generate all dashboards and alerts  
make generate

# Run tests
make test

Ceph Mixin Development Commands

make all        # Format, generate, lint, and test
make fmt        # Format Jsonnet files
make generate   # Regenerate JSON dashboards and alerts from templates
make lint       # Run linters
make test       # Run all tests
make vendor     # Install dependencies
make help       # List all available commands

Supported Versions

  • jsonnet: v0.18.0+
  • jsonnet-builder: 0.4.0+
  • grafonnet-lib: always uses latest master branch
  • alertmanager: 0.16.2+
  • prometheus: v2.33.4+