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 }}