From owner-freebsd-ports-bugs@FreeBSD.ORG Wed Jul 21 10:00:45 2004 Return-Path: Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0625E16A4CE for ; Wed, 21 Jul 2004 10:00:45 +0000 (GMT) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id ED7D143D48 for ; Wed, 21 Jul 2004 10:00:44 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) i6LA0iLF011197 for ; Wed, 21 Jul 2004 10:00:44 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.11/8.12.11/Submit) id i6LA0i4F011192; Wed, 21 Jul 2004 10:00:44 GMT (envelope-from gnats) Resent-Date: Wed, 21 Jul 2004 10:00:44 GMT Resent-Message-Id: <200407211000.i6LA0i4F011192@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-ports-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Janos Mohacsi Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9CF1716A4CE for ; Wed, 21 Jul 2004 09:51:10 +0000 (GMT) Received: from skye.ki.iif.hu (freebsd.ki.iif.hu [193.225.13.161]) by mx1.FreeBSD.org (Postfix) with ESMTP id BF30343D4C for ; Wed, 21 Jul 2004 09:51:09 +0000 (GMT) (envelope-from mohacsi@skye.ki.iif.hu) Received: (from mohacsi@localhost) by skye.ki.iif.hu (8.12.11/8.12.11) id i6L9oN1J009155; Wed, 21 Jul 2004 11:50:23 +0200 (CEST) (envelope-from mohacsi) Message-Id: <200407210950.i6L9oN1J009155@skye.ki.iif.hu> Date: Wed, 21 Jul 2004 11:50:23 +0200 (CEST) From: Janos Mohacsi To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Subject: ports/69370: New port: net-mgmt/nagiostat version 1.0.0 X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: Janos Mohacsi List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 21 Jul 2004 10:00:45 -0000 >Number: 69370 >Category: ports >Synopsis: New port: net-mgmt/nagiostat version 1.0.0 >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Wed Jul 21 10:00:44 GMT 2004 >Closed-Date: >Last-Modified: >Originator: Janos Mohacsi >Release: FreeBSD 4.10-PRERELEASE i386 >Organization: NIIF >Environment: System: FreeBSD skye.ki.iif.hu 4.10-PRERELEASE FreeBSD 4.10-PRERELEASE #7: Thu May 20 13:27:41 CEST 2004 root@skye.ki.iif.hu:/usr/obj/mirror/src/sys/SKYE i386 >Description: New port: net-mgmt/nagiostat version 1.0.0 This port is processes performance data produced by nagios stores them to RRD database and provide nice view of collected data in a very configurable way. >How-To-Repeat: Apply this shar. >Fix: # This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # nagiostat/ # nagiostat/pkg-plist # nagiostat/pkg-descr # nagiostat/distinfo # nagiostat/Makefile # nagiostat/files # nagiostat/files/patch-nagiostat # nagiostat/files/patch-nagiostat.conf # nagiostat/files/patch-README # echo c - nagiostat/ mkdir -p nagiostat/ > /dev/null 2>&1 echo x - nagiostat/pkg-plist sed 's/^X//' >nagiostat/pkg-plist << 'END-of-nagiostat/pkg-plist' X@exec mkdir -p /var/spool/nagios/nagiostatrrd X@exec chmod 775 /var/spool/nagios/nagiostatrrd X@exec chown nagios:nagios /var/spool/nagios/nagiostatrrd X@unexec rmdir /var/spool/nagios/nagiostatrrd 2>/dev/null || true Xetc/nagiostat.conf-sample Xshare/nagios/cgi-bin/nagiostat.cgi Xlibexec/nagiostat/nagiostat Xlibexec/nagiostat/html-templates/default.html Xlibexec/nagiostat/html-templates/graphindex.html Xshare/nagios/images/logos/graph.gif X%%PORTDOCS%%%%DOCSDIR%%/README X%%PORTDOCS%%%%DOCSDIR%%/GPL.txt X@dirrm libexec/nagiostat/html-templates X@dirrm libexec/nagiostat X%%PORTDOCS%%@dirrm %%DOCSDIR%% END-of-nagiostat/pkg-plist echo x - nagiostat/pkg-descr sed 's/^X//' >nagiostat/pkg-descr << 'END-of-nagiostat/pkg-descr' XNagiostat parses performance-data from Nagios and generates graphs of Xtrends over time. Nagiostat makes use of RRD-tool. It then generates Xgraphs on-the-fly through a CGI-script and HTML-templates. Nagiostat is Xwritten in perl. X XWWW: http://nagiostat.sourceforge.net END-of-nagiostat/pkg-descr echo x - nagiostat/distinfo sed 's/^X//' >nagiostat/distinfo << 'END-of-nagiostat/distinfo' XMD5 (nagiostat-1.0.0.tgz) = 10ecfebe9430b2daf6a0e87b71dc739c XSIZE (nagiostat-1.0.0.tgz) = 18883 END-of-nagiostat/distinfo echo x - nagiostat/Makefile sed 's/^X//' >nagiostat/Makefile << 'END-of-nagiostat/Makefile' X# New ports collection makefile for: nagiostat X# Date created: 20 July 2004 X# Whom: Janos.Mohacsi@bsd.hu X# X# $FreeBSD$ X# X XPORTNAME= nagiostat XPORTVERSION= 1.0.0 XCATEGORIES= net-mgmt XMASTER_SITES= ${MASTER_SITE_SOURCEFORGE} XMASTER_SITE_SUBDIR= ${PORTNAME} XEXTRACT_SUFX= .tgz X XMAINTAINER= janos.mohacsi@bsd.hu XCOMMENT= Nagiostat parses performance-data from Nagios and generates graphs X XRUN_DEPENDS= rrdtool:${PORTSDIR}/net/rrdtool \ X nagios:${PORTSDIR}/net-mgmt/nagios \ X ${SITE_PERL}/CGI.pm:${PORTSDIR}/www/p5-CGI.pm X XUSE_PERL5= yes XNO_BUILD= yes XUSE_REINPLACE= yes XNO_WRKSUBDIR= yes XNAGIOSDIR?= /var/spool/nagios XDOC_FILES= README GPL.txt X Xdo-configure: X @${REINPLACE_CMD} \ X -e 's|%%NAGIOSTATCONFDIR%%|${PREFIX}/etc/|' \ X -e 's|%%NAGIOSTATDIR%%|${PREFIX}/libexec/${PORTNAME}/|' \ X -e 's|%%NAGIOSTATRRD%%|${NAGIOSDIR}/${PORTNAME}rrd/|' \ X -e 's|%%PREFIX%%|${PREFIX}|' \ X ${WRKSRC}/nagiostat ${WRKSRC}/nagiostat.conf ${WRKSRC}/README Xdo-install: X @${MKDIR} ${PREFIX}/libexec/${PORTNAME} X @${MKDIR} ${NAGIOSDIR}/${PORTNAME}rrd X @${INSTALL_SCRIPT} ${WRKSRC}/nagiostat ${PREFIX}/libexec/${PORTNAME}/ X @${LN} -s ${PREFIX}/libexec/${PORTNAME}/nagiostat ${PREFIX}/share/nagios/cgi-bin/nagiostat.cgi X @${INSTALL_DATA} ${WRKSRC}/nagiostat.conf ${PREFIX}/etc/nagiostat.conf-sample X @${INSTALL_DATA} ${WRKSRC}/graph.gif ${PREFIX}/share/nagios/images/logos X @${MKDIR} ${PREFIX}/libexec/${PORTNAME}/html-templates/ X @${INSTALL_DATA} ${WRKSRC}/html-templates/default.html ${PREFIX}/libexec/${PORTNAME}/html-templates/ X @${INSTALL_DATA} ${WRKSRC}/html-templates/graphindex.html ${PREFIX}/libexec/${PORTNAME}/html-templates/ X Xpost-install: X.if !defined(NOPORTDOCS) X @${MKDIR} ${DOCSDIR} X.for file in ${DOC_FILES} X @${INSTALL_DATA} ${WRKSRC}/${file} ${DOCSDIR} X.endfor X.endif X X.include END-of-nagiostat/Makefile echo c - nagiostat/files mkdir -p nagiostat/files > /dev/null 2>&1 echo x - nagiostat/files/patch-nagiostat sed 's/^X//' >nagiostat/files/patch-nagiostat << 'END-of-nagiostat/files/patch-nagiostat' X X$FreeBSD$ X X--- nagiostat.orig Tue Jul 20 17:30:18 2004 X+++ nagiostat Tue Jul 20 18:01:53 2004 X@@ -21,8 +21,8 @@ X use strict; X X ## Basic configuration options X-my $BASE_DIR = "/usr/local/nagios/nagiostat"; X-my $CONFIG_FILE = $BASE_DIR."/nagiostat.conf"; ## Config-file location X+my $BASE_DIR = "%%NAGIOSTATDIR%%"; X+my $CONFIG_FILE = "%%NAGIOSTATCONFDIR%%/nagiostat.conf"; ## Config-file location X my $DEBUG_LOG_FILE = $BASE_DIR."/debug.log"; ## Specify where to create log-file and what filename (must be writable by nagios-user!) X my $DEBUGLEVEL = 3; ## 0=Nothing, 1=Errors, 2=Warnings, 3=Debug X my $DEBUGOUTPUT = 0; ## 0=file, 1=STDERR, 2=STDOUT (for cgi) END-of-nagiostat/files/patch-nagiostat echo x - nagiostat/files/patch-nagiostat.conf sed 's/^X//' >nagiostat/files/patch-nagiostat.conf << 'END-of-nagiostat/files/patch-nagiostat.conf' X X$FreeBSD$ X X--- nagiostat.conf.orig Tue Jul 20 18:02:15 2004 X+++ nagiostat.conf Tue Jul 20 18:09:40 2004 X@@ -13,10 +13,10 @@ X ## quote-marks are written in pairs EVEN IN COMMENTS. This is a known bug. X X # Pointer to where the rrd-tool binary is located X-RRDToolPath /usr/local/bin/rrdtool X+RRDToolPath %%PREFIX%%/bin/rrdtool X X # Pointer to where HTML-templates are stored X-HTMLTemplatePath /usr/local/nagios/nagiostat/html-templates X+HTMLTemplatePath %%NAGIOSTATDIR%%/html-templates X X # Pointer to HTML-template for the index-page (relative to HTMLTemplatePath) X GraphIndexTemplate graphindex.html X@@ -25,7 +25,7 @@ X # nagiostat automatically creates RRD-archives if they dont exist. X # IMPORTANT: the whole directory RRDArchivePath must be writable by the nagios user (that calls the X # nagiostat-script) X-RRDArchivePath /usr/local/nagios/nagiostat/archives X+RRDArchivePath %%NAGIOSTATRRD%%/ X X ## How many graphs per HTML-page and which time-periods they should represent X ## TemplateName Definitions (format=::) END-of-nagiostat/files/patch-nagiostat.conf echo x - nagiostat/files/patch-README sed 's/^X//' >nagiostat/files/patch-README << 'END-of-nagiostat/files/patch-README' X X$FreeBSD$ X X--- README.orig Wed Jul 21 10:07:51 2004 X+++ README Wed Jul 21 10:12:10 2004 X@@ -27,24 +27,28 @@ X X X **INSTALLING X-1. Unpack the tar-file to a directory, for example '/usr/local/nagios/nagiostat'. X-The nagiostat-base-dir does not have to be within the nagios-installation directory. X X-2. Start by editing the $BASE_DIR parameter in the file called "nagiostat", which is X-the main script. Set the value to the directory where you unpacked the files. X-Create a file called "debug.log" ('$ touch debug.log') in this dir and change permissions so that the X-nagios-user may write to it. This is the logfile for nagiostat which can be X-very helpful when debugging the regular-expression thing. X+1. Unpack the tar-file to a directory, for example '%%NAGIOSTATDIR%%'. X+The nagiostat-base-dir does not have to be within the nagios-installation X+directory. X X-If things are installed in the directory specified in step 1, you can also run "make install" to X-create debug.log, archives-directory and set permissions on them. "make install" is under development. X-It also assumes that the nagios-user is called 'nagios'. X+2. Start by editing the $BASE_DIR parameter in the file called X+"nagiostat", which is the main script. Set the value to the directory X+where you unpacked the files. Create a file called "debug.log" ('$ touch X+debug.log') in this dir and change permissions so that the nagios-user may X+write to it. This is the logfile for nagiostat which can be very helpful X+when debugging the regular-expression thing. X X-3. Then read the nagios.conf-file where also most of the documentation is located and change the X-parameters to your liking. X+If things are installed in the directory specified in step 1, you can also X+run "make install" to create debug.log, archives-directory and set X+permissions on them. "make install" is under development. It also assumes X+that the nagios-user is called 'nagios'. X X-4. Then set up your webserver so that you can access the nagiostat.cgi (symbolic-link X-to 'nagiostat') from some URL. Example for apache: X+3. Then read the nagios.conf-file where also most of the documentation is X+located and change the parameters to your liking. X+ X+4. Then set up your webserver so that you can access the nagiostat.cgi X+(symbolic-link to 'nagiostat') from some URL. Example for apache: X --- X Alias /nagiostat/ /usr/local/nagios/nagiostat/ X X@@ -53,41 +57,47 @@ X Allow from all X X --- X-You also have to make sure that the apache-user has read-rights to the RRDArchivePath X-and the config-file nagios.conf. You also would probably add additional security to X-this, password protecting for instance. X X-5. Set up nagios to enable performance-data handling and that it should send the perfdata X-to nagiostat. X-In nagios.cfg, set the parameter 'process_performance_data=1'. This enables processing of X-performance data. X-Then add the parameter 'service_perfdata_command=service-perf-data-handler' also to nagios.cfg. This X-tells nagios to run the "service-perf-data-handler" command to process the performance data after X-each plugin has been executed. X-Then add the following to the checkcommands.cfg-file (or whatever nagios-config-file you find suitable): X+You also have to make sure that the apache-user has read-rights to the X+RRDArchivePath and the config-file nagios.conf. You also would probably X+add additional security to this, password protecting for instance. X+ X+5. Set up nagios to enable performance-data handling and that it should X+send the perfdata to nagiostat. In nagios.cfg, set the parameter X+'process_performance_data=1'. This enables processing of performance data. X+Then add the parameter X+'service_perfdata_command=service-perf-data-handler' also to nagios.cfg. X+This tells nagios to run the "service-perf-data-handler" command to X+process the performance data after each plugin has been executed. Then add X+the following to the checkcommands.cfg-file (or whatever X+nagios-config-file you find suitable): X+ X --- X ## X ## PERF-DATA-HANDLER X ## X define command { X command_name service-perf-data-handler X- command_line /usr/local/nagios/nagiostat/nagiostat -p "$LASTCHECK$|!!|$HOSTNAME$|!!|$SERVICEDESC$|!!|$SERVICESTATE$|!!|$OUTPUT$|!!|$PERFDATA$" X+ command_line /%%NAGIOSTATDIR%%/nagiostat -p "$LASTCHECK$|!!|$HOSTNAME$|!!|$SERVICEDESC$|!!|$SERVICESTATE$|!!|$OUTPUT$|!!|$PERFDATA$" X } X --- X Alter the path to nagiostat to reflect where you installed the files in step 1. X X-6. To add a nifty icon to click on in the "service detail"-page in the nagios web interface, you X-can add something like the following to the serviceextinfo.cfg-file: X+6. To add a nifty icon to click on in the "service detail"-page in the X+nagios web interface, you can add something like the following to the X+serviceextinfo.cfg-file: X+ X --- X define serviceextinfo { X host_name purjo.dacom.se X service_description PING X- notes_url /nagiostat/nagiostat.cgi?graph_name=purjo-ping X+ notes_url /nagiostat.cgi?graph_name=purjo-ping X icon_image graph.gif X icon_image_alt View graphs X } X --- X-Copy graph.gif to /usr/local/nagios/share/images/logos (or whichever directory your nagios-installation is in) X+Copy graph.gif to /%%PREFIX%%/nagios/share/images/logos (or whichever X+directory your nagios-installation is in) X to get the little ugly graph-icon in the right place. X X END-of-nagiostat/files/patch-README exit >Release-Note: >Audit-Trail: >Unformatted: