add prom logic and variables

This commit is contained in:
Arne Teuke
2025-02-24 15:23:20 +01:00
parent e8180a1061
commit c182cdae84
2 changed files with 35 additions and 5 deletions

View File

@@ -6,6 +6,9 @@
# @param [string] ay_loki_url the url where alloy will send logs to.
# @param [string] ay_loki_username the username to logon to loki
# @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 [string] ay_prom_url the url where alloy will send metrics
# @summary Class contains all parameters for the cd_alloy module.
##############################################################################
class cd_alloy::params (
@@ -14,13 +17,15 @@ $reqpackages = 'alloy',
$pkg_ensure = 'latest',
# loki
$ay_manage_loki = true,
$ay_loki_url = 'https://loki.example.net/loki/api/v1/push',
$ay_loki_username = '',
$ay_loki_userpass = '',
$ay_log_targets = [
'/var/log/messages',
'/var/log/secure',
],
$ay_log_targets = ['/var/log/messages','/var/log/secure',],
# prometheus
$ay_manage_prom = true,
$ay_prom_url = 'https://prometheus.example.net/api/v1/write',
) {

View File

@@ -1,3 +1,4 @@
<% if @ay_manage_loki == true -%>
logging {
level = "info"
format = "logfmt"
@@ -21,3 +22,27 @@ loki.write "loki" {
}
}
}
<% end -%>
<% if @ay_manage_prom == true -%>
// Metrics collection
prometheus.exporter.unix "system_metrics" {
include_exporter_metrics = true
disable_collectors = ["mdadm"] # Optional: adjust based on your needs
}
prometheus.scrape "scrape_system" {
targets = prometheus.exporter.unix.system_metrics.targets
forward_to = [prometheus.remote_write.prometheus.receiver]
scrape_interval = "15s" # Adjust as needed
}
prometheus.remote_write "prometheus" {
endpoint {
url = "<%= @ay_prom_url %>"
basic_auth {
username = "<%= @ay_loki_username %>"
password = "<%= @ay_loki_userpass %>"
}
}
}
<% end %>