diff options
Diffstat (limited to 'sysutils/beats')
-rw-r--r-- | sysutils/beats/DESCR | 5 | ||||
-rw-r--r-- | sysutils/beats/Makefile | 71 | ||||
-rw-r--r-- | sysutils/beats/PLIST | 21 | ||||
-rw-r--r-- | sysutils/beats/distinfo | 7 | ||||
-rw-r--r-- | sysutils/beats/files/smf/manifest.xml | 83 | ||||
-rw-r--r-- | sysutils/beats/patches/patch-vendor_github.com_tsg_gopacket_pcap_pcap.go | 22 |
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> + |