# Monitorix - configuration file
#
# See monitorix.conf(5) manpage for a detailed description of each option.
#
title = Yunohost Stats
hostname = Yunohost Server
theme_color = {{ theme_color }}
refresh_rate = 150
iface_mode = graph
enable_zoom = y
priority = {{ process_priority }}
netstats_in_bps = y
netstats_mode = overlapped
disable_javascript_void = y
temperature_scale = c
show_gaps = n
global_zoom = 1
max_historic_years = {{ max_historic_years }}
accept_selfsigned_certs = y
image_format = {{ image_format }}
enable_parallelizing = y
enable_rrd_lock = n
include_dir = /etc/monitorix/conf.d
enable_hourly_view = {{ enable_hourly_view }}
base_dir = {{ data_dir }}/www/
base_lib = {{ data_dir }}/
base_url = {{ path }}
base_cgi = {{ path.rstrip('/') }}/cgi
enabled = y
host = localhost
port = {{ port }}
user = {{ app }}
group = {{ app }}
log_file = /var/log/{{ app }}/httpd.log
hosts_deny =
hosts_allow =
https_url = y
autocheck_responsiveness = n
enabled = n
msg = Monitorix: Restricted access
htpasswd = /var/lib/monitorix/htpasswd
# Log files pathnames
# -----------------------------------------------------------------------------
log_file = /var/log/{{ app }}/monitorix.log
secure_log = /var/log/secure
mail_log = /var/log/mail.log
milter_gl = /var/milter-greylist/greylist.db
imap_log = /var/log/mail.log
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
enabled = n
url = "://example.com/piwik/"
sid = "1"
img = "http://example.com/piwik/piwik.php?idsite=1"
# Graphs (de)activation
# -----------------------------------------------------------------------------
system = y
kern = y
proc = y
amdenergy = n
intelrapl = n
hptemp = n
lmsens = n
gensens = n
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 = y
port = y
user = y
ftp = n
apache = n
nginx = y
lighttpd = n
mysql = {% if mysql_installed == 'true' %}y{% else %}n{% endif %}
pgsql = {% if postgresql_installed == 'true' %}y{% else %}n{% endif %}
mongodb = n
varnish = n
pagespeed = n
squid = n
nfss = n
nfsc = n
bind = n
unbound = n
ntp = n
chrony = n
fail2ban = y
icecast = n
raspberrypi = n
phpapc = n
memcached = {% if memcached_installed == 'true' %}y{% else %}n{% endif %}
redis = {% if redis_installed == 'true' %}y{% else %}n{% endif %}
phpfpm = {% if phpfpm_installed == 'true' %}y{% else %}n{% endif %}
apcupsd = n
nut = n
wowza = n
int = y
verlihub = n
# SYSTEM graph
# -----------------------------------------------------------------------------
loadavg_enabled = {{ system_alerts_loadavg_enabled }}
loadavg_timeintvl = {{ system_alerts_loadavg_timeintvl }}
loadavg_threshold = {{ system_alerts_loadavg_threshold }}
loadavg_script = {{ install_dir }}/system.loadavg-alert.sh
rigid = 1, 0, 0, 0, 0
limit = 1, 1000, 1000, 1000, 1000
# KERN graph
# -----------------------------------------------------------------------------
graph_mode = r
user = y
nice = y
sys = y
iow = y
irq = y
sirq = y
steal = y
guest = y
rigid = 2, 1, 2
limit = 100, 1000, 100
# PROC graph
# -----------------------------------------------------------------------------
max = 4
graphs_per_row = 2
size = medium
data = y
rigid = 2
limit = 100
# AMD power consumption graph
# -----------------------------------------------------------------------------
0 = amd_energy-isa-0000
amd_energy-isa-0000 = 32
rigid = 0
limit = 100
use_nan_for_missing_data = n
gap_on_all_nan = n
# INTELRAPL graph
# -----------------------------------------------------------------------------
0 = core, uncore, package, dram
1 = dram
0 = CPU 1
1 = DRAM modules
core = /sys/class/powercap/intel-rapl:0:0/energy_uj
uncore = /sys/class/powercap/intel-rapl:0:1/energy_uj
package = /sys/class/powercap/intel-rapl:0/energy_uj
dram = /sys/class/powercap/intel-rapl:0:2/energy_uj
package = Package
core = Cores
uncore = IGP
dram = DRAM
0 = package
0 = core, uncore
0 = Non-Core
0 = CPU power distribution
1 = Memory power distribution
rigid = 0
limit = 100
use_nan_for_missing_data = n
gap_on_all_nan = n
show_noncore_info = n
max_number_of_values_per_group = 10
# HPTEMP graph
# -----------------------------------------------------------------------------
graph_0 = 2, 3
graph_1 = 1, 6
graph_2 = 16, 18, 19, 20, 21, 22
# LMSENS graph
# -----------------------------------------------------------------------------
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 =
# GENSENS graph
# -----------------------------------------------------------------------------
0 = temp0
1 = cpu0
2 = bat0
0 = Temperatures
1 = CPU frequency
2 = Battery status
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
temp0 = 1000
cpu0 = 0.001
bat0 = 1
rigid = 0, 0, 2
limit = 100, 100, 100
# IPMI graph
# -----------------------------------------------------------------------------
list = Temperatures, Fans, Voltages
0 = CPU Temp, System Temp
1 = FAN 1
2 = Vcore, 3.3VCC, 12V, VDIMM, 5VCC, CPU VTT, VBAT, VSB, AVCC
0 = degrees C
1 = RPM
2 = Volts
graphs_per_row = 2
rigid = 0
limit = 100
# AMBSENS graph
# -----------------------------------------------------------------------------
list = Ambient Temperature
0 = at1
0 = Celsius
at1 = /path/to/script.sh
graphs_per_row = 2
rigid = 0
limit = 100
# AMDgpu graph
# -----------------------------------------------------------------------------
0 = amd-w6800, amd-wx5100
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
amd-w6800 = /dev/device1/gpu_busy_percent, /dev/device1/mem_busy_percent, /dev/device1/freq1_input, /dev/device1/freq2_input, /dev/device1/mem_info_vram_used, /dev/device1/power1_average, /dev/device1/power1_cap, /dev/device1/pwm1, /dev/device1/temp1_input, /dev/device1/temp2_input, /dev/device1/temp3_input
amd-wx5100 = /dev/device2/gpu_busy_percent, /dev/device2/mem_busy_percent, /dev/device2/freq1_input, /dev/device2/freq2_input, /dev/device2/mem_info_vram_used, /dev/device2/power1_average, /dev/device2/power1_cap, /dev/device2/pwm1, /dev/device2/temp1_input, ,
respect_power_state = n
amd-w6800 = /dev/device1/power_state
amd-wx5100 = /dev/device2/power_state
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
# NVIDIAgpu graph
# -----------------------------------------------------------------------------
0 = 0, 1
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
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
# NVIDIA graph
# -----------------------------------------------------------------------------
max = 1
rigid = 1, 2, 2
limit = 50, 100, 100
# DISK graph
# -----------------------------------------------------------------------------
0 = /dev/sda, /dev/sdb, /dev/sdc
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
# NVMe graph
# -----------------------------------------------------------------------------
0 = /dev/nvme0
rigid = 0, 0, 0, 0, 0, 0, 0, 0, 0
limit = 10, 100, 100, 100, 100, 100, 100, 100, 100
show_extended_plots = y
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
# FS graph
# -----------------------------------------------------------------------------
0 = /, swap {% for part in mount_parts.splitlines() %}, {{ part }}{% endfor %}
/ = Root FS
{%- for part in mount_parts.splitlines() %}
{{ part }} = {{ part | trim('/') }}
{%- endfor %}
rigid = 2, 0, 2, 0
limit = 100, 1000, 100, 1000
{%- if disk_alerts_loadavg_enabled == 'true' %}
{%- for part in mount_parts.splitlines() %}
{{ part }} = {{ disk_alerts_loadavg_timeintvl }}, {{ disk_alerts_loadavg_threshold }}, {{ install_dir }}/fs.loadavg-alert.sh
{%- endfor %}
{%- endif %}
# ZFS graph
# -----------------------------------------------------------------------------
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
# DU graph
# -----------------------------------------------------------------------------
list = System, Users
0 = /var/spool/mail, /var/lib, /var/log, /etc, /tmp
1 = /var/www, /opt/yunohost
2 = /home/yunohost.backup{% for dir in app_data_dirs.split(' ') %}, {{ dir }}{% endfor %}
3 = {% for dir in home_user_dirs.split(' ') %}{% if loop.index > 1 %}, {% endif %}{{ dir }}{% endfor %}
0 = size
1 = files
/var/spool/mail = Mail boxes
/etc = Configs files
/var/lib = System data
/var/log = Logs
/tmp = Temps files
/var/www = Yunhost web Apps
/opt/yunohost = Yunohost Others Apps
/home/yunohost.backup = Yunohost backups
graphs_per_row = 2
rigid = 0
limit = 100
# NET graph
# -----------------------------------------------------------------------------
max = 10
list = {% for interface in net_interface_list.splitlines() %}{% if loop.index > 1 %}, {% endif %}{{ interface.split(',')[0] }}{% endfor %}
{%- for interface in net_interface_list.splitlines() %}
{%- set interface_name = interface.split(',')[0] %}
{%- set interface_speed = interface.split(',')[1] %}
{{ interface_name }} = Interface {{ interface_name }}, 0, {{ interface_speed }}
{%- endfor %}
gateway = {{ net_gateway }}
# NETSTAT graph
# -----------------------------------------------------------------------------
cmd = ss
rigid = 0, 0, 0, 0, 0
limit = 100, 100, 100, 100, 100
# TINYPROXY graph
# -----------------------------------------------------------------------------
list = http://your.proxy.com/
http://your.proxy.com/ = http://tinyproxy.stats
show_url = y
rigid = 0, 0, 0
limit = 1000, 1000, 1000
# TC graph
# -----------------------------------------------------------------------------
list = eth0
eth0 = cbq 1, sfq 10, sfq 20, sfq 30, ingress ffff
rigid = 0, 0, 0, 0
limit = 1000, 1000, 1000, 1000
# LIBVIRT graph
# -----------------------------------------------------------------------------
cmd = virsh
0 = centos6, winxp
centos6 = CentOS 6, vda, 52:54:00:45:d0:e7
winxp = MS Windows XP, hda, 52:54:00:97:1c:e5
rigid = 2, 0, 0, 0
limit = 100, 1000, 1000, 1000
# PROCESS graph
# -----------------------------------------------------------------------------
0 = slapd, nslcd, cron, atd, rsyslogd, dnsmasq, fail2ban-server
1 = yunomdns, yunohost-api, monitorix, monitorix-httpd
2 = master, rspamd, dovecot, rspamd, imap, sshd, nginx
{%- set db_procs = [] %}
{%- if mysql_installed == 'true' %}
{%- set discard = db_procs.append('mariadb') %}
{%- endif %}
{%- if postgresql_installed == 'true' %}
{%- set discard = db_procs.append('postgres') %}
{%- endif %}
{%- if memcached_installed == 'true' %}
{%- set discard = db_procs.append('memcached') %}
{%- endif %}
{%- if redis_installed == 'true' %}
{%- set discard = db_procs.append('redis-server') %}
{%- endif %}
{%- if db_procs %}
3 = {% for proc in db_procs %}{% if loop.index > 1 %}, {% endif %}{{ proc }}{% endfor %}
{%- endif %}
{%- if phpfpm_installed == 'true' %}
4 = php-fpm
{%- endif %}
5 = {% for process in process_infos.splitlines() %}{% if loop.index > 1 %}, {% endif -%}
{{ process.split('|')[0] }}
{%- endfor %}
slapd = LDAP server
nslcd = nslcd
rsyslogd = Syslog
yunomdns = Yunohost DNS
yunohost-api = Yunohost API
master = Postfix
imap = Dovecot IMAP
sshd = SSH server
{%- for process in process_infos.splitlines() %}
{{ process.split('|')[0] }} = {{ process.split('|')[1] }}
{%- endfor %}
rigid = 2, 0, 0, 0, 0, 0, 0, 0
limit = 100, 1000, 1000, 1000, 1000, 1000, 1000, 1000
# SERV graph
# -----------------------------------------------------------------------------
Default = SSH, Fail2ban, IMAP, SMTP, Spam
SSH = C, file:/var/log/auth.log, "^%b %e", "sshd\[.*\]: Accepted "
Fail2ban = C, file:/var/log/fail2ban.log, "^%Y-%m-%d", " fail2ban.actions .* Ban "
IMAP = C, file:/var/log/mail.log, "%b %d", " imap-login: .* Login: "
SMTP = C, file:/var/log/mail.log, "^%b %e", i:"to=.*stat(us)?=sent"
Spam = C, file:/var/log/rspamd/rspamd.log, "^%b %e", "greylisted until"
Spam = C, file:/var/log/rspamd/rspamd.log, "^%b %e", "learned message as spam"
mode = i
graphs_per_row = 2
rigid = 0, 0, 0
limit = 1000, 1000, 1000
# MAIL graph
# -----------------------------------------------------------------------------
mta = postfix
greylist = postgrey
stats_rate = real
rigid = 0, 0, 0, 0, 0
limit = 1, 1000, 1000, 1000, 1000
delvd_enabled = {{ mail_delvd_enabled }}
delvd_timeintvl = {{ mail_delvd_timeintvl }}
delvd_threshold = {{ mail_delvd_threshold }}
delvd_script = {{ install_dir }}/mail.delvd-alert.sh
mqueued_enabled = {{ mail_mqueued_enabled }}
mqueued_timeintvl = {{ mail_mqueued_timeintvl }}
mqueued_threshold = {{ mail_mqueued_threshold }}
mqueued_script = {{ install_dir }}/mail.mqueued-alert.sh
# PORT graph
# -----------------------------------------------------------------------------
max = 50
rule = 24000
list = 22v4, 22v6, 25v4, 25v6, 80v4, 80v6, 443v4, 443v6, 587v4, 587v6, 993v4, 993v6
{%- for port_info in port_infos.splitlines() -%}
{%- set port_info_array = port_info.split(',') -%}
{%- set ip_version = port_info_array[1] -%}
{%- set port = port_info_array[0] -%}
, {{ port }}v{{ ip_version }}
{%- endfor %}
{{ ssh_port }}v4 = SSH, tcp, in, 0, {{ net_max_speed }}
{{ ssh_port }}v6 = SSH, tcp6, in, 0, {{ net_max_speed }}
25v4 = SMTP, tcp, in/out, 0, {{ net_max_speed }}
25v6 = SMTP, tcp6, in/out, 0, {{ net_max_speed }}
80v4 = HTTP, tcp, in, 0, {{ net_max_speed }}
80v6 = HTTP, tcp6, in, 0, {{ net_max_speed }}
443v4 = HTTPS, tcp, in, 0, {{ net_max_speed }}
443v6 = HTTPS, tcp6, in, 0, {{ net_max_speed }}
587v4 = SMTP-TLS, tcp, in, 0, {{ net_max_speed }}
587v6 = SMTP-TLS, tcp6, in, 0, {{ net_max_speed }}
993v4 = IMAPS, tcp, in, 0, {{ net_max_speed }}
993v6 = IMAPS, tcp6, in, 0, {{ net_max_speed }}
{%- for port_info in port_infos.splitlines() %}
{%- set port_info_array = port_info.split(',') %}
{%- set proto = port_info_array[2] %}
{%- set ip_version = port_info_array[1] %}
{%- set port = port_info_array[0] %}
{%- set name = port_info_array[3] %}
{{ port }}v{{ ip_version }} = {{ name }}, {{ proto }}{% if ip_version == '6' %}6{% endif %}, in, 0, {{ net_max_speed }}
{%- endfor %}
graphs_per_row = 3
# USER graph
# -----------------------------------------------------------------------------
rigid = 0, 0, 0
limit = 1000, 1000, 1000
# FTP graph
# -----------------------------------------------------------------------------
server = proftpd
anon_user = anonymous, ftp
rigid = 0, 0, 0
limit = 1000, 1000, 1000
# APACHE graph
# -----------------------------------------------------------------------------
list = http://localhost/server-status?auto
rigid = 0, 0, 2, 0, 0, 0
limit = 100, 100, 100, 100, 100, 100
# NGINX graph
# -----------------------------------------------------------------------------
url = http://localhost:{{ port_nginx_status }}/nginx_status_monitorix
port = {{ port_nginx_status }}
rule = 24100
rigid = 0, 0, 0
limit = 100, 100, 100
# LIGHTTPD graph
# -----------------------------------------------------------------------------
list = http://localhost/server-status?auto
rigid = 0, 0, 0
limit = 100, 100, 100
# MYSQL graph
# -----------------------------------------------------------------------------
conn_type = host
list = localhost
localhost = 3306, {{ db_user }}, {{ db_pwd }}
rigid = 0, 2, 0, 0, 0, 0
limit = 100, 100, 100, 100, 100, 100
# PGSQL graph
# -----------------------------------------------------------------------------
list = localhost
host = localhost
port = 5432
username = {{ db_user }}
password = {{ db_pwd }}
db_list =
rigid = 0, 0, 0, 0, 0, 0
limit = 100, 100, 100, 100, 100, 100
# VARNISH graph
# -----------------------------------------------------------------------------
rigid = 0, 0, 0, 0, 0, 0
limit = 100, 100, 100, 100, 100, 100
# PAGESPEED graph
# -----------------------------------------------------------------------------
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
# SQUID graph
# -----------------------------------------------------------------------------
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
# NFSS graph
# -----------------------------------------------------------------------------
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
# NFSC graph
# -----------------------------------------------------------------------------
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
# BIND graph
# -----------------------------------------------------------------------------
list = http://localhost:8053/
http://localhost:8053/ = A, AAAA, ANY, DS, MX, NS, PTR, SOA, SRV, TXT, NAPTR, A6, CNAME, SPF, KEY, DNSKEY, HINFO, WKS, PX, NSAP
http://localhost:8053/ = A, AAAA, ANY, DS, MX, NS, PTR, SOA, SRV, TXT, NAPTR, A6, CNAME, SPF, KEY, DNSKEY, HINFO, WKS, PX, NSAP
http://localhost:8053/ = Requestv4, Requestv6, ReqEdns0, ReqBadEDNSVer, ReqTSIG, ReqSIG0, ReqBadSIG, ReqTCP, Response, QrySuccess, QryAuthAns, QryNoauthAns, QryReferral, QryNxrrset, QrySERVFAIL, QryNXDOMAIN, QryRecursion, QryDuplicate, QryDropped, QryFailure
http://localhost:8053/ = Queryv4, Queryv6, Responsev4, Responsev6, NXDOMAIN, SERVFAIL, FORMERR, OtherError, EDNS0Fail, Truncated, Lame, Retry, QueryTimeout, GlueFetchv4, GlueFetchv6, GlueFetchv4Fail, GlueFetchv6Fail, ValAttempt, ValOk, ValNegOk
http://localhost:8053/ = A, !A, AAAA, !AAAA, DLV, !DLV, DS, !DS, MX, NS, CNAME, !CNAME, SOA, !SOA, !ANY, PTR, RRSIG, NSEC, DNSKEY, NXDOMAIN
rigid = 0, 0, 0, 0, 0, 0, 0, 0
limit = 100, 100, 100, 100, 100, 100, 100, 100
# UNBOUND graph
# -----------------------------------------------------------------------------
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
# NTP graph
# -----------------------------------------------------------------------------
list = localhost
localhost = AUTH, AUTO, CRYP, DENY, GPS, INIT, NKEY, RATE, RMOT, RSTR
rigid = 0, 0, 0
limit = 100, 100, 100
# CHRONY graph
# -----------------------------------------------------------------------------
list = localhost
rigid = 0, 0, 0, 0, 0, 0
limit = 100, 100, 100, 100, 100, 100
# FAIL2BAN graph
# -----------------------------------------------------------------------------
list = Overload / Abuse, YunoHost, Mail, Default, SSH, Apps
0 = [recidive], [pam-generic]
1 = [yunohost]
2 = [postfix], [dovecot]
3 = [nginx-http-auth]
4 = [sshd]
5 = {% for jail in jail_list.split(' ')
| rejectattr(None, 'in', ['recidive', 'pam-generic',
'yunohost',
'postfix', 'dovecot',
'nginx-http-auth',
'sshd'])
%}{% if loop.index > 1 %}, {% endif %}[{{ jail.strip() }}]{% endfor %}
graphs_per_row = 2
rigid = 0
limit = 100
# ICECAST graph
# -----------------------------------------------------------------------------
list = http://localhost:8000/status.xsl
http://localhost:8000/status.xsl = stream1, stream2, stream3
graph_mode = r
rigid = 0, 0
limit = 100, 100
# RASPBERRYPI graph
# -----------------------------------------------------------------------------
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
# PHPAPC graph
# -----------------------------------------------------------------------------
list = http://localhost/apc.php?auto
rigid = 2, 2, 0
limit = 100, 100, 100
# MEMCACHED graph
# -----------------------------------------------------------------------------
list = localhost:11211
rigid = 0, 0, 0, 0, 0, 0, 0
limit = 100, 100, 100, 100, 100, 100, 100
# REDIS graph
# -----------------------------------------------------------------------------
list = localhost:6379
rigid = 0, 0, 0, 0, 0, 0
limit = 1000, 1000, 1000, 1000, 1000, 1000
# PHP-FPM graph
# -----------------------------------------------------------------------------
0 = Apps detected pools
0 = {% for php_pool_info in php_pools_infos.splitlines() -%}
{%- if loop.index > 1 -%}, {%- endif -%}
{%- set phpversion = php_pool_info.split(',')[0] -%}
{%- set pool_name = php_pool_info.split(',')[1] -%}
{{ pool_name }}-{{ phpversion }}
{%- endfor %}
{%- for php_pool_info in php_pools_infos.splitlines() %}
{%- set phpversion = php_pool_info.split(',')[0] %}
{%- set pool_name = php_pool_info.split(',')[1] %}
{{ pool_name }}-{{ phpversion }} = http://localhost:{{ port_nginx_status }}/php-pool-status/php{{ phpversion }}-fpm-{{ pool_name }}
{%- endfor %}
rigid = 0, 0, 2, 0, 0, 0
limit = 100, 100, 100, 100, 100, 100
# APCUPSD graph
# -----------------------------------------------------------------------------
cmd = /sbin/apcaccess
list = localhost:3551
rigid = 0, 2, 0, 0, 0, 0
limit = 100, 100, 100, 100, 100, 100
# NUT graph
# -----------------------------------------------------------------------------
list = ups@localhost
rigid = 0, 2, 0, 0, 0, 0
limit = 100:0, 100, 100:0, 100:0, 100:0, 100:0
# WOWZA graph
# -----------------------------------------------------------------------------
list = http://localhost:8086/connectioncounts
http://localhost:8086/connectioncounts = channel1, channel2
rigid = 0, 0, 0, 0, 0
limit = 100, 100, 100, 100, 100
# INT graph
# -----------------------------------------------------------------------------
rigid = 0, 0, 0
limit = 100, 100, 100
# VERLIHUB graph
# -----------------------------------------------------------------------------
host = localhost
port = 3306
user = verlihub_user
password = verlihub_password
database = verlihub_database
rigid = 0, 0, 0
limit = 1000, 1000, 1000
# TRAFFACCT graph
# -----------------------------------------------------------------------------
enabled = n
max = 10
graphs_per_row = 2
list = pc101, pc102, pc103, pc104
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
enabled = n
language = en
default_mail = root@localhost
url_prefix = http://localhost:8080
smtp_hostname = localhost
from_address = noreply@example.com
rigid = 0
limit = 100
# Multihost
# -----------------------------------------------------------------------------
enabled = n
footer_url = y
graphs_per_row = 2
default_option_when_all = "System load"
remotehost_list = server 1, server 2, server 3
0 = http://www.example.com,/monitorix,/monitorix-cgi
1 = http://10.0.0.1,/monitorix,/monitorix-cgi
2 = http://192.168.0.100:8080,/,/
groups = n
remotegroup_list = My Group
0 = server 2, server 3
# Email Reports
# -----------------------------------------------------------------------------
enabled = {{ emailreports_enabled }}
url_prefix = http://127.0.0.1:{{ port }}{{ path }}
smtp_hostname = localhost
from_address = {{ app }}@{{ domain }}
subject_prefix = {{ emailreports_subject_prefix }}
hour = {{ emailreports_hour }}
minute = {{ emailreports_minute }}
enabled = {{ emailreports_daily_enabled }}
graphs = {{ emailreports_daily_graphs }}
to = {{ emailreports_daily_to }}
enabled = {{ emailreports_weekly_enabled }}
graphs = {{ emailreports_weekly_graphs }}
to = {{ emailreports_weekly_to }}
enabled = {{ emailreports_monthly_enabled }}
graphs = {{ emailreports_monthly_graphs }}
to = {{ emailreports_monthly_to }}
enabled = {{ emailreports_yearly_enabled }}
graphs = {{ emailreports_yearly_graphs }}
to = {{ emailreports_yearly_to }}
# ========================================================================
# ====== 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_top_url = http://www.monitorix.org/
logo_bottom = logo_bot.png
main_bg = FFFFFF
main_fg = 000000
title_bg = 777777
title_fg = CCCC00
graph_bg = CCCCCC
gap = 000000
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
large = 750x180
main = 450x150
medium = 325x150
medium2 = 325x70
small = 200x66
mini = 183x66
tiny = 110x40
zoom = 800x300
remote = 300x100
graph_name = system, kern, proc, amdenergy, intelrapl, hptemp, lmsens, gensens, ipmi, ambsens, amdgpu, nvidiagpu, nvidia, disk, nvme, fs, zfs, du, net, netstat, tinyproxy, tc, libvirt, process, serv, mail, port, user, ftp, apache, nginx, lighttpd, mysql, pgsql, mongodb, varnish, pagespeed, squid, nfss, nfsc, bind, unbound, ntp, chrony, fail2ban, icecast, raspberrypi, phpapc, memcached, redis, phpfpm, apcupsd, nut, wowza, int, verlihub
system = System load average and usage
kern = Global kernel usage
proc = Kernel usage per processor
amdenergy = AMD power usage
intelrapl = RAPL power usage
hptemp = HP ProLiant System Health
lmsens = LM-Sensors and GPU temperatures
gensens = Generic sensor statistics
ipmi = IPMI sensor statistics
ambsens = Ambient sensor statistics
amdgpu = AMD GPU temperatures and usage
nvidiagpu = NVIDIA GPU temperatures and usage
nvidia = NVIDIA temperatures and usage
disk = Disk drive temperatures and health
nvme = NVMe drive temperatures and health
fs = Filesystem usage and I/O activity
zfs = ZFS statistics
du = Directory usage
net = Network traffic and usage
netstat = Netstat statistics
tinyproxy = Tinyproxy statistics
tc = Traffic Control statistics
libvirt = Libvirt statistics
process = Processes 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
pgsql = PostgreSQL statistics
mongodb = MongoDB statistics
varnish = Varnish statistics
pagespeed = PageSpeed statistics
squid = Squid statistics
nfss = NFS server statistics
nfsc = NFS client statistics
bind = BIND statistics
unbound = Unbound statistics
ntp = NTP statistics
chrony = Chrony statistics
fail2ban = Fail2ban statistics
icecast = Icecast Streaming Media Server
raspberrypi = Raspberry Pi sensor statistics
phpapc = Alternative PHP Cache statistics
memcached = Memcached statistics
redis = Redis statistics
phpfpm = PHP-FPM statistics
apcupsd = APC UPS statistics
nut = Network UPS Tools statistics
wowza = Wowza Media Server
int = Devices interrupt activity
verlihub = VerliHub statistics
_system1 = System load
_system2 = Memory allocation
_system3 = Active processes
_system4 = Entropy
_system5 = Uptime
_kern1 = Kernel usage
_kern2 = Context switches and forks
_kern3 = VFS usage
_proc = Processor
_amdenergy1 = Socket power distribution
_intelrapl1 = Power distribution
_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
_gensens = Generic sensors
_ipmi = IPMI sensors
_ambsens = Ambient sensors
_amdgpu1 = Fan speed
_amdgpu2 = Core temperature
_amdgpu3 = Memory temperature
_amdgpu4 = Junction temperature
_amdgpu5 = Power
_amdgpu6 = Core util.
_amdgpu7 = Memory util.
_amdgpu8 = Core clock
_amdgpu9 = Memory clock
_amdgpu10 = Memory usage
_nvidiagpu1 = Fan speed
_nvidiagpu2 = Core temperature
_nvidiagpu3 = Memory temperature
_nvidiagpu4 = Memory usage
_nvidiagpu5 = Power
_nvidiagpu6 = Core util.
_nvidiagpu7 = Memory util.
_nvidiagpu8 = Core clock
_nvidiagpu9 = Memory clock
_nvidiagpu10 = Performance state
_nvidia1 = NVIDIA temperatures
_nvidia2 = CPU usage
_nvidia3 = Memory usage
_disk1 = Disk drives temperatures
_disk2 = Reallocated sector count
_disk3 = Current pending sector
_nvme1 = NVMe drives temperatures
_nvme2 = Spare capacity
_nvme3 = Life used
_nvme4 = Total written
_nvme5 = Media errors
_nvme6 = Unsafe shutdowns
_nvme7 = Total read
_nvme8 = Mean write load
_nvme9 = Mean read load
_fs1 = Filesystems usage
_fs2 = Disk I/O activity
_fs3 = Inode usage
_fs4 = Time spent in I/O activity
_zfs1 = ARC usage
_zfs2 = ARC cache
_zfs3 = L2ARC cache
_zfs4 = Pool data usage
_zfs5 = Pool usage
_zfs6 = Operations
_zfs7 = Bandwidth
_du = Directory usage
_net1 = Network traffic
_net2 = Network packets
_net3 = Network errors
_netstat1 = IPv4 states
_netstat2 = IPv6 states
_netstat3 = Active close
_netstat4 = Passive close
_netstat5 = UDP statistics
_tinyproxy1 = Requests
_tinyproxy2 = Connections
_tinyproxy3 = Connections
_tc1 = Traffic
_tc2 = Dropped
_tc3 = Overlimits
_tc4 = Requeues
_libvirt1 = CPU time usage
_libvirt2 = Memory usage
_libvirt3 = Disk usage
_libvirt4 = Network usage
_process1 = CPU time usage
_process2 = Memory usage
_process3 = Disk usage
_process4 = Network usage
_process5 = Opened files
_process6 = Number of threads
_process7 = Context switches
_process8 = Number of processes
_process9 = Uptime
_serv = System services demand
_mail1 = Mail statistics
_mail2 = Network traffic
_mail3 = Mails in queue
_mail4 = Queue size
_mail5 = SPF
_mail6 = 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 workers
_apache3 = Apache CPU usage
_apache4 = Apache requests
_apache5 = Apache workers
_apache6 = Apache open slots
_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
_pgsql1 = PgSQL rows by queries
_pgsql2 = PgSQL background writer
_pgsql3 = PgSQL database size
_pgsql4 = PgSQL connections
_pgsql5 = PgSQL transactions
_pgsql6 = PgSQL block cache
_mongodb1 = MongoDB operations
_mongodb2 = MongoDB metrics document
_mongodb3 = MongoDB write performance
_mongodb4 = MongoDB connections
_mongodb5 = MongoDB requests & asserts
_mongodb6 = MongoDB traffic
_varnish1 = Varnish statistics
_varnish2 = Backend usage
_varnish3 = Client connections
_varnish4 = Cache performance
_varnish5 = Objects
_varnish6 = Traffic
_pagespeed1 = Cache overview
_pagespeed2 = HTML optimization
_pagespeed3 = Saved ratio
_pagespeed4 = Memcached
_pagespeed5 = Pcache cohorts
_pagespeed6 = Rewrite & SHM cache
_pagespeed7 = LRU & File cache
_pagespeed8 = Cache time
_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
_unbound1 = Queries and cache
_unbound2 = Queries by type
_unbound3 = Recursion time
_unbound4 = Uptime
_unbound5 = Specific traffic
_unbound6 = Memory usage
_unbound7 = Answers by type
_unbound8 = Queries by flags
_unbound9 = Less than 1s resolving time
_unbound10 = More than 1s resolving time
_ntp1 = NTP timing stats
_ntp2 = Stratum level
_ntp3 = Codes
_chrony1 = Chrony timing stats
_chrony2 = Network path delays
_chrony3 = Stratum level
_chrony4 = System's clock drift
_chrony5 = Estimated error in frequency
_chrony6 = Update interval
_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
_redis1 = Connections
_redis2 = Ratios
_redis3 = Clients
_redis4 = Memory usage
_redis5 = Dictionary cache
_redis6 = Network traffic
_phpfpm1 = Accepted connections
_phpfpm2 = Active processes
_phpfpm3 = Listen queue
_phpfpm4 = Total processes
_phpfpm5 = Max. children reached
_phpfpm6 = Slow requests
_apcupsd1 = Line voltage
_apcupsd2 = Battery charge
_apcupsd3 = Temperatures
_apcupsd4 = Battery voltage
_apcupsd5 = Time left
_apcupsd6 = Line frequency
_nut1 = Line voltage
_nut2 = Battery charge
_nut3 = Temperatures
_nut4 = Battery voltage
_nut5 = Time left
_nut6 = 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
_verlihub1 = Users in hub
_verlihub2 = Total hub upload
_verlihub3 = Total hub share