summaryrefslogtreecommitdiff
path: root/sysutils/beats
diff options
context:
space:
mode:
authorfhajny <fhajny@pkgsrc.org>2017-01-05 16:43:09 +0000
committerfhajny <fhajny@pkgsrc.org>2017-01-05 16:43:09 +0000
commit091b4e77682267b7858049a1fe792a62d95db2c0 (patch)
tree1b1b705e585b34b0a7e921dcb52af5d421b124bf /sysutils/beats
parent2e22ad22f930842438144dbf927255caffd42ee2 (diff)
downloadpkgsrc-091b4e77682267b7858049a1fe792a62d95db2c0.tar.gz
Import beats 5.1.1 as sysutils/beats (based on wip/beats).
The Beats are lightweight processes, written in Go, that you install on your servers to capture all sorts of operational data like logs, operating system metrics or network packet data, and to send it to Elasticsearch, either directly or via Logstash, so it can be visualized with Kibana.
Diffstat (limited to 'sysutils/beats')
-rw-r--r--sysutils/beats/DESCR5
-rw-r--r--sysutils/beats/Makefile71
-rw-r--r--sysutils/beats/PLIST21
-rw-r--r--sysutils/beats/distinfo7
-rw-r--r--sysutils/beats/files/smf/manifest.xml83
-rw-r--r--sysutils/beats/patches/patch-vendor_github.com_tsg_gopacket_pcap_pcap.go22
6 files changed, 209 insertions, 0 deletions
diff --git a/sysutils/beats/DESCR b/sysutils/beats/DESCR
new file mode 100644
index 00000000000..3add6f12559
--- /dev/null
+++ b/sysutils/beats/DESCR
@@ -0,0 +1,5 @@
+The Beats are lightweight processes, written in Go, that you install
+on your servers to capture all sorts of operational data like logs,
+operating system metrics or network packet data, and to send it to
+Elasticsearch, either directly or via Logstash, so it can be
+visualized with Kibana.
diff --git a/sysutils/beats/Makefile b/sysutils/beats/Makefile
new file mode 100644
index 00000000000..3039b65b47c
--- /dev/null
+++ b/sysutils/beats/Makefile
@@ -0,0 +1,71 @@
+# $NetBSD: Makefile,v 1.1 2017/01/05 16:43:09 fhajny Exp $
+#
+
+DISTNAME= beats-5.1.1
+CATEGORIES= sysutils
+MASTER_SITES= ${MASTER_SITE_GITHUB:=elastic/}
+GITHUB_PROJECT= beats
+GITHUB_TAG= v${PKGVERSION_NOREV}
+
+MAINTAINER= filip@joyent.com
+HOMEPAGE= https://www.elastic.co/products/beats
+COMMENT= Data Shippers for Elasticsearch
+LICENSE= apache-2.0
+
+.include "../../lang/go/version.mk"
+BUILD_DEPENDS+= go-${GO_VERSION}*:../../lang/go
+
+EXTRACT_USING= bsdtar
+USE_TOOLS+= gmake
+
+WRKSRC= ${WRKDIR}/src/github.com/elastic/beats
+
+# Components to build/install
+BEATS= filebeat heartbeat metricbeat packetbeat
+
+.for beat in ${BEATS}
+CONF_FILES+= share/examples/beats/${beat}.yml \
+ ${PKG_SYSCONFDIR}/${beat}.yml
+CONF_FILES+= share/examples/beats/${beat}.template.json \
+ ${PKG_SYSCONFDIR}/${beat}.template.json
+CONF_FILES+= share/examples/beats/${beat}.template-es2x.json \
+ ${PKG_SYSCONFDIR}/${beat}.template-es2x.json
+.endfor
+
+BEATS_DIR?= ${VARBASE}/db/beats
+BEATS_LOGDIR?= ${VARBASE}/log/beats
+
+FILES_SUBST+= BEATS_DIR=${BEATS_DIR}
+FILES_SUBST+= BEATS_LOGDIR=${BEATS_LOGDIR}
+
+PKG_SYSCONFSUBDIR= beats
+
+SMF_INSTANCES+= ${BEATS}
+
+OWN_DIRS+= ${BEATS_DIR} ${BEATS_LOGDIR}
+
+MAKE_ENV+= GOPATH=${WRKDIR}:${PREFIX}/gopkg
+BUILD_DIRS= ${BEATS}
+BUILD_TARGET= #
+
+INSTALLATION_DIRS+= bin share/examples/beats
+
+post-extract:
+ ${MKDIR} ${WRKSRC}
+ ${MV} ${WRKDIR}/${DISTNAME}/* ${WRKSRC}
+
+do-install:
+.for beat in ${BEATS}
+ ${INSTALL_PROGRAM} ${WRKSRC}/${beat}/${beat} ${DESTDIR}${PREFIX}/bin
+ ${INSTALL_DATA} ${WRKSRC}/${beat}/${beat}.full.yml \
+ ${DESTDIR}${PREFIX}/share/examples/beats
+ ${INSTALL_DATA} ${WRKSRC}/${beat}/${beat}.template-es2x.json \
+ ${DESTDIR}${PREFIX}/share/examples/beats
+ ${INSTALL_DATA} ${WRKSRC}/${beat}/${beat}.template.json \
+ ${DESTDIR}${PREFIX}/share/examples/beats
+ ${INSTALL_DATA} ${WRKSRC}/${beat}/${beat}.yml \
+ ${DESTDIR}${PREFIX}/share/examples/beats
+.endfor
+
+.include "../../net/libpcap/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/sysutils/beats/PLIST b/sysutils/beats/PLIST
new file mode 100644
index 00000000000..31bd2b58c17
--- /dev/null
+++ b/sysutils/beats/PLIST
@@ -0,0 +1,21 @@
+@comment $NetBSD: PLIST,v 1.1 2017/01/05 16:43:09 fhajny Exp $
+bin/filebeat
+bin/heartbeat
+bin/metricbeat
+bin/packetbeat
+share/examples/beats/filebeat.full.yml
+share/examples/beats/filebeat.template-es2x.json
+share/examples/beats/filebeat.template.json
+share/examples/beats/filebeat.yml
+share/examples/beats/heartbeat.full.yml
+share/examples/beats/heartbeat.template-es2x.json
+share/examples/beats/heartbeat.template.json
+share/examples/beats/heartbeat.yml
+share/examples/beats/metricbeat.full.yml
+share/examples/beats/metricbeat.template-es2x.json
+share/examples/beats/metricbeat.template.json
+share/examples/beats/metricbeat.yml
+share/examples/beats/packetbeat.full.yml
+share/examples/beats/packetbeat.template-es2x.json
+share/examples/beats/packetbeat.template.json
+share/examples/beats/packetbeat.yml
diff --git a/sysutils/beats/distinfo b/sysutils/beats/distinfo
new file mode 100644
index 00000000000..5a7273da5b8
--- /dev/null
+++ b/sysutils/beats/distinfo
@@ -0,0 +1,7 @@
+$NetBSD: distinfo,v 1.1 2017/01/05 16:43:09 fhajny Exp $
+
+SHA1 (beats-5.1.1.tar.gz) = 6847fc4b96adcf38b3b46a2c31a6109797bfd07b
+RMD160 (beats-5.1.1.tar.gz) = 9cc18d886df86e4cead9c9ab546a127a8f643893
+SHA512 (beats-5.1.1.tar.gz) = 0eb646faa7ff8fb310f97507c105b1dac5ee1ed114c858f92905ae8a1e7a3a2a2a095e52a5155194df9b699e93dd93f00e9da9b1d71b22fbcc539feaa705b984
+Size (beats-5.1.1.tar.gz) = 16500866 bytes
+SHA1 (patch-vendor_github.com_tsg_gopacket_pcap_pcap.go) = 2ef13f84cbf2e1da428e7b08625ffa6111ebcdf5
diff --git a/sysutils/beats/files/smf/manifest.xml b/sysutils/beats/files/smf/manifest.xml
new file mode 100644
index 00000000000..f811747a7ff
--- /dev/null
+++ b/sysutils/beats/files/smf/manifest.xml
@@ -0,0 +1,83 @@
+<?xml version='1.0'?>
+<!DOCTYPE service_bundle SYSTEM '/usr/share/lib/xml/dtd/service_bundle.dtd.1'>
+<service_bundle type='manifest' name='export'>
+ <service name='@SMF_PREFIX@/@SMF_NAME@' type='service' version='1'>
+ <dependency name='fs-local' grouping='require_all' restart_on='none' type='service'>
+ <service_fmri value='svc:/system/filesystem/local'/>
+ </dependency>
+ <dependency name='network-service' grouping='require_all' restart_on='none' type='service'>
+ <service_fmri value='svc:/network/service'/>
+ </dependency>
+ <dependency name='name-services' grouping='require_all' restart_on='refresh' type='service'>
+ <service_fmri value='svc:/milestone/name-services'/>
+ </dependency>
+ <dependency name='system-log' grouping='optional_all' restart_on='none' type='service'>
+ <service_fmri value='svc:/system/system-log'/>
+ </dependency>
+ <method_context working_directory='@BEATS_DIR@' />
+ <property_group name='startd' type='framework'>
+ <propval name='ignore_error' type='astring' value='core,signal'/>
+ <propval name='duration' type='astring' value='child' />
+ </property_group>
+ <instance name='filebeat' enabled='false'>
+ <dependency name='config-file' grouping='require_all' restart_on='refresh' type='path'>
+ <service_fmri value='file://localhost@PKG_SYSCONFDIR@/filebeat.yml'/>
+ </dependency>
+ <exec_method name='start' type='method' exec='@PREFIX@/bin/filebeat -path.config @PKG_SYSCONFDIR@ -path.data @BEATS_DIR@ -path.logs @BEATS_LOGDIR@' timeout_seconds='60'/>
+ <exec_method name='stop' type='method' exec=':kill' timeout_seconds='60'/>
+ <template>
+ <common_name>
+ <loctext xml:lang='C'>Beats: filebeat data shipper</loctext>
+ </common_name>
+ <documentation>
+ <doc_link name='elastic.co' uri='https://www.elastic.co/guide/en/beats/filebeat/current/index.html' />
+ </documentation>
+ </template>
+ </instance>
+ <instance name='heartbeat' enabled='false'>
+ <dependency name='config-file' grouping='require_all' restart_on='refresh' type='path'>
+ <service_fmri value='file://localhost@PKG_SYSCONFDIR@/heartbeat.yml'/>
+ </dependency>
+ <exec_method name='start' type='method' exec='@PREFIX@/bin/heartbeat -path.config @PKG_SYSCONFDIR@ -path.data @BEATS_DIR@ -path.logs @BEATS_LOGDIR@' timeout_seconds='60'/>
+ <exec_method name='stop' type='method' exec=':kill' timeout_seconds='60'/>
+ <template>
+ <common_name>
+ <loctext xml:lang='C'>Beats: heartbeat data shipper</loctext>
+ </common_name>
+ <documentation>
+ <doc_link name='elastic.co' uri='https://www.elastic.co/guide/en/beats/heartbeat/current/index.html' />
+ </documentation>
+ </template>
+ </instance>
+ <instance name='metricbeat' enabled='false'>
+ <dependency name='config-file' grouping='require_all' restart_on='refresh' type='path'>
+ <service_fmri value='file://localhost@PKG_SYSCONFDIR@/metricbeat.yml'/>
+ </dependency>
+ <exec_method name='start' type='method' exec='@PREFIX@/bin/metricbeat -path.config @PKG_SYSCONFDIR@ -path.data @BEATS_DIR@ -path.logs @BEATS_LOGDIR@' timeout_seconds='60'/>
+ <exec_method name='stop' type='method' exec=':kill' timeout_seconds='60'/>
+ <template>
+ <common_name>
+ <loctext xml:lang='C'>Beats: metricbeat data shipper</loctext>
+ </common_name>
+ <documentation>
+ <doc_link name='elastic.co' uri='https://www.elastic.co/guide/en/beats/metricbeat/current/index.html' />
+ </documentation>
+ </template>
+ </instance>
+ <instance name='packetbeat' enabled='false'>
+ <dependency name='config-file' grouping='require_all' restart_on='refresh' type='path'>
+ <service_fmri value='file://localhost@PKG_SYSCONFDIR@/packetbeat.yml'/>
+ </dependency>
+ <exec_method name='start' type='method' exec='@PREFIX@/bin/packetbeat -path.config @PKG_SYSCONFDIR@ -path.data @BEATS_DIR@ -path.logs @BEATS_LOGDIR@' timeout_seconds='60'/>
+ <exec_method name='stop' type='method' exec=':kill' timeout_seconds='60'/>
+ <template>
+ <common_name>
+ <loctext xml:lang='C'>Beats: packetbeat data shipper</loctext>
+ </common_name>
+ <documentation>
+ <doc_link name='elastic.co' uri='https://www.elastic.co/guide/en/beats/packetbeat/current/index.html' />
+ </documentation>
+ </template>
+ </instance>
+ </service>
+</service_bundle>
diff --git a/sysutils/beats/patches/patch-vendor_github.com_tsg_gopacket_pcap_pcap.go b/sysutils/beats/patches/patch-vendor_github.com_tsg_gopacket_pcap_pcap.go
new file mode 100644
index 00000000000..7c82807dea5
--- /dev/null
+++ b/sysutils/beats/patches/patch-vendor_github.com_tsg_gopacket_pcap_pcap.go
@@ -0,0 +1,22 @@
+$NetBSD: patch-vendor_github.com_tsg_gopacket_pcap_pcap.go,v 1.1 2017/01/05 16:43:09 fhajny Exp $
+
+Just require pcap, fixes NetBSD.
+
+--- vendor/github.com/tsg/gopacket/pcap/pcap.go.orig 2016-12-06 07:41:08.000000000 +0000
++++ vendor/github.com/tsg/gopacket/pcap/pcap.go
+@@ -8,14 +8,7 @@
+ package pcap
+
+ /*
+-#cgo linux LDFLAGS: -lpcap
+-#cgo freebsd LDFLAGS: -lpcap
+-#cgo openbsd LDFLAGS: -lpcap
+-#cgo darwin LDFLAGS: -lpcap
+-#cgo solaris LDFLAGS: -lpcap
+-#cgo windows CFLAGS: -I C:/WpdPack/Include
+-#cgo windows,386 LDFLAGS: -L C:/WpdPack/Lib -lwpcap
+-#cgo windows,amd64 LDFLAGS: -L C:/WpdPack/Lib/x64 -lwpcap
++#cgo LDFLAGS: -lpcap
+ #include <stdlib.h>
+ #include <pcap.h>
+