From 2a48a62b9cfe99140bfa9d45fca960be848f87fe Mon Sep 17 00:00:00 2001 From: Peter Hoeg Date: Thu, 9 Mar 2017 15:31:26 +0800 Subject: [PATCH] sensu: 0.29.0 -> 1.0.2 Use NixOS's default ruby instead of 2.1 and add a few helpful plugins --- pkgs/servers/monitoring/sensu/Gemfile | 11 + pkgs/servers/monitoring/sensu/Gemfile.lock | 70 +++++- pkgs/servers/monitoring/sensu/gemset.nix | 259 ++++++++++++++++++++- pkgs/top-level/all-packages.nix | 4 +- 4 files changed, 327 insertions(+), 17 deletions(-) diff --git a/pkgs/servers/monitoring/sensu/Gemfile b/pkgs/servers/monitoring/sensu/Gemfile index ebee9f257219..3f570024febb 100644 --- a/pkgs/servers/monitoring/sensu/Gemfile +++ b/pkgs/servers/monitoring/sensu/Gemfile @@ -1,2 +1,13 @@ source 'https://rubygems.org' + gem 'sensu' + +# integration +gem 'sensu-plugins-influxdb' + +# checks +gem 'sensu-plugins-http' +gem 'sensu-plugins-disk-checks' +gem 'sensu-plugins-logs' +gem 'sensu-plugins-systemd' +# gem 'sensu-plugins-process-checks' diff --git a/pkgs/servers/monitoring/sensu/Gemfile.lock b/pkgs/servers/monitoring/sensu/Gemfile.lock index 0d01c2271458..9e47e697c3b6 100644 --- a/pkgs/servers/monitoring/sensu/Gemfile.lock +++ b/pkgs/servers/monitoring/sensu/Gemfile.lock @@ -5,17 +5,46 @@ GEM amqp (1.6.0) amq-protocol (>= 2.0.1) eventmachine + aws-sdk (2.10.19) + aws-sdk-resources (= 2.10.19) + aws-sdk-core (2.10.19) + aws-sigv4 (~> 1.0) + jmespath (~> 1.0) + aws-sdk-resources (2.10.19) + aws-sdk-core (= 2.10.19) + aws-sigv4 (1.0.1) + cause (0.1) childprocess (0.5.8) ffi (~> 1.0, >= 1.0.11) + dentaku (2.0.9) + domain_name (0.5.20170404) + unf (>= 0.0.5, < 1.0.0) em-http-server (0.1.8) eventmachine em-worker (0.0.2) eventmachine eventmachine (1.2.2) ffi (1.9.18) + http-cookie (1.0.3) + domain_name (~> 0.5) + influxdb (0.3.13) + cause + json + jmespath (1.3.1) + json (1.8.6) + jsonpath (0.5.8) + multi_json + mime-types (2.99.3) + mixlib-cli (1.7.0) + multi_json (1.12.1) + netrc (0.11.0) oj (2.18.1) parse-cron (0.1.4) - sensu (0.29.0) + rest-client (1.8.0) + http-cookie (>= 1.0.2, < 2.0) + mime-types (>= 1.16, < 3.0) + netrc (~> 0.7) + sensu (1.0.2) em-http-server (= 0.1.8) eventmachine (= 1.2.2) parse-cron (= 0.1.4) @@ -23,8 +52,8 @@ GEM sensu-extensions (= 1.9.0) sensu-json (= 2.1.0) sensu-logger (= 1.2.1) - sensu-redis (= 2.1.1) - sensu-settings (= 10.0.0) + sensu-redis (= 2.2.0) + sensu-settings (= 10.3.0) sensu-spawn (= 2.2.1) sensu-transport (= 7.0.2) sensu-extension (1.5.1) @@ -57,9 +86,28 @@ GEM sensu-logger (1.2.1) eventmachine sensu-json - sensu-redis (2.1.1) + sensu-plugin (1.4.5) + json (< 2.0.0) + mixlib-cli (>= 1.5.0) + sensu-plugins-disk-checks (2.4.0) + sensu-plugin (~> 1.2) + sys-filesystem (= 1.1.7) + sensu-plugins-http (2.5.0) + aws-sdk (~> 2.3) + rest-client (= 1.8.0) + sensu-plugin (~> 1.2) + sensu-plugins-influxdb (1.2.0) + dentaku (= 2.0.9) + influxdb (= 0.3.13) + jsonpath (= 0.5.8) + sensu-plugin (~> 1.3) + sensu-plugins-logs (1.2.0) + sensu-plugin (~> 1.2) + sensu-plugins-systemd (0.0.5) + sensu-plugin (~> 1.2) + sensu-redis (2.2.0) eventmachine - sensu-settings (10.0.0) + sensu-settings (10.3.0) parse-cron sensu-json (>= 1.1.0) sensu-spawn (2.2.1) @@ -71,12 +119,22 @@ GEM amqp (= 1.6.0) eventmachine sensu-redis (>= 1.0.0) + sys-filesystem (1.1.7) + ffi + unf (0.1.4) + unf_ext + unf_ext (0.0.7.4) PLATFORMS ruby DEPENDENCIES sensu + sensu-plugins-disk-checks + sensu-plugins-http + sensu-plugins-influxdb + sensu-plugins-logs + sensu-plugins-systemd BUNDLED WITH - 1.14.6 + 1.15.3 diff --git a/pkgs/servers/monitoring/sensu/gemset.nix b/pkgs/servers/monitoring/sensu/gemset.nix index 1df8d419cb63..36bef969c2ac 100644 --- a/pkgs/servers/monitoring/sensu/gemset.nix +++ b/pkgs/servers/monitoring/sensu/gemset.nix @@ -8,6 +8,7 @@ version = "2.0.1"; }; amqp = { + dependencies = ["amq-protocol" "eventmachine"]; source = { remotes = ["https://rubygems.org"]; sha256 = "0kbrqnpjgj9v0722p3n5rw589l4g26ry8mcghwc5yr20ggkpdaz9"; @@ -15,7 +16,51 @@ }; version = "1.6.0"; }; + aws-sdk = { + dependencies = ["aws-sdk-resources"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "04fgpkhjjmwxppb7b0jbsc6zykkw7hpkncld8mm1zamajf653sf6"; + type = "gem"; + }; + version = "2.10.19"; + }; + aws-sdk-core = { + dependencies = ["aws-sigv4" "jmespath"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0f0qq7h4bpmlvcsl1bncxdyw63zanz6jdxch9i457irc5l6z8sm0"; + type = "gem"; + }; + version = "2.10.19"; + }; + aws-sdk-resources = { + dependencies = ["aws-sdk-core"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0c107vlh475jph5i2szchmcwlsimpvdbd2cc0m5p39jmw8prkysa"; + type = "gem"; + }; + version = "2.10.19"; + }; + aws-sigv4 = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0cxl0yvmyl8d0yj4cx3p75iki4fqk8ckb6ajfj7mr3g4ihp5mryp"; + type = "gem"; + }; + version = "1.0.1"; + }; + cause = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0digirxqlwdg79mkbn70yc7i9i1qnclm2wjbrc47kqv6236bpj00"; + type = "gem"; + }; + version = "0.1"; + }; childprocess = { + dependencies = ["ffi"]; source = { remotes = ["https://rubygems.org"]; sha256 = "1lv7axi1fhascm9njxh3lx1rbrnsm8wgvib0g7j26v4h1fcphqg0"; @@ -23,7 +68,25 @@ }; version = "0.5.8"; }; + dentaku = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "11z4cw4lspx3rgmmd2hd4l1iikk6p17icxwn7xym92v1j825zpnr"; + type = "gem"; + }; + version = "2.0.9"; + }; + domain_name = { + dependencies = ["unf"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "12hs8yijhak7p2hf1xkh98g0mnp5phq3mrrhywzaxpwz1gw5r3kf"; + type = "gem"; + }; + version = "0.5.20170404"; + }; em-http-server = { + dependencies = ["eventmachine"]; source = { remotes = ["https://rubygems.org"]; sha256 = "0y8l4gymy9dzjjchjav90ck6has2i2zdjihlhcyrg3jgq6kjzyq5"; @@ -34,6 +97,7 @@ em-worker = { dependencies = ["eventmachine"]; source = { + remotes = ["https://rubygems.org"]; sha256 = "0z4jx9z2q5hxvdvik4yp0ahwfk69qsmdnyp72ln22p3qlkq2z5wk"; type = "gem"; }; @@ -55,6 +119,81 @@ }; version = "1.9.18"; }; + http-cookie = { + dependencies = ["domain_name"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "004cgs4xg5n6byjs7qld0xhsjq3n6ydfh897myr2mibvh6fjc49g"; + type = "gem"; + }; + version = "1.0.3"; + }; + influxdb = { + dependencies = ["cause" "json"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0jikl3iylbffsdmb4vr09ysqvpwxk133y6m9ylwcd0931ngsf0ks"; + type = "gem"; + }; + version = "0.3.13"; + }; + jmespath = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "07w8ipjg59qavijq59hl82zs74jf3jsp7vxl9q3a2d0wpv5akz3y"; + type = "gem"; + }; + version = "1.3.1"; + }; + json = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0qmj7fypgb9vag723w1a49qihxrcf5shzars106ynw2zk352gbv5"; + type = "gem"; + }; + version = "1.8.6"; + }; + jsonpath = { + dependencies = ["multi_json"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1gwhrd7xlysq537yy8ma69jc83lblwiccajl5zvyqpnwyjjc93df"; + type = "gem"; + }; + version = "0.5.8"; + }; + mime-types = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "03j98xr0qw2p2jkclpmk7pm29yvmmh0073d8d43ajmr0h3w7i5l9"; + type = "gem"; + }; + version = "2.99.3"; + }; + mixlib-cli = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0647msh7kp7lzyf6m72g6snpirvhimjm22qb8xgv9pdhbcrmcccp"; + type = "gem"; + }; + version = "1.7.0"; + }; + multi_json = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1wpc23ls6v2xbk3l1qncsbz16npvmw8p0b38l8czdzri18mp51xk"; + type = "gem"; + }; + version = "1.12.1"; + }; + netrc = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0gzfmcywp1da8nzfqsql2zqi648mfnx6qwkig3cv36n9m0yy676y"; + type = "gem"; + }; + version = "0.11.0"; + }; oj = { source = { remotes = ["https://rubygems.org"]; @@ -71,15 +210,26 @@ }; version = "0.1.4"; }; - sensu = { + rest-client = { + dependencies = ["http-cookie" "mime-types" "netrc"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "0931qccqhwmvqf4jj3jwip25xwkg7rf1yxxpkdhiyi2yndyfb8x7"; + sha256 = "1m8z0c4yf6w47iqz6j2p7x1ip4qnnzvhdph9d5fgx081cvjly3p7"; type = "gem"; }; - version = "0.29.0"; + version = "1.8.0"; + }; + sensu = { + dependencies = ["em-http-server" "eventmachine" "parse-cron" "sensu-extension" "sensu-extensions" "sensu-json" "sensu-logger" "sensu-redis" "sensu-settings" "sensu-spawn" "sensu-transport"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1vk9bvxwh6ah8xkncf16f8r0bq84cnnx16ffc4k6sq73v8wpk116"; + type = "gem"; + }; + version = "1.0.2"; }; sensu-extension = { + dependencies = ["eventmachine"]; source = { remotes = ["https://rubygems.org"]; sha256 = "1lgmjxfbq11v4yi3qanf1qxv0sgm1a8a7wj7qyn1nkva6zmimss3"; @@ -88,6 +238,7 @@ version = "1.5.1"; }; sensu-extensions = { + dependencies = ["sensu-extension" "sensu-extensions-check-dependencies" "sensu-extensions-debug" "sensu-extensions-json" "sensu-extensions-occurrences" "sensu-extensions-only-check-output" "sensu-extensions-ruby-hash" "sensu-json" "sensu-logger" "sensu-settings"]; source = { remotes = ["https://rubygems.org"]; sha256 = "1r09mdbbnh5cg9yvqw78sxbhlb8xqld1vwbr4hsjw6k3x1xpnnr9"; @@ -96,6 +247,7 @@ version = "1.9.0"; }; sensu-extensions-check-dependencies = { + dependencies = ["sensu-extension"]; source = { remotes = ["https://rubygems.org"]; sha256 = "0clgvf2abvwz549f28ny3zd6q7z6y7m49i8pp91ll10jp1vsy4b2"; @@ -104,6 +256,7 @@ version = "1.0.1"; }; sensu-extensions-debug = { + dependencies = ["sensu-extension"]; source = { remotes = ["https://rubygems.org"]; sha256 = "11abdgn2kkkbvxq4692yg6a27qnxz4349gfiq7d35biy7vrw34lp"; @@ -112,6 +265,7 @@ version = "1.0.0"; }; sensu-extensions-json = { + dependencies = ["sensu-extension"]; source = { remotes = ["https://rubygems.org"]; sha256 = "1wnbn9sycdqdh9m0fhszaqkv0jijs3fkdbvcv8kdspx6irbv3m6g"; @@ -120,6 +274,7 @@ version = "1.0.0"; }; sensu-extensions-occurrences = { + dependencies = ["sensu-extension"]; source = { remotes = ["https://rubygems.org"]; sha256 = "0lx5wsbblfs0rvkxfg09bsz0g2mwmckrhga7idnarsnm8m565v1v"; @@ -128,6 +283,7 @@ version = "1.2.0"; }; sensu-extensions-only-check-output = { + dependencies = ["sensu-extension"]; source = { remotes = ["https://rubygems.org"]; sha256 = "0ds2i8wd4ji9ifig2zzr4jpxinvk5dm7j10pvaqy4snykxa3rqh3"; @@ -136,6 +292,7 @@ version = "1.0.0"; }; sensu-extensions-ruby-hash = { + dependencies = ["sensu-extension"]; source = { remotes = ["https://rubygems.org"]; sha256 = "1xyrj3gbmslbivcd5qcmyclgapn7qf7f5jwfvfpw53bxzib0h7s3"; @@ -144,6 +301,7 @@ version = "1.0.0"; }; sensu-json = { + dependencies = ["oj"]; source = { remotes = ["https://rubygems.org"]; sha256 = "02qkh86jddv7gha39vjx6g9hi7vkq7r433dr86bwmm9c7lqkgyl9"; @@ -152,6 +310,7 @@ version = "2.1.0"; }; sensu-logger = { + dependencies = ["eventmachine" "sensu-json"]; source = { remotes = ["https://rubygems.org"]; sha256 = "03kicjqz8a594bxnwyg6bcd4fipy2vxjl1gbaip4gpixxki32dx0"; @@ -159,23 +318,80 @@ }; version = "1.2.1"; }; - sensu-redis = { + sensu-plugin = { + dependencies = ["json" "mixlib-cli"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "1nqk2046g6nldpiqy40f805gms8r856v2zxm53j0c8ni03sgz2a3"; + sha256 = "0z18zk04l9klbjmqvjg6cpv3k4w5hi1by8wnpkiwdwa2jdv61jyb"; type = "gem"; }; - version = "2.1.1"; + version = "1.4.5"; + }; + sensu-plugins-disk-checks = { + dependencies = ["sensu-plugin" "sys-filesystem"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1r7kzqp0kwhz7kk0s25r7lh2sw4yr99m5lr8cb99kq73fnsjqipq"; + type = "gem"; + }; + version = "2.4.0"; + }; + sensu-plugins-http = { + dependencies = ["aws-sdk" "rest-client" "sensu-plugin"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "13126hx2fgjsrfqnlh2hf2czn35pi8rkc5ql9yxf4y8x9a7dyksj"; + type = "gem"; + }; + version = "2.5.0"; + }; + sensu-plugins-influxdb = { + dependencies = ["dentaku" "influxdb" "jsonpath" "sensu-plugin"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "18nk7c451df46xcjk97r3h8yhaj8bz138ih5y0z26sdiha58brv7"; + type = "gem"; + }; + version = "1.2.0"; + }; + sensu-plugins-logs = { + dependencies = ["sensu-plugin"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0ycrf3967v5kavm58fj9db16l9wgyzac4h3r0f9hm32jy9qsxwq6"; + type = "gem"; + }; + version = "1.2.0"; + }; + sensu-plugins-systemd = { + dependencies = ["sensu-plugin"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1r7prvkf33j6qvvqq78186rn5g6wf0g3dqni34vnj8v1z287wkfh"; + type = "gem"; + }; + version = "0.0.5"; + }; + sensu-redis = { + dependencies = ["eventmachine"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1drmychc04fg2gs7zsxx6aidfyxf7cn7k8k1jy7dnfbnlr5aln3n"; + type = "gem"; + }; + version = "2.2.0"; }; sensu-settings = { + dependencies = ["parse-cron" "sensu-json"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "0fb3wgqll5cq5akgmqhx6vgjvmcpcjyx68qqs8hb106b07gdpmli"; + sha256 = "0y55bqvps06gk94zllamqr0fa5bc27q0k1b5sp5gxh1bkf4w8gb3"; type = "gem"; }; - version = "10.0.0"; + version = "10.3.0"; }; sensu-spawn = { + dependencies = ["childprocess" "em-worker" "eventmachine"]; source = { remotes = ["https://rubygems.org"]; sha256 = "1vz5kbqk3ld0s16zjl8m38l1m1xwcvjlfc1g4nfm45qxdyfn7la7"; @@ -184,6 +400,7 @@ version = "2.2.1"; }; sensu-transport = { + dependencies = ["amq-protocol" "amqp" "eventmachine" "sensu-redis"]; source = { remotes = ["https://rubygems.org"]; sha256 = "15yib92hwyd8v04wcc0kaw0p8w2c2mwvi4ldya2jh3dqgs31mvhr"; @@ -191,4 +408,30 @@ }; version = "7.0.2"; }; + sys-filesystem = { + dependencies = ["ffi"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "10didky52nfapmybj6ipda18i8fcwf8bs9bbfbk5i7v1shzd36rf"; + type = "gem"; + }; + version = "1.1.7"; + }; + unf = { + dependencies = ["unf_ext"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0bh2cf73i2ffh4fcpdn9ir4mhq8zi50ik0zqa1braahzadx536a9"; + type = "gem"; + }; + version = "0.1.4"; + }; + unf_ext = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "14hr2dzqh33kqc0xchs8l05pf3kjcayvad4z1ip5rdjxrkfk8glb"; + type = "gem"; + }; + version = "0.0.7.4"; + }; } \ No newline at end of file diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8c863e8cf324..1923b6ad6129 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11535,9 +11535,7 @@ with pkgs; ruby-zoom = callPackage ../tools/text/ruby-zoom { }; - sensu = callPackage ../servers/monitoring/sensu { - ruby = ruby_2_1; - }; + sensu = callPackage ../servers/monitoring/sensu { }; uchiwa = callPackage ../servers/monitoring/uchiwa { };