diff --git a/doc/puppet_classes/alloy_cd_3A_3Amain_3A_3Ayumrepo.html b/doc/puppet_classes/alloy_cd_3A_3Amain_3A_3Ayumrepo.html index 38016c0..7ba8e32 100644 --- a/doc/puppet_classes/alloy_cd_3A_3Amain_3A_3Ayumrepo.html +++ b/doc/puppet_classes/alloy_cd_3A_3Amain_3A_3Ayumrepo.html @@ -115,8 +115,7 @@ 17 18 19 -20 -21 +20
# File 'manifests/main/yumrepo.pp', line 6
@@ -124,7 +123,6 @@
class alloy_cd::main::yumrepo (
) inherits alloy_cd::params {
-
# test
yumrepo { 'grafana':
ensure => 'present',
diff --git a/doc/puppet_classes/alloy_cd_3A_3Aparams.html b/doc/puppet_classes/alloy_cd_3A_3Aparams.html
index 27ab653..2b0919b 100644
--- a/doc/puppet_classes/alloy_cd_3A_3Aparams.html
+++ b/doc/puppet_classes/alloy_cd_3A_3Aparams.html
@@ -234,6 +234,24 @@
+ whether to manage metric forwarding for the node exporter (external)
+-15 -16 17 18 19 @@ -309,10 +325,15 @@ 40 41 42 -43+43 +44 +45 +46 +47 +48
# File 'manifests/params.pp', line 15
+ # File 'manifests/params.pp', line 17
class alloy_cd::params (
@@ -330,6 +351,9 @@ class alloy_cd::params (
Boolean $ay_manage_prom = true,
String $ay_prom_url = 'https://prometheus.example.net/api/v1/write',
+# node exporter (external)
+ Boolean $ay_manage_ne = false,
+
) {
# service
$ay_service = 'alloy'
diff --git a/manifests/main/yumrepo.pp b/manifests/main/yumrepo.pp
index b2f63d4..925cc53 100644
--- a/manifests/main/yumrepo.pp
+++ b/manifests/main/yumrepo.pp
@@ -6,7 +6,6 @@
class alloy_cd::main::yumrepo (
) inherits alloy_cd::params {
-
# test
yumrepo { 'grafana':
ensure => 'present',
diff --git a/manifests/params.pp b/manifests/params.pp
index 00a101b..e4030a7 100644
--- a/manifests/params.pp
+++ b/manifests/params.pp
@@ -8,6 +8,8 @@
# @param [String] ay_loki_userpass the password to logon to loki
# @param [Boolean] ay_manage_loki whether to manage log forwarding to loki
# @param [Boolean] ay_manage_prom whether to manage metric forwarding
+# @param [Boolean] ay_manage_ne whether to manage metric forwarding for
+# the node exporter (external)
# @param [String] ay_prom_url the url where alloy will send metrics
# @param [Array] ay_log_targets the logging targets
# @summary Class contains all parameters for the alloy_cd module.
@@ -28,6 +30,9 @@ class alloy_cd::params (
Boolean $ay_manage_prom = true,
String $ay_prom_url = 'https://prometheus.example.net/api/v1/write',
+# node exporter (external)
+ Boolean $ay_manage_ne = false,
+
) {
# service
$ay_service = 'alloy'
diff --git a/templates/config.alloy.erb b/templates/config.alloy.erb
index 49e4e2e..6518c5f 100644
--- a/templates/config.alloy.erb
+++ b/templates/config.alloy.erb
@@ -64,7 +64,15 @@ prometheus.scrape "scrape_system" {
forward_to = [prometheus.remote_write.prometheus.receiver]
scrape_interval = "15s"
}
-
+<% if @ay_manage_ne == true -%>
+prometheus.scrape "node_exporter" {
+ targets = [
+ { __address__ = "localhost:9100" },)
+ ]
+ forward_to = [prometheus.remote_write.prometheus.receiver]
+ scrape_interval = "15s"
+}
+<% end %>
prometheus.remote_write "prometheus" {
endpoint {
url = "<%= @ay_prom_url %>"