sunbeam-charms/charms/openstack-exporter-k8s
Chi Wai Chan ed96973390 Add "flavor" label to uniquely identify metrics
Sometime during instance resizing, nova will create a new instance on
different host with the same uuid and instance name, and this will cause
some query failed on "many-to-many matching not allowed: matching labels
must be unique on one side". Adding extra "flavor" label might help
resolving the uniqueness of metrics during resizing.

See issue: https://github.com/canonical/openstack-exporter-operator/issues/120

Change-Id: I49dcd22c90dacb52952461f37a043b48912d5e01
2024-12-10 05:46:43 +00:00
..
src Add "flavor" label to uniquely identify metrics 2024-12-10 05:46:43 +00:00
tests/unit Migrate to unified charmcraft.yaml 2024-10-08 09:38:10 +02:00
.sunbeam-build.yaml Implement tracing 2024-07-31 11:57:32 +02:00
charmcraft.yaml Enable cache in openstack-exporter 2024-10-11 19:27:18 +10:30
CONTRIBUTING.md first cut 2023-10-16 17:06:56 +02:00
LICENSE first cut 2023-10-16 17:06:56 +02:00
README.md Merge "Add Prometheus alerting rules for Cinder agents state" into main 2024-07-19 16:30:26 +00:00
rebuild Allow rebuild charms on modifying a rebuild file 2023-12-06 18:58:50 +01:00
requirements.txt Add zuuljobs 2023-11-30 15:32:39 +05:30

openstack-exporter-k8s

Description

openstack-exporter-k8s is an operator to manage an openstack exporter on a Kubernetes based environment.

Usage

Deployment

openstack-exporter-k8s is deployed using below command:

juju deploy openstack-exporter-k8s openstack-exporter

Now connect the openstack exporter operator to existing keystone identity operators:

juju relate keystone:identity-ops openstack-exporter:identity-ops

Configuration

This section covers common and/or important configuration options. See file config.yaml for the full list of options, along with their descriptions and default values. See the Juju documentation for details on configuring applications.

Actions

This section covers Juju actions supported by the charm. Actions allow specific operations to be performed on a per-unit basis. To display action descriptions run juju actions openstack-exporter. If the charm is not deployed then see file actions.yaml.

Relations

openstack-exporter-k8s requires the following relations:

identity-ops: To create admin user

OCI Images

The charm by default uses following images:

`ghcr.io/canonical/openstack-exporter:1.6.0-7533071`

Alerting Rules

This charm automatically adds Prometheus alert rules using the files at src/prometheus_alert_rules when related with grafana-agent. The following alerts are configured by default:

  • CinderStateWarning: This alert rule will trigger when a cinder service is disabled. The exporter generates metric openstack_cinder_agent_state which checks cinder service status. Alerts will appear if any Cinder service is found to be disabled.

  • CinderStateCritical: This alert rule will trigger when a cinder service is down. The exporter generates metric openstack_cinder_agent_state which checks cinder service status. Alerts will appear if any Cinder service is found to be down.

  • NeutronStateCritical: This alert rule triggers when a Neutron agent is enabled, but down. The exporter generates the metric openstack_neutron_agent_state, which checks the status of neutron agents. Alerts will appear if any neutron agent is found to be down.

  • OpenStackServicesDown: This alert rule will trigger when an OpenStack service is down. The exporter generates metrics that identify if services are up. E.g.: openstack_loadbalancer_up, openstack_designate_up. Individual alerts will appear if one of those services has problems.

  • NovaComputeDown: This alert rule will trigger when a nova agent (nova-conductor, nova-scheduler or nova-compute) is enabled, but down.

Contributing

Please see the Juju SDK docs for guidelines on enhancements to this charm following best practice guidelines, and CONTRIBUTING.md for developer guidance.

Bugs

Please report bugs on Launchpad.