diff options
author | Domen Kozar <domen@dev.si> | 2013-06-29 19:33:44 +0200 |
---|---|---|
committer | Domen Kozar <domen@dev.si> | 2013-06-29 19:33:44 +0200 |
commit | 36f2ec84a96c02701ffdca07ce6bd79eda7451fa (patch) | |
tree | 53d86e6632ea4f4ffaec25377ea7fbd50bfd548c /modules/services/monitoring | |
parent | a20630476f62c602414c0f81f8546beca36cba34 (diff) | |
download | nixlib-36f2ec84a96c02701ffdca07ce6bd79eda7451fa.tar nixlib-36f2ec84a96c02701ffdca07ce6bd79eda7451fa.tar.gz nixlib-36f2ec84a96c02701ffdca07ce6bd79eda7451fa.tar.bz2 nixlib-36f2ec84a96c02701ffdca07ce6bd79eda7451fa.tar.lz nixlib-36f2ec84a96c02701ffdca07ce6bd79eda7451fa.tar.xz nixlib-36f2ec84a96c02701ffdca07ce6bd79eda7451fa.tar.zst nixlib-36f2ec84a96c02701ffdca07ce6bd79eda7451fa.zip |
dd-agent: cleanup, add dogstatsd systemd service
Diffstat (limited to 'modules/services/monitoring')
-rw-r--r-- | modules/services/monitoring/dd-agent.nix | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/modules/services/monitoring/dd-agent.nix b/modules/services/monitoring/dd-agent.nix index 40ce48aff41b..92e88c68d162 100644 --- a/modules/services/monitoring/dd-agent.nix +++ b/modules/services/monitoring/dd-agent.nix @@ -5,7 +5,7 @@ with pkgs.lib; let cfg = config.services.dd-agent; - datadog-conf = pkgs.runCommand "datadog.conf" {} '' + datadog_conf = pkgs.runCommand "datadog.conf" {} '' sed -e 's|^api_key:|api_key: ${cfg.api_key}|' ${optionalString (cfg.hostname != null) "-e 's|^#hostname: mymachine.mydomain|hostname: ${cfg.hostname}|'" } ${pkgs.dd-agent}/etc/dd-agent/datadog.conf.example > $out @@ -41,8 +41,8 @@ in { }; config = mkIf cfg.enable { - environment.etc = [ { source = datadog-conf; target = "dd-agent/datadog.conf"; } ]; - environment.systemPackages = [ pkgs."dd-agent" ]; + environment.etc = [ { source = datadog_conf; target = "dd-agent/datadog.conf"; } ]; + environment.systemPackages = [ pkgs."dd-agent" pkgs.sysstat pkgs.procps ]; users.extraUsers."dd-agent" = { description = "Datadog Agent User"; @@ -55,14 +55,28 @@ in { systemd.services.dd-agent = { description = "Datadog agent monitor"; - path = [ pkgs."dd-agent" ]; + path = [ pkgs."dd-agent" pkgs.python pkgs.sysstat pkgs.procps]; wantedBy = [ "multi-user.target" ]; serviceConfig = { ExecStart = "${pkgs.dd-agent}/bin/dd-agent foreground"; User = "dd-agent"; Group = "dd-agent"; }; - restartTriggers = [ pkgs.dd-agent ]; + restartTriggers = [ pkgs.dd-agent datadog_conf ]; + }; + + systemd.services.dogstatsd = { + description = "Datadog statsd"; + path = [ pkgs."dd-agent" pkgs.python ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + ExecStart = "${pkgs.dd-agent}/bin/dogstatsd start"; + User = "dd-agent"; + Group = "dd-agent"; + Type = "forking"; + PIDFile = "/tmp/dogstatsd.pid"; + }; + restartTriggers = [ pkgs.dd-agent datadog_conf ]; }; }; } |