{ lib, pkgs, config, ... }: with lib; with types; { options.components.monitor.netdata = { enable = mkOption { type = bool; default = config.components.monitor.metrics.enable; }; }; config = mkIf config.components.monitor.netdata.enable { # netdata sink services.opentelemetry-collector.settings.receivers.prometheus.config.scrape_configs = [ { job_name = "netdata"; scrape_interval = "10s"; metrics_path = "/api/v1/allmetrics"; params.format = [ "prometheus" ]; static_configs = [ { targets = [ "127.0.0.1:19999" ]; } ]; } ]; # https://docs.netdata.cloud/daemon/config/ services.netdata = { enable = lib.mkDefault true; config = { global = { "memory mode" = "ram"; }; }; }; }; }