diff options
| author | Mathias Ewald <mewald@evoila.de> | 2017-07-17 16:00:08 +0000 |
|---|---|---|
| committer | Mathias Ewald <mewald@evoila.de> | 2017-07-24 13:32:17 +0000 |
| commit | cbbceb0ad344ff70de3b73cfef9312b932cbd426 (patch) | |
| tree | 94a26f20473a5d1275b9345838bf69868e0750c7 /docker | |
| parent | b7430a07c42149368e38ba5190f2e24dcfc286a1 (diff) | |
| download | kolla-cbbceb0ad344ff70de3b73cfef9312b932cbd426.tar.gz kolla-cbbceb0ad344ff70de3b73cfef9312b932cbd426.zip | |
Add prometheus and related containers
Add container for prometheus, mysqld_exporter, node_exporter and
haproxy_exporter
Change-Id: I6e4eb0391380e594b708a67365e240d3eeafd88b
Diffstat (limited to 'docker')
6 files changed, 111 insertions, 0 deletions
diff --git a/docker/prometheus/prometheus-base/Dockerfile.j2 b/docker/prometheus/prometheus-base/Dockerfile.j2 new file mode 100644 index 000000000..93da38239 --- /dev/null +++ b/docker/prometheus/prometheus-base/Dockerfile.j2 @@ -0,0 +1,21 @@ +FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }} +LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}" + +{% block prometheus_base_header %}{% endblock %} + +{% import "macros.j2" as macros with context %} + +{{ macros.configure_user(name='prometheus') }} + +{% if base_arch == 'x86_64' %} +ENV prometheus_arch=amd64 +{% elif base_arch == 'aarch64' %} +ENV prometheus_arch=arm64 +{% else %} +ENV prometheus_arch={{ base_arch }} +{% endif %} + +COPY extend_start.sh /usr/local/bin/kolla_extend_start +RUN chmod 755 /usr/local/bin/kolla_extend_start + +{% block prometheus_base_footer %}{% endblock %} diff --git a/docker/prometheus/prometheus-base/extend_start.sh b/docker/prometheus/prometheus-base/extend_start.sh new file mode 100644 index 000000000..8613330c6 --- /dev/null +++ b/docker/prometheus/prometheus-base/extend_start.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +# Create log directory, with appropriate permissions +if [[ ! -d "/var/log/kolla/prometheus" ]]; then + mkdir -p /var/log/kolla/prometheus +fi +if [[ $(stat -c %a /var/log/kolla/prometheus) != "755" ]]; then + chmod 755 /var/log/kolla/prometheus +fi diff --git a/docker/prometheus/prometheus-haproxy-exporter/Dockerfile.j2 b/docker/prometheus/prometheus-haproxy-exporter/Dockerfile.j2 new file mode 100644 index 000000000..621faa095 --- /dev/null +++ b/docker/prometheus/prometheus-haproxy-exporter/Dockerfile.j2 @@ -0,0 +1,20 @@ +FROM {{ namespace }}/{{ image_prefix }}prometheus-base:{{ tag }} +LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}" + +{% block haproxy_exporter_header %}{% endblock %} + +{% block haproxy_exporter_repository_version %} +ENV haproxy_exporter_version=0.7.1 +{% endblock %} + +{% block haproxy_exporter_install %} +RUN curl -sSL -o /tmp/haproxy_exporter.tar.gz https://github.com/prometheus/haproxy_exporter/releases/download/v${haproxy_exporter_version}/haproxy_exporter-${haproxy_exporter_version}.linux-${prometheus_arch}.tar.gz \ + && tar xvf /tmp/haproxy_exporter.tar.gz -C /opt/ \ + && rm -f /tmp/haproxy_exporter.tar.gz \ + && ln -s /opt/haproxy_exporter* /opt/haproxy_exporter +{% endblock %} + +{% block haproxy_exporter_footer %}{% endblock %} +{% block footer %}{% endblock %} + +USER prometheus diff --git a/docker/prometheus/prometheus-mysqld-exporter/Dockerfile.j2 b/docker/prometheus/prometheus-mysqld-exporter/Dockerfile.j2 new file mode 100644 index 000000000..e9f6773a2 --- /dev/null +++ b/docker/prometheus/prometheus-mysqld-exporter/Dockerfile.j2 @@ -0,0 +1,20 @@ +FROM {{ namespace }}/{{ image_prefix }}prometheus-base:{{ tag }} +LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}" + +{% block mysqld_exporter_header %}{% endblock %} + +{% block mysqld_exporter_repository_version %} +ENV mysqld_exporter_version=0.10.0 +{% endblock %} + +{% block mysqld_exporter_install %} +RUN curl -ssL -o /tmp/mysqld_exporter.tar.gz https://github.com/prometheus/mysqld_exporter/releases/download/v${mysqld_exporter_version}/mysqld_exporter-${mysqld_exporter_version}.linux-${prometheus_arch}.tar.gz \ + && tar xvf /tmp/mysqld_exporter.tar.gz -C /opt/ \ + && rm -f /tmp/mysqld_exporter.tar.gz \ + && ln -s /opt/mysqld_exporter* /opt/mysqld_exporter +{% endblock %} + +{% block mysqld_exporter_footer %}{% endblock %} +{% block footer %}{% endblock %} + +USER prometheus diff --git a/docker/prometheus/prometheus-node-exporter/Dockerfile.j2 b/docker/prometheus/prometheus-node-exporter/Dockerfile.j2 new file mode 100644 index 000000000..1738285ba --- /dev/null +++ b/docker/prometheus/prometheus-node-exporter/Dockerfile.j2 @@ -0,0 +1,20 @@ +FROM {{ namespace }}/{{ image_prefix }}prometheus-base:{{ tag }} +LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}" + +{% block node_exporter_header %}{% endblock %} + +{% block node_exporter_repository_version %} +ENV node_exporter_version=0.14.0 +{% endblock %} + +{% block node_exporter_install %} +RUN curl -sSL -o /tmp/node_exporter.tar.gz https://github.com/prometheus/node_exporter/releases/download/v${node_exporter_version}/node_exporter-${node_exporter_version}.linux-${prometheus_arch}.tar.gz \ + && tar xvf /tmp/node_exporter.tar.gz -C /opt/ \ + && rm -f /tmp/node_exporter.tar.gz \ + && ln -s /opt/node_exporter* /opt/node_exporter +{% endblock %} + +{% block node_exporter_footer %}{% endblock %} +{% block footer %}{% endblock %} + +USER prometheus diff --git a/docker/prometheus/prometheus-server/Dockerfile.j2 b/docker/prometheus/prometheus-server/Dockerfile.j2 new file mode 100644 index 000000000..686ac3b25 --- /dev/null +++ b/docker/prometheus/prometheus-server/Dockerfile.j2 @@ -0,0 +1,21 @@ +FROM {{ namespace }}/{{ image_prefix }}prometheus-base:{{ tag }} +LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}" + +{% block prometheus_server_header %}{% endblock %} + +{% block prometheus_server_repository_version %} +ENV prometheus_version=1.7.1 +{% endblock %} + +{% block prometheus_server_install %} +RUN curl -sSL -o /tmp/prometheus.tar.gz https://github.com/prometheus/prometheus/releases/download/v${prometheus_version}/prometheus-${prometheus_version}.linux-${prometheus_arch}.tar.gz \ + && tar xvf /tmp/prometheus.tar.gz -C /opt/ \ + && rm -f /tmp/prometheus.tar.gz \ + && ln -s /opt/prometheus* /opt/prometheus \ + && mkdir -p /etc/prometheus /data +{% endblock %} + +{% block prometheus_server_footer %}{% endblock %} +{% block footer %}{% endblock %} + +USER prometheus |
