prometheus libvirt exporter #5
Description
This exporter connects to any libvirt daemon and exports per-domain metrics related to CPU, memory, disk and network usage. By default, this exporter listens on TCP port 9177.
- Tags:
- monitoring ›
Juju prometheus libvirt exporter charm
This charm provides the Prometheus libvirt exporter
Testing
This directory needs to be create in the charm path prior to testing
mkdir -p report/lint
Deployment
A typical deployment with nova and libvirt is as follows:
The metrics will be at http://nova-compute:9177
juju deploy nova-compute
juju deploy prometheus-libvirt-exporter
juju add-relation nova-compute prometheus-libvirt-exporter
To avail of the metrics in grafana the following steps can be used
juju deploy grafana
juju deploy prometheus2
juju add-relation prometheus-libvirt-exporter:scrape prometheus2:target
juju add-relation prometheus-libvirt-exporter:dashboards grafana:dashboards
To setup reporting with nagios
juju deploy nrpe
juju add-relation nova-compute nrpe
juju add-relation prometheus-libvirt-exporter:nrpe-external-master nrpe:nrpe-external-master
Functional tests
Juju should be installed and bootstrapped on the system to run functional tests.
export HTTPS_PROXY=http://<your_proxy
export NO_PROXY=127.0.0.1,localhost,<juju_controller_ips>
export MODEL_SETTINGS=<semicolon-separated list of "juju model-config" settings>
make test
NOTE: If you are behind a proxy, be sure to export a MODEL_SETTINGS variable as described above. Note that you will need to use the juju-http-proxy, juju-https-proxy, juju-no-proxy and similar settings. Also you will need to export HTTPS_PROXY used in the test and export NO_PROXY that should include ips of controller subnet and model subnet.
Change or update dashboards
# The exporter is distributed with a standard dashboard
# To provide your own dashboards, create a zip file and attach it as a resource
zip grafana-dashboards.zip libvirt-simple.json libvirtadvanced.json
juju attach-resource prometheus-libvirt-exporter dashboards=./grafana-dashboards.zip
Contact Information
Configuration
- nagios_context
- (string) A string that will be prepended to instance name to set the host name in nagios. So for instance the hostname would be something like: juju-myservice-0 If you're running multiple environments with the same services in them this allows you to differentiate between them.
- juju
- nagios_servicegroups
- (string) Comma separated list of nagios servicegroups
- juju
- snap_channel
- (string) If install_method is set to "snap" this option controlls channel name. Supported values are: "stable", "candidate", "beta" and "edge"
- stable
- snapd_refresh
- (string) How often snapd handles updates for installed snaps. The default (an empty string) is 4x per day. Set to "max" to check once per month based on the charm deployment date. You may also set a custom string as described in the 'refresh.timer' section here: https://forum.snapcraft.io/t/system-options/87