Monitorix welcomes you photo: jes saxe

How to install Monitorix on Raspberry Pi or Debian server

Monitorix is a fantastic free tool to monitoring and supervising traffic and behaviour of your servers.
Instead of using the package from the Debian sources I prefer to build it myself as it comes easily and you I the most recent version.

Refs: https://www.monitorix.org/

Guide of install Monitorix

#apt update -y
#apt install -y rrdtool perl libwww-perl libmailtools-perl libmime-lite-perl librrds-perl libdbi-perl libxml-simple-perl libhttp-server-simple-perl libconfig-general-perl libio-socket-ssl-perl

If you want MySQL/MariaDB stats on Debian server (like my RasPi) you need this one too: libdbd-mysql-perl
For mail like Postfix you need this: pflogsumm

Then do:
#cd /home/pi/Downloads (or where you prefer)
#wget https://www.monitorix.org/monitorix_3.15.0-izzy1_all.deb
#dpkg -i  https://www.monitorix.org/monitorix_3.15.0-izzy1_all.deb
#systemctl enable monitorix
#system start monitorix

Your can delete the download-file if you like.

Then edit
#nano /etc/monitorix/monitorix.conf
to your preferred settings. Se example of my nearly full file at the end
Documentation goes here: https://www.monitorix.org/manpage.html

Note: What you can’t find is that on RasPi OS 64 the vgencmd file has moved:
Change it manually to:
cmd = /opt/vc/bin/vcgencmd to cmd = /usr/bin/vcgencmd

If your like to display port traffic, you might see blank graphs. Reboot is your friend.
nftables is not shown. This has been addressed but we are waiting for an update.
Using Monitorix on FreedomBox you should add pflogsumm as this seems to help on a bug with not showing port traffic after Fredombox migrate to firewalld in latest version (22.21).

 

Tips for settings and config


To make stats and nice graphs for MySQL / MariaDB

Running stat on MySQL requires to edit the file
#nano /etc/monitorix/conf.d/00-debian.conf
and add at least at Monitorix account on MySql / mariadb. This account don’t need any privileges in mysql nor database.

On the latest version of RasPi OS  (BullsEye per 30 OCT 21) it seems like the socket have changed to: /run/mysqld/mysqld.sock 

To make stats you need a MySQL user to dig out the data and to add it in the config file:
#mysql -u youradminname -p
mysql> CREATE USER “moni2″@”localhost” IDENTIFIED BY “moni2”;
(Change to something smarter and stronger)
mysql> FLUSH PRIVILEGES;
mysql>\q

Then we modify the config file:
#nano /etc/monitorix/conf.d/00-debian.conf

  • And add the settings to somthing like this:
    <mysql>
    conn_type = socket
    # conn_type = host
    # list = localhost
    list = /run/mysqld/mysqld.sock
    <desc>
    /run/mysqld/mysqld.sock = 3306, moni2 moni2
    # localhost = 3306, monitorix, monitorix
    </desc>
    rigid = 0, 1, 0, 0, 0, 0
    limit = 10, 10, 10, 10, 10, 10
    </mysql>

Now we just need to make sure Monitorix likes your good work:
#systemctl stop monitorix
-wait 5 sec:
#systemctl start monitorix

(Yes, I do know the restart features exists but some Monitorix need a short break to find itself.

You have to generate some mysql data for example by clicking around on a WordPress pages first, and then wait 4-6 min before the graph shows up.

If it doesn’t help: #restart  your RasPi / Debian server.

BIND9 Settings

edit:
#nano /etc/bind/named.conf.local
add this:
statistics-channels {
inet 127.0.0.1 port 8053;
};

 

Backup/restore Monitorix

If you upgrade or reinstall your Raspberry Pi you can backup all the files and folders here:
/etc/monitorix

and

/var/lib/monitorix

using WinSCP to your PC.  Also your /etc/bind/named.conf.local or where you  added the do-the stats-info.
The tricky part comes doing restore: If you change from 32-bit version to 64-bit version the data is overwritten with new. NO previous stats is available after.
Same goes from 64-bit Raspi (or Debian) to 32-bit.

Config file ver. 3.14

# Monitorix - configuration file
#
# See monitorix.conf(5) manpage for a detailed description of each option.
#

title = RaspberryPi
hostname = RaspberryPi
theme_color = black
refresh_rate = 150
iface_mode = graph
enable_zoom = y
netstats_in_bps = n
netstats_mode = overlapped
disable_javascript_void = n
temperature_scale = c
show_gaps = n
global_zoom = 1
max_historic_years = 1
accept_selfsigned_certs = y
image_format = PNG
enable_parallelizing = y
include_dir = /etc/monitorix/conf.d

base_dir = /var/lib/monitorix/www/
base_lib = /var/lib/monitorix/
base_url = /monitorix
base_cgi = /monitorix-cgi

<httpd_builtin>
enabled = y
host =
port = 8080
user = nobody
group = nobody
log_file = /var/log/monitorix-httpd
hosts_deny =
hosts_allow =
autocheck_responsiveness = y
<auth>
enabled = n
hosts_deny = all
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 # Check monitorix.conf(5) manpage how to edit your ProFTPD server.
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

<piwik_tracking>
enabled = n
url = "://example.com/piwik/"
sid = "1"
img = "http://example.com/piwik/piwik.php?idsite=1"
</piwik_tracking>

# Graphs (de)activation
# -----------------------------------------------------------------------------
<graph_enable>
system = y
kern = y
proc = y
hptemp = n
lmsens = n
gensens = y
ipmi = n
ambsens = n
amdgpu = n
nvidiagpu = n
nvidia = n
disk = n
nvme = n
fs = y
zfs = n
du = y
net = y
netstat = y
tinyproxy = n
tc = n
libvirt = n
process = y
serv = y
mail = n
port = y
user = y
ftp = n
apache = n
nginx = n
lighttpd = n
mysql = n
pgsql = n
mongodb = n
varnish = n
pagespeed = n
squid = n
nfss = n
nfsc = n
bind = y
unbound = n
ntp = n
chrony = y
fail2ban = n
icecast = n
raspberrypi = y
phpapc = n
memcached = n
redis = n
phpfpm = n
apcupsd = n
nut = n
wowza = n
int = y
verlihub = n
</graph_enable>

# SYSTEM graph
# -----------------------------------------------------------------------------
<system>
<alerts>
loadavg_enabled = n
loadavg_timeintvl = 3600
loadavg_threshold = 5.0
loadavg_script = /path/to/script.sh
</alerts>
rigid = 1, 0, 0, 0, 0
limit = 1, 1000, 1000, 1000, 1000
</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, 1, 2
limit = 100, 1000, 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
<alerts>
</alerts>
</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>
<desc>
</desc>
<alerts>
</alerts>
</lmsens>

# GENSENS graph
# -----------------------------------------------------------------------------
<gensens>
<list>
0 = temp0
1 = cpu0
## 2 = bat0
</list>
<title>
0 = Temperatures
1 = CPU frequency
#### 2 = Battery status
</title>
<desc>
temp0 = /sys/devices/virtual/thermal/thermal_zone0/temp
cpu0 = /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
## bat0 = /sys/class/power_supply/BAT0/capacity
</desc>
<unit>
temp0 = 1000
cpu0 = 0.001
## bat0 = 1
</unit>
<map>
temp0 = Temperature Zone 0
cpu0 = CPU0 frequency
## bat0 = Battery 0
</map>
<alerts>
</alerts>
rigid = 0, 0, 2
limit = 100, 100, 100
</gensens>

# IPMI graph
# -----------------------------------------------------------------------------
<ipmi>
list = Temperatures, Fans, Voltages
<desc>
0 = CPU Temp, System Temp
1 = FAN 1
2 = Vcore, 3.3VCC, 12V, VDIMM, 5VCC, CPU VTT, VBAT, VSB, AVCC
</desc>
<units>
0 = degrees C
1 = RPM
2 = Volts
</units>
<map>
</map>
<alerts>
</alerts>
graphs_per_row = 2
rigid = 0
limit = 100
</ipmi>

# AMBSENS graph
# -----------------------------------------------------------------------------
<ambsens>
list = Ambient Temperature
<desc>
0 = at1
</desc>
<units>
0 = Celsius
</units>
<cmd>
at1 = /path/to/script.sh
</cmd>
<map>
at1 = Gold TEMPer PC USB
</map>
<alerts>
</alerts>
graphs_per_row = 2
rigid = 0
limit = 100
</ambsens>

# AMDgpu graph
# -----------------------------------------------------------------------------
<amdgpu>
<list>
0 = /dev/amd-w6800, /dev/amd-wx5100
</list>
rigid = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
limit = 100, 100, 100, 100, 100, 100, 100, 100, 100, 100
use_nan_for_missing_data = y
gap_on_all_nan = y
accept_invalid_amdgpu = n
show_current_values = y
<map>
/dev/amd-w6800 = W 6800
/dev/amd-wx5100 = WX 5100
</map>
<sensors>
/dev/amd-w6800 = device/gpu_busy_percent, device/mem_busy_percent, freq1_input, freq2_input, device/mem_info_vram_used, power1_average, power1_cap, pwm1, temp1_input, temp2_input, temp3_input
/dev/amd-wx5100 = device/gpu_busy_percent, device/mem_busy_percent, freq1_input, freq2_input, device/mem_info_vram_used, power1_average, power1_cap, pwm1, temp1_input, N/A, N/A
</sensors>

<alerts>
coretemp_enabled = n
coretemp_timeintvl = 0
coretemp_threshold = 1
coretemp_script = /path/to/script.sh
memorytemp_enabled = n
memorytemp_timeintvl = 0
memorytemp_threshold = 1
memorytemp_script = /path/to/script.sh
</alerts>
</amdgpu>

# NVIDIAgpu graph
# -----------------------------------------------------------------------------
<nvidiagpu>
<list>
0 = 0, 1
</list>
rigid = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
limit = 100, 100, 100, 100, 100, 100, 100, 100, 100, 100
use_nan_for_missing_data = y
gap_on_all_nan = y
show_current_values = y
<map>
0 = RTX 3090
1 = RTX 3080
</map>
<alerts>
coretemp_enabled = n
coretemp_timeintvl = 0
coretemp_threshold = 1
coretemp_script = /path/to/script.sh
memorytemp_enabled = n
memorytemp_timeintvl = 0
memorytemp_threshold = 1
memorytemp_script = /path/to/script.sh
</alerts>
</nvidiagpu>

# NVIDIA graph
# -----------------------------------------------------------------------------
<nvidia>
max = 1
<alerts>
</alerts>
rigid = 1, 2, 2
limit = 50, 100, 100
</nvidia>

# DISK graph
# -----------------------------------------------------------------------------
<disk>
<list>
0 = /dev/mmcblk0, /dev/sda, /dev/sdb, /dev/sdc
</list>
<desc>
</desc>
<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>

accept_invalid_disk=1

</disk>

# NVMe graph
# -----------------------------------------------------------------------------
<nvme>
<list>
0 = /dev/nvme0
</list>
rigid = 0, 0, 0, 0, 0, 0
limit = 10, 100, 100, 100, 100, 100
show_extended_plots = y
<alerts>
availspare_enabled = n
availspare_timeintvl = 0
availspare_threshold = 10
availspare_script = /path/to/script.sh
percentused_enabled = n
percentused_timeintvl = 0
percentused_threshold = 90
percentused_script = /path/to/script.sh
</alerts>
</nvme>

# FS graph
# -----------------------------------------------------------------------------
<fs>
<list>
0 = /, swap, /boot
</list>
<desc>
</desc>
<devmap>
</devmap>
rigid = 2, 0, 2, 0
limit = 100, 1000, 100, 1000
<alerts>
</alerts>
</fs>

# ZFS graph
# -----------------------------------------------------------------------------
<zfs>
max_pools = 5
list = pool1, pool2
rigid = 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0
limit = 1000, 1000, 1000, 1000, 100, 1000, 1000, 1000, 100, 1000, 1000
</zfs>

# DU graph
# -----------------------------------------------------------------------------
<du>
list = System, Users
<desc>
0 = /var/spool/mail, /var/spool/mqueue, /etc, /var/ftp, /tmp
1 = /home/pi, /home/user1, /home/user2
</desc>
<type>
0 = size
1 = files
</type>
<dirmap>
/var/spool/mail = Mail boxes
/var/spool/mqueue = Mail queue
</dirmap>
graphs_per_row = 2
rigid = 0
limit = 100
</du>

# NET graph
# -----------------------------------------------------------------------------
<net>
max = 10
list = eth0
<desc>
eth0 = FastEthernet LAN, 0, 10000000
</desc>
gateway = eth0
</net>

# NETSTAT graph
# -----------------------------------------------------------------------------
<netstat>
cmd = ss
rigid = 0, 0, 0, 0, 0
limit = 100, 100, 100, 100, 100
</netstat>

# TINYPROXY graph
# -----------------------------------------------------------------------------
<tinyproxy>
list = http://your.proxy.com/
<desc>
http://your.proxy.com/ = http://tinyproxy.stats
</desc>
show_url = y
rigid = 0, 0, 0
limit = 1000, 1000, 1000
</tinyproxy>

# TC graph
# -----------------------------------------------------------------------------
<tc>
list = eth0
<desc>
eth0 = cbq 1, sfq 10, sfq 20, sfq 30, ingress ffff
</desc>
<map>
</map>
rigid = 0, 0, 0, 0
limit = 1000, 1000, 1000, 1000
</tc>

# LIBVIRT graph
# -----------------------------------------------------------------------------
<libvirt>
cmd = virsh
<list>
0 = centos6, winxp
</list>
<desc>
centos6 = CentOS 6, vda, 52:54:00:45:d0:e7
winxp = MS Windows XP, hda, 52:54:00:97:1c:e5
</desc>
rigid = 2, 0, 0, 0
limit = 100, 1000, 1000, 1000
</libvirt>

# PROCESS graph
# -----------------------------------------------------------------------------
<process>
<list>
0 = httpd, sshd, chronyd, mysqld, proftpd, clamd, imap, exim, named, smbd
</list>
<desc>
httpd = Apache
imap = Dovecot
named = Bind
</desc>
rigid = 2, 0, 0, 0, 0, 0, 0, 0
limit = 100, 1000, 1000, 1000, 1000, 1000, 1000, 1000
</process>

# SERV graph
# -----------------------------------------------------------------------------
<serv>
mode = i
rigid = 0, 0, 0
limit = 1000, 1000, 1000
</serv>

# MAIL graph
# -----------------------------------------------------------------------------
<mail>
mta = exim
greylist = milter-greylist
stats_rate = real
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 = 12
rule = 24000
list = 25, 21, 80, 443, 8735, 110, 139, 3306, 53, 143, 123i, 123o
<desc>
25 = SMTP, tcp, in, 0, 10, L
21 = FTP, tcp, in, 0, 10, L
80 = HTTP, tcp, in, 0, 10, L
443 = HTTPS, tcp, in, 0, 10, L
8735 = SSH, tcp, in, 1, 10, L
110 = POP3, tcp, in, 0, 10, L
139 = NETBIOS, tcp, in, 0, 10, L
3306 = MYSQL, tcp, in, 0, 10, L
53 = DNS, udp, in, 0, 10, L
143 = IMAP, tcp, in, 0, 00, L
123i = NTP-i, udp, in, 0, 10, L
123o = NTP-o, udp, out, 0, 10, L
</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
<alerts>
</alerts>
rigid = 0, 0, 2, 0, 0, 0
limit = 100, 100, 100, 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>

# PGSQL graph
# -----------------------------------------------------------------------------
<pgsql>
list = localhost
<desc>
<localhost>
host = localhost
port = 5432
username = user
password = secret
db_list =
</localhost>
</desc>
rigid = 0, 0, 0, 0, 0, 0
limit = 100, 100, 100, 100, 100, 100
</pgsql>

# MONGODB graph
# -----------------------------------------------------------------------------
<mongodb>
list = localhost
max_db = 1
<desc>
<localhost>
host = 127.0.0.1
db_list = mydb
</localhost>
</desc>
rigid = 0, 0, 0, 0, 0, 0, 0, 0
limit = 100, 100, 100, 100, 100, 100, 100, 100
</mongodb>

# VARNISH graph
# -----------------------------------------------------------------------------
<varnish>
rigid = 0, 0, 0, 0, 0, 0
limit = 100, 100, 100, 100, 100, 100
</varnish>

# PAGESPEED graph
# -----------------------------------------------------------------------------
<pagespeed>
list = http://modpagespeed.com/mod_pagespeed_statistics
rigid = 0, 0, 2, 0, 0, 0, 0, 0
limit = 1000, 1000, 100, 1000, 1000, 1000, 1000, 1000
</pagespeed>

# 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>

# UNBOUND graph
# -----------------------------------------------------------------------------
<unbound>
cmd = unbound-control
queries_type = A, AAAA, ANY, DS, MX, NS, PTR, SOA, SRV, TXT, NAPTR, A6, CNAME, SPF, KEY, DNSKEY, HINFO, WKS, PX, NSAP
rigid = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
limit = 100, 100, 100, 100, 100, 100, 100, 100, 100, 100
</unbound>

# 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>

# CHRONY graph
# -----------------------------------------------------------------------------
<chrony>
list = localhost
rigid = 2, 0, 0, 0, 0, 0
limit = 0.000005:-0.000005, 10, 10, 10, 10, 10
</chrony>

# FAIL2BAN graph
# -----------------------------------------------------------------------------
<fail2ban>
list = Security, Overload / Abuse
<desc>
0 = [apache], [apache-mod-security], [apache-overflows], [courierauth], [sshd], [pam-generic], [php-url-fopen], [vsftpd]
1 = [apache-evasive], [apache-badbots], [named-refused-udp], [named-refused-tcp]
</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 = /usr/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>

# REDIS graph
# -----------------------------------------------------------------------------
<redis>
list = localhost:6379
rigid = 0, 0, 0, 0, 0, 0
limit = 1000, 1000, 1000, 1000, 1000, 1000
</redis>

# PHP-FPM graph
# -----------------------------------------------------------------------------
<phpfpm>
<group>
0 = First group of domains
</group>
<list>
0 = example1, example2, example3
</list>
<desc>
example1 = http://www.example1.com/php_fpm_status
example2 = http://www.example2.com/php_fpm_status
example3 = http://www.example3.com/php_fpm_status
</desc>
<map>
</map>
rigid = 0, 0, 2, 0, 0, 0
limit = 100, 100, 100, 100, 100, 100
</phpfpm>

# APCUPSD graph
# -----------------------------------------------------------------------------
<apcupsd>
cmd = apcaccess
list = localhost:3551
rigid = 0, 2, 0, 0, 0, 0
limit = 100, 100, 100, 100, 100, 100
</apcupsd>

# NUT graph
# -----------------------------------------------------------------------------
<nut>
list = ups@localhost
rigid = 0, 2, 0, 0, 0, 0
limit = 100:0, 100, 100:0, 100:0, 100:0, 100:0
</nut>

# 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>

# VERLIHUB graph
# -----------------------------------------------------------------------------
<verlihub>
host = localhost
port = 3306
user = verlihub_user
password = verlihub_password
database = verlihub_database
rigid = 0, 0, 0
limit = 1000, 1000, 1000
</verlihub>

# 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
default_option_when_all = "System load"
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 ======
# ========================================================================
I took this part out as I don't change anything here. Waster of Internet .. ;) 

Leave a Comment

Your email address will not be published. Required fields are marked *

ten + 3 =

indiana jez