aboutsummaryrefslogtreecommitdiff
path: root/system/monitorix
diff options
context:
space:
mode:
authorMarcel Saegebarth <marc@mos6581.de>2014-06-21 02:10:19 +0700
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2014-06-21 02:10:19 +0700
commitd2af1b484f5c82a5ebdbec51e71dd222dcd2e219 (patch)
treef3f408ab9879a4f120feed2b630a960b7da51921 /system/monitorix
parentff3ae970c40d49e17504d2c5c161de5d9c050e7a (diff)
system/monitorix: Added (Lightweight system monitoring tool).
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'system/monitorix')
-rw-r--r--system/monitorix/README15
-rw-r--r--system/monitorix/doinst.sh19
-rw-r--r--system/monitorix/monitorix.SlackBuild128
-rw-r--r--system/monitorix/monitorix.conf811
-rw-r--r--system/monitorix/monitorix.info10
-rw-r--r--system/monitorix/slack-desc19
6 files changed, 1002 insertions, 0 deletions
diff --git a/system/monitorix/README b/system/monitorix/README
new file mode 100644
index 000000000000..06df82f402e2
--- /dev/null
+++ b/system/monitorix/README
@@ -0,0 +1,15 @@
+Monitorix is a free, open source, lightweight system monitoring tool designed
+to monitor as many services and system resources as possible. It has been
+created to be used under production Linux/UNIX servers, but due to its
+simplicity and small size can be used on embedded devices as well.
+
+It consists mainly of two programs: a collector, called monitorix, which is a
+Perl daemon that is started automatically like any other system service, and a
+CGI script called monitorix.cgi. Since 3.0 version Monitorix includes its own
+HTTP server built in, so you aren't forced to install a third-party web server
+to use it.
+
+Note:
+
+There are several runtime dependencies (like pflogsumm) I'm unable to test for
+all services. Keep an eye on /var/log/monitorix which will tell you.
diff --git a/system/monitorix/doinst.sh b/system/monitorix/doinst.sh
new file mode 100644
index 000000000000..40235800ce42
--- /dev/null
+++ b/system/monitorix/doinst.sh
@@ -0,0 +1,19 @@
+#!/bin/sh
+
+config() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
+ # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+config etc/monitorix/monitorix.conf.new
+config etc/rc.d/rc.monitorix.new
+config etc/logrotate.d/monitorix.new
+config etc/httpd/extra/httpd-monitorix.conf.new
diff --git a/system/monitorix/monitorix.SlackBuild b/system/monitorix/monitorix.SlackBuild
new file mode 100644
index 000000000000..41309346e845
--- /dev/null
+++ b/system/monitorix/monitorix.SlackBuild
@@ -0,0 +1,128 @@
+#!/bin/sh
+
+# SlackBuild script for "monitorix".
+
+# Copyright 2014 Marcel Saegebarth <marc@mos6581.de>
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# * Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+PRGNAM=monitorix
+VERSION=${VERSION:-3.5.1}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i486 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION-Source
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+cd $PRGNAM-$VERSION
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+# installation not implemented
+if [ "$ARCH" = "x86_64" ]; then
+ sed -i 's#/usr/lib#/usr/lib64#' {$PRGNAM,$PRGNAM.cgi}
+fi
+
+mkdir -p $PKG/etc/$PRGNAM $PKG/etc/$PRGNAM/conf.d
+cat $CWD/$PRGNAM.conf > $PKG/etc/$PRGNAM/$PRGNAM.conf.new
+
+mkdir -p $PKG/etc/rc.d
+cat docs/$PRGNAM.init > $PKG/etc/rc.d/rc.$PRGNAM.new
+
+mkdir -p $PKG/etc/logrotate.d
+cat docs/$PRGNAM.logrotate > $PKG/etc/logrotate.d/$PRGNAM.new
+
+mkdir -p $PKG/etc/httpd/extra
+cat docs/$PRGNAM-apache.conf > $PKG/etc/httpd/extra/httpd-$PRGNAM.conf.new
+
+mkdir -p $PKG/usr/bin
+install -m 0755 $PRGNAM $PKG/usr/bin
+
+mkdir -p $PKG/usr/lib$LIBDIRSUFFIX/$PRGNAM
+cp -a lib/* $PKG/usr/lib$LIBDIRSUFFIX/$PRGNAM
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+install -m 0644 docs/htpasswd.pl $PKG/usr/doc/$PRGNAM-$VERSION
+for file in COPYING Changes README; do
+ install -m 0644 $file $PKG/usr/doc/$PRGNAM-$VERSION
+done
+
+mkdir -p $PKG/var/lib/$PRGNAM/www
+for file in logo_bot.png logo_top.png monitorixico.png; do
+ install -m 0644 $file $PKG/var/lib/$PRGNAM/www
+done
+
+mkdir -p $PKG/var/lib/$PRGNAM/www/cgi
+install -m 0755 $PRGNAM.cgi $PKG/var/lib/$PRGNAM/www/cgi
+
+mkdir -p $PKG/var/lib/$PRGNAM/www/reports
+cp -a reports/* $PKG/var/lib/$PRGNAM/www/reports
+
+mkdir -m 770 -p $PKG/var/lib/$PRGNAM/www/usage $PKG/var/lib/$PRGNAM/www/imgs
+chown root:nobody $PKG/var/lib/$PRGNAM/www/imgs
+
+mkdir -p $PKG/usr/man/man5 $PKG/usr/man/man8
+gzip -9c man/man5/$PRGNAM.conf.5 > $PKG/usr/man/man5/$PRGNAM.conf.5.gz
+gzip -9c man/man8/$PRGNAM.8 > $PKG/usr/man/man8/$PRGNAM.8.gz
+
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/monitorix/monitorix.conf b/system/monitorix/monitorix.conf
new file mode 100644
index 000000000000..06b74b3dd318
--- /dev/null
+++ b/system/monitorix/monitorix.conf
@@ -0,0 +1,811 @@
+# Monitorix - configuration file
+#
+# See monitorix.conf(5) manpage for a detailed description of each option.
+#
+
+title = Place a title here
+hostname =
+theme_color = black
+refresh_rate = 150
+iface_mode = graph
+enable_zoom = y
+netstats_in_bps = n
+disable_javascript_void = n
+temperature_scale = c
+show_gaps = n
+global_zoom = 1
+max_historic_years = 1
+accept_selfsigned_certs = y
+include_dir = /etc/monitorix/conf.d
+
+base_dir = /var/lib/monitorix/www/
+base_lib = /var/lib/monitorix/
+base_url = /
+base_cgi = /cgi
+
+<httpd_builtin>
+ enabled = y
+ host =
+ port = 8080
+ user = nobody
+ group = nobody
+ log_file = /var/log/monitorix-httpd
+ hosts_deny =
+ hosts_allow =
+ <auth>
+ enabled = n
+ msg = Monitorix: Restricted access
+ htpasswd = /var/lib/monitorix/htpasswd
+ </auth>
+</httpd_builtin>
+
+
+# Log files pathnames
+# -----------------------------------------------------------------------------
+log_file = /var/log/monitorix
+secure_log = /var/log/secure
+mail_log = /var/log/maillog
+milter_gl = /var/milter-greylist/greylist.db
+imap_log = /var/log/imap
+hylafax_log = /var/spool/hylafax/etc/xferfaxlog
+cups_log = /var/log/cups/page_log
+ftp_log = /var/log/proftpd/access.log
+fail2ban_log = /var/log/fail2ban.log
+spamassassin_log = /var/log/maillog
+clamav_log = /var/log/clamav/clamav.log
+cg_logdir = /var/CommuniGate/SystemLogs/
+squid_log = /var/log/squid/access.log
+
+imap_log_date_format = %b %d
+secure_log_date_format = %b %e
+
+
+# Graphs (de)activation
+# -----------------------------------------------------------------------------
+<graph_enable>
+ system = y
+ kern = y
+ proc = y
+ hptemp = n
+ lmsens = n
+ nvidia = n
+ disk = n
+ fs = y
+ net = y
+ netstat = y
+ serv = y
+ mail = n
+ port = y
+ user = y
+ ftp = n
+ apache = n
+ nginx = n
+ lighttpd = n
+ mysql = n
+ squid = n
+ nfss = n
+ nfsc = n
+ bind = n
+ ntp = n
+ fail2ban = n
+ icecast = n
+ raspberrypi = n
+ phpapc = n
+ memcached = n
+ apcupsd = n
+ wowza = n
+ int = y
+</graph_enable>
+
+
+# SYSTEM graph
+# -----------------------------------------------------------------------------
+<system>
+ rigid = 1, 0
+ limit = 1, 100
+ <alerts>
+ loadavg_enabled = n
+ loadavg_timeintvl = 3600
+ loadavg_threshold = 5.0
+ loadavg_script = /path/to/script.sh
+ </alerts>
+</system>
+
+
+# KERN graph
+# -----------------------------------------------------------------------------
+<kern>
+ graph_mode = r
+ <list>
+ user = y
+ nice = y
+ sys = y
+ iow = y
+ irq = y
+ sirq = y
+ steal = y
+ guest = y
+ </list>
+ rigid = 2
+ limit = 100
+</kern>
+
+
+# PROC graph
+# -----------------------------------------------------------------------------
+<proc>
+ max = 4
+ graphs_per_row = 2
+ size = medium
+ data = y
+ rigid = 2
+ limit = 100
+</proc>
+
+
+# HPTEMP graph
+# -----------------------------------------------------------------------------
+<hptemp>
+ graph_0 = 2, 3
+ graph_1 = 1, 6
+ graph_2 = 16, 18, 19, 20, 21, 22
+</hptemp>
+
+
+# LMSENS graph
+# -----------------------------------------------------------------------------
+<lmsens>
+ <list>
+ core0 = Core 0
+ core1 = Core 1
+ mb0 = M/B Temp
+ cpu0 = CPU Temp
+ fan0 = fan1
+ fan1 = fan2
+ fan2 = fan3
+ volt0 = VCore 1
+ volt1 = VCore 2
+ volt2 = \+3.3V
+ volt3 = \+5V
+ volt4 = \+12V
+ volt5 = \-12V
+ volt6 = \-5V
+ volt7 = Battery
+ gpu0 = nvidia
+ </list>
+</lmsens>
+
+
+# NVIDIA graph
+# -----------------------------------------------------------------------------
+<nvidia>
+ max = 1
+</nvidia>
+
+
+# DISK graph
+# -----------------------------------------------------------------------------
+<disk>
+ <list>
+ 0 = /dev/sda, /dev/sdb, /dev/sdc
+ </list>
+ <alerts>
+ realloc_enabled = n
+ realloc_timeintvl = 0
+ realloc_threshold = 1
+ realloc_script = /path/to/script.sh
+ pendsect_enabled = n
+ pendsect_timeintvl = 0
+ pendsect_threshold = 1
+ pendsect_script = /path/to/script.sh
+ </alerts>
+</disk>
+
+
+# FS graph
+# -----------------------------------------------------------------------------
+<fs>
+ <list>
+ 0 = /, swap, /boot
+ </list>
+ <desc>
+ </desc>
+ <devmap>
+ </devmap>
+ rigid = 2, 0, 2, 0
+ limit = 100, 1000, 100, 1000
+ <alerts>
+ rootfs_enabled = n
+ rootfs_timeintvl = 3600
+ rootfs_threshold = 100
+ rootfs_script = /path/to/script.sh
+ </alerts>
+</fs>
+
+
+# NET graph
+# -----------------------------------------------------------------------------
+<net>
+ list = eth0
+ <desc>
+ eth0 = FastEthernet LAN, 0, 10000000
+ </desc>
+ gateway = eth0
+</net>
+
+
+# NETSTAT graph
+# -----------------------------------------------------------------------------
+<netstat>
+ rigid = 0, 0, 0, 0, 0
+ limit = 100, 100, 100, 100, 100
+</netstat>
+
+
+# SERV graph
+# -----------------------------------------------------------------------------
+<serv>
+ mode = i
+ rigid = 0, 0, 0
+ limit = 1000, 1000, 1000
+</serv>
+
+
+# MAIL graph
+# -----------------------------------------------------------------------------
+<mail>
+ mta = sendmail
+ greylist = milter-greylist
+ rigid = 0, 0, 0, 0, 0
+ limit = 1, 1000, 1000, 1000, 1000
+ <alerts>
+ delvd_enabled = n
+ delvd_timeintvl = 60
+ delvd_threshold = 100
+ delvd_script = /path/to/script.sh
+ mqueued_enabled = n
+ mqueued_timeintvl = 3600
+ mqueued_threshold = 100
+ mqueued_script = /path/to/script.sh
+ </alerts>
+</mail>
+
+
+# PORT graph
+# -----------------------------------------------------------------------------
+<port>
+ max = 9
+ rule = 24000
+ list = 25, 21, 80, 22, 110, 139, 3306, 53, 143
+ <desc>
+ 25 = SMTP, tcp, in, 0, 1000
+ 21 = FTP, tcp, in, 0, 1000
+ 80 = HTTP, tcp, in, 0, 1000
+ 22 = SSH, tcp, in, 0, 1000
+ 110 = POP3, tcp, in, 0, 1000
+ 139 = NETBIOS, tcp, in, 0, 1000
+ 3306 = MYSQL, tcp, in, 0, 1000
+ 53 = DNS, udp, in, 0, 1000
+ 143 = IMAP, tcp, in, 0, 1000
+ </desc>
+ graphs_per_row = 3
+</port>
+
+
+# USER graph
+# -----------------------------------------------------------------------------
+<user>
+ rigid = 0, 0, 0
+ limit = 1000, 1000, 1000
+</user>
+
+
+# FTP graph
+# -----------------------------------------------------------------------------
+<ftp>
+ server = proftpd
+ anon_user = anonymous, ftp
+ rigid = 0, 0, 0
+ limit = 1000, 1000, 1000
+</ftp>
+
+
+# APACHE graph
+# -----------------------------------------------------------------------------
+<apache>
+ list = http://localhost/server-status?auto
+ rigid = 0, 2, 0
+ limit = 100, 100, 100
+</apache>
+
+
+# NGINX graph
+# -----------------------------------------------------------------------------
+<nginx>
+ url = http://localhost/nginx_status
+ port = 80
+ rule = 24100
+ rigid = 0, 0, 0
+ limit = 100, 100, 100
+</nginx>
+
+
+# LIGHTTPD graph
+# -----------------------------------------------------------------------------
+<lighttpd>
+ list = http://localhost/server-status?auto
+ rigid = 0, 0, 0
+ limit = 100, 100, 100
+</lighttpd>
+
+
+# MYSQL graph
+# -----------------------------------------------------------------------------
+<mysql>
+ conn_type = host
+ list = localhost
+# list = /var/lib/mysql/mysql.sock
+ <desc>
+ localhost = 3306, user, secret
+ </desc>
+ rigid = 0, 2, 0, 0, 0, 0
+ limit = 100, 100, 100, 100, 100, 100
+</mysql>
+
+
+# SQUID graph
+# -----------------------------------------------------------------------------
+<squid>
+ cmd = squidclient -h 127.0.0.1
+ graph_0 = TCP_MISS, TCP_DENIED, TCP_REFRESH_HIT, TCP_IMS_HIT, TCP_HIT, TCP_REFRESH_MISS, TCP_MEM_HIT, TCP_NEGATIVE_HIT, TCP_CLIENT_REFRESH_MISS
+ graph_1 = 200, 403, 304, 204, 302, 000, 404, 301, 206
+ rigid = 0, 0, 0, 0, 0, 0, 0, 0, 0
+ limit = 100, 100, 100, 100, 100, 100, 100, 100, 100
+</squid>
+
+
+# NFSS graph
+# -----------------------------------------------------------------------------
+<nfss>
+ version = 3
+ graph_0 = readlink, create, mkdir, symlink, rmdir, remove, rename, link, readdir
+ graph_1 = mknod, readdirplus, fsstat, fsinfo, pathconf, access, lookup, commit, null
+ graph_2 = read, write, getattr, setattr
+ rigid = 0, 0, 0, 0, 0, 0, 0, 0, 0
+ limit = 100, 100, 100, 100, 100, 100, 100, 100, 100
+</nfss>
+
+
+# NFSC graph
+# -----------------------------------------------------------------------------
+<nfsc>
+ version = 3
+ graph_0 = readlink, create, mkdir, symlink, rmdir, remove, rename, link, readdir
+ graph_1 = mknod, readdirplus, fsstat, fsinfo, pathconf
+ graph_2 = read, write
+ graph_3 = getattr, setattr
+ graph_4 = access, lookup, commit, null
+ rigid = 0, 0, 0, 0, 0, 0
+ limit = 100, 100, 100, 100, 100, 100
+</nfsc>
+
+
+# BIND graph
+# -----------------------------------------------------------------------------
+<bind>
+ list = http://localhost:8053/
+ <in_queries_list>
+ http://localhost:8053/ = A, AAAA, ANY, DS, MX, NS, PTR, SOA, SRV, TXT, NAPTR, A6, CNAME, SPF, KEY, DNSKEY, HINFO, WKS, PX, NSAP
+ </in_queries_list>
+ <out_queries_list>
+ http://localhost:8053/ = A, AAAA, ANY, DS, MX, NS, PTR, SOA, SRV, TXT, NAPTR, A6, CNAME, SPF, KEY, DNSKEY, HINFO, WKS, PX, NSAP
+ </out_queries_list>
+ <server_stats_list>
+ http://localhost:8053/ = Requestv4, Requestv6, ReqEdns0, ReqBadEDNSVer, ReqTSIG, ReqSIG0, ReqBadSIG, ReqTCP, Response, QrySuccess, QryAuthAns, QryNoauthAns, QryReferral, QryNxrrset, QrySERVFAIL, QryNXDOMAIN, QryRecursion, QryDuplicate, QryDropped, QryFailure
+ </server_stats_list>
+ <resolver_stats_list>
+ http://localhost:8053/ = Queryv4, Queryv6, Responsev4, Responsev6, NXDOMAIN, SERVFAIL, FORMERR, OtherError, EDNS0Fail, Truncated, Lame, Retry, QueryTimeout, GlueFetchv4, GlueFetchv6, GlueFetchv4Fail, GlueFetchv6Fail, ValAttempt, ValOk, ValNegOk
+ </resolver_stats_list>
+ <cache_rrsets_list>
+ http://localhost:8053/ = A, !A, AAAA, !AAAA, DLV, !DLV, DS, !DS, MX, NS, CNAME, !CNAME, SOA, !SOA, !ANY, PTR, RRSIG, NSEC, DNSKEY, NXDOMAIN
+ </cache_rrsets_list>
+ rigid = 0, 0, 0, 0, 0, 0, 0, 0
+ limit = 100, 100, 100, 100, 100, 100, 100, 100
+</bind>
+
+
+# NTP graph
+# -----------------------------------------------------------------------------
+<ntp>
+ list = localhost
+ <desc>
+ localhost = AUTH, AUTO, CRYP, DENY, GPS, INIT, NKEY, RATE, RMOT, RSTR
+ </desc>
+ rigid = 0, 0, 0
+ limit = 100, 100, 100
+</ntp>
+
+
+# FAIL2BAN graph
+# -----------------------------------------------------------------------------
+<fail2ban>
+ list = Security, Overload / Abuse
+ <desc>
+ 0 = [apache], [apache-mod-security], [apache-overflows], [courierauth], [ssh], [pam-generic], [php-url-fopen], [vsftpd]
+ 1 = [apache-imdbphp], [apache-evasive], [apache-badbots], [apache-robots-txt], [communigate], [named-refused-udp], [named-refused-tcp], [trac-ticketspam]
+ </desc>
+ graphs_per_row = 2
+ rigid = 0
+ limit = 100
+</fail2ban>
+
+
+# ICECAST graph
+# -----------------------------------------------------------------------------
+<icecast>
+ list = http://localhost:8000/status.xsl
+ <desc>
+ http://localhost:8000/status.xsl = stream1, stream2, stream3
+ </desc>
+ graph_mode = r
+ rigid = 0, 0
+ limit = 100, 100
+</icecast>
+
+
+# RASPBERRYPI graph
+# -----------------------------------------------------------------------------
+<raspberrypi>
+ cmd = /opt/vc/bin/vcgencmd
+ clocks = arm, core, h264, isp, v3d, uart, emmc, pixel, hdmi
+ volts = core, sdram_c, sdram_i, sdram_p
+ rigid = 0, 0, 0
+ limit = 100, 100, 100
+</raspberrypi>
+
+
+# PHPAPC graph
+# -----------------------------------------------------------------------------
+<phpapc>
+ list = http://localhost/apc.php?auto
+ rigid = 2, 2, 0
+ limit = 100, 100, 100
+</phpapc>
+
+
+# MEMCACHED graph
+# -----------------------------------------------------------------------------
+<memcached>
+ list = localhost:11211
+ rigid = 0, 0, 0, 0, 0, 0, 0
+ limit = 100, 100, 100, 100, 100, 100, 100
+</memcached>
+
+
+# APCUPSD graph
+# -----------------------------------------------------------------------------
+<apcupsd>
+ cmd = apcaccess
+ list = localhost:3551
+ rigid = 0, 2, 0, 0, 0, 0
+ limit = 100, 100, 100, 100, 100, 100
+</apcupsd>
+
+
+# WOWZA graph
+# -----------------------------------------------------------------------------
+<wowza>
+ list = http://localhost:8086/connectioncounts
+ <desc>
+ http://localhost:8086/connectioncounts = channel1, channel2
+ </desc>
+ rigid = 0, 0, 0, 0, 0
+ limit = 100, 100, 100, 100, 100
+</wowza>
+
+
+# INT graph
+# -----------------------------------------------------------------------------
+<int>
+ rigid = 0, 0, 0
+ limit = 100, 100, 100
+</int>
+
+
+# TRAFFACCT graph
+# -----------------------------------------------------------------------------
+<traffacct>
+ enabled = n
+ max = 10
+ graphs_per_row = 2
+ list = pc101, pc102, pc103, pc104
+ <desc>
+ 0 = 192.168.1.101/32, ace@example.com
+ 1 = 192.168.1.102/32, gene@example.com
+ 2 = 192.168.1.103/32, paul@example.com
+ 3 = 192.168.1.104/32, peter@example.com
+ </desc>
+ <reports>
+ enabled = n
+ language = en
+ default_mail = root@localhost
+ url_prefix = http://localhost:8080
+ smtp_hostname = localhost
+ from_address = noreply@example.com
+ </reports>
+ rigid = 0
+ limit = 100
+</traffacct>
+
+
+# Multihost
+# -----------------------------------------------------------------------------
+<multihost>
+ enabled = n
+ footer_url = y
+ graphs_per_row = 2
+ remotehost_list = server 1, server 2, server 3
+ <remotehost_desc>
+ 0 = http://www.example.com,/monitorix,/monitorix-cgi
+ 1 = http://10.0.0.1,/monitorix,/monitorix-cgi
+ 2 = http://192.168.0.100:8080,/,/
+ </remotehost_desc>
+ groups = n
+ remotegroup_list = My Group
+ <remotegroup_desc>
+ 0 = server 2, server 3
+ </remotegroup_desc>
+</multihost>
+
+
+# Email Reports
+# -----------------------------------------------------------------------------
+<emailreports>
+ enabled = n
+ url_prefix = http://localhost:8080
+ smtp_hostname = localhost
+ from_address = noreply@example.com
+ hour = 0
+ minute = 0
+ <daily>
+ enabled = n
+ graphs = system, fs
+ to = ace@example.com
+ </daily>
+ <weekly>
+ enabled = n
+ graphs = system, fs
+ to = gene@example.com
+ </weekly>
+ <monthly>
+ enabled = n
+ graphs = system, fs
+ to = paul@example.com
+ </monthly>
+ <yearly>
+ enabled = n
+ graphs = system, fs
+ to = peter@example.com
+ </yearly>
+</emailreports>
+
+
+# ========================================================================
+# ====== Probably you don't need to touch anything below this line ======
+# ========================================================================
+
+timeout = 15
+
+imgs_dir = imgs/
+usage_dir = usage/
+report_dir = reports/
+favicon = monitorixico.png
+logo_top = logo_top.png
+logo_bottom = logo_bot.png
+
+<theme>
+ <white>
+ main_bg = FFFFFF
+ main_fg = 000000
+ title_bg = 777777
+ title_fg = CCCC00
+ graph_bg = CCCCCC
+ gap = 000000
+ </white>
+ <black>
+ canvas = 000000
+ back = 101010
+ font = C0C0C0
+ mgrid = 80C080
+ grid = 808020
+ frame = 808080
+ arrow = FFFFFF
+ shadea = 404040
+ shadeb = 404040
+ axis = 101010
+ main_bg = 000000
+ main_fg = FFFFFF
+ title_bg = 333333
+ title_fg = 888800
+ graph_bg = 888888
+ gap = FFFFFF
+ </black>
+</theme>
+
+<graph_size>
+ main = 450x150
+ medium = 325x150
+ medium2 = 325x70
+ small = 200x66
+ mini = 183x66
+ tiny = 110x40
+ zoom = 800x300
+ remote = 300x100
+</graph_size>
+
+graph_name = system, kern, proc, hptemp, lmsens, nvidia, disk, fs, net, netstat, serv, mail, port, user, ftp, apache, nginx, lighttpd, mysql, squid, nfss, nfsc, bind, ntp, fail2ban, icecast, raspberrypi, phpapc, memcached, apcupsd, wowza, int
+
+<graph_title>
+ system = System load average and usage
+ kern = Global kernel usage
+ proc = Kernel usage per processor
+ hptemp = HP ProLiant System Health
+ lmsens = LM-Sensors and GPU temperatures
+ nvidia = NVIDIA temperatures and usage
+ disk = Disk drive temperatures and health
+ fs = Filesystem usage and I/O activity
+ net = Network traffic and usage
+ netstat = Netstat statistics
+ serv = System services demand
+ mail = Mail statistics
+ port = Network port traffic
+ user = Users using the system
+ ftp = FTP statistics
+ apache = Apache statistics
+ nginx = Nginx statistics
+ lighttpd = Lighttpd statistics
+ mysql = MySQL statistics
+ squid = Squid statistics
+ nfss = NFS server statistics
+ nfsc = NFS client statistics
+ bind = BIND statistics
+ ntp = NTP statistics
+ fail2ban = Fail2ban statistics
+ icecast = Icecast Streaming Media Server
+ raspberrypi = Raspberry Pi sensor statistics
+ phpapc = Alternative PHP Cache statistics
+ memcached = Memcached statistics
+ apcupsd = APC UPS statistics
+ wowza = Wowza Media Server
+ int = Devices interrupt activity
+</graph_title>
+
+<graphs>
+ _system1 = System load
+ _system2 = Active processes
+ _system3 = Memory allocation
+ _kern1 = Kernel usage
+ _kern2 = Context switches and forks
+ _kern3 = VFS usage
+ _proc = Processor
+ _hptemp1 = Temperatures 1
+ _hptemp2 = Temperatures 2
+ _hptemp3 = Temperatures 3
+ _lmsens1 = Core temperatures
+ _lmsens2 = Voltages
+ _lmsens3 = MB and CPU temperatures
+ _lmsens4 = Fan speeds
+ _lmsens5 = GPU temperatures
+ _nvidia1 = NVIDIA temperatures
+ _nvidia2 = CPU usage
+ _nvidia3 = Memory usage
+ _disk1 = Disk drives temperatures
+ _disk2 = Reallocated sector count
+ _disk3 = Current pending sector
+ _fs1 = Filesystems usage
+ _fs2 = Disk I/O activity
+ _fs3 = Inode usage
+ _fs4 = Time spent in I/O activity
+ _net1 = Network traffic
+ _net2 = Network packets
+ _net3 = Network errors
+ _netstat1 = IPv4 states
+ _netstat2 = IPv6 states
+ _netstat3 = Active close
+ _netstat4 = Passive close
+ _netstat5 = UDP statistics
+ _serv1 = System services demand
+ _serv2 = IMAP and POP3 services
+ _serv3 = SMTP service
+ _mail1 = Mail statistics
+ _mail2 = Network traffic
+ _mail3 = Mails in queue
+ _mail4 = Queue size
+ _mail5 = Greylisting
+ _port = Port
+ _user1 = Users logged in
+ _user2 = Samba users
+ _user3 = Netatalk users
+ _ftp1 = Commands usage
+ _ftp2 = New sessions
+ _ftp3 = FTP traffic
+ _apache1 = Apache workers
+ _apache2 = Apache CPU usage
+ _apache3 = Apache requests
+ _nginx1 = Nginx connections
+ _nginx2 = Nginx requests
+ _nginx3 = Nginx traffic
+ _lighttpd1 = Lighttpd workers
+ _lighttpd2 = Lighttpd traffic
+ _lighttpd3 = Lighttpd requests
+ _mysql1 = MySQL query types
+ _mysql2 = MySQL overall stats
+ _mysql3 = Table saturation and MyISAM
+ _mysql4 = MySQL queries
+ _mysql5 = MySQL connections
+ _mysql6 = MySQL traffic
+ _squid1 = Squid statistics 1
+ _squid2 = Squid statistics 2
+ _squid3 = Overall I/O
+ _squid4 = Memory usage
+ _squid5 = Store directory stats
+ _squid6 = IP cache stats
+ _squid7 = Network protocols usage
+ _squid8 = Client traffic
+ _squid9 = Server traffic
+ _nfss1 = NFS server stats 1
+ _nfss2 = NFS server stats 2
+ _nfss3 = NFS server stats 3
+ _nfss4 = Overall I/O
+ _nfss5 = Network layer
+ _nfss6 = RPC
+ _nfss7 = Thread utilization
+ _nfss8 = Read cache
+ _nfss9 = File handle cache
+ _nfsc1 = NFS client stats 1
+ _nfsc2 = NFS client stats 2
+ _nfsc3 = NFS client stats 3
+ _nfsc4 = NFS client stats 4
+ _nfsc5 = NFS client stats 5
+ _nfsc6 = RPC client stats
+ _bind1 = Incoming queries
+ _bind2 = Outgoing queries (_default)
+ _bind3 = Name server statistics
+ _bind4 = Resolver statistics (_default)
+ _bind5 = Cache DB RRsets (_default)
+ _bind6 = Memory usage
+ _bind7 = Task manager
+ _ntp1 = NTP timing stats
+ _ntp2 = Stratum level
+ _ntp3 = Codes
+ _fail2ban = Fail2ban jails
+ _icecast1 = Current listeners
+ _icecast2 = Bitrate
+ _raspberrypi1 = Clock frequency
+ _raspberrypi2 = Temperatures
+ _raspberrypi3 = Voltages
+ _phpapc1 = Memory usage
+ _phpapc2 = Hits & misses
+ _phpapc3 = File cache
+ _memcached1 = Memcached statistics 1
+ _memcached2 = Memcached statistics 2
+ _memcached3 = Cache usage
+ _memcached4 = Items in cache
+ _memcached5 = Objects I/O
+ _memcached6 = Connections
+ _memcached7 = Memcached traffic
+ _apcupsd1 = Line voltage
+ _apcupsd2 = Battery charge
+ _apcupsd3 = Temperatures
+ _apcupsd4 = Battery voltage
+ _apcupsd5 = Time left
+ _apcupsd6 = Line frequency
+ _wowza1 = Current connections
+ _wowza2 = Messages bytes rate
+ _wowza3 = Connections accepted
+ _wowza4 = Connections rejected
+ _wowza5 = Streams
+ _int1 = Interrupt activity
+ _int2 = Core activity
+ _int3 = Interrupt activity
+</graphs>
diff --git a/system/monitorix/monitorix.info b/system/monitorix/monitorix.info
new file mode 100644
index 000000000000..15c4b6faacf7
--- /dev/null
+++ b/system/monitorix/monitorix.info
@@ -0,0 +1,10 @@
+PRGNAM="monitorix"
+VERSION="3.5.1"
+HOMEPAGE="http://www.monitorix.org/"
+DOWNLOAD="http://www.monitorix.org/monitorix-3.5.1.tar.gz"
+MD5SUM="8e6316364302c3b4db9588a0a2cd03bb"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES="perl-http-server-simple perl-config-general rrdtool"
+MAINTAINER="Marcel Saegebarth"
+EMAIL="marc@mos6581.de"
diff --git a/system/monitorix/slack-desc b/system/monitorix/slack-desc
new file mode 100644
index 000000000000..35bd5cd3fb24
--- /dev/null
+++ b/system/monitorix/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+monitorix: Monitorix (Lightweight system monitoring tool)
+monitorix:
+monitorix: Monitorix is a free, open source, lightweight system monitoring tool
+monitorix: designed to monitor as many services and system resources as
+monitorix: possible. It has been created to be used under production Linux/UNIX
+monitorix: servers, but due to its simplicity and small size can be used on
+monitorix: embedded devices as well.
+monitorix:
+monitorix: Homepage: http://www.monitorix.org/
+monitorix:
+monitorix: