diff --git a/pkgs/misc/logging/filebeat/default.nix b/pkgs/misc/logging/filebeat/default.nix new file mode 100644 index 00000000000..c33f34c6dc4 --- /dev/null +++ b/pkgs/misc/logging/filebeat/default.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchFromGitHub, buildGoPackage }: + +buildGoPackage rec { + name = "filebeat-${version}"; + version = "5.2.2"; + + src = fetchFromGitHub { + owner = "elastic"; + repo = "beats"; + rev = "v${version}"; + sha256 = "19hkq19xpi3c9y5g1yq77sm2d5vzybn6mxxf0s5l6sw4l98aak5q"; + }; + + goPackagePath = "github.com/elastic/beats"; + + subPackages = [ "filebeat" ]; + + meta = with stdenv.lib; { + description = "Lightweight shipper for logfiles"; + homepage = https://www.elastic.co/products/beats; + license = licenses.asl20; + maintainers = [ maintainers.fadenb ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/misc/logging/heartbeat/default.nix b/pkgs/misc/logging/heartbeat/default.nix new file mode 100644 index 00000000000..faa558589f2 --- /dev/null +++ b/pkgs/misc/logging/heartbeat/default.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchFromGitHub, buildGoPackage }: + +buildGoPackage rec { + name = "heartbeat-${version}"; + version = "5.2.2"; + + src = fetchFromGitHub { + owner = "elastic"; + repo = "beats"; + rev = "v${version}"; + sha256 = "19hkq19xpi3c9y5g1yq77sm2d5vzybn6mxxf0s5l6sw4l98aak5q"; + }; + + goPackagePath = "github.com/elastic/beats"; + + subPackages = [ "heartbeat" ]; + + meta = with stdenv.lib; { + description = "Lightweight shipper for uptime monitoring"; + homepage = https://www.elastic.co/products/beats; + license = licenses.asl20; + maintainers = [ maintainers.fadenb ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/misc/logging/metricbeat/default.nix b/pkgs/misc/logging/metricbeat/default.nix new file mode 100644 index 00000000000..fcb2376a93d --- /dev/null +++ b/pkgs/misc/logging/metricbeat/default.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchFromGitHub, buildGoPackage }: + +buildGoPackage rec { + name = "metricbeat-${version}"; + version = "5.2.2"; + + src = fetchFromGitHub { + owner = "elastic"; + repo = "beats"; + rev = "v${version}"; + sha256 = "19hkq19xpi3c9y5g1yq77sm2d5vzybn6mxxf0s5l6sw4l98aak5q"; + }; + + goPackagePath = "github.com/elastic/beats"; + + subPackages = [ "metricbeat" ]; + + meta = with stdenv.lib; { + description = "Lightweight shipper for metrics"; + homepage = https://www.elastic.co/products/beats; + license = licenses.asl20; + maintainers = [ maintainers.fadenb ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/misc/logging/packetbeat/default.nix b/pkgs/misc/logging/packetbeat/default.nix new file mode 100644 index 00000000000..d4445bec998 --- /dev/null +++ b/pkgs/misc/logging/packetbeat/default.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchFromGitHub, buildGoPackage, libpcap }: + +buildGoPackage rec { + name = "packetbeat-${version}"; + version = "5.2.2"; + + src = fetchFromGitHub { + owner = "elastic"; + repo = "beats"; + rev = "v${version}"; + sha256 = "19hkq19xpi3c9y5g1yq77sm2d5vzybn6mxxf0s5l6sw4l98aak5q"; + }; + + goPackagePath = "github.com/elastic/beats"; + + subPackages = [ "packetbeat" ]; + + buildInputs = [ libpcap ]; + + meta = with stdenv.lib; { + description = "Network packet analyzer that ships data to Elasticsearch"; + longDescription = '' + Packetbeat is an open source network packet analyzer that ships the + data to Elasticsearch. + + Think of it like a distributed real-time Wireshark with a lot more + analytics features. The Packetbeat shippers sniff the traffic between + your application processes, parse on the fly protocols like HTTP, MySQL, + PostgreSQL, Redis or Thrift and correlate the messages into transactions. + ''; + homepage = https://www.elastic.co/products/beats; + license = licenses.asl20; + maintainers = [ maintainers.fadenb ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2e72eda08f5..1e089956fdb 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -902,6 +902,8 @@ with pkgs; fastJson = callPackage ../development/libraries/fastjson { }; + filebeat = callPackage ../misc/logging/filebeat { }; + filebench = callPackage ../tools/misc/filebench { }; fsmon = callPackage ../tools/misc/fsmon { }; @@ -944,6 +946,8 @@ with pkgs; gti = callPackage ../tools/misc/gti { }; + heartbeat = callPackage ../misc/logging/heartbeat { }; + heatseeker = callPackage ../tools/misc/heatseeker { }; hexio = callPackage ../development/tools/hexio { }; @@ -970,6 +974,8 @@ with pkgs; meson = callPackage ../development/tools/build-managers/meson { }; + metricbeat = callPackage ../misc/logging/metricbeat { }; + mp3fs = callPackage ../tools/filesystems/mp3fs { }; mpdcron = callPackage ../tools/audio/mpdcron { }; @@ -3320,6 +3326,8 @@ with pkgs; nix = nixUnstable; }; + packetbeat = callPackage ../misc/logging/packetbeat { }; + packetdrill = callPackage ../tools/networking/packetdrill { }; pakcs = callPackage ../development/compilers/pakcs {};