From 9c1f0b33a3dd4e7d374c9cfcdf0b6c67efd0a09d Mon Sep 17 00:00:00 2001 From: Benjamin Staffin Date: Tue, 17 Feb 2015 14:28:56 -0800 Subject: [PATCH 01/10] New package: Prometheus monitoring system --- .../servers/monitoring/prometheus/default.nix | 56 +++++++++ pkgs/top-level/all-packages.nix | 2 + pkgs/top-level/go-packages.nix | 118 ++++++++++++++++++ 3 files changed, 176 insertions(+) create mode 100644 pkgs/servers/monitoring/prometheus/default.nix diff --git a/pkgs/servers/monitoring/prometheus/default.nix b/pkgs/servers/monitoring/prometheus/default.nix new file mode 100644 index 00000000000..4c05a859f01 --- /dev/null +++ b/pkgs/servers/monitoring/prometheus/default.nix @@ -0,0 +1,56 @@ +{ stdenv, lib, goPackages, fetchFromGitHub, protobuf, vim }: + +with goPackages; + +buildGoPackage rec { + name = "prometheus-${version}"; + version = "0.10.0"; + goPackagePath = "github.com/prometheus/prometheus"; + rev = "f5a0f7fa185dae2c772a5847a7aac9ba33b545f9"; + + src = fetchFromGitHub { + inherit rev; + owner = "prometheus"; + repo = "prometheus"; + sha256 = "1wagmr4bca8fbvi48n9p4hdnx1m4chyaa1bzman6dhqfmkiikf5q"; + }; + + buildInputs = [ + dns glog goleveldb prometheus.client_golang + goPackages.protobuf + protobuf # the non-golang package, for protoc + vim # for xxd, used in embed-static.sh + ]; + + # Metadata that gets embedded into the binary + buildFlagsArray = '' + -ldflags= + -X main.buildVersion ${version} + -X main.buildRevision ${builtins.substring 0 6 rev} + -X main.buildBranch master + -X main.buildUser nix@nixpkgs + -X main.buildDate 20150101-00:00:00 + -X main.goVersion ${lib.getVersion go} + ''; + + preBuild = '' + ( + cd "go/src/$goPackagePath" + protoc --proto_path=./config \ + --go_out=./config/generated/ \ + ./config/config.proto + + cd web + ${stdenv.shell} ../utility/embed-static.sh static templates \ + | gofmt > blob/files.go + ) + ''; + + meta = with lib; { + description = "Service monitoring system and time series database"; + homepage = http://prometheus.github.io; + license = licenses.asl20; + maintainers = with maintainers; [ benley ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index bf0f408b73f..19d4131a773 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8382,6 +8382,8 @@ let postgresql_jdbc = callPackage ../servers/sql/postgresql/jdbc { }; + prometheus = callPackage ../servers/monitoring/prometheus { }; + psqlodbc = callPackage ../servers/sql/postgresql/psqlodbc { }; pyIRCt = builderDefsPackage (import ../servers/xmpp/pyIRCt) { diff --git a/pkgs/top-level/go-packages.nix b/pkgs/top-level/go-packages.nix index 890239f35a6..e07cebdae1e 100644 --- a/pkgs/top-level/go-packages.nix +++ b/pkgs/top-level/go-packages.nix @@ -21,6 +21,18 @@ let self = _self // overrides; _self = with self; { }; }; + glog = buildGoPackage rec { + rev = "44145f04b68cf362d9c4df2182967c2275eaefed"; + name = "glog-${rev}"; + goPackagePath = "github.com/golang/glog"; + src = fetchFromGitHub { + inherit rev; + owner = "golang"; + repo = "glog"; + sha256 = "1k7sf6qmpgm0iw81gx2dwggf9di6lgw0n54mni7862hihwfrb5rq"; + }; + }; + image = buildGoPackage rec { rev = "490b1ad139b3"; name = "go.image-${rev}"; @@ -215,6 +227,19 @@ let self = _self // overrides; _self = with self; { }; }; + ginkgo = buildGoPackage rec { + rev = "5ed93e443a4b7dfe9f5e95ca87e6082e503021d2"; + name = "ginkgo-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/onsi/ginkgo"; + src = fetchFromGitHub { + inherit rev; + owner = "onsi"; + repo = "ginkgo"; + sha256 = "0ghrx5qmgvgb8cbvsj53v1ir4j9agilg4wyhpk5ikqdv6mmqly4h"; + }; + subPackages = [ "./" ]; # don't try to build test fixtures + }; + goamz = buildGoPackage rec { rev = "2a8fed5e89ab9e16210fc337d1aac780e8c7bbb7"; name = "goamz-${rev}"; @@ -267,6 +292,56 @@ let self = _self // overrides; _self = with self; { }; }; + golang_protobuf_extensions = buildGoPackage rec { + rev = "ba7d65ac66e9da93a714ca18f6d1bc7a0c09100c"; + name = "golang-protobuf-extensions-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/matttproud/golang_protobuf_extensions"; + src = fetchFromGitHub { + inherit rev; + owner = "matttproud"; + repo = "golang_protobuf_extensions"; + sha256 = "1vz6zj94v90x8mv9h6qfp1211kmzn60ri5qh7p9fzpjkhga5k936"; + }; + buildInputs = [ protobuf ]; + }; + + goleveldb = buildGoPackage rec { + rev = "e9e2c8f6d3b9c313fb4acaac5ab06285bcf30b04"; + name = "goleveldb-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/syndtr/goleveldb"; + src = fetchFromGitHub { + inherit rev; + owner = "syndtr"; + repo = "goleveldb"; + sha256 = "0vg3pcrbdhbmanwkc5njxagi64f4k2ikfm173allcghxcjamrkwv"; + }; + propagatedBuildInputs = [ ginkgo gomega gosnappy ]; + }; + + gomega = buildGoPackage rec { + rev = "8adf9e1730c55cdc590de7d49766cb2acc88d8f2"; + name = "gomega-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/onsi/gomega"; + src = fetchFromGitHub { + inherit rev; + owner = "onsi"; + repo = "gomega"; + sha256 = "1rf6cxn50d1pji3pv4q372s395r5nxwcgp405z2r2mfdkri4v3w4"; + }; + }; + + gosnappy = buildGoPackage rec { + rev = "ce8acff4829e0c2458a67ead32390ac0a381c862"; + name = "gosnappy-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/syndtr/gosnappy"; + src = fetchFromGitHub { + inherit rev; + owner = "syndtr"; + repo = "gosnappy"; + sha256 = "0ywa52kcii8g2a9lbqcx8ghdf6y56lqq96sl5nl9p6h74rdvmjr7"; + }; + }; + gox = buildGoPackage rec { rev = "e8e6fd4fe12510cc46893dff18c5188a6a6dc549"; name = "gox-${stdenv.lib.strings.substring 0 7 rev}"; @@ -783,6 +858,49 @@ let self = _self // overrides; _self = with self; { propagatedBuildInputs = [ kr.text ]; }; + prometheus.client_golang = buildGoPackage rec { + rev = "4627d59e8a09c330c5ccfe7414baca28d8df847d"; + name = "prometheus-client-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/prometheus/client_golang"; + src = fetchFromGitHub { + inherit rev; + owner = "prometheus"; + repo = "client_golang"; + sha256 = "1mmj1r8xfi1gwb5f0l6sxjj804dhavp3pjmrqpbaa1g82bmz1hr1"; + }; + propagatedBuildInputs = [ + protobuf + golang_protobuf_extensions + prometheus.client_model + prometheus.procfs + ]; + }; + + prometheus.client_model = buildGoPackage rec { + rev = "fa8ad6fec33561be4280a8f0514318c79d7f6cb6"; + name = "prometheus-client-model-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/prometheus/client_model"; + src = fetchFromGitHub { + inherit rev; + owner = "prometheus"; + repo = "client_model"; + sha256 = "11a7v1fjzhhwsl128znjcf5v7v6129xjgkdpym2lial4lac1dhm9"; + }; + buildInputs = [ protobuf ]; + }; + + prometheus.procfs = buildGoPackage rec { + rev = "92faa308558161acab0ada1db048e9996ecec160"; + name = "prometheus-procfs-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/prometheus/procfs"; + src = fetchFromGitHub { + inherit rev; + owner = "prometheus"; + repo = "procfs"; + sha256 = "0kaw81z2yi45f6ll6n2clr2zz60bdgdxzqnxvd74flynz4sr0p1v"; + }; + }; + pty = buildGoPackage rec { rev = "67e2db24c831afa6c64fc17b4a143390674365ef"; name = "pty-${stdenv.lib.strings.substring 0 7 rev}"; From 92b08cd406964c0503c6ee757624230131207329 Mon Sep 17 00:00:00 2001 From: Benjamin Staffin Date: Thu, 19 Feb 2015 15:20:22 -0800 Subject: [PATCH 02/10] New package: prometheus-alertmanager --- .../prometheus/alertmanager/default.nix | 56 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + pkgs/top-level/go-packages.nix | 36 ++++++++++++ 3 files changed, 94 insertions(+) create mode 100644 pkgs/servers/monitoring/prometheus/alertmanager/default.nix diff --git a/pkgs/servers/monitoring/prometheus/alertmanager/default.nix b/pkgs/servers/monitoring/prometheus/alertmanager/default.nix new file mode 100644 index 00000000000..4ef870bfcf9 --- /dev/null +++ b/pkgs/servers/monitoring/prometheus/alertmanager/default.nix @@ -0,0 +1,56 @@ +{ stdenv, lib, goPackages, fetchFromGitHub, protobuf, vim }: + +with goPackages; + +buildGoPackage rec { + name = "prometheus-alertmanager-${version}"; + version = "0.1.0"; + goPackagePath = "github.com/prometheus/alertmanager"; + + src = fetchFromGitHub { + owner = "prometheus"; + repo = "alertmanager"; + rev = "942cd35dea6dc406b106d7a57ffe7adbb3b978a5"; + sha256 = "1c14vgn9s0dn322ss8fs5b47blw1g8cxy9w4yjn0f7x2sdwplx1i"; + }; + + buildInputs = [ + goPackages.glog + goPackages.protobuf + goPackages.fsnotify + goPackages.httprouter + goPackages.prometheus.client_golang + goPackages.pushover + protobuf + vim + ]; + + buildFlagsArray = '' + -ldflags= + -X main.buildVersion ${version} + -X main.buildBranch master + -X main.buildUser nix@nixpkgs + -X main.buildDate 20150101-00:00:00 + -X main.goVersion ${lib.getVersion go} + ''; + + preBuild = '' + ( + cd "go/src/$goPackagePath" + protoc --proto_path=./config \ + --go_out=./config/generated/ \ + ./config/config.proto + cd web + ${stdenv.shell} blob/embed-static.sh static templates \ + | gofmt > blob/files.go + ) + ''; + + meta = with lib; { + description = "Alerting dispather for the Prometheus monitoring system"; + homepage = "https://github.com/prometheus/alertmanager"; + license = licenses.asl20; + maintainers = with maintainers; [ benley ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 19d4131a773..fce9cca6b5b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8383,6 +8383,8 @@ let postgresql_jdbc = callPackage ../servers/sql/postgresql/jdbc { }; prometheus = callPackage ../servers/monitoring/prometheus { }; + prometheus-alertmanager = + callPackage ../servers/monitoring/prometheus/alertmanager { }; psqlodbc = callPackage ../servers/sql/postgresql/psqlodbc { }; diff --git a/pkgs/top-level/go-packages.nix b/pkgs/top-level/go-packages.nix index e07cebdae1e..a9705d972bd 100644 --- a/pkgs/top-level/go-packages.nix +++ b/pkgs/top-level/go-packages.nix @@ -215,6 +215,18 @@ let self = _self // overrides; _self = with self; { }; }; + fsnotify = buildGoPackage rec { + rev = "4894fe7efedeeef21891033e1cce3b23b9af7ad2"; + name = "fsnotify-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/howeyc/fsnotify"; + src = fetchFromGitHub { + inherit rev; + owner = "howeyc"; + repo = "fsnotify"; + sha256 = "09r3h200nbw8a4d3rn9wxxmgma2a8i6ssaplf3zbdc2ykizsq7mn"; + }; + }; + g2s = buildGoPackage rec { rev = "ec76db4c1ac16400ac0e17ca9c4840e1d23da5dc"; name = "g2s-${stdenv.lib.strings.substring 0 7 rev}"; @@ -619,6 +631,18 @@ let self = _self // overrides; _self = with self; { go-homedir ldap g2s gox govers ]; }; + httprouter = buildGoPackage rec { + rev = "bde5c16eb82ff15a1734a3818d9b9547065f65b1"; + name = "httprouter-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/julienschmidt/httprouter"; + src = fetchFromGitHub { + inherit rev; + owner = "julienschmidt"; + repo = "httprouter"; + sha256 = "1l74pvqqhhval4vfnhca9d6i1ij69qs3ljf41w3m1l2id42rq7r9"; + }; + }; + influxdb-go = buildGoPackage rec { rev = "63c9a5f67dcb633d05164bf8442160c9e2e402f7"; name = "influxdb-go-${stdenv.lib.strings.substring 0 7 rev}"; @@ -913,6 +937,18 @@ let self = _self // overrides; _self = with self; { }; }; + pushover = buildGoPackage rec { + rev = "a8420a1935479cc266bda685cee558e86dad4b9f"; + name = "pushover-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/thorduri/pushover"; + src = fetchFromGitHub { + inherit rev; + owner = "thorduri"; + repo = "pushover"; + sha256 = "0j4k43ppka20hmixlwhhz5mhv92p6wxbkvdabs4cf7k8jpk5argq"; + }; + }; + raw = buildGoPackage rec { rev = "724aedf6e1a5d8971aafec384b6bde3d5608fba4"; name = "raw-${stdenv.lib.strings.substring 0 7 rev}"; From b2d17977beef86cc92c4b6ea626397b865c8f1ad Mon Sep 17 00:00:00 2001 From: Benjamin Staffin Date: Thu, 19 Feb 2015 16:38:40 -0800 Subject: [PATCH 03/10] New package: prometheus-haproxy-exporter --- .../prometheus/haproxy_exporter/default.nix | 23 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 25 insertions(+) create mode 100644 pkgs/servers/monitoring/prometheus/haproxy_exporter/default.nix diff --git a/pkgs/servers/monitoring/prometheus/haproxy_exporter/default.nix b/pkgs/servers/monitoring/prometheus/haproxy_exporter/default.nix new file mode 100644 index 00000000000..63c421cd8a2 --- /dev/null +++ b/pkgs/servers/monitoring/prometheus/haproxy_exporter/default.nix @@ -0,0 +1,23 @@ +{ stdenv, lib, goPackages, fetchFromGitHub, }: + +goPackages.buildGoPackage rec { + name = "prometheus-haproxy-exporter-0.4.0"; + goPackagePath = "github.com/prometheus/haproxy_exporter"; + + src = fetchFromGitHub { + owner = "prometheus"; + repo = "haproxy_exporter"; + rev = "6ee6d1df3e68ed73df37c9794332b2594e4da45d"; + sha256 = "0lbwv6jsdfjd9ihiky3lq7d5rkxqjh7xfaziw8i3w34a38japlpr"; + }; + + buildInputs = [ goPackages.prometheus.client_golang ]; + + meta = with lib; { + description = "HAProxy Exporter for the Prometheus monitoring system"; + homepage = https://github.com/prometheus/haproxy_exporter; + license = licenses.asl20; + maintainers = with maintainers; [ benley ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index fce9cca6b5b..74930f357e8 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8385,6 +8385,8 @@ let prometheus = callPackage ../servers/monitoring/prometheus { }; prometheus-alertmanager = callPackage ../servers/monitoring/prometheus/alertmanager { }; + prometheus-haproxy-exporter = + callPackage ../servers/monitoring/prometheus/haproxy_exporter { }; psqlodbc = callPackage ../servers/sql/postgresql/psqlodbc { }; From 6564dd81992f948c64dea1c02d0f7f488365f703 Mon Sep 17 00:00:00 2001 From: Benjamin Staffin Date: Thu, 19 Feb 2015 17:28:13 -0800 Subject: [PATCH 04/10] New package: prometheus-pushgateway --- .../prometheus/pushgateway/default.nix | 51 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 53 insertions(+) create mode 100644 pkgs/servers/monitoring/prometheus/pushgateway/default.nix diff --git a/pkgs/servers/monitoring/prometheus/pushgateway/default.nix b/pkgs/servers/monitoring/prometheus/pushgateway/default.nix new file mode 100644 index 00000000000..db66e963208 --- /dev/null +++ b/pkgs/servers/monitoring/prometheus/pushgateway/default.nix @@ -0,0 +1,51 @@ +{ stdenv, lib, goPackages, fetchFromGitHub }: + +with goPackages; + +buildGoPackage rec { + name = "prometheus-pushgateway-${version}"; + version = "0.1.0"; + goPackagePath = "github.com/prometheus/pushgateway"; + rev = "3f1d42dade342ddb88381607358bae61a0a6b6c7"; + + src = fetchFromGitHub { + inherit rev; + owner = "prometheus"; + repo = "pushgateway"; + sha256 = "1wqxbl9rlnxszp9ylvdbx6f5lyj2z0if3x099fnjahbqmz8yhnf4"; + }; + + buildInputs = [ + go-bindata + protobuf + httprouter + golang_protobuf_extensions + prometheus.client_golang + ]; + + buildFlagsArray = '' + -ldflags= + -X main.buildVersion ${version} + -X main.buildRev ${rev} + -X main.buildBranch master + -X main.buildUser nix@nixpkgs + -X main.buildDate 20150101-00:00:00 + -X main.goVersion ${lib.getVersion go} + ''; + + preBuild = '' + ( + cd "go/src/$goPackagePath" + go-bindata ./resources/ + ) + ''; + + meta = with lib; { + description = + "Allows ephemeral and batch jobs to expose metrics to Prometheus"; + homepage = https://github.com/prometheus/pushgateway; + license = licenses.asl20; + maintainers = with maintainers; [ benley ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 74930f357e8..c56340229fe 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8387,6 +8387,8 @@ let callPackage ../servers/monitoring/prometheus/alertmanager { }; prometheus-haproxy-exporter = callPackage ../servers/monitoring/prometheus/haproxy_exporter { }; + prometheus-pushgateway = + callPackage ../servers/monitoring/prometheus/pushgateway { }; psqlodbc = callPackage ../servers/sql/postgresql/psqlodbc { }; From d11bb482348a2343c32d3ddab04a3687a8406179 Mon Sep 17 00:00:00 2001 From: Benjamin Staffin Date: Thu, 19 Feb 2015 19:02:13 -0800 Subject: [PATCH 05/10] New package: prometheus-cli --- .../monitoring/prometheus/cli/default.nix | 25 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 27 insertions(+) create mode 100644 pkgs/servers/monitoring/prometheus/cli/default.nix diff --git a/pkgs/servers/monitoring/prometheus/cli/default.nix b/pkgs/servers/monitoring/prometheus/cli/default.nix new file mode 100644 index 00000000000..f1f5ef9975c --- /dev/null +++ b/pkgs/servers/monitoring/prometheus/cli/default.nix @@ -0,0 +1,25 @@ +{ stdenv, lib, goPackages, fetchFromGitHub }: + +goPackages.buildGoPackage rec { + name = "prometheus-cli-0.2.0"; + goPackagePath = "github.com/prometheus/prometheus_cli"; + src = fetchFromGitHub { + owner = "prometheus"; + repo = "prometheus_cli"; + rev = "b36c21d2301cf686bff81953573a29a6d5a0a883"; + sha256 = "190dlc6fyrfgxab4xj3gaz4jwx33jhzg57d8h36xjx56gbvp7iyk"; + }; + + buildInputs = [ + goPackages.prometheus.client_model + goPackages.prometheus.client_golang + ]; + + meta = with lib; { + description = "Command line tool for querying the Prometheus HTTP API"; + homepage = https://github.com/prometheus/prometheus_cli; + license = licenses.asl20; + maintainers = with maintainers; [ benley ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c56340229fe..bff75e5131c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8385,6 +8385,8 @@ let prometheus = callPackage ../servers/monitoring/prometheus { }; prometheus-alertmanager = callPackage ../servers/monitoring/prometheus/alertmanager { }; + prometheus-cli = + callPackage ../servers/monitoring/prometheus/cli { }; prometheus-haproxy-exporter = callPackage ../servers/monitoring/prometheus/haproxy_exporter { }; prometheus-pushgateway = From 5b3254a8d155c555f758a04aa6546219f22ffa80 Mon Sep 17 00:00:00 2001 From: Benjamin Staffin Date: Thu, 19 Feb 2015 19:36:25 -0800 Subject: [PATCH 06/10] New package: prometheus-node-exporter --- .../prometheus/node_exporter/default.nix | 32 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ pkgs/top-level/go-packages.nix | 24 ++++++++++++++ 3 files changed, 58 insertions(+) create mode 100644 pkgs/servers/monitoring/prometheus/node_exporter/default.nix diff --git a/pkgs/servers/monitoring/prometheus/node_exporter/default.nix b/pkgs/servers/monitoring/prometheus/node_exporter/default.nix new file mode 100644 index 00000000000..136a1e05851 --- /dev/null +++ b/pkgs/servers/monitoring/prometheus/node_exporter/default.nix @@ -0,0 +1,32 @@ +{ stdenv, lib, goPackages, fetchFromGitHub }: + +with goPackages; + +buildGoPackage rec { + name = "prometheus-node-exporter-0.7.1"; + goPackagePath = "github.com/prometheus/node_exporter"; + + src = fetchFromGitHub { + owner = "prometheus"; + repo = "node_exporter"; + rev = "0c8bfba04df87b90e69a79b2d25a5f627ebde1bb"; + sha256 = "12aj65hl9wql24rlpadd6mibf7sp8593xr1vljgyd5xdf7wjkxn9"; + }; + + buildInputs = [ + glog + go-runit + ntp + prometheus.client_golang + prometheus.client_model + protobuf + ]; + + meta = with lib; { + description = "Prometheus exporter for machine metrics"; + homepage = https://github.com/prometheus/node_exporter; + license = licenses.asl20; + maintainers = with maintainers; [ benley ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index bff75e5131c..d23623d1a6d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8389,6 +8389,8 @@ let callPackage ../servers/monitoring/prometheus/cli { }; prometheus-haproxy-exporter = callPackage ../servers/monitoring/prometheus/haproxy_exporter { }; + prometheus-node-exporter = + callPackage ../servers/monitoring/prometheus/node_exporter { }; prometheus-pushgateway = callPackage ../servers/monitoring/prometheus/pushgateway { }; diff --git a/pkgs/top-level/go-packages.nix b/pkgs/top-level/go-packages.nix index a9705d972bd..53c9d2d7068 100644 --- a/pkgs/top-level/go-packages.nix +++ b/pkgs/top-level/go-packages.nix @@ -537,6 +537,18 @@ let self = _self // overrides; _self = with self; { }; }; + go-runit = buildGoPackage rec { + rev = "a9148323a615e2e1c93b7a9893914a360b4945c8"; + name = "go-runit-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/soundcloud/go-runit"; + src = fetchFromGitHub { + inherit rev; + owner = "soundcloud"; + repo = "go-runit"; + sha256 = "00f2rfhsaqj2wjanh5qp73phx7x12a5pwd7lc0rjfv68l6sgpg2v"; + }; + }; + go-simplejson = buildGoPackage rec { rev = "1cfceb0e12f47ec02665ef480212d7b531d6f4c5"; name = "go-simplejson-${stdenv.lib.strings.substring 0 7 rev}"; @@ -793,6 +805,18 @@ let self = _self // overrides; _self = with self; { }; }; + ntp = buildGoPackage rec { + rev = "0a5264e2563429030eb922f258229ae3fee5b5dc"; + name = "ntp-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/beevik/ntp"; + src = fetchFromGitHub { + inherit rev; + owner = "beevik"; + repo = "ntp"; + sha256 = "03fvgbjf2aprjj1s6wdc35wwa7k1w5phkixzvp5n1j21sf6w4h24"; + }; + }; + oglematchers = buildGoPackage rec { rev = "4fc24f97b5b74022c2a3f4ca7eed57ca29083d3e"; name = "oglematchers-${stdenv.lib.strings.substring 0 7 rev}"; From 95be71cf91fbde933781a1c731dc2564c323644d Mon Sep 17 00:00:00 2001 From: Benjamin Staffin Date: Sat, 21 Mar 2015 16:31:18 -0700 Subject: [PATCH 07/10] Prometheus: update to 0.12.0 --- .../servers/monitoring/prometheus/default.nix | 6 ++-- pkgs/top-level/go-packages.nix | 34 ++++++++++++++++--- 2 files changed, 33 insertions(+), 7 deletions(-) diff --git a/pkgs/servers/monitoring/prometheus/default.nix b/pkgs/servers/monitoring/prometheus/default.nix index 4c05a859f01..6e181c6ec9e 100644 --- a/pkgs/servers/monitoring/prometheus/default.nix +++ b/pkgs/servers/monitoring/prometheus/default.nix @@ -4,15 +4,15 @@ with goPackages; buildGoPackage rec { name = "prometheus-${version}"; - version = "0.10.0"; + version = "0.12.0"; goPackagePath = "github.com/prometheus/prometheus"; - rev = "f5a0f7fa185dae2c772a5847a7aac9ba33b545f9"; + rev = "55dcb55498b43bafe94915a4de7907d6d66b4427"; src = fetchFromGitHub { inherit rev; owner = "prometheus"; repo = "prometheus"; - sha256 = "1wagmr4bca8fbvi48n9p4hdnx1m4chyaa1bzman6dhqfmkiikf5q"; + sha256 = "17bbdk9axr91m2947ddbnzqwaap2vrzsbknbrlpdsmlsjhc8h7cb"; }; buildInputs = [ diff --git a/pkgs/top-level/go-packages.nix b/pkgs/top-level/go-packages.nix index 53c9d2d7068..42917a99c06 100644 --- a/pkgs/top-level/go-packages.nix +++ b/pkgs/top-level/go-packages.nix @@ -268,6 +268,18 @@ let self = _self // overrides; _self = with self; { buildInputs = [ sets go-simplejson check-v1 ]; }; + goautoneg = buildGoPackage rec { + rev = "75cd24fc2f2c2a2088577d12123ddee5f54e0675"; + name = "goautoneg-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "bitbucket.org/ww/goautoneg"; + + src = fetchhg { + inherit rev; + url = "https://${goPackagePath}"; + sha256 = "19khhn5xhqv1yp7d6k987gh5w5rhrjnp4p0c6fyrd8z6lzz5h9qi"; + }; + }; + gocheck = buildGoPackage rec { rev = "87"; name = "gocheck-${rev}"; @@ -880,6 +892,18 @@ let self = _self // overrides; _self = with self; { }; }; + beorn7.perks = buildGoPackage rec { + rev = "b965b613227fddccbfffe13eae360ed3fa822f8d"; + name = "beorn7.perks-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/beorn7/perks"; + src = fetchFromGitHub { + inherit rev; + owner = "beorn7"; + repo = "perks"; + sha256 = "1p8zsj4r0g61q922khfxpwxhdma2dx4xad1m5qx43mfn28kxngqk"; + }; + }; + pflag = buildGoPackage rec { date = "20131112"; rev = "94e98a55fb412fcbcfc302555cb990f5e1590627"; @@ -907,20 +931,22 @@ let self = _self // overrides; _self = with self; { }; prometheus.client_golang = buildGoPackage rec { - rev = "4627d59e8a09c330c5ccfe7414baca28d8df847d"; - name = "prometheus-client-${stdenv.lib.strings.substring 0 7 rev}"; + name = "prometheus-client-${version}"; + version = "0.3.2"; goPackagePath = "github.com/prometheus/client_golang"; src = fetchFromGitHub { - inherit rev; owner = "prometheus"; repo = "client_golang"; - sha256 = "1mmj1r8xfi1gwb5f0l6sxjj804dhavp3pjmrqpbaa1g82bmz1hr1"; + rev = "${version}"; + sha256 = "1fn56zp420hxpm0prr76yyhh62zq3sqj3ppl2r4qxjc78f8ckbj4"; }; propagatedBuildInputs = [ protobuf golang_protobuf_extensions prometheus.client_model prometheus.procfs + beorn7.perks + goautoneg ]; }; From d8c2cebf01953eebd77ea8084ebcff2cadd3cd7b Mon Sep 17 00:00:00 2001 From: Benjamin Staffin Date: Sat, 21 Mar 2015 16:34:53 -0700 Subject: [PATCH 08/10] prometheus-node-exporter: update to 0.8.0 --- .../servers/monitoring/prometheus/node_exporter/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/servers/monitoring/prometheus/node_exporter/default.nix b/pkgs/servers/monitoring/prometheus/node_exporter/default.nix index 136a1e05851..97169a0e298 100644 --- a/pkgs/servers/monitoring/prometheus/node_exporter/default.nix +++ b/pkgs/servers/monitoring/prometheus/node_exporter/default.nix @@ -3,14 +3,14 @@ with goPackages; buildGoPackage rec { - name = "prometheus-node-exporter-0.7.1"; + name = "prometheus-node-exporter-0.8.0"; goPackagePath = "github.com/prometheus/node_exporter"; src = fetchFromGitHub { owner = "prometheus"; repo = "node_exporter"; - rev = "0c8bfba04df87b90e69a79b2d25a5f627ebde1bb"; - sha256 = "12aj65hl9wql24rlpadd6mibf7sp8593xr1vljgyd5xdf7wjkxn9"; + rev = "aaf01e52e25883671fd67234b415df7abd0e4eac"; + sha256 = "0j1qvgsc2hcv50l9lyfivkzsyjkjp3w1yyqvd1gzfybk7hi59dya"; }; buildInputs = [ From 781dbfb9b8bde12798b29c10db1af20c426bc0c2 Mon Sep 17 00:00:00 2001 From: Benjamin Staffin Date: Sat, 21 Mar 2015 16:53:04 -0700 Subject: [PATCH 09/10] New package: prometheus-mesos-exporter --- .../prometheus/mesos_exporter/default.nix | 24 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ pkgs/top-level/go-packages.nix | 14 +++++++++++ 3 files changed, 40 insertions(+) create mode 100644 pkgs/servers/monitoring/prometheus/mesos_exporter/default.nix diff --git a/pkgs/servers/monitoring/prometheus/mesos_exporter/default.nix b/pkgs/servers/monitoring/prometheus/mesos_exporter/default.nix new file mode 100644 index 00000000000..c8793e17abb --- /dev/null +++ b/pkgs/servers/monitoring/prometheus/mesos_exporter/default.nix @@ -0,0 +1,24 @@ +{ stdenv, lib, goPackages, fetchFromGitHub }: + +goPackages.buildGoPackage rec { + name = "prometheus-mesos-exporter-${stdenv.lib.strings.substring 0 7 rev}"; + rev = "a4a6638d6db6b5137e130cd4903b30dd82b78e9a"; + goPackagePath = "github.com/prometheus/mesos_exporter"; + + src = fetchFromGitHub { + inherit rev; + owner = "prometheus"; + repo = "mesos_exporter"; + sha256 = "1h4yxfcr8l9i2m1s5ygk3slhxdrs4mvmpn3sq8m5s205abvp891q"; + }; + + buildInputs = [ goPackages.mesos-stats ]; + + meta = with lib; { + description = "Export Mesos metrics to Prometheus"; + homepage = https://github.com/prometheus/mesos_exporter; + licenses = licenses.asl20; + maintainers = with maintainers; [ benley ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d23623d1a6d..921288ab8cc 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8389,6 +8389,8 @@ let callPackage ../servers/monitoring/prometheus/cli { }; prometheus-haproxy-exporter = callPackage ../servers/monitoring/prometheus/haproxy_exporter { }; + prometheus-mesos-exporter = + callPackage ../servers/monitoring/prometheus/mesos_exporter { }; prometheus-node-exporter = callPackage ../servers/monitoring/prometheus/node_exporter { }; prometheus-pushgateway = diff --git a/pkgs/top-level/go-packages.nix b/pkgs/top-level/go-packages.nix index 42917a99c06..4f9f6947c98 100644 --- a/pkgs/top-level/go-packages.nix +++ b/pkgs/top-level/go-packages.nix @@ -782,6 +782,20 @@ let self = _self // overrides; _self = with self; { propagatedBuildInputs = [ go-codec armon.go-metrics ]; }; + mesos-stats = buildGoPackage rec { + rev = "0c6ea494c19bedc67ebb85ce3d187ec21050e920"; + name = "mesos-stats-${stdenv.lib.strings.substring 0 7 rev}"; + goPackagePath = "github.com/antonlindstrom/mesos_stats"; + src = fetchFromGitHub { + inherit rev; + owner = "antonlindstrom"; + repo = "mesos_stats"; + sha256 = "18ggyjf4nyn77gkn16wg9krp4dsphgzdgcr3mdflv6mvbr482ar4"; + }; + + propagatedBuildInputs = [ prometheus.client_golang glog ]; + }; + mgo = buildGoPackage rec { rev = "2"; name = "mgo-${rev}"; From bcc8293cba6757a3d58719502a404bfb7a95d29b Mon Sep 17 00:00:00 2001 From: Benjamin Staffin Date: Sat, 21 Mar 2015 17:08:48 -0700 Subject: [PATCH 10/10] New package: prometheus-statsd-bridge --- .../prometheus/statsd_bridge/default.nix | 27 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 29 insertions(+) create mode 100644 pkgs/servers/monitoring/prometheus/statsd_bridge/default.nix diff --git a/pkgs/servers/monitoring/prometheus/statsd_bridge/default.nix b/pkgs/servers/monitoring/prometheus/statsd_bridge/default.nix new file mode 100644 index 00000000000..231aa31802c --- /dev/null +++ b/pkgs/servers/monitoring/prometheus/statsd_bridge/default.nix @@ -0,0 +1,27 @@ +{ stdenv, lib, goPackages, fetchFromGitHub }: + +goPackages.buildGoPackage rec { + name = "prometheus-statsd-bridge-${stdenv.lib.strings.substring 0 7 rev}"; + rev = "9715b183150c7bed8a10affb23d33fb55c597180"; + goPackagePath = "github.com/prometheus/statsd_bridge"; + + src = fetchFromGitHub { + inherit rev; + owner = "prometheus"; + repo = "statsd_bridge"; + sha256 = "119024xb08qjwbhplpl5d94bjdfhn92w4ffn4kxr7aviri1gynfz"; + }; + + buildInputs = with goPackages; [ + fsnotify + prometheus.client_golang + ]; + + meta = with lib; { + description = "Receives StatsD-style metrics and exports them to Prometheus"; + homepage = https://github.com/prometheus/statsd_bridge; + licenses = licenses.asl20; + maintainers = with maintainers; [ benley ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 921288ab8cc..ecc5a4b7e46 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8395,6 +8395,8 @@ let callPackage ../servers/monitoring/prometheus/node_exporter { }; prometheus-pushgateway = callPackage ../servers/monitoring/prometheus/pushgateway { }; + prometheus-statsd-bridge = + callPackage ../servers/monitoring/prometheus/statsd_bridge { }; psqlodbc = callPackage ../servers/sql/postgresql/psqlodbc { };