about summary refs log tree commit diff
path: root/modules/services/monitoring
diff options
context:
space:
mode:
authorDomen Kozar <domen@dev.si>2013-06-29 19:33:44 +0200
committerDomen Kozar <domen@dev.si>2013-06-29 19:33:44 +0200
commit36f2ec84a96c02701ffdca07ce6bd79eda7451fa (patch)
tree53d86e6632ea4f4ffaec25377ea7fbd50bfd548c /modules/services/monitoring
parenta20630476f62c602414c0f81f8546beca36cba34 (diff)
downloadnixlib-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.nix24
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 ];
     };
   };
 }