From 32f2e44036777f3ebe50c59bed1cd42fa8325587 Mon Sep 17 00:00:00 2001 From: Kurt Jaeger Date: Fri, 27 Feb 2015 19:35:09 +0000 Subject: New port: net-mgmt/riemann Riemann monitors low-latency, transient shared state for systems with many moving parts. Riemann aggregates events from your servers and applications with a powerful stream processing language. Send an email for every exception raised by your code. Track the latency distribution of your web app. See the top processes on any host, by memory and CPU. Combine statistics from every Riak node in your cluster and forward to Graphite. Send alerts when a key process fails to check in. Know how many users signed up right this second. WWW: http://riemann.io/ PR: 197403 Submitted by: Dave Cottlehuber --- net-mgmt/riemann/Makefile | 62 +++++++++++++++++++++++++++++++++++ net-mgmt/riemann/distinfo | 2 ++ net-mgmt/riemann/files/riemann.in | 69 +++++++++++++++++++++++++++++++++++++++ net-mgmt/riemann/pkg-descr | 11 +++++++ net-mgmt/riemann/pkg-plist | 4 +++ 5 files changed, 148 insertions(+) create mode 100644 net-mgmt/riemann/Makefile create mode 100644 net-mgmt/riemann/distinfo create mode 100644 net-mgmt/riemann/files/riemann.in create mode 100644 net-mgmt/riemann/pkg-descr create mode 100644 net-mgmt/riemann/pkg-plist (limited to 'net-mgmt/riemann') diff --git a/net-mgmt/riemann/Makefile b/net-mgmt/riemann/Makefile new file mode 100644 index 000000000000..955a69c67c82 --- /dev/null +++ b/net-mgmt/riemann/Makefile @@ -0,0 +1,62 @@ +# Created by: Dave Cottlehuber +# $FreeBSD$ + +PORTNAME= riemann +PORTVERSION= 0.2.8 +CATEGORIES= net-mgmt java +MASTER_SITES= http://aphyr.com/${PORTNAME}/ + +MAINTAINER= dch@skunkwerks.at +COMMENT= Monitors distributed systems + +LICENSE= EPL + +USES= tar:bzip2 +NO_BUILD= yes +NO_ARCH= yes +USE_JAVA= yes +JAVA_VERSION= 1.7+ + +SUB_FILES= ${PORTNAME} +SUB_LIST+= JAVA_HOME=${JAVA_HOME} \ + RIEMANN_USER=${RIEMANN_USER} \ + RIEMANN_GROUP=${RIEMANN_GROUP} \ + RIEMANN_PIDDIR=${RIEMANN_PIDDIR} \ + RIEMANN_LOGDIR=${RIEMANN_LOGDIR} + +PLIST_SUB= JAVA_HOME=${JAVA_HOME} \ + RIEMANN_USER=${RIEMANN_USER} \ + RIEMANN_GROUP=${RIEMANN_GROUP} \ + RIEMANN_PIDDIR=${RIEMANN_PIDDIR} \ + RIEMANN_LOGDIR=${RIEMANN_LOGDIR} + +RIEMANN_USER?= ${PORTNAME} +RIEMANN_GROUP?= ${PORTNAME} + +.if ${RIEMANN_USER} == "${PORTNAME}" +USERS= ${PORTNAME} +.endif +.if ${RIEMANN_GROUP} == "${PORTNAME}" +GROUPS= ${PORTNAME} +.endif + +USE_RC_SUBR= ${PORTNAME} + +RIEMANN_LOGDIR= /var/log/${PORTNAME}/ +RIEMANN_PIDDIR= /var/run/${PORTNAME}/ + +do-install: + ${MKDIR} \ + ${STAGEDIR}${JAVAJARDIR} \ + ${STAGEDIR}${ETCDIR} \ + ${STAGEDIR}${RIEMANN_PIDDIR} \ + ${STAGEDIR}${RIEMANN_LOGDIR} + ${INSTALL_DATA} \ + ${WRKSRC}/lib/${PORTNAME}.jar \ + ${STAGEDIR}${JAVAJARDIR}/${PORTNAME}.jar + ${SED} -i -e "s:riemann.log:${RIEMANN_LOGDIR}${PORTNAME}.log:g" \ + ${WRKSRC}/etc/${PORTNAME}.config + ${CP} -p ${WRKSRC}/etc/${PORTNAME}.config \ + ${STAGEDIR}${ETCDIR}/${PORTNAME}.config.sample + +.include diff --git a/net-mgmt/riemann/distinfo b/net-mgmt/riemann/distinfo new file mode 100644 index 000000000000..ccee49709e0e --- /dev/null +++ b/net-mgmt/riemann/distinfo @@ -0,0 +1,2 @@ +SHA256 (riemann-0.2.8.tar.bz2) = f5bb666acb878e144471f8c6d7f622193840d127aea96924fd8575e1fb6c57dc +SIZE (riemann-0.2.8.tar.bz2) = 31826729 diff --git a/net-mgmt/riemann/files/riemann.in b/net-mgmt/riemann/files/riemann.in new file mode 100644 index 000000000000..6519aac0a3cd --- /dev/null +++ b/net-mgmt/riemann/files/riemann.in @@ -0,0 +1,69 @@ +#!/bin/sh + +# $FreeBSD$ +# +# PROVIDE: riemann +# REQUIRE: LOGIN NETWORKING SERVERS +# KEYWORD: shutdown +# +# Add the following lines to /etc/rc.conf.local or /etc/rc.conf +# to enable this service: +# +# riemann_enable (bool): Set to NO by default. +# Set it to YES to enable riemann. +# +# riemann_config (string): Optional full path for riemann config file +# riemann_user (user): Set to riemann by default. +# riemann_group (group): Set to riemann by default. +# riemann_jarfile (string): Optional path to a custom jarfile. +# riemann_java_home (args): Specify which JVM to use, if not default. +# riemann_min_mem (num): Minumum JVM heap size, 256m by default. +# riemann_max_mem (num): Maximum JVM heap size, 1g by default. +# riemann_java_opts (args): Additional JVM properties or arguments. +. /etc/rc.subr + +name="riemann" +rcvar=riemann_enable + +load_rc_config $name + +: ${riemann_enable="NO"} +: ${riemann_user:="%%RIEMANN_USER%%"} +: ${riemann_group:="%%RIEMANN_GROUP%%"} +: ${riemann_config:="%%PREFIX%%/etc/riemann/riemann.config.sample"} +: ${riemann_jarfile:="%%JAVAJARDIR%%/riemann.jar"} +: ${riemann_java_home:="%%JAVA_HOME%%"} +: ${riemann_min_mem:="256m"} +: ${riemann_max_mem:="1g"} +: ${riemann_java_opts:=" -server \ + -Xms${riemann_min_mem} \ + -Xmx${riemann_max_mem} \ + -Xss256k \ + -Djava.awt.headless=true \ + -Djava.net.preferIPv4Stack=true \ + -XX:+AggressiveOpts \ + -XX:+CMSClassUnloadingEnabled \ + -XX:+CMSParallelRemarkEnabled \ + -XX:+DisableExplicitGC \ + -XX:+HeapDumpOnOutOfMemoryError \ + -XX:+UseCMSInitiatingOccupancyOnly \ + -XX:+UseCompressedOops \ + -XX:+UseConcMarkSweepGC \ + -XX:+UseFastAccessorMethods \ + -XX:+UseParNewGC \ + -XX:CMSInitiatingOccupancyFraction=75 "} + +riemann_pidfile="%%RIEMANN_PIDDIR%%${name}.pid" +command="/usr/sbin/daemon" +procname="${riemann_java_home}/bin/java" +command_args="-f -c -p ${riemann_pidfile} ${procname} ${riemann_java_opts} \ + -jar ${riemann_jarfile} ${riemann_config}" +required_files="${java_cmd} ${riemann_config}" + +riemann_prestart() +{ + install -o ${riemann_user} /dev/null ${riemann_pidfile} +} +start_precmd=${name}_prestart + +run_rc_command "$1" diff --git a/net-mgmt/riemann/pkg-descr b/net-mgmt/riemann/pkg-descr new file mode 100644 index 000000000000..c153ce8e39cf --- /dev/null +++ b/net-mgmt/riemann/pkg-descr @@ -0,0 +1,11 @@ +Riemann monitors low-latency, transient shared state for systems with many +moving parts. + +Riemann aggregates events from your servers and applications with a powerful +stream processing language. Send an email for every exception raised by your +code. Track the latency distribution of your web app. See the top processes +on any host, by memory and CPU. Combine statistics from every Riak node in +your cluster and forward to Graphite. Send alerts when a key process fails +to check in. Know how many users signed up right this second. + +WWW: http://riemann.io/ diff --git a/net-mgmt/riemann/pkg-plist b/net-mgmt/riemann/pkg-plist new file mode 100644 index 000000000000..8b7d7cb45c85 --- /dev/null +++ b/net-mgmt/riemann/pkg-plist @@ -0,0 +1,4 @@ +%%JAVAJARDIR%%/riemann.jar +@sample %%ETCDIR%%/riemann.config.sample +@dir(%%RIEMANN_USER%%,%%RIEMANN_GROUP%%,0750) %%RIEMANN_LOGDIR%% +@dir(%%RIEMANN_USER%%,%%RIEMANN_GROUP%%,0750) %%RIEMANN_PIDDIR%% -- cgit v1.2.3