feat: allow specifying consul addr for exporters

- ensure frr/node exporter reachable on hosts with loopbacks
This commit is contained in:
Ben Vincent 2025-08-09 17:07:36 +10:00
parent ac36d9627b
commit 23dd962d89
4 changed files with 10 additions and 2 deletions

View File

@ -150,8 +150,11 @@ networking::interfaces:
netmask: 255.255.255.255
mtu: 1500
exporters::node_exporter::addr: "%{hiera('networking_loopback0_ip')}"
# frrouting
exporters::frr_exporter::enable: true
exporters::frr_exporter::addr: "%{hiera('networking_loopback0_ip')}"
frrouting::ospfd_router_id: "%{hiera('networking_loopback0_ip')}"
frrouting::ospfd_redistribute:
- connected

View File

@ -97,8 +97,11 @@ profiles::consul::client::node_rules:
segment: frr_exporter
disposition: write
exporters::node_exporter::addr: "%{hiera('networking_loopback0_ip')}"
# frrouting
exporters::frr_exporter::enable: true
exporters::frr_exporter::addr: "%{hiera('networking_loopback0_ip')}"
frrouting::ospfd_router_id: "%{hiera('networking_loopback0_ip')}"
frrouting::ospfd_redistribute:
- connected

View File

@ -4,6 +4,7 @@ class exporters::frr_exporter (
String $group = 'frr_exporter',
Boolean $manage_user = true,
Boolean $manage_service = true,
Stdlib::Host $addr = $facts['networking']['ip'],
Stdlib::Port $port = 9342,
Stdlib::Absolutepath $exec_path = '/usr/bin/frr_exporter',
Stdlib::Absolutepath $socket_dir = '/var/run/frr',
@ -45,7 +46,7 @@ class exporters::frr_exporter (
# manage consul service
consul::service { 'frr_exporter':
service_name => 'frr_exporter',
address => $facts['networking']['ip'],
address => $addr,
port => $port,
tags => [
'metrics',

View File

@ -4,6 +4,7 @@ class exporters::node_exporter (
String $group = 'node_exporter',
Boolean $manage_user = true,
Boolean $manage_service = true,
Stdlib::Host $addr = $facts['networking']['ip'],
Stdlib::Port $port = 9100,
Stdlib::Absolutepath $exec_path = '/usr/bin/node_exporter',
Boolean $cleanup_old_node_exporter = false,
@ -58,7 +59,7 @@ class exporters::node_exporter (
# manage consul service
consul::service { 'node_exporter':
service_name => 'node_exporter',
address => $facts['networking']['ip'],
address => $addr,
port => $port,
tags => [
'metrics',