1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/monitorix_ynh.git synced 2024-09-03 19:46:06 +02:00
monitorix_ynh/conf/monitorix.conf

1558 lines
44 KiB
Text

# 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
<httpd_builtin>
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
<auth>
enabled = n
msg = Monitorix: Restricted access
htpasswd = /var/lib/monitorix/htpasswd
</auth>
</httpd_builtin>
# 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
<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
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
</graph_enable>
# SYSTEM graph
# -----------------------------------------------------------------------------
<system>
<alerts>
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
</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>
# AMD power consumption graph
# -----------------------------------------------------------------------------
<amdenergy>
<list>
0 = amd_energy-isa-0000
</list>
<map>
amd_energy-isa-0000 = AMD CPU
</map>
<number_of_cores>
amd_energy-isa-0000 = 32
</number_of_cores>
<desc>
</desc>
rigid = 0
limit = 100
use_nan_for_missing_data = n
gap_on_all_nan = n
</amdenergy>
# INTELRAPL graph
# -----------------------------------------------------------------------------
<intelrapl>
<list>
0 = core, uncore, package, dram
1 = dram
</list>
<list_item_names>
0 = CPU 1
1 = DRAM modules
</list_item_names>
<sensors>
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
</sensors>
<sensor_names>
package = Package
core = Cores
uncore = IGP
dram = DRAM
</sensor_names>
<package_sensors>
0 = package
</package_sensors>
<package_content>
0 = core, uncore
</package_content>
<noncore_names>
0 = Non-Core
</noncore_names>
<desc>
0 = CPU power distribution
1 = Memory power distribution
</desc>
<sum>
</sum>
<sum_names>
</sum_names>
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
</intelrapl>
# 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 =
</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 = amd-w6800, 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>
amd-w6800 = W 6800
amd-wx5100 = WX 5100
</map>
<sensors>
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, ,
</sensors>
respect_power_state = n
<power_states>
amd-w6800 = /dev/device1/power_state
amd-wx5100 = /dev/device2/power_state
</power_states>
<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/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>
</disk>
# NVMe graph
# -----------------------------------------------------------------------------
<nvme>
<list>
0 = /dev/nvme0
</list>
rigid = 0, 0, 0, 0, 0, 0, 0, 0, 0
limit = 10, 100, 100, 100, 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 {% for part in mount_parts.splitlines() %}, {{ part }}{% endfor %}
</list>
<desc>
/ = Root FS
{%- for part in mount_parts.splitlines() %}
{{ part }} = {{ part | trim('/') }}
{%- endfor %}
</desc>
<devmap>
</devmap>
rigid = 2, 0, 2, 0
limit = 100, 1000, 100, 1000
<alerts>
{%- 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 %}
</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/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 %}
</desc>
<type>
0 = size
1 = files
</type>
<dirmap>
/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
</dirmap>
graphs_per_row = 2
rigid = 0
limit = 100
</du>
# NET graph
# -----------------------------------------------------------------------------
<net>
max = 10
list = {% for interface in net_interface_list.splitlines() %}{% if loop.index > 1 %}, {% endif %}{{ interface.split(',')[0] }}{% endfor %}
<desc>
{%- 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 %}
</desc>
gateway = {{ net_gateway }}
</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 = 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 %}
</list>
<desc>
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 %}
</desc>
rigid = 2, 0, 0, 0, 0, 0, 0, 0
limit = 100, 1000, 1000, 1000, 1000, 1000, 1000, 1000
</process>
# SERV graph
# -----------------------------------------------------------------------------
<serv>
<list>
Default = SSH, Fail2ban, IMAP, SMTP, Spam
</list>
<desc>
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"
</desc>
mode = i
graphs_per_row = 2
rigid = 0, 0, 0
limit = 1000, 1000, 1000
</serv>
# MAIL graph
# -----------------------------------------------------------------------------
<mail>
mta = postfix
greylist = postgrey
stats_rate = real
rigid = 0, 0, 0, 0, 0
limit = 1, 1000, 1000, 1000, 1000
<alerts>
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
</alerts>
</mail>
# PORT graph
# -----------------------------------------------------------------------------
<port>
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 %}
<desc>
{{ 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 %}
</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:{{ port_nginx_status }}/nginx_status_monitorix
port = {{ port_nginx_status }}
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
<desc>
localhost = 3306, {{ db_user }}, {{ db_pwd }}
</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 = {{ db_user }}
password = {{ db_pwd }}
db_list =
</localhost>
</desc>
rigid = 0, 0, 0, 0, 0, 0
limit = 100, 100, 100, 100, 100, 100
</pgsql>
# 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 = 0, 0, 0, 0, 0, 0
limit = 100, 100, 100, 100, 100, 100
</chrony>
# FAIL2BAN graph
# -----------------------------------------------------------------------------
<fail2ban>
list = Overload / Abuse, YunoHost, Mail, Default, SSH, Apps
<desc>
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 %}
</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>
# 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 = Apps detected pools
</group>
<list>
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 %}
</list>
<desc>
{%- 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 %}
</desc>
<map>
</map>
rigid = 0, 0, 2, 0, 0, 0
limit = 100, 100, 100, 100, 100, 100
</phpfpm>
# APCUPSD graph
# -----------------------------------------------------------------------------
<apcupsd>
cmd = /sbin/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 = {{ 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 }}
<daily>
enabled = {{ emailreports_daily_enabled }}
graphs = {{ emailreports_daily_graphs }}
to = {{ emailreports_daily_to }}
</daily>
<weekly>
enabled = {{ emailreports_weekly_enabled }}
graphs = {{ emailreports_weekly_graphs }}
to = {{ emailreports_weekly_to }}
</weekly>
<monthly>
enabled = {{ emailreports_monthly_enabled }}
graphs = {{ emailreports_monthly_graphs }}
to = {{ emailreports_monthly_to }}
</monthly>
<yearly>
enabled = {{ emailreports_yearly_enabled }}
graphs = {{ emailreports_yearly_graphs }}
to = {{ emailreports_yearly_to }}
</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_top_url = http://www.monitorix.org/
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>
large = 750x180
main = 450x150
medium = 325x150
medium2 = 325x70
small = 200x66
mini = 183x66
tiny = 110x40
zoom = 800x300
remote = 300x100
</graph_size>
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
<graph_title>
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
</graph_title>
<graphs>
_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
</graphs>