From c8d1e900d6c18b985240c4e681d4c5c8462b46b2 Mon Sep 17 00:00:00 2001 From: Jaka Hudoklin Date: Mon, 16 Nov 2015 14:07:00 +0100 Subject: [PATCH 1/2] bosun: 0.3.0 -> 0.5.0-alpha --- pkgs/servers/monitoring/bosun/default.nix | 24 +++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 +- pkgs/top-level/go-packages.nix | 11 ----------- 3 files changed, 25 insertions(+), 12 deletions(-) create mode 100644 pkgs/servers/monitoring/bosun/default.nix diff --git a/pkgs/servers/monitoring/bosun/default.nix b/pkgs/servers/monitoring/bosun/default.nix new file mode 100644 index 000000000000..cf50e53feacc --- /dev/null +++ b/pkgs/servers/monitoring/bosun/default.nix @@ -0,0 +1,24 @@ +{ lib, fetchFromGitHub, goPackages }: + +goPackages.buildGoPackage rec { + name = "bosun"; + rev = "0.5.0-alpha"; + + src = fetchFromGitHub { + inherit rev; + owner = "bosun-monitor"; + repo = "bosun"; + sha256 = "0nkphzkwx5r974skn269nnsqr4gllws5z4z6n53sslj2x9rz57ml"; + }; + + subPackages = [ "cmd/bosun" "cmd/scollector" ]; + goPackagePath = "bosun.org"; + + meta = with lib; { + description = "Time Series Alerting Framework"; + license = licenses.mit; + homepage = https://bosun.org; + maintainers = with maintainers; [ offline ]; + platforms = with platforms; linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 66382269ebaa..93b6b21df6a6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9066,7 +9066,7 @@ let bird = callPackage ../servers/bird { }; - bosun = go14Packages.bosun.bin // { outputs = [ "bin" ]; }; + bosun = (callPackage ../servers/monitoring/bosun { }).bin // { outputs = [ "bin" ]; }; scollector = bosun; charybdis = callPackage ../servers/irc/charybdis {}; diff --git a/pkgs/top-level/go-packages.nix b/pkgs/top-level/go-packages.nix index 700a07cb73bb..1dbf8279e3db 100644 --- a/pkgs/top-level/go-packages.nix +++ b/pkgs/top-level/go-packages.nix @@ -247,17 +247,6 @@ let sha256 = "193adhhsqdy0kyq1l1fi8pg2n6pwyrw4h607qm78qyi26f8i7vzf"; }; - bosun = buildFromGitHub { - rev = "0.3.0"; - owner = "bosun-monitor"; - repo = "bosun"; - sha256 = "05qfhm5ipdry0figa0rhmg93c45dzh2lwpia73pfxp64l1daqa3a"; - goPackagePath = "bosun.org"; - # Todo: Split these derivations if worried about size on each machine - subPackages = [ "cmd/bosun" "cmd/scollector" ]; - disabled = !isGo14; - }; - bufio = buildFromGitHub { rev = "24e7e48f60fc2d9e99e43c07485d9fff42051e66"; owner = "vmihailenco"; From 0775a89c11791314adb6454430b89f693bb808ad Mon Sep 17 00:00:00 2001 From: Jaka Hudoklin Date: Mon, 16 Nov 2015 14:08:10 +0100 Subject: [PATCH 2/2] bosun module: update module --- nixos/modules/services/monitoring/bosun.nix | 28 ++++++++++++++++++--- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/nixos/modules/services/monitoring/bosun.nix b/nixos/modules/services/monitoring/bosun.nix index ebe4741f01bd..214a19d9483f 100644 --- a/nixos/modules/services/monitoring/bosun.nix +++ b/nixos/modules/services/monitoring/bosun.nix @@ -6,9 +6,11 @@ let cfg = config.services.bosun; configFile = pkgs.writeText "bosun.conf" '' - tsdbHost = ${cfg.opentsdbHost} + ${optionalString (cfg.opentsdbHost !=null) "tsdbHost = ${cfg.opentsdbHost}"} + ${optionalString (cfg.influxHost !=null) "influxHost = ${cfg.influxHost}"} httpListen = ${cfg.listenAddress} stateFile = ${cfg.stateFile} + ledisDir = ${cfg.ledisDir} checkFrequency = ${cfg.checkFrequency} ${cfg.extraConfig} @@ -54,10 +56,20 @@ in { }; opentsdbHost = mkOption { - type = types.string; + type = types.nullOr types.string; default = "localhost:4242"; description = '' Host and port of the OpenTSDB database that stores bosun data. + To disable opentsdb you can pass null as parameter. + ''; + }; + + influxHost = mkOption { + type = types.nullOr types.string; + default = null; + example = "localhost:8086"; + description = '' + Host and port of the influxdb database. ''; }; @@ -70,13 +82,21 @@ in { }; stateFile = mkOption { - type = types.string; + type = types.path; default = "/var/lib/bosun/bosun.state"; description = '' Path to bosun's state file. ''; }; + ledisDir = mkOption { + type = types.path; + default = "/var/lib/bosun/ledis_data"; + description = '' + Path to bosun's ledis data dir + ''; + }; + checkFrequency = mkOption { type = types.str; default = "5m"; @@ -103,7 +123,7 @@ in { }; config = mkIf cfg.enable { - + systemd.services.bosun = { description = "bosun metrics collector (part of Bosun)"; wantedBy = [ "multi-user.target" ];