diff --git a/hosts/monitoring01/configuration.nix b/hosts/monitoring01/configuration.nix index 7e766ef..f3db374 100644 --- a/hosts/monitoring01/configuration.nix +++ b/hosts/monitoring01/configuration.nix @@ -74,6 +74,7 @@ settings = { ListenAddr = ":9969"; + Profiling = true; StepMonitors = [ { Enabled = true; diff --git a/services/monitoring/alloy.nix b/services/monitoring/alloy.nix new file mode 100644 index 0000000..7171c70 --- /dev/null +++ b/services/monitoring/alloy.nix @@ -0,0 +1,41 @@ +{ ... }: +{ + services.alloy = { + enable = true; + }; + + environment.etc."alloy/config.alloy" = { + enable = true; + mode = "0644"; + text = '' + pyroscope.write "local_pyroscope" { + endpoint { + url = "http://localhost:4040"; + } + } + + pyroscope.scrape "labmon" { + targets = [{"__address__" = "localhost:9969", "service_name" = "labmon"}] + forward_to = [pyroscope.write.local_pyroscope.receiver] + + profiling_config { + profile.process_cpu { + enabled = true; + } + profile.memory { + enabled = true; + } + profile.mutex { + enabled = true; + } + profile.block { + enabled = true; + } + profile.goroutine { + enabled = true; + } + } + } + ''; + }; +} diff --git a/services/monitoring/default.nix b/services/monitoring/default.nix index 2766f47..773b57d 100644 --- a/services/monitoring/default.nix +++ b/services/monitoring/default.nix @@ -7,5 +7,6 @@ ./pve.nix ./alerttonotify.nix ./pyroscope.nix + ./alloy.nix ]; }