aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--GIDs1
-rw-r--r--UIDs1
-rw-r--r--net-mgmt/Makefile1
-rw-r--r--net-mgmt/riemann/Makefile62
-rw-r--r--net-mgmt/riemann/distinfo2
-rw-r--r--net-mgmt/riemann/files/riemann.in69
-rw-r--r--net-mgmt/riemann/pkg-descr11
-rw-r--r--net-mgmt/riemann/pkg-plist4
8 files changed, 151 insertions, 0 deletions
diff --git a/GIDs b/GIDs
index bbc9bcfa61b0..2894cc87640b 100644
--- a/GIDs
+++ b/GIDs
@@ -229,6 +229,7 @@ munin:*:842:
dahdi:*:843:asterisk
fossy:*:901:www
scanlogd:*:902:
+riemann:*:908:
proxy65:*:909:
bacula:*:910:
iserv:*:911:
diff --git a/UIDs b/UIDs
index b61f76b3a956..c00b76d35e0a 100644
--- a/UIDs
+++ b/UIDs
@@ -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
diff --git a/net-mgmt/Makefile b/net-mgmt/Makefile
index 1cf25a193b8d..f000c3bd911a 100644
--- a/net-mgmt/Makefile
+++ b/net-mgmt/Makefile
@@ -271,6 +271,7 @@
SUBDIR += rate
SUBDIR += rcpd
SUBDIR += remarp
+ SUBDIR += riemann
SUBDIR += rotorouter
SUBDIR += routers2
SUBDIR += routers2-extensions
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 <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>
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%%