aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorohauer <ohauer@FreeBSD.org>2010-08-19 01:43:31 +0800
committerohauer <ohauer@FreeBSD.org>2010-08-19 01:43:31 +0800
commit137118b024a34eeadd3e288f5f7a9db76b4ed04d (patch)
tree612b2e931c08093c1eff83a8cf889f0f54806921
parentf1ede49e7ba16ff5676ff2996cd007f10100c96b (diff)
downloadfreebsd-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/Makefile1
-rw-r--r--sysutils/monitorix/Makefile123
-rw-r--r--sysutils/monitorix/distinfo3
-rw-r--r--sysutils/monitorix/files/monitorix.in37
-rw-r--r--sysutils/monitorix/files/patch-monitorix.pl65
-rw-r--r--sysutils/monitorix/files/pkg-message.in16
-rw-r--r--sysutils/monitorix/pkg-descr8
-rw-r--r--sysutils/monitorix/pkg-plist58
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%%