diff options
author | ohauer <ohauer@FreeBSD.org> | 2010-08-19 01:43:31 +0800 |
---|---|---|
committer | ohauer <ohauer@FreeBSD.org> | 2010-08-19 01:43:31 +0800 |
commit | 137118b024a34eeadd3e288f5f7a9db76b4ed04d (patch) | |
tree | 612b2e931c08093c1eff83a8cf889f0f54806921 | |
parent | f1ede49e7ba16ff5676ff2996cd007f10100c96b (diff) | |
download | freebsd-ports-gnome-137118b024a34eeadd3e288f5f7a9db76b4ed04d.tar.gz freebsd-ports-gnome-137118b024a34eeadd3e288f5f7a9db76b4ed04d.tar.zst freebsd-ports-gnome-137118b024a34eeadd3e288f5f7a9db76b4ed04d.zip |
- new port sysutils/monitorix
PR: 146776
Submitted by: Michael Brune <admin _at_ mjbrune.org>
Approved by: glarkin (mentor)
Monitorix is a free, open source, lightweight system monitoring tool
designed to monitorize as many services as possible. At this time it
monitors from the CPU load and temperatures to the users using the system.
Network devices activity, network services demand and even the devices'
interrupt activity are also monitored, and more. The current status of any
corporate server with Monitorix installed can be accessed via a web browser.
WWW: http://www.monitorix.org/
-rw-r--r-- | sysutils/Makefile | 1 | ||||
-rw-r--r-- | sysutils/monitorix/Makefile | 123 | ||||
-rw-r--r-- | sysutils/monitorix/distinfo | 3 | ||||
-rw-r--r-- | sysutils/monitorix/files/monitorix.in | 37 | ||||
-rw-r--r-- | sysutils/monitorix/files/patch-monitorix.pl | 65 | ||||
-rw-r--r-- | sysutils/monitorix/files/pkg-message.in | 16 | ||||
-rw-r--r-- | sysutils/monitorix/pkg-descr | 8 | ||||
-rw-r--r-- | sysutils/monitorix/pkg-plist | 58 |
8 files changed, 311 insertions, 0 deletions
diff --git a/sysutils/Makefile b/sysutils/Makefile index abbe0cc1c815..f1cc5d9d0918 100644 --- a/sysutils/Makefile +++ b/sysutils/Makefile @@ -499,6 +499,7 @@ SUBDIR += modules SUBDIR += monit SUBDIR += monitord + SUBDIR += monitorix SUBDIR += monkeytail SUBDIR += mono-kmod SUBDIR += moosefs-chunkserver diff --git a/sysutils/monitorix/Makefile b/sysutils/monitorix/Makefile new file mode 100644 index 000000000000..dae8a7763f13 --- /dev/null +++ b/sysutils/monitorix/Makefile @@ -0,0 +1,123 @@ +# New ports collection makefile for: monitorix +# Date created: 15 Aug 2010 +# Whom: Olli Hauer <ohauer@FreeBSD.org> +# +# $FreeBSD$ +# + +PORTNAME= monitorix +PORTVERSION= 1.5.1 +CATEGORIES= sysutils +MASTER_SITES= http://monitorix.org/ + +MAINTAINER= admin@mjbrune.org +COMMENT= A web based monitoring system + +LIB_DEPENDS= rrd:${PORTSDIR}/databases/rrdtool +BUILD_DEPENDS= ${SITE_PERL}/LWP/Parallel.pm:${PORTSDIR}/www/p5-ParallelUA + +LICENSE= GPLv2 + +OPTIONS= REPORTS "Mail HTML reports to a given address" off + +.include <bsd.port.options.mk> + +MAN5= monitorix.conf.5 +MANCOMPRESSED= no +NO_BUILD= yes + +CGIDIR?= ${PREFIX}/www/cgi-bin +#REPORTS?= true +# owner of $WWWROOT/imgs +WWW_OWNER?= ${WWWOWN} +WWW_GROUP?= ${WWWGRP} +DATADIR= ${INSTDIR} +REPORT_LANG= ca de en it +INSTDIR= ${PREFIX}/${PORTNAME} +# WWWROOT: (WWWDIR - portname), we need the resulting path for a variable in monitorix.conf +WWWROOT= ${WWWDIR:S,${PORTNAME},,} + +SUB_FILES= pkg-message +SUB_LIST= PERL=${PERL} INSTDIR=${INSTDIR} +PLIST_SUB+= CGIDIR=${CGIDIR:S,${PREFIX}/,,} WWW_OWNER=${WWW_OWNER} WWW_GROUP=${WWW_GROUP} + +WWW_FILES= logo_top.png logo_bot.png monitorixico.png +DOCS= COPYING Changes README README.FreeBSD README.nginx TODO \ + monitorix-alert.sh monitorix-apache.conf +REPORT_FILES= imgs_email/blank.png imgs_email/logo.jpg imgs_email/signature.png \ + imgs_email/title.jpg traffic_report.html traffic_report.sh + +.if defined(WITH_REPORTS) +RUN_DEPENDS+= metamail>=2.7:${PORTSDIR}/mail/metamail +PLIST_SUB+= REPORTS="" +.else +PLIST_SUB+= REPORTS="@comment " +.endif + +pre-everything:: + @${ECHO_MSG} "" + @${ECHO_MSG} "You may set following options:" + @${ECHO_MSG} "" + @${ECHO_MSG} "DATADIR=${DATADIR} Where do you put RRD databases?" + @${ECHO_MSG} "CGIDIR=${CGIDIR} Where do you put cgi?" + @${ECHO_MSG} "WWWDIR=${WWWDIR} Where do you put httpd's document root?" + @${ECHO_MSG} "" + +post-patch: +.for f in cgi conf pl + @${REINPLACE_CMD} -e "s|/usr/bin/perl|${PERL}|" ${WRKSRC}/monitorix.${f} +.endfor +# Notes about the adjustments for default configuration: +# - set FreeBSD as OSTYPE +# - set a generic WWWROOT, since we can include it in the webserver config +# - milter-greylist use a new database path on FreeBSD +# - FreeBSD's interface name came from the NIC, the lo0 interface is almost everytime present +# - file/directory handling outside ${PREFIX} with ports is silly. We don't want to rewrite +# monitorix.pl therefore we use ${PREFIX} instead /var/db/! + @${REINPLACE_CMD} -e 's|our \$$OSTYPE = \"Linux-RHFC\"|our \$$OSTYPE = \"FreeBSD\"|' \ + -e "s|/usr/local/www/apache22/data|${WWWROOT}|" \ + -e "s|/var/lib/milter-greylist/db/greylist.db|/var/milter-greylist/greylist.db|" \ + -e "s|eth0|lo0|g" -e "s|/var/db/monitorix/|${INSTDIR}/|" \ + -e "s|%%INSTDIR%%|${INSTDIR}|g" ${WRKSRC}/monitorix.conf +.for d in ${REPORT_LANG} + @${REINPLACE_CMD} -e "s|^rm|${RM}|g" -e "s|/bin/sed|${SED}|g" \ + -e "s|/usr/bin/metasend|${PREFIX}/bin/metasend|g" \ + -e "s|\"tmp|\"/tmp/${PORTNAME}_report|g" ${WRKSRC}/reports/${d}/traffic_report.sh +.endfor + +do-install: + @${INSTALL_SCRIPT} ${WRKSRC}/monitorix.pl ${PREFIX}/sbin/ + @${MKDIR} ${WWWDIR}/imgs + @${CHOWN} ${WWW_OWNER}:${WWW_GROUP} ${WWWDIR}/imgs + @for f in ${WWW_FILES}; do \ + ${INSTALL_DATA} ${WRKSRC}/$${f} ${WWWDIR}/; \ + done + @${MKDIR} ${CGIDIR} + @${INSTALL_SCRIPT} ${WRKSRC}/monitorix.cgi ${CGIDIR}/ +.for m in ${MAN5} + @${INSTALL_MAN} ${WRKSRC}/man/man5/$m ${PREFIX}/man/man5/ +.endfor +.if defined(WITH_REPORTS) +. for l in ${REPORT_LANG} + @${MKDIR} ${PREFIX}/${PORTNAME}/reports/${l}/imgs_email +. for f in ${REPORT_FILES} + @${INSTALL_DATA} ${WRKSRC}/reports/${l}/${f} ${PREFIX}/${PORTNAME}/reports/${l}/${f} +. endfor +. endfor +.endif +.if !defined(NOPORTDOCS) + @${MKDIR} ${DOCSDIR} + @for doc in ${DOCS}; do \ + ${INSTALL_DATA} ${WRKSRC}/$${doc} ${DOCSDIR}; \ + done +.endif + +post-install: + @${INSTALL_DATA} ${WRKSRC}/monitorix.conf ${PREFIX}/etc/monitorix.conf.sample + @if [ ! -f ${PREFIX}/etc/monitorix.conf ]; then \ + ${CP} -p ${PREFIX}/etc/monitorix.conf.sample ${PREFIX}/etc/monitorix.conf ; \ + fi + @${MKDIR} ${DATADIR}/usage + @${CAT} ${PKGMESSAGE} + +.include <bsd.port.mk> diff --git a/sysutils/monitorix/distinfo b/sysutils/monitorix/distinfo new file mode 100644 index 000000000000..9fe8f44b64f0 --- /dev/null +++ b/sysutils/monitorix/distinfo @@ -0,0 +1,3 @@ +MD5 (monitorix-1.5.1.tar.gz) = 982f20acfac8d2b175d61a4e3defb641 +SHA256 (monitorix-1.5.1.tar.gz) = e3bb853209e6fc56a883b34ab3a0395d3db0a8c512d87b40b6420620b102252b +SIZE (monitorix-1.5.1.tar.gz) = 141695 diff --git a/sysutils/monitorix/files/monitorix.in b/sysutils/monitorix/files/monitorix.in new file mode 100644 index 000000000000..7548ad93fe26 --- /dev/null +++ b/sysutils/monitorix/files/monitorix.in @@ -0,0 +1,37 @@ +#!/bin/sh +# +# @(#) Fibranet NSP, SL +# Copyright (C) 2005-2010 by Jordi Sanfeliu <jordi@fibranet.cat> +# +# /usr/local/etc/rc.d/monitorix +# +# Starts Monitorix on FreeBSD systems +# +# PROVIDE: monitorix +# REQUIRE: DAEMON +# BEFORE: LOGIN +# KEYWORD: FreeBSD shutdown + +monitorix_enable=${monitorix_enable:-"NO"} + +. /etc/rc.subr + +name="monitorix" +rcvar=`set_rcvar` +command_interpreter=%%PERL%% +start_cmd=monitorix_start +stop_cmd=monitorix_stop + +monitorix_start() +{ # Creates RRDs files (if needed) + %%PREFIX%%/sbin/monitorix.pl create + %%PREFIX%%/sbin/monitorix.pl init +} + +monitorix_stop() +{ + %%PREFIX%%/sbin/monitorix.pl stop +} + +load_rc_config $name +run_rc_command "$1" diff --git a/sysutils/monitorix/files/patch-monitorix.pl b/sysutils/monitorix/files/patch-monitorix.pl new file mode 100644 index 000000000000..043203c7e468 --- /dev/null +++ b/sysutils/monitorix/files/patch-monitorix.pl @@ -0,0 +1,65 @@ +--- ./monitorix.pl.orig 2010-06-21 10:54:38.000000000 +0200 ++++ ./monitorix.pl 2010-08-15 20:20:34.000000000 +0200 +@@ -733,20 +733,25 @@ + if($ENABLE_CROND_MAIL ne "Y") { + $mailto = "MAILTO=\"\""; + } +- open(OCRON, "> $O_CRON"); +- print OCRON <<EOF; +-# @(#) Fibranet NSP, SL +-# Copyright (C) 2005-2010 by Jordi Sanfeliu <jordi\@fibranet.cat> +-# +-PATH=/sbin:/bin:/usr/sbin:/usr/bin +-$mailto ++# FreeBSD: ++# The crontab replacment was removed for the port, ++# we can not risc the damage of existing crontabs! ++ print <<EOF; ++ =========================================================================== ++ To prevent replacement of the root crontab this ++ function is disabled in the FreeBSD port! + +-* * * * * $crontabuser $PATH_BIN{$OSTYPE} update +-00 00 * * * $crontabuser $PATH_BIN{$OSTYPE} collect +-01 00 1 * * $crontabuser $PATH_BIN{$OSTYPE} report ++ Please place the following entries in the root crontab ++ or /etc/crontab manually! ++ ++ $mailto ++ * * * * * $PATH_BIN{$OSTYPE} update ++ 00 00 * * * $PATH_BIN{$OSTYPE} collect ++ 01 00 1 * * $PATH_BIN{$OSTYPE} report ++ ++ =========================================================================== + + EOF +- close(OCRON); + + if($THEME_COLOR eq "black") { + $bgcolor = "#000000"; +@@ -1053,7 +1058,24 @@ + unlink($PATH_CRON{$OSTYPE}); + unlink($PATH_CRON{$OSTYPE} . ".sh"); # old name + } elsif($OSTYPE eq "FreeBSD") { +- system("echo 'y' | crontab -u root -r"); ++# FreeBSD: ++# The crontab replacment was removed for the port, ++# we can not risc the damage of existing crontabs! ++ print <<EOF; ++ ++ ======================================================================== ++ To prevent deletion of the root crontab this function has been disabled! ++ ++ Please remove the following entries from the root crontab or from ++ /etc/crontab manually! ++ ++ * * * * * $PATH_BIN{$OSTYPE} update ++ 00 00 * * * $PATH_BIN{$OSTYPE} collect ++ 01 00 1 * * $PATH_BIN{$OSTYPE} report ++ ++ ======================================================================== ++ ++EOF + } + } + diff --git a/sysutils/monitorix/files/pkg-message.in b/sysutils/monitorix/files/pkg-message.in new file mode 100644 index 000000000000..48423cc29068 --- /dev/null +++ b/sysutils/monitorix/files/pkg-message.in @@ -0,0 +1,16 @@ +================================================================ + + The port has a generic default config, please adjust your + settings in file: %%PREFIX%%/etc/monitorix.conf + + To initialize monitorix follow this steps + %%PREFIX%%/sbin/monitorix.pl create + + Then place the following entries into root crontab: + --------------------------------------------------- + PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin + * * * * * %%PREFIX%%/sbin/monitorix.pl update + 00 00 * * * %%PREFIX%%/sbin/monitorix.pl collect + 01 00 1 * * %%PREFIX%%/sbin/monitorix.pl report + +================================================================ diff --git a/sysutils/monitorix/pkg-descr b/sysutils/monitorix/pkg-descr new file mode 100644 index 000000000000..f3d3fee44f21 --- /dev/null +++ b/sysutils/monitorix/pkg-descr @@ -0,0 +1,8 @@ +Monitorix is a free, open source, lightweight system monitoring tool +designed to monitorize as many services as possible. At this time it +monitors from the CPU load and temperatures to the users using the system. +Network devices activity, network services demand and even the devices' +interrupt activity are also monitored, and more. The current status of any +corporate server with Monitorix installed can be accessed via a web browser. + +WWW: http://www.monitorix.org/ diff --git a/sysutils/monitorix/pkg-plist b/sysutils/monitorix/pkg-plist new file mode 100644 index 000000000000..01e44d8d6e61 --- /dev/null +++ b/sysutils/monitorix/pkg-plist @@ -0,0 +1,58 @@ +@exec mkdir -p /var/db/monitorix/usage +@exec mkdir -p %D/%%WWWDIR%%/imgs +@exec chown %%WWW_OWNER%%:%%WWW_GROUP%% %D/%%WWWDIR%%/imgs +@unexec if cmp -s %D/etc/monitorix.conf %D/etc/monitorix.conf.sample; then rm -f %D/etc/monitorix.conf; fi +etc/monitorix.conf.sample +@exec if [ ! -f %D/etc/monitorix.conf ]; then cp %B/%f %D/etc/monitorix.conf; fi +sbin/monitorix.pl +%%CGIDIR%%/monitorix.cgi +@dirrmtry %%CGIDIR%% +%%PORTDOCS%%%%DOCSDIR%%/COPYING +%%PORTDOCS%%%%DOCSDIR%%/Changes +%%PORTDOCS%%%%DOCSDIR%%/README +%%PORTDOCS%%%%DOCSDIR%%/README.FreeBSD +%%PORTDOCS%%%%DOCSDIR%%/README.nginx +%%PORTDOCS%%%%DOCSDIR%%/TODO +%%PORTDOCS%%%%DOCSDIR%%/monitorix-alert.sh +%%PORTDOCS%%%%DOCSDIR%%/monitorix-apache.conf +%%PORTDOCS%%@dirrm %%DOCSDIR%% +%%REPORTS%%monitorix/reports/ca/imgs_email/blank.png +%%REPORTS%%monitorix/reports/ca/imgs_email/logo.jpg +%%REPORTS%%monitorix/reports/ca/imgs_email/signature.png +%%REPORTS%%monitorix/reports/ca/imgs_email/title.jpg +%%REPORTS%%monitorix/reports/ca/traffic_report.html +%%REPORTS%%monitorix/reports/ca/traffic_report.sh +%%REPORTS%%monitorix/reports/de/imgs_email/blank.png +%%REPORTS%%monitorix/reports/de/imgs_email/logo.jpg +%%REPORTS%%monitorix/reports/de/imgs_email/signature.png +%%REPORTS%%monitorix/reports/de/imgs_email/title.jpg +%%REPORTS%%monitorix/reports/de/traffic_report.html +%%REPORTS%%monitorix/reports/de/traffic_report.sh +%%REPORTS%%monitorix/reports/en/imgs_email/blank.png +%%REPORTS%%monitorix/reports/en/imgs_email/logo.jpg +%%REPORTS%%monitorix/reports/en/imgs_email/signature.png +%%REPORTS%%monitorix/reports/en/imgs_email/title.jpg +%%REPORTS%%monitorix/reports/en/traffic_report.html +%%REPORTS%%monitorix/reports/en/traffic_report.sh +%%REPORTS%%monitorix/reports/it/imgs_email/blank.png +%%REPORTS%%monitorix/reports/it/imgs_email/logo.jpg +%%REPORTS%%monitorix/reports/it/imgs_email/signature.png +%%REPORTS%%monitorix/reports/it/imgs_email/title.jpg +%%REPORTS%%monitorix/reports/it/traffic_report.html +%%REPORTS%%monitorix/reports/it/traffic_report.sh +%%REPORTS%%@dirrm monitorix/reports/it/imgs_email +%%REPORTS%%@dirrm monitorix/reports/it +%%REPORTS%%@dirrm monitorix/reports/en/imgs_email +%%REPORTS%%@dirrm monitorix/reports/en +%%REPORTS%%@dirrm monitorix/reports/de/imgs_email +%%REPORTS%%@dirrm monitorix/reports/de +%%REPORTS%%@dirrm monitorix/reports/ca/imgs_email +%%REPORTS%%@dirrm monitorix/reports/ca +%%REPORTS%%@dirrm monitorix/reports +@dirrmtry monitorix/usage +@dirrmtry monitorix +%%WWWDIR%%/logo_bot.png +%%WWWDIR%%/logo_top.png +%%WWWDIR%%/monitorixico.png +@dirrmtry %%WWWDIR%%/imgs +@dirrmtry %%WWWDIR%% |