ceph/monitoring/ceph-mixin
afreen23 66a90a927a
Merge pull request #61589 from piyushagarwal1411/fix-69727-main
mgr/dashboard: Add 'Browse Dashboards' button in Grafana dashboards

Reviewed-by: Afreen Misbah <afreen@ibm.com>
2025-02-05 01:32:18 +05:30
..
dashboards mgr/dashboard: Add 'Browse Dashboards' button in Grafana dashboards 2025-02-04 14:07:08 +05:30
dashboards_out mgr/dashboard: Add 'Browse Dashboards' button in Grafana dashboards 2025-02-04 14:07:08 +05:30
tests_alerts monitoring: add tests for NVMeoFMaxGatewayGroups 2025-02-03 23:57:30 +05:30
tests_dashboards mgr/dashboard: Add ceph_daemon filter to rgw overview grafana panel 2024-12-05 11:02:30 +05:30
.gitignore
.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: add NVMeoFMaxGatewayGroups 2025-02-03 23:52:47 +05:30
dashboards.jsonnet
dashboards.libsonnet mgr/dashboard: Add a manage clusters page to the multi-cluster nav to 2024-02-22 10:42:01 +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 ceph-mixin: fix ceph-mixin setup 2023-08-09 12:19:04 +05:30
mixin.libsonnet ceph-mixin: refactor the structure of _config and utils 2022-05-16 15:26:56 +02:00
prometheus_alerts.libsonnet monitoring: add alert NVMeoFMaxGatewayGroups 2025-02-03 23:54:50 +05:30
prometheus_alerts.yml monitoring: add alert NVMeoFMaxGatewayGroups 2025-02-03 23:54:50 +05:30
README.md mgr/dashboard: fix broken alert generator 2023-10-13 12:42:50 +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 Add multi-cluster support (showMultiCluster=True) to alerts 2024-10-21 11:53:10 +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).

-grafana 8.3.5 -grafana-piechart-panel 1.6.2 -grafana-status-panel 1.0.11

Requirements

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).

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>',

-prometheus v2.33.4

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.

-alertmanager 0.16.2

Building from Jsonnet

  • Install jsonnet (at least v0.18.0)
    • By installing the package jsonnet in most of the distro and golang-github-google-jsonnet in fedora
  • Install jsonnet-bundler

To rebuild all the generated files, you can run tox -egrafonnet-fix.

The jsonnet code located in this directory depends on some Jsonnet third party libraries. To update those libraries you can run jb update and then update the generated files using tox -egrafonnet-fix.

Building alerts from prometheus_alerts.libsonnet

To rebuild the prometheus_alerts.yml file from the corresponding libsonnet, you can run tox -ealerts-fix.