From af1c93cdfc52d8fb839f9a3e4b5528fc411ba7a2 Mon Sep 17 00:00:00 2001
From: Andrew DeMaria <lostonamountain@gmail.com>
Date: Sun, 10 May 2020 13:21:51 -0600
Subject: [PATCH] Add option to expose metrics on separate port (#6092)

---
 roles/etcd/defaults/main.yml     | 3 +++
 roles/etcd/templates/etcd.env.j2 | 3 +++
 2 files changed, 6 insertions(+)

diff --git a/roles/etcd/defaults/main.yml b/roles/etcd/defaults/main.yml
index ac38f6d7f..f44c73be6 100644
--- a/roles/etcd/defaults/main.yml
+++ b/roles/etcd/defaults/main.yml
@@ -36,6 +36,9 @@ etcd_election_timeout: "5000"
 
 etcd_metrics: "basic"
 
+# Uncomment to set a separate port for etcd to expose metrics on
+# etcd_metrics_port: 2381
+
 ## A dictionary of extra environment variables to add to etcd.env, formatted like:
 ##  etcd_extra_vars:
 ##    ETCD_VAR1: "value1"
diff --git a/roles/etcd/templates/etcd.env.j2 b/roles/etcd/templates/etcd.env.j2
index 6cd760405..536fd6815 100644
--- a/roles/etcd/templates/etcd.env.j2
+++ b/roles/etcd/templates/etcd.env.j2
@@ -5,6 +5,9 @@ ETCD_INITIAL_ADVERTISE_PEER_URLS={{ etcd_peer_url }}
 ETCD_INITIAL_CLUSTER_STATE={% if etcd_cluster_is_healthy.rc != 0 | bool %}new{% else %}existing{% endif %}
 
 ETCD_METRICS={{ etcd_metrics }}
+{% if etcd_metrics_port is defined %}
+ETCD_LISTEN_METRICS_URLS=http://{{ etcd_address }}:{{ etcd_metrics_port }},http://127.0.0.1:{{ etcd_metrics_port }}
+{% endif %}
 ETCD_LISTEN_CLIENT_URLS=https://{{ etcd_address }}:2379,https://127.0.0.1:2379
 ETCD_ELECTION_TIMEOUT={{ etcd_election_timeout }}
 ETCD_HEARTBEAT_INTERVAL={{ etcd_heartbeat_interval }}
-- 
GitLab