Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 9 Aug 2014 09:49:49 +0000 (UTC)
From:      Kurt Jaeger <pi@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r364420 - in head/net-mgmt: . victorops-nagios victorops-nagios/files
Message-ID:  <53e5eebd.2c7e.6525f44@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: pi
Date: Sat Aug  9 09:49:49 2014
New Revision: 364420
URL: http://svnweb.freebsd.org/changeset/ports/364420
QAT: https://qat.redports.org/buildarchive/r364420/

Log:
  New port: net-mgmt/victorops-nagios
  
  VictorOps is an on-call management and incident notification service.
  This is the Nagios/Icinga integration package for VictorOps.
  
  WWW: http://www.victorops.com
  
  PR:		191383
  Submitted by:	rand@iteris.com

Added:
  head/net-mgmt/victorops-nagios/
  head/net-mgmt/victorops-nagios/Makefile   (contents, props changed)
  head/net-mgmt/victorops-nagios/distinfo   (contents, props changed)
  head/net-mgmt/victorops-nagios/files/
  head/net-mgmt/victorops-nagios/files/patch-check_victorops_cmds   (contents, props changed)
  head/net-mgmt/victorops-nagios/files/patch-check_victorops_forwarder   (contents, props changed)
  head/net-mgmt/victorops-nagios/files/patch-do_victorops_heartbeat   (contents, props changed)
  head/net-mgmt/victorops-nagios/files/patch-enqueue_alert   (contents, props changed)
  head/net-mgmt/victorops-nagios/files/patch-forward_alerts   (contents, props changed)
  head/net-mgmt/victorops-nagios/files/patch-support_collect.sh   (contents, props changed)
  head/net-mgmt/victorops-nagios/files/patch-utils   (contents, props changed)
  head/net-mgmt/victorops-nagios/files/patch-victorops.cron   (contents, props changed)
  head/net-mgmt/victorops-nagios/files/qpage-patch   (contents, props changed)
  head/net-mgmt/victorops-nagios/pkg-descr   (contents, props changed)
  head/net-mgmt/victorops-nagios/pkg-message   (contents, props changed)
  head/net-mgmt/victorops-nagios/pkg-plist   (contents, props changed)
Modified:
  head/net-mgmt/Makefile

Modified: head/net-mgmt/Makefile
==============================================================================
--- head/net-mgmt/Makefile	Sat Aug  9 09:38:54 2014	(r364419)
+++ head/net-mgmt/Makefile	Sat Aug  9 09:49:49 2014	(r364420)
@@ -323,6 +323,7 @@
     SUBDIR += torrus
     SUBDIR += unifi2
     SUBDIR += unifi3
+    SUBDIR += victorops-nagios
     SUBDIR += vidalia
     SUBDIR += virt-viewer
     SUBDIR += virtinst

Added: head/net-mgmt/victorops-nagios/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net-mgmt/victorops-nagios/Makefile	Sat Aug  9 09:49:49 2014	(r364420)
@@ -0,0 +1,49 @@
+# Created by: Douglas K. Rand <rand@iteris.com>
+# $FreeBSD$
+
+PORTNAME=	victorops-nagios
+PORTVERSION=	1.1.8
+CATEGORIES=	net-mgmt
+MASTER_SITES=	http://software.victorops.com/
+DISTNAME=	${PORTNAME}_${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX}
+
+MAINTAINER=	rand@iteris.com
+COMMENT=	Nagios integration for VictorOps incident notification service
+
+NO_WRKSUBDIR=	YES
+NO_BUILD=	YES
+
+RESTRICTED=	Redistribution of software prohibited by VictorOps
+
+OPTIONS_DEFINE=	QPAGE
+OPTIONS_DEFAULT=
+QPAGE_DESC=	Integrate qpage for victorops server problems
+
+RUN_DEPENDS+=	bash:${PORTSDIR}/shells/bash
+
+.include <bsd.port.options.mk>
+.if ${PORT_OPTIONS:MQPAGE}
+RUN_DEPENDS+=	qpage:${PORTSDIR}/comms/qpage
+EXTRA_PATCHES+=	${FILESDIR}/qpage-patch
+.endif
+
+post-patch:
+	@${FIND} ${WRKSRC} -type f | ${XARGS} ${REINPLACE_CMD} \
+		-e '1s|#!/bin/bash|#!/usr/local/bin/bash|'
+
+do-install:
+	${MKDIR} ${STAGEDIR}${PREFIX}/etc/periodic/daily
+	${INSTALL_DATA} ${WRKSRC}/etc/cron.daily/victorops ${STAGEDIR}${PREFIX}/etc/periodic/daily/400.victorops
+	${MKDIR} ${STAGEDIR}${PREFIX}/etc/nagios
+.for i in victorops victorops_email vo_test_svc vo_test_svc_cmd
+	${INSTALL_DATA} ${WRKSRC}/opt/victorops/nagios_plugin/nagios_conf/${i}.cfg ${STAGEDIR}${PREFIX}/etc/nagios/${i}.cfg-sample
+.endfor
+	${MKDIR} ${STAGEDIR}${PREFIX}/libexec/victorops
+.for i in check_test_svc check_victorops_cmds check_victorops_forwarder \
+	do_victorops_heartbeat enqueue_alert forward_alert_file forward_alerts \
+	send_email_alert send_status stop_forwarder support_collect.sh \
+	url_encode.sed utils
+	${INSTALL_SCRIPT} ${WRKSRC}/opt/victorops/nagios_plugin/bin/${i} ${STAGEDIR}${PREFIX}/libexec/victorops/${i}
+.endfor
+
+.include <bsd.port.mk>

Added: head/net-mgmt/victorops-nagios/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net-mgmt/victorops-nagios/distinfo	Sat Aug  9 09:49:49 2014	(r364420)
@@ -0,0 +1,2 @@
+SHA256 (victorops-nagios_1.1.8.tar.gz) = 796e146552e27b45d0339c9c74883ba8048125887461f9e69a1e36cbd752e1a2
+SIZE (victorops-nagios_1.1.8.tar.gz) = 12838

Added: head/net-mgmt/victorops-nagios/files/patch-check_victorops_cmds
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net-mgmt/victorops-nagios/files/patch-check_victorops_cmds	Sat Aug  9 09:49:49 2014	(r364420)
@@ -0,0 +1,11 @@
+--- opt/victorops/nagios_plugin/bin/check_victorops_cmds.orig	2014-06-11 10:22:45.587219788 -0500
++++ opt/victorops/nagios_plugin/bin/check_victorops_cmds	2014-06-11 12:37:39.711662512 -0500
+@@ -46,7 +46,7 @@
+     TMP_FILE=$(mktemp)
+ 
+     # Get the commands from VictorOps
+-    wget -T $TIMEOUT -t $TRIES --no-verbose -O $TMP_FILE "$URL"
++    $WGET -T $TIMEOUT -t $TRIES --no-verbose -O $TMP_FILE "$URL"
+ 
+     # Check the result, and if OK, send them to the command file
+     grep $RESULT_OK $TMP_FILE

Added: head/net-mgmt/victorops-nagios/files/patch-check_victorops_forwarder
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net-mgmt/victorops-nagios/files/patch-check_victorops_forwarder	Sat Aug  9 09:49:49 2014	(r364420)
@@ -0,0 +1,32 @@
+--- opt/victorops/nagios_plugin/bin/check_victorops_forwarder.orig	2014-04-02 15:36:08.000000000 -0500
++++ opt/victorops/nagios_plugin/bin/check_victorops_forwarder	2014-06-15 16:34:11.635114340 -0500
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!/usr/local/bin/bash
+ 
+ if [ -x /usr/bin/dirname ]; then
+     . $(/usr/bin/dirname $0)/utils
+@@ -10,7 +10,7 @@
+ 
+ verifyEnvironment
+ 
+-QUEUE=/var/nagios
++QUEUE=/var/spool/nagios/victorops/alerts
+ LOG=/var/log/victorops/forward_alerts.log
+ DEBUG_FILE=/dev/null
+ while getopts  "l:q:" flag
+@@ -27,7 +27,13 @@
+ FORWARDER=$($DIRNAME $BASH_SOURCE)/forward_alerts
+ PID_FILE=/tmp/victorops_forward_alerts.pid
+ 
+-FORWARDER_COUNT=$($PS -eaf | $GREP -v grep | $GREP "$FORWARDER" | $WC -l 2>/dev/null)
++if [ ! -e $PID_FILE ]; then
++    PID=9999999999
++else
++    PID=$($CAT $PID_FILE)
++fi
++
++FORWARDER_COUNT=$($PS -ww -p $PID | $GREP "$FORWARDER" | $WC -l 2>/dev/null)
+ if (( $FORWARDER_COUNT == 0 )); then
+     echo "$($DATE) Starting $FORWARDER" >> "$LOG"
+     $FORWARDER "$QUEUE" >> "$LOG" 2>&1 &

Added: head/net-mgmt/victorops-nagios/files/patch-do_victorops_heartbeat
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net-mgmt/victorops-nagios/files/patch-do_victorops_heartbeat	Sat Aug  9 09:49:49 2014	(r364420)
@@ -0,0 +1,11 @@
+--- opt/victorops/nagios_plugin/bin/do_victorops_heartbeat.orig	2014-06-11 10:25:17.252208492 -0500
++++ opt/victorops/nagios_plugin/bin/do_victorops_heartbeat	2014-06-11 10:29:51.392206330 -0500
+@@ -44,7 +44,7 @@
+ fi
+ 
+ # guess Distro
+-DISTRO=$(/usr/bin/lsb_release -d 2>/dev/null | $SED 's/.*:[[:space:]]*//')
++DISTRO=$(/usr/bin/uname -or 2>/dev/null | $SED 's/.*:[[:space:]]*//')
+ if [ "$DISTRO" = "" ]; then
+     DISTRO=$($CAT /etc/*release | $HEAD -1)
+ fi

Added: head/net-mgmt/victorops-nagios/files/patch-enqueue_alert
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net-mgmt/victorops-nagios/files/patch-enqueue_alert	Sat Aug  9 09:49:49 2014	(r364420)
@@ -0,0 +1,14 @@
+--- opt/victorops/nagios_plugin/bin/enqueue_alert.orig	2014-06-11 10:34:56.607169001 -0500
++++ opt/victorops/nagios_plugin/bin/enqueue_alert	2014-06-11 10:35:58.757671279 -0500
+@@ -15,9 +15,9 @@
+ # Get the queue dir from the alert info in the environment vars.
+ # If it's empty, use a default.
+ # The queue dir can also be given on the command line.
+-QUEUE_DIR="$(getVal _CONTACTVO_QUEUE_DIR /var/nagios)"
++QUEUE_DIR="$(getVal _CONTACTVO_QUEUE_DIR /var/spool/nagios/victorops/alerts)"
+ if [ -z "$QUEUE_DIR" ]; then
+-    QUEUE_DIR=/var/nagios
++    QUEUE_DIR=/var/spool/nagios/victorops/alerts
+ fi
+ if [ ! -z "$1" ]; then
+   QUEUE_DIR=$1

Added: head/net-mgmt/victorops-nagios/files/patch-forward_alerts
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net-mgmt/victorops-nagios/files/patch-forward_alerts	Sat Aug  9 09:49:49 2014	(r364420)
@@ -0,0 +1,11 @@
+--- opt/victorops/nagios_plugin/bin/forward_alerts.orig	2014-06-11 10:38:17.374154833 -0500
++++ opt/victorops/nagios_plugin/bin/forward_alerts	2014-06-11 10:38:59.844409788 -0500
+@@ -18,7 +18,7 @@
+   QUEUE_DIR=$1
+ fi
+ if [ -z "$QUEUE_DIR" ]; then
+-    QUEUE_DIR=/var/nagios
++    QUEUE_DIR=/var/spool/nagios/victorops/alerts
+ fi
+ DONE_DIR=$QUEUE_DIR/forwarded
+ EMAILED_DIR=$QUEUE_DIR/emailed

Added: head/net-mgmt/victorops-nagios/files/patch-support_collect.sh
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net-mgmt/victorops-nagios/files/patch-support_collect.sh	Sat Aug  9 09:49:49 2014	(r364420)
@@ -0,0 +1,13 @@
+--- opt/victorops/nagios_plugin/bin/support_collect.sh.orig	2014-06-11 11:24:28.858964094 -0500
++++ opt/victorops/nagios_plugin/bin/support_collect.sh	2014-06-11 11:25:03.784958472 -0500
+@@ -11,8 +11,8 @@
+ TARBALL=$($DATE +%Y%m%d-%H%M)-victorops.tgz
+ SUPPORT=support@victorops.com
+ 
+-echo $TAR -cz -f $TARBALL /var/log/victorops /var/nagios
+-$TAR -cz -f $TARBALL /var/log/victorops /var/nagios
++echo $TAR -cz -f $TARBALL /var/log/victorops /var/spool/nagios/victorops/alerts
++$TAR -cz -f $TARBALL /var/log/victorops /var/spool/nagios/victorops/alerts
+ 
+ if [ -e "$MUTT" ]; then
+     echo

Added: head/net-mgmt/victorops-nagios/files/patch-utils
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net-mgmt/victorops-nagios/files/patch-utils	Sat Aug  9 09:49:49 2014	(r364420)
@@ -0,0 +1,21 @@
+--- opt/victorops/nagios_plugin/bin/utils.orig	2014-06-11 11:25:07.834962605 -0500
++++ opt/victorops/nagios_plugin/bin/utils	2014-06-11 11:26:48.367951852 -0500
+@@ -46,7 +46,8 @@
+ function findStatusFile {
+     local f="$1"
+     if [ -z "$f" ]; then
+-        echo "STATUSDATAFILE is empty" >> $DEBUG_FILE
++        echo "STATUSDATAFILE($f) is empty" >> $DEBUG_FILE
++	echo "Looking for STATUS file in $2" >> $DEBUG_FILE
+         f=$($GREP "^status_file=" $2 | $SED 's/.*=//')
+     fi
+     if [ -z "$f" ]; then
+@@ -82,6 +83,8 @@
+     APP=/bin/$1
+   elif [ -x /usr/bin/$1 ]; then
+     APP=/usr/bin/$1
++  elif [ -x /usr/local/bin/$1 ]; then
++    APP=/usr/local/bin/$1
+   else
+     APP=$1
+   fi

Added: head/net-mgmt/victorops-nagios/files/patch-victorops.cron
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net-mgmt/victorops-nagios/files/patch-victorops.cron	Sat Aug  9 09:49:49 2014	(r364420)
@@ -0,0 +1,10 @@
+--- etc/cron.daily/victorops.orig	2014-06-11 12:49:42.035618811 -0500
++++ etc/cron.daily/victorops	2014-06-11 12:50:57.241605821 -0500
+@@ -1,5 +1,5 @@
+ #!/bin/sh
+ 
+ # Clean up old alerts
+-/usr/bin/find /var/nagios/emailed/ -mtime +7 -type f -delete
+-/usr/bin/find /var/nagios/forwarded/ -mtime +7 -type f -delete
++/usr/bin/find /var/spool/nagios/victorops/alerts/emailed/ -mtime +7 -type f -delete
++/usr/bin/find /var/spool/nagios/victorops/alerts/forwarded/ -mtime +7 -type f -delete

Added: head/net-mgmt/victorops-nagios/files/qpage-patch
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net-mgmt/victorops-nagios/files/qpage-patch	Sat Aug  9 09:49:49 2014	(r364420)
@@ -0,0 +1,38 @@
+--- opt/victorops/nagios_plugin/bin/send_email_alert.orig	2014-06-11 10:39:13.918151547 -0500
++++ opt/victorops/nagios_plugin/bin/send_email_alert	2014-06-11 11:20:43.930977406 -0500
+@@ -31,6 +31,7 @@
+ # Build the contact email list
+ ORG_SLUG="$(getVal _CONTACTVO_ORGANIZATION_ID unkonwn_org)"
+ CONTACTEMAIL="$(getVal _CONTACTVO_CONTACTEMAIL)"
++CONTACTPAGER="$(getVal CONTACTPAGER)"
+ VO_CONTACT="failsafe+$ORG_SLUG@victorops.net"
+ WGET_LOG=/tmp/victorops_forward_wget.out
+ STDERR_LOG=/tmp/victorops_forward_wget.err
+@@ -42,10 +43,16 @@
+     if [ "$CONTACTEMAIL" != "" ]; then
+         $PRINTF "%b" "***** Alert *****\n\nNotification Type: $(getVal NOTIFICATIONTYPE)\n\nService: $(getVal SERVICEDESC)\nHost: $(getVal HOSTALIAS)\nAddress: $(getVal HOSTADDRESS)\nState: $(getVal SERVICESTATE)\n\nDate/Time: $(getVal LONGDATETIME)\n\nAdditional Info:\n\n$(getVal SERVICEOUTPUT)\n\n" | $MAIL -s "** $(getVal NOTIFICATIONTYPE) Service Alert: $(getVal HOSTALIAS)/$(getVal SERVICEDESC) is $(getVal SERVICESTATE) **" $CONTACTEMAIL
+     fi
++    if [ "$CONTACTPAGER" != "" ]; then
++        $PRINTF "%b" "$(getVal SERVICEDESC) $(getVal NOTIFICATIONTYPE) for $(getVal HOSTNAME) is $(getVal SERVICESTATE) at $(getVal TIME) $(getVal SERVICEOUTPUT)" | $QPAGE -f icinga $CONTACTPAGER
++    fi
+ else
+     if [ "$CONTACTEMAIL" != "" ]; then
+         $PRINTF "%b" "***** Alert *****\n\nNotification Type: $(getVal NOTIFICATIONTYPE)\nHost: $(getVal HOSTNAME)\nState: $(getVal HOSTSTATE)\nAddress: $(getVal HOSTADDRESS)\nInfo: $(getVal HOSTOUTPUT)\n\nDate/Time: $(getVal LONGDATETIME)\n" | $MAIL -s "** $(getVal NOTIFICATIONTYPE) Host Alert: $(getVal HOSTNAME) is $(getVal HOSTSTATE) **" $CONTACTEMAIL
+     fi
++    if [ "$CONTACTPAGER" != "" ]; then
++        $PRINTF "%b" "$(getVal HOSTNAME) is $(getVal HOSTSTATE) at $(getVal TIME) -- $(getVal HOSTOUTPUT)" | $QPAGE -f icinga $CONTACTPAGER
++    fi
+ fi
+ # ***
+ # *** Make sure the mail command is the last thing in this file so the including file can check the exit code
+--- opt/victorops/nagios_plugin/bin/utils.orig   2014-06-16 20:12:16.713013963 -0500
++++ opt/victorops/nagios_plugin/bin/utils        2014-06-16 20:12:58.533005832 -0500
+@@ -110,6 +110,7 @@
+ MV=$(findApp mv)
+ PRINTF=$(findApp printf)
+ PS=$(findApp ps)
++QPAGE=$(findApp qpage)
+ SED=$(findApp sed)
+ SLEEP=$(findApp sleep)
+ TAR=$(findApp tar)
+

Added: head/net-mgmt/victorops-nagios/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net-mgmt/victorops-nagios/pkg-descr	Sat Aug  9 09:49:49 2014	(r364420)
@@ -0,0 +1,4 @@
+VictorOps is an on-call management and incident notification service.
+This is the Nagios/Icinga integration package for VictorOps.
+
+WWW: http://www.victorops.com

Added: head/net-mgmt/victorops-nagios/pkg-message
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net-mgmt/victorops-nagios/pkg-message	Sat Aug  9 09:49:49 2014	(r364420)
@@ -0,0 +1,11 @@
+========================================================================
+
+victorops-nagios requires that ca_root_nss be built with the option
+
+  ETCSYMLINK    Add symlink to /etc/ssl/cert.pem
+
+enabled. With out that option, wget will complain that VictorOps'
+GoDaddy SSL certificate is a self-signed certificate, which will
+prevent VictorOps from working.
+
+========================================================================

Added: head/net-mgmt/victorops-nagios/pkg-plist
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net-mgmt/victorops-nagios/pkg-plist	Sat Aug  9 09:49:49 2014	(r364420)
@@ -0,0 +1,22 @@
+etc/nagios/victorops.cfg-sample
+etc/nagios/victorops_email.cfg-sample
+etc/nagios/vo_test_svc.cfg-sample
+etc/nagios/vo_test_svc_cmd.cfg-sample
+etc/periodic/daily/400.victorops
+libexec/victorops/check_test_svc
+libexec/victorops/check_victorops_cmds
+libexec/victorops/check_victorops_forwarder
+libexec/victorops/do_victorops_heartbeat
+libexec/victorops/enqueue_alert
+libexec/victorops/forward_alert_file
+libexec/victorops/forward_alerts
+libexec/victorops/send_email_alert
+libexec/victorops/send_status
+libexec/victorops/stop_forwarder
+libexec/victorops/support_collect.sh
+libexec/victorops/url_encode.sed
+libexec/victorops/utils
+@dirrmtry etc/nagios
+@dirrmtry libexec/victorops
+@dirrmtry etc/periodic/daily
+@dirrmtry etc/periodic



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?53e5eebd.2c7e.6525f44>