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 <dch@skunkwerks.at>
This commit is contained in:
Kurt Jaeger 2015-02-27 19:35:09 +00:00
parent 5161093205
commit 32f2e44036
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=380118
8 changed files with 151 additions and 0 deletions

1
GIDs
View File

@ -229,6 +229,7 @@ munin:*:842:
dahdi:*:843:asterisk
fossy:*:901:www
scanlogd:*:902:
riemann:*:908:
proxy65:*:909:
bacula:*:910:
iserv:*:911:

1
UIDs
View File

@ -234,6 +234,7 @@ tcpcryptd:*:841:841::0:0:tcpcrypt daemon:/nonexistent:/usr/sbin/nologin
munin:*:842:842::0:0:Munin:/var/munin:/usr/sbin/nologin
fossy:*:901:901::0:0:FOSSology user:/usr/local/share/fossology:/usr/local/bin/bash
scanlogd:*:902:902::0:0:scanlogd user:/nonexistent:/usr/sbin/nologin
riemann:*:908:908::0:0:Riemann User:/var/empty:/usr/sbin/nologin
proxy65:*:909:909::0:0:Proxy65 Daemon:/nonexistent:/usr/sbin/nologin
bacula:*:910:910::0:0:Bacula Daemon:/var/db/bacula:/usr/sbin/nologin
iserv:*:911:911::0:0:Iserv Daemon:/nonexistent:/usr/sbin/nologin

View File

@ -271,6 +271,7 @@
SUBDIR += rate
SUBDIR += rcpd
SUBDIR += remarp
SUBDIR += riemann
SUBDIR += rotorouter
SUBDIR += routers2
SUBDIR += routers2-extensions

62
net-mgmt/riemann/Makefile Normal file
View File

@ -0,0 +1,62 @@
# Created by: Dave Cottlehuber <dch@skunkwerks.at>
# $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 <bsd.port.mk>

View File

@ -0,0 +1,2 @@
SHA256 (riemann-0.2.8.tar.bz2) = f5bb666acb878e144471f8c6d7f622193840d127aea96924fd8575e1fb6c57dc
SIZE (riemann-0.2.8.tar.bz2) = 31826729

View File

@ -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"

View File

@ -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/

View File

@ -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%%