From afce8598ac098fdb2e11ebac587ef7b13a6d4ec8 Mon Sep 17 00:00:00 2001 From: Doug Szumski Date: Fri, 8 Mar 2019 16:14:54 +0000 Subject: [PATCH] Add Prometheus libvirt exporter image This adds a libvirt exporter image for use with Prometheus. Partially-Implements: blueprint libvirt-exporter Change-Id: Ice2af99a323496d3821762851b663899d15f569a --- .../prometheus-libvirt-exporter/Dockerfile.j2 | 45 +++++++++++++++++++ ...eus-libvirt-exporter-8d505dc8b74f8625.yaml | 4 ++ 2 files changed, 49 insertions(+) create mode 100644 docker/prometheus/prometheus-libvirt-exporter/Dockerfile.j2 create mode 100644 releasenotes/notes/add-prometheus-libvirt-exporter-8d505dc8b74f8625.yaml diff --git a/docker/prometheus/prometheus-libvirt-exporter/Dockerfile.j2 b/docker/prometheus/prometheus-libvirt-exporter/Dockerfile.j2 new file mode 100644 index 0000000000..bcdcc7a56c --- /dev/null +++ b/docker/prometheus/prometheus-libvirt-exporter/Dockerfile.j2 @@ -0,0 +1,45 @@ +FROM {{ namespace }}/{{ infra_image_prefix }}prometheus-base:{{ tag }} +{% block labels %} +LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}" +{% endblock %} + +{% import "macros.j2" as macros with context %} + +{% block prometheus_libvirt_exporter_header %}{% endblock %} + +{% if base_package_type == 'rpm' %} + {% set prometheus_libvirt_exporter_packages = [ + 'git', + 'go', + 'libvirt-devel', + ] %} +{% elif base_package_type == 'deb' %} + {% set prometheus_libvirt_exporter_packages = [ + 'build-essential', + 'git', + 'golang-go', + 'libvirt-dev', + 'pkg-config', + ] %} +{% endif %} + +{{ macros.install_packages(prometheus_libvirt_exporter_packages | customizable("packages")) }} + +{% block prometheus_libvirt_exporter_version %} +ARG prometheus_libvirt_exporter_version=2.3.0 +ARG prometheus_libvirt_exporter_path=github.com/AlexZzz/libvirt-exporter +{% endblock %} + +{% block prometheus_libvirt_exporter_install %} +ENV GOPATH=/build +RUN go mod init libvirt-exporter \ + && go get -v ${prometheus_libvirt_exporter_path}@${prometheus_libvirt_exporter_version} \ + && mv /build/bin/libvirt-exporter /opt \ + && rm -rf /build + +{% endblock %} + +{% block prometheus_libvirt_exporter_footer %}{% endblock %} +{% block footer %}{% endblock %} + +USER root diff --git a/releasenotes/notes/add-prometheus-libvirt-exporter-8d505dc8b74f8625.yaml b/releasenotes/notes/add-prometheus-libvirt-exporter-8d505dc8b74f8625.yaml new file mode 100644 index 0000000000..2f85a5b94d --- /dev/null +++ b/releasenotes/notes/add-prometheus-libvirt-exporter-8d505dc8b74f8625.yaml @@ -0,0 +1,4 @@ +--- +features: + - Added a container image for Prometheus libvirt exporter, to be used + for monitoring deployments which provide VMs with libvirt.