86d040e2fc
Made following changes to files, Makefile: Add needed 'tox' target to generate alert files Now we can do 'make generate' OR 'make test' to generate all the yaml files (and run tests) alerts.jsonnet: Added an 'import' line to include 'config.libsonnet' file. This fix the errors in generating 'prometheus_alerts.yml' file tox.ini: Added all the existing 'alerts-' targets to 'envlist' Added the missing 'alerts-test' target to 'testenv' Added 'jsonnet' to 'allowlist_externals', which prevents a deprecation waring A minor spell correction lint-jsonnet.sh: Made errors more verbose. Signed-off-by: Arun Kumar Mohan <amohan@redhat.com> |
||
---|---|---|
.. | ||
dashboards | ||
dashboards_out | ||
tests_alerts | ||
tests_dashboards | ||
.gitignore | ||
.pylintrc | ||
alerts.jsonnet | ||
alerts.libsonnet | ||
CMakeLists.txt | ||
config.libsonnet | ||
dashboards.jsonnet | ||
dashboards.libsonnet | ||
jsonnet-bundler-build.sh | ||
jsonnetfile.json | ||
jsonnetfile.lock.json | ||
lint-jsonnet.sh | ||
Makefile | ||
mixin.libsonnet | ||
prometheus_alerts.libsonnet | ||
prometheus_alerts.yml | ||
README.md | ||
requirements-alerts.txt | ||
requirements-grafonnet.txt | ||
requirements-lint.txt | ||
test-jsonnet.sh | ||
tox.ini |
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).
Recommended versions:
-grafana 8.3.5 -grafana-piechart-panel 1.6.2 -grafana-status-panel 1.0.11
Requirements
- Status Panel installed on your Grafana instance
- Pie Chart Panel installed on your Grafana instance
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>',
Recommended versions:
-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.
Recommended:
-alertmanager 0.16.2
Building from Jsonnet
- Install jsonnet (at least v0.18.0)
- By installing the package
jsonnet
in most of the distro andgolang-github-google-jsonnet
in fedora
- By installing the package
- 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
.