ELK: update kibana and the elastic beats to 5.4 (#26252)

* Add kibana5 and logstash5
* Upgrade the elastic beats to 5.4
* Make sure all elastic products use the same version
  (see elk5Version)
* Add a test for the ELK stack
This commit is contained in:
Bas van Dijk
2017-06-13 22:36:08 +02:00
committed by Franz Pletz
parent 424dc0138d
commit 2444eab485
13 changed files with 362 additions and 192 deletions
+42
View File
@@ -0,0 +1,42 @@
{ stdenv, fetchFromGitHub, elk5Version, buildGoPackage, libpcap }:
let beat = package : extraArgs : buildGoPackage (rec {
name = "${package}-${version}";
version = elk5Version;
src = fetchFromGitHub {
owner = "elastic";
repo = "beats";
rev = "v${version}";
sha256 = "1if16sqbhgxc7ahn9pak8av9rq9l8ldk44hr4w4g7lhxnqhmhsji";
};
goPackagePath = "github.com/elastic/beats";
subPackages = [ package ];
meta = with stdenv.lib; {
homepage = https://www.elastic.co/products/beats;
license = licenses.asl20;
maintainers = with maintainers; [ fadenb basvandijk ];
platforms = platforms.linux;
};
} // extraArgs);
in {
filebeat = beat "filebeat" {meta.description = "Lightweight shipper for logfiles";};
heartbeat = beat "heartbeat" {meta.description = "Lightweight shipper for uptime monitoring";};
metricbeat = beat "metricbeat" {meta.description = "Lightweight shipper for metrics";};
packetbeat = beat "packetbeat" {
buildInputs = [ libpcap ];
meta.description = "Network packet analyzer that ships data to Elasticsearch";
meta.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.
'';
};
}
-25
View File
@@ -1,25 +0,0 @@
{ 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;
};
}
-25
View File
@@ -1,25 +0,0 @@
{ 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;
};
}
-25
View File
@@ -1,25 +0,0 @@
{ 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;
};
}
-36
View File
@@ -1,36 +0,0 @@
{ 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;
};
}