openstack-check-exporter

module
v0.0.0-...-53c35de Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 31, 2023 License: MIT

README

openstack-check-exporter

This exporter runs some active checks against an OpenStack cloud and exposes the results as Prometheus metrics. The checks are inspired by the (now deprecated) nagios/sensu checks at osops-tools-monitoring/monitoring-for-openstack/oschecks and osops-tools-monitoring/nagios-plugins.

By comparison, https://github.com/openstack-exporter/openstack-exporter does not attempt to create any resources, merely reading from the API and exposing those details. It's recommended to run both of these exporters at the same time. There is some overlapping functionality, though a benefit of the exporter from this repo is that durations are recorded, which can be useful to monitor for performance regressions.

Notes

  • This exporter runs the checks as a background process and then serves up the cached metrics for scraping. This is contrary to conventions with prometheus - but, in this case, has some benefits:

    • It allows multiple prometheus servers to scrape the exporter without resulting in multiple resources being created. Specifically, this is important for things like creation of nova instances, which could add unnecessary load to the cloud.
    • Additionally, the nova instance check ensures that there is not already a VM of the given name running. If the exporter is scraped multiple times then this would need to somehow pass the VM name in as a custom scrape query arg - doable, but a bit messy.

To do

  • CI, unit tests, etc
  • Docs

Directories

Path Synopsis
cmd
openstack-check-exporter
Package main implements the main entrypoint for the openstack-check-exporter
Package main implements the main entrypoint for the openstack-check-exporter
pkg
checker
Package checker provides a framework for running a set of checks against an OpenStack cloud.
Package checker provides a framework for running a set of checks against an OpenStack cloud.
checks/cinderservices
Package cinderservices implements a `checker.Check` that lists cinder services and checks their state
Package cinderservices implements a `checker.Check` that lists cinder services and checks their state
checks/glancelist
Package glancelist implements a `checker.Check` that lists one page glance images to ensure glance is working
Package glancelist implements a `checker.Check` that lists one page glance images to ensure glance is working
checks/glanceshow
Package glanceshow implements a `checker.Check` that ensures the specified glance image is listed in glance
Package glanceshow implements a `checker.Check` that ensures the specified glance image is listed in glance
checks/horizonlogin
Package horizonlogin implements a `checker.Check` that logs into Horizon
Package horizonlogin implements a `checker.Check` that logs into Horizon
checks/neutronfloatingip
Package neutronfloatingip implements a `checker.Check` that creates/deletes a floating IP
Package neutronfloatingip implements a `checker.Check` that creates/deletes a floating IP
checks/neutronlistnetworks
Package neutronlistnetworks implements a `checker.Check` that lists all networks in neutron
Package neutronlistnetworks implements a `checker.Check` that lists all networks in neutron
checks/novacreateinstance
Package novacreateinstance implements a `checker.Check` that creates/deletes a Nova instance
Package novacreateinstance implements a `checker.Check` that creates/deletes a Nova instance
checks/novalistflavors
Package novalistflavors implements a `checker.Check` that lists flavors in nova
Package novalistflavors implements a `checker.Check` that lists flavors in nova
checks/novaservices
Package novaservices implements a `checker.Check` that lists nova services and checks their state
Package novaservices implements a `checker.Check` that lists nova services and checks their state
history
Package history stores check results and provides a web interface to view them
Package history stores check results and provides a web interface to view them
metrics
Package metrics implements a prometheus.Collector that exposes metrics about the checks that were run
Package metrics implements a prometheus.Collector that exposes metrics about the checks that were run

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL