aboutsummaryrefslogtreecommitdiff
path: root/profiles/core-metrics.nix
diff options
context:
space:
mode:
Diffstat (limited to 'profiles/core-metrics.nix')
-rw-r--r--profiles/core-metrics.nix62
1 files changed, 62 insertions, 0 deletions
diff --git a/profiles/core-metrics.nix b/profiles/core-metrics.nix
new file mode 100644
index 0000000..3f817e5
--- /dev/null
+++ b/profiles/core-metrics.nix
@@ -0,0 +1,62 @@
+{ hostName, ... }:
+let
+ relabel_configs = [
+ {
+ action = "replace";
+ replacement = hostName;
+ target_label = "instance";
+ }
+ ];
+in
+{
+ services.prometheus.exporters = {
+ node.enable = true;
+ systemd.enable = true;
+ process.enable = true;
+ };
+ services.vmagent = {
+ enable = true;
+ remoteWrite.url = "http://10.100.0.60:8428/api/v1/write";
+ prometheusConfig = {
+ global = {
+ external_labels = {
+ "host" = hostName;
+ };
+ };
+ scrape_configs = [
+ {
+ job_name = "node";
+ scrape_interval = "10s";
+ static_configs = [
+ { targets = [ "127.0.0.1:9100" ]; }
+ ];
+ inherit relabel_configs;
+ }
+ {
+ job_name = "systemd";
+ scrape_interval = "10s";
+ static_configs = [
+ { targets = [ "127.0.0.1:9558" ]; }
+ ];
+ inherit relabel_configs;
+ }
+ {
+ job_name = "process";
+ scrape_interval = "10s";
+ static_configs = [
+ { targets = [ "127.0.0.1:9256" ]; }
+ ];
+ inherit relabel_configs;
+ }
+ {
+ job_name = "vmagent";
+ scrape_interval = "10s";
+ static_configs = [
+ { targets = [ "127.0.0.1:8429" ]; }
+ ];
+ inherit relabel_configs;
+ }
+ ];
+ };
+ };
+}