diff --git a/horizon.dhall b/horizon.dhall
index 12e42cca58db8242476551a5d37e38e7a1670f59..6be95ed74b3437150746afdd8231eee2dfaf3280 100644
--- a/horizon.dhall
+++ b/horizon.dhall
@@ -302,12 +302,15 @@ let packages =
       , effectful-core = H.callHackage "effectful-core" "2.1.0.0"
       , effectful-th = H.callHackage "effectful-th" "1.0.0.0"
       , effectful = H.callHackage "effectful" "2.1.0.0"
+      , ekg = H.callHackage "ekg" "0.4.0.15"
       , ekg-core = H.callHackage "ekg-core" "0.1.1.7"
       , ekg-json =
           H.callGit
             "https://github.com/vshabanov/ekg-json"
             "00ebe7211c981686e65730b7144fbf5350462608"
             (None H.Subdir)
+      , ekg-statsd = H.callHackage "ekg-statsd" "0.2.5.0"
+      , ekg-wai = H.callHackage "ekg-wai" "0.1.1.0"
       , emojis = H.callHackage "emojis" "0.1.2"
       , enclosed-exceptions = H.callHackage "enclosed-exceptions" "1.0.3"
       , entropy = H.callHackage "entropy" "0.4.1.10"
diff --git a/initial-packages.nix b/initial-packages.nix
index 2fce125ea288a8bff7dcebb6788576c77b98cd3a..fd0008b760c2d579e08e4a02f46daee0ea922bd8 100644
--- a/initial-packages.nix
+++ b/initial-packages.nix
@@ -447,10 +447,16 @@ self: with pkgs.haskell.lib; {
 
   either = self.callPackage (./pkgs/either.nix) { };
 
+  ekg = self.callPackage (./pkgs/ekg.nix) { };
+
   ekg-core = self.callPackage (./pkgs/ekg-core.nix) { };
 
   ekg-json = self.callPackage (./pkgs/ekg-json.nix) { };
 
+  ekg-statsd = self.callPackage (./pkgs/ekg-statsd.nix) { };
+
+  ekg-wai = self.callPackage (./pkgs/ekg-wai.nix) { };
+
   email-validate = self.callPackage (./pkgs/email-validate.nix) { };
 
   emojis = self.callPackage (./pkgs/emojis.nix) { };
diff --git a/pkgs/ekg-statsd.nix b/pkgs/ekg-statsd.nix
new file mode 100644
index 0000000000000000000000000000000000000000..56658732cca69ed7ba8ac92c2e1e212da4413207
--- /dev/null
+++ b/pkgs/ekg-statsd.nix
@@ -0,0 +1,38 @@
+{ mkDerivation
+, base
+, bytestring
+, ekg-core
+, lib
+, network
+, text
+, time
+, unordered-containers
+}:
+mkDerivation {
+  pname = "ekg-statsd";
+  version = "0.2.5.0";
+  sha256 = "22f947644019f13db105aea665088673fbdcdf6a671e7ec1a72c6134bbd64f0b";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base
+    bytestring
+    ekg-core
+    network
+    text
+    time
+    unordered-containers
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/tibbe/ekg-statsd";
+  description = "Push metrics to statsd";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/ekg-wai.nix b/pkgs/ekg-wai.nix
new file mode 100644
index 0000000000000000000000000000000000000000..1869c2790473041e3c31c7d0d8eae55a413f2ca9
--- /dev/null
+++ b/pkgs/ekg-wai.nix
@@ -0,0 +1,54 @@
+{ mkDerivation
+, aeson
+, base
+, bytestring
+, ekg-core
+, ekg-json
+, filepath
+, http-types
+, lib
+, network
+, text
+, time
+, transformers
+, unordered-containers
+, wai
+, wai-app-static
+, warp
+}:
+mkDerivation {
+  pname = "ekg-wai";
+  version = "0.1.1.0";
+  sha256 = "e03e030c7d9217fe344b1fd95cad7bcad430d23382526cb36ce5f3c0fa07d874";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = true;
+  libraryHaskellDepends = [
+    aeson
+    base
+    bytestring
+    ekg-core
+    ekg-json
+    filepath
+    http-types
+    network
+    text
+    time
+    transformers
+    unordered-containers
+    wai
+    wai-app-static
+    warp
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/tvh/ekg-wai";
+  description = "Remote monitoring of processes";
+  license = lib.licenses.bsd3;
+  broken = false;
+}