The oVirt metrics store is based on OpenShift OKD with logging stack – Elasticsearch and Kibana.
If you already have an existing Elasticsearch setup you should be able to collect the metrics and logs collected by
Collectd and Rsyslog on the hosts to it.
1. Have an Elasticsearch instance.
Please note: There is a Bug Rsyslog omelasticsearch does not work with ES 6.x strict headers.
Until it is fixed, the data can only be sent to ES 5.x and below.
2. Create 2 dynamic index templates, 1 for metrics and 1 for logs.
Default indexes for metrics and logs are the following:
Note: By default ovirt_env_name is engine.
3. Log in to the oVirt engine machine using SSH.
4. Copy config.yml.example to create config.yml:
# cp /etc/ovirt-engine-metrics/config.yml.example /etc/ovirt-engine-metrics/config.yml.d/config.yml
5. Edit config.yml
# vi /etc/ovirt-engine-metrics/config.yml.d/config.yml
6. Edit the ovirt_env_name and elasticsearch_host parameters in config.yml
7. Set the indexes names, if they are not the default in section #2:
Set if no certificates required:
If not using https add also the following variables:
rsyslog_elasticsearch_usehttps_metrics: off rsyslog_elasticsearch_usehttps_logs: off
If certificate are required, update their location:
# Where to find the CA certificate used to communicate with Elasticsearch rsyslog_elasticsearch_ca_cert_path: # Where to find the client certificate used to communicate with Elasticsearch rsyslog_elasticsearch_client_cert_path: # Where to find the client certificate used to communicate with Elasticsearch rsyslog_elasticsearch_client_key_path:
It is possible to disable metrics and/or logs collection by setting the following variables to `false`:
8. Save the file.
9. Deploy Collectd and Rsyslog on the hosts:
# cd /usr/share/ovirt-engine-metrics/setup/ansible/ # ./configure_ovirt_machines_for_metrics.sh