1monitorix.conf(5) Monitorix configuration file monitorix.conf(5)
2
3
4
6 monitorix.conf - Configuration file for Monitorix.
7
9 Monitorix is a free, open source, lightweight system monitoring tool
10 designed to monitor as many services and system resources as possible.
11 It has been created to be used on production Linux/UNIX servers, but
12 due to its simplicity and small size may also be used to monitor embed‐
13 ded devices as well.
14
15 It consists mainly of two programs: a collector, called monitorix,
16 which is a Perl daemon that is started automatically like any other
17 system service, and a CGI script called monitorix.cgi. Since 3.0 ver‐
18 sion Monitorix includes its own HTTP server built in, so you don't need
19 to install any web server to use it.
20
21 Every time monitorix is started it reads the configuration file from
22 the path specified in the command line (using the -c option), and once
23 checked, it creates the index.html file that will act as the Monitorix
24 main page.
25
26 It also creates a file called <base_dir>/cgi/monitorix.conf.path that
27 includes the absolute path of the configuration file. This file will be
28 read by monitorix.cgi to determine the exact location of the configura‐
29 tion file.
30
32 IMPORTANT NOTE: these options have default values that might vary de‐
33 pending on your operating system. Please check the configuration files
34 in /etc/monitorix/conf.d/.
35
36 Blank lines are ignored, and whitespace before and after a token or
37 value is ignored as well as tabulators, although a value can contain
38 whitespace within. Lines which begin with a # are considered comments
39 and ignored.
40
41 If you want to comment out a large block you can use C-style comments.
42 A /* signals the begin of a comment block and the */ signals the end of
43 the comment block.
44
45 If an option has multiple values their must be separated by comma.
46
47 title
48 A free description of the server; where it is located, the Com‐
49 pany name, etc.
50
51 Default value: Place a Title Here
52
53 hostname
54 The name of the host.
55
56 Default value:
57
58 theme_color
59 RRDtool comes with a default white theme, and since Monitorix
60 introduces its own black theme, you have two predefined themes
61 to choose from.
62
63 Default value: black
64
65 refresh_rate
66 The refresh rate (in seconds) of the statistics web page dis‐
67 played in your browser. If set to 0, page refreshing is dis‐
68 abled.
69
70 Default value: 150
71
72 iface_mode
73 The interface mode defines the manner in which data is shown in
74 the browser. Since version 1.4.0 it has been possible to display
75 the graphic data using plain text tables. This allows Monitorix
76 to be used by those running screen reader software, and also
77 simplifies automatic data processing through scripts.
78
79 The possible values are:
80 graph for rendered graphs.
81 text for plain text representation.
82
83 Default value: graph
84
85 enable_zoom
86 Zoom allows double clicking any graph in order to see a larger
87 version (zoomed in). This is especially useful for seeing addi‐
88 tional detail.
89
90 Default value: y
91
92 netstats_in_bps
93 This option toggles network values between bits (bps) and Bytes
94 (Bps) per second. By default the values will be shown in Bytes
95 per second (Bps).
96
97 Default value: n
98
99 netstats_mode
100 This option toggles network visualization mode between over‐
101 lapped (input and output values appear one in front the other)
102 and separated (input values appear on top and output values be‐
103 low, in negative).
104
105 Default value: overlapped
106
107 disable_javascript_void
108 This option enables or disables the use of javascript:void-URLs
109 when opening windows with zoomed graphs. Some people likes to
110 open links in the background by pressing the middle mouse button
111 in Firefox, and with the default javascript:void-URLs the only
112 they get is an empty window with nothing in it.
113
114 Default value: n
115
116 temperature_scale
117 This option toggles between values in Celsius or in Fahrenheit
118 in those graphs that represent temperatures.
119
120 The possible values are:
121 c for Celsius.
122 f for Fahrenheit.
123
124 Default value: c
125
126 show_gaps
127 This option, when enabled, shows the gaps (missing data) in the
128 graphs. This is specially useful to detect if the server or Mon‐
129 itorix were stopped for a while, or any other unavailability.
130
131 In order to be able to locate those gaps easily in each graph,
132 it uses the white color in the default black theme and the black
133 color in the white theme. These default colors are defined in
134 monitorix.conf so they can be changed as any other option.
135
136 Default value: n
137
138 global_zoom
139 This option zooms all the graphs (including the legend's font
140 size) by the given amount. The factor must be greater than 0 and
141 it accepts decimal values.
142
143 This is specially useful for people with big screens that either
144 want to avoid using the browser feature to zoom the contents of
145 the window and for those that watch the graphs from certain dis‐
146 tance.
147
148 Keep in mind that the contents of the graphs remains with the
149 same detail level all the time, and that it doesn't affects to
150 the standard zoomed graph that appears when clicking in the pic‐
151 ture.
152
153 Default value: 1
154
155 max_historic_years
156 This option defines the maximum number of years of historical
157 data in all graphs.
158
159 WARNING: Every time this value is extended Monitorix will resize
160 every .rrd file accordingly, removing all historical data.
161
162 There is no longer any upper limit for this value.
163
164 Default value: 1
165
166 accept_selfsigned_certs
167 This option forces to accept self-signed certificates when col‐
168 lecting values remotely using HTTPS protocol.
169
170 Default value: y
171
172 priority
173 Sometimes when a server is under heavy use, Monitorix might be
174 unable to collect some statistical data due to its normal prior‐
175 ity (0 by default). This makes monitoring useless because graphs
176 are empty during that hard period of time.
177
178 In order to mitigate this situation this option sets the prior‐
179 ity in which Monitorix will be scheduled by the kernel. The ac‐
180 cepted range of values is the same as in the setpriority() sys‐
181 tem call: that is, from -20 (maximum priority) to 19 (lowest
182 priority).
183
184 Default value: 0
185
186 image_format
187 This is the format of each generated graph. There are only two
188 possible values: PNG and SVG.
189
190 Default value: PNG
191
192 enable_parallelizing
193 This option will fork an independent process for each graph in
194 order to speed up graph generation in multi-core systems. It's
195 best to keep it disabled on unicore processors.
196
197 Default value: y
198
199 include_dir
200 The main configuration file is usually called monitorix.conf and
201 its location is provided as part of the command line arguments.
202 In addition, other configuration files may be loaded placing
203 them in the directory pointed by this option. The names must end
204 with .conf to be included.
205
206 This option is mainly intended to include third-party modules
207 with their own configuration files without having to modify any
208 file from your Monitorix installation. All modules are located
209 in /usr/lib/monitorix (in some operating systems that path can
210 change).
211
212 All the configuration files in there will be loaded in alpha‐
213 betic order, so the last file loaded will overwrite any previous
214 option.
215
216 Default value: /etc/monitorix/conf.d
217
218 ip_default_table
219 This option will define in which table Monitorix will put all
220 iptables rules for network traffic accounting monitoring. It
221 only works on Linux.
222
223 Although this is a global option, only the graphs port, nginx
224 and traffacct are affected by it.
225
226 Default value: filter
227
228 ipv6_disabled
229 This option enables or disables the use of the ip6tables com‐
230 mand. It only works on Linux.
231
232 Although this is a global option, only the graph port is cur‐
233 rently affected by it.
234
235 Default value: n
236
237 url_prefix_proxy
238 This option forces monitorix.cgi to bypass the URL building.
239 This is specially useful when Monitorix is used behind a reverse
240 proxy.
241
242 An example would be: http://myexternalwebsite.com
243
244 Default value:
245
246 enable_hourly_view
247 This option enables or disables the ability to select the hourly
248 view in the main page.
249
250 No .rrd file will change by selecting this option and the his‐
251 torical data won't be affected.
252
253 Default value: n
254
255 user_agent_id
256 This option defines the string to be used to identify Monitorix
257 in the HTTP requests. Its value will be sent as the "User-Agent"
258 header.
259
260 The default value will depend on the current Perl version in
261 your system. An example would be libwww-perl/5.833.
262
263 enable_back_button
264 This option enables or disables the ability to go back to the
265 main page from the graphs page without using the browser's back
266 button.
267
268 It will show a back arrow in the upper-left corner and it is
269 specially useful for people using the browser in full-screen
270 mode.
271
272 Default value: n
273
274 rrdtool_extra_options
275 This option permits create a comma-separated list of RRDtool op‐
276 tions that will be included in all graphs. This is specially
277 useful if you want to take advantage of an specific RRDtool
278 graphics option.
279
280 An example would be:
281
282 rrdtool_extra_options = "--grid-dash=1:0, --no-legend"
283
284 use_external_firewall
285 By default, Monitorix creates a set of iptables rules to collect
286 the amount of network activity that some graphs (port.pm and ng‐
287 inx.pm) need. This might be a problem for people using an exter‐
288 nal firewall that could eventually remove such iptables rules
289 created by Monitorix. In these cases, you may want to set this
290 option as y to tell Monitorix to not create such iptables rules,
291 but expect that they will be already created by an external
292 software.
293
294 Keep in mind that the rule names created in your firewall must
295 coincide with the names that Monitorix expects to find for each
296 case. Familiarize yourself with the iptables rules created auto‐
297 matically by Monitorix before enabling this option.
298
299 Default value: n
300
301 base_dir
302 This is the absolute path to the directory where all the web el‐
303 ements are located:
304
305 cgi/ directory where resides monitorix.cgi.
306 imgs/ directory for the .png graph images.
307 index.html Monitorix main page.
308 logo_bot.png Monitorix bottom logo.
309 logo_top.png Monitorix top logo.
310 monitorixico.png Monitorix favicon logo.
311
312 Default value: /var/lib/monitorix/www/
313 (depends on the operating system)
314
315 base_lib
316 This is the absolute path to the directory where all of the
317 monthly reports, daily traffic usage, and RRD files are located:
318
319 reports/ monthly reports localization directory.
320 usage/ daily traffic usage data directory.
321 *.rrd RRD files.
322
323 Default value: /var/lib/monitorix/
324 (depends on the operating system)
325
326 base_url
327 This is the URL prefix that Monitorix utilizes when referring to
328 its own pages and files.
329
330 Default value: /monitorix
331
332 base_cgi
333 This is the URL prefix that Monitorix utilizes when referring to
334 monitorix.cgi.
335
336 Default value: /monitorix-cgi
337
338 HTTP built-in server
339 enabled
340 This enables or disables the HTTP server that Monitorix has
341 built-in. This is specially useful for system administrators
342 that don't want to install a web server (Apache, Lighttpd, Ng‐
343 inx, etc.) to see the Monitorix graphs.
344
345 Default value: y
346
347 host
348 This option takes an optional host address for this server to
349 bind to. If none is specified (default) it will bind to all in‐
350 terfaces.
351
352 Default value:
353
354 port
355 This is the network port from where the HTTP server will listen
356 on.
357
358 Default value: 8080
359
360 user/group
361 This sets the user and group that the HTTP server will run as.
362
363 Default value for user: nobody
364 Default value for group: nobody
365
366 log_file
367 This is the path to the HTTP server log file.
368
369 If you leave this option blank or undefined Monitorix will log
370 using the standard file descriptors. This is specially useful on
371 systemd-based systems, you'll need to use the command journalctl
372 -u monitorix to see the logs.
373
374 Default value: /var/log/monitorix-httpd
375
376 hosts_deny
377 This is a comma delimited set of IP addresses which are not per‐
378 mitted to access Monitorix graphs. There is the special keyword
379 called all that can be used to deny all IP addresses.
380
381 The access control uses the same approach as in the TCP-Wrap‐
382 pers; the search stops at the first match:
383
384 - Access will be granted when an IP address matches an en‐
385 try in the hosts_allow list.
386 - Otherwise, access will be denied when an IP address
387 matches an entry in the hosts_deny list.
388 - Otherwise, access will be granted.
389
390 Default value:
391
392 hosts_allow
393 This is the opposite of hosts_deny option. IP addresses listed
394 here are permitted to access Monitorix graphs. There is also the
395 special keyword called all that can be used to allow access to
396 all IP addresses.
397
398 Default value:
399
400 https_url
401 This will force to use the prefix https:// in all links. This is
402 special useful if you plan to use a reverse-proxy HTTPS server
403 in front of the Monitorix HTTP built-in server.
404
405 Default value: n
406
407 autocheck_responsiveness
408 There is a well known problem with the HTTP built-in server that
409 Monitorix implements using the Perl module 'HTTP::Server::Sim‐
410 ple'. It looks like it's pretty weak to the common attacks that
411 any web server receives every day. As a consequence of that, it
412 just hangs, and when you want to see the stats of your server,
413 you just see your browser waiting for a response that never
414 comes, which ends up with a timeout. In these cases, you are
415 forced to login to your server and restart Monitorix, in order
416 to refresh the HTTP built-in server.
417
418 So in order to mitigate (hopefully) all this annoying hangups,
419 this options acts like an autocheck to control the responsive‐
420 ness of the HTTP server on every minute, and in case of no re‐
421 sponse then it will be restarted automatically.
422
423 Default value: y
424
425 HTTP built-in server with access authentication
426 enabled
427 This enables or disables the authentication mechanism to control
428 access to pages and other resources. The only allowed mechanism
429 is Basic and uses the 401 status code and the WWW-Authenticate
430 response header.
431
432 It's highly recommended to set this option according your needs
433 before start Monitorix.
434
435 For more information about the Basic access authentication mech‐
436 anism and its security implications, please refer to
437 http://en.wikipedia.org/wiki/Basic_access_authentication.
438
439 Default value: n
440
441 msg
442 This option sets the Realm to be used in the authentication.
443 That message should appear in the client dialog box to help user
444 to identify the secure area.
445
446 Default value: Monitorix: Restricted access
447
448 htpasswd
449 This option sets the path to the password file that was created
450 with the help of the htpasswd.pl script. That script encrypts
451 and validates passwords using the system's crypt() routine. If
452 your Monitorix package doesn't come with that script, you may
453 use the similar htpasswd(1) program provided with the Apache web
454 server.
455
456 The format of the password file consist of one or more lines
457 with a username and password separated by a colon.
458
459 The following is an example of a password file:
460
461 paul:oGkEsQK6RYIII
462 peter:HF1r7qRL4Kg6E
463
464 Since the script uses the crypt() algorithm, only the first 8
465 characters of the password are used to form the password. If the
466 supplied password is longer, the extra characters will be
467 silently discarded.
468
469 WARNING: don't use the character colon ':' as part of your name
470 or password since this character is used as field separator.
471
472 Default value: /var/lib/monitorix/htpasswd
473
474 hosts_deny
475 This is a comma delimited set of IP addresses which will be
476 forced to do authentication. There is the special keyword called
477 all that can be used to deny all IP addresses.
478
479 The access control uses a similar approach as in the TCP-Wrap‐
480 pers; the search stops at the first match:
481
482 - Access will be granted when an IP address matches an en‐
483 try in the hosts_allow list.
484 - Otherwise, access will be denied when an IP address
485 matches an entry in the hosts_deny list.
486 - Otherwise, access will be denied (if not defined it will
487 deny all hosts).
488
489 Default value: all
490
491 hosts_allow
492 This is the opposite of hosts_deny option. IP addresses listed
493 here will bypass the authentication mechanism (even when it is
494 enabled). It helps in specific cases like to avoid to have to
495 include the auth credentials in the url_prefix of the emailre‐
496 ports module. There is also the special keyword called all that
497 can be used to allow access to all IP addresses.
498
499 Default value:
500
501 Log files pathnames
502 log_file
503 This is the path of the Monitorix log file. Please check this
504 file periodically and especially after every update to confirm
505 proper operation.
506
507 If you leave this option blank or undefined Monitorix will log
508 using the standard file descriptors. This is specially useful on
509 systemd-based systems, you'll need to use the command journalctl
510 -u monitorix to see the logs.
511
512 Default value: /var/log/monitorix
513
514 secure_log
515 This is the path to the system log (also known as auth.log,
516 etc.) Monitorix uses this file to report SSH, POP3, FTP and Tel‐
517 net successful logins.
518
519 Default value: /var/log/secure
520
521 mail_log
522 This is the path to the mail log file. Monitorix uses this file
523 to report messages sent (supporting Sendmail and Postfix for‐
524 mats), and the MailScanner log format for spam-mail and virus-
525 mail alerts.
526
527 Default value: /var/log/maillog
528
529 milter_gl
530 This is the path to the dump file of milter-greylist.
531
532 Default value: /var/milter-greylist/greylist.db
533
534 imap_log
535 This is the path to the IMAP (Dovecot or UW-IMAP) log file. Mon‐
536 itorix uses this file to report IMAP and POP3 successful logins.
537
538 Default value: /var/log/imap
539
540 hylafax_log
541 This is the path to the Hylafax log file. Monitorix uses this
542 file to report successful FAX dispatches.
543
544 Default value: /var/spool/hylafax/etc/xferfaxlog
545
546 cups_log
547 This is the path to the CUPS page log file. Monitorix uses this
548 file to report on print jobs.
549
550 Default value: /var/log/cups/page_log
551
552 ftp_log
553 This is the path to the FTP server (ProFTPD, vsftpd or Pure-
554 FTPd) log. Monitorix uses this file to report FTP successful lo‐
555 gins and other FTP-related information.
556
557 Default value: /var/log/proftpd/access.log
558
559 fail2ban_log
560 This is the path to the Fail2ban log file. Monitorix uses this
561 file only if the option graph_mode has the value rate.
562
563 Default value: /var/log/fail2ban.log
564
565 spamassassin_log
566 This is the path to the Spamassassin log file. Monitorix uses
567 this file to report spam-mail alerts.
568
569 Default value: /var/log/maillog
570
571 clamav_log
572 This is the path to the Clamav log file. Monitorix uses this
573 file to report virus-mail alerts.
574
575 Default value: /var/log/clamav/clamav.log
576
577 cg_logdir
578 This is the path to the CommuniGate logs directory. Monitorix
579 uses these files to report the number of mail messages success‐
580 fully received and sent, and to report IMAP and POP3 successful
581 logins.
582
583 Default value: /var/CommuniGate/SystemLogs/
584
585 squid_log
586 This is the path to the Squid log file. Monitorix uses this file
587 to report on Squid Proxy requests.
588
589 Default value: /var/log/squid/access.log
590
591 imap_log_date_format
592 This is the Dovecot date format as it appears in the imap_log
593 file.
594
595 Default value: %b %d
596
597 secure_log_date_format
598 This is secure_log date format.
599
600 Default value: %b %e
601
602 Piwik tracking code
603 enabled
604 This enables the inclusion of the Piwik tracking code in the
605 main index.html file. Please refer to http://pi‐
606 wik.org/docs/tracking-api/ for more information on how to fill
607 these fields.
608
609 Default value: n
610
611 Enable or disable graphs
612 graph_enable
613 This enables or disables the monitoring of each graph. Placing a
614 y on a desired graph and restarting Monitorix will automatically
615 create the RRD file for that graph and start gathering informa‐
616 tion according to its settings.
617
618 System load average and usage (system.pm)
619 This graph shows information about system load average (classical UNIX
620 triplet), memory allocation, active processes (on Linux brought di‐
621 rectly from the /proc directory), entropy and the system uptime.
622
623 loadavg_enabled
624 This section enables or disables the alert capabilities for this
625 graph. Only the alert for the average CPU load is currently im‐
626 plemented. It works as follows:
627
628 This alert uses the minimum value between the second and the
629 third load averages (those that represent the last 5 and 15 min‐
630 utes), and if it reaches the loadavg_threshold value for the in‐
631 terval of time defined in loadavg_timeintvl, Monitorix will exe‐
632 cute the external alert script defined in loadavg_script.
633
634 The idea to use min(load5, load15) is to obtain a more symmetric
635 curve and a sooner cancellation of the alert.
636
637 The default Monitorix installation includes an example of a
638 shell-script alert called monitorix-alert.sh which you can use
639 as a base for your own script.
640
641 Default value: n
642
643 loadavg_timeintvl
644 This is the period of time (in seconds) that the threshold needs
645 to be exceeded before the external alert script is executed.
646
647 Default value: 3600
648
649 loadavg_threshold
650 This is the value that needs to be reached or exceeded within
651 the specified time period in loadavg_timeintvl to trigger the
652 mechanism for a particular action, which in this case is the ex‐
653 ecution of an external alert script.
654
655 The value of this option is compared against the last 15 minutes
656 of CPU load average.
657
658 Default value: 5.0
659
660 loadavg_script
661 This is the full path name of the script that will be executed
662 by this alert.
663
664 It will receive the following three parameters:
665
666 1st - the value currently defined in loadavg_timeintvl.
667 2nd - the value currently defined in loadavg_threshold.
668 3rd - the current 15min CPU load average.
669
670 Default value: /path/to/script.sh
671
672 time_unit
673 This is the unit in which will appear the values in the uptime
674 graph. Possible values are: minute, hour or day. It will default
675 to day even if none is specified.
676
677 Global kernel usage (kern.pm)
678 Note that the VFS graph is just informative of how the kernel is bal‐
679 ancing its tables. graph_mode
680 This changes the layout of the kernel usage graph, the possible
681 values are r for a real graph, or s for a stacked graph (every
682 line or area is stacked on top of the previous element).
683
684 Default value: r
685
686 list
687 This is the list of values offered in modern Linux kernels.
688 Older Linux kernels or other Operating Systems may not have all
689 of them. Placing a y or an n will enable or disable the value in
690 the graph.
691
692 Kernel usage per processor (proc.pm)
693 max
694 This is the number of processors or cores that your system has.
695 There is no limit, however keep in mind that every time this
696 number is changed Monitorix will resize the proc.rrd file ac‐
697 cordingly, removing all historical data.
698
699 Default value: 4
700
701 graphs_per_row
702 This is the number of processor graphs that will be put in a
703 row. Consider the interaction of this parameter with the size
704 and data options (below) in order to adjust the size and number
705 of graphs in relation to your horizontal screen size.
706
707 Default value: 2
708
709 size
710 This option sets the size of all processors graphs.
711
712 The possible values are:
713 main for 450x150 graphs.
714 medium for 325x150 graphs.
715 medium2 for 325x70 graphs.
716 small for 200x66 graphs.
717 mini for 183x66 graphs.
718 tiny for 110x40 graphs.
719
720 Default value: medium
721
722 DATA
723 This option will completely enable or disable the legend in the
724 processor graphs.
725
726 Default value: y
727
728 HP ProLiant System Health (hptemp.pm)
729 list
730 This list will hold the defined temperature sensors for each
731 graph. You must have installed the command hplog that comes with
732 HP ProLiant System Health Application and Command Line Utili‐
733 ties.
734
735 Each graph has a limited number of IDs:
736
737 graph_0 up to 8 IDs.
738 graph_1 up to 6 IDs.
739 graph_2 up to 6 IDs.
740
741 The following is a configuration example of selected IDs:
742
743 # hplog -t
744 ID TYPE LOCATION STATUS CURRENT THRESHOLD
745 1 Basic Sensor Ambient Normal 75F/ 24C 107F/ 42C
746 2 Basic Sensor CPU (1) Normal 104F/ 40C 179F/ 82C
747 3 Basic Sensor CPU (2) Normal ---F/---C 179F/ 82C
748 4 Basic Sensor Memory Board Normal ---F/---C 188F/ 87C
749 5 Basic Sensor Memory Board Normal 82F/ 28C 188F/ 87C
750 6 Basic Sensor Memory Board Normal ---F/---C 188F/ 87C
751 7 Basic Sensor System Board Normal 89F/ 32C 192F/ 89C
752 8 Basic Sensor System Board Normal ---F/---C 192F/ 89C
753 9 Basic Sensor System Board Normal 84F/ 29C 192F/ 89C
754 10 Basic Sensor System Board Normal 118F/ 48C 230F/110C
755 11 Basic Sensor System Board Normal 96F/ 36C 192F/ 89C
756 12 Basic Sensor System Board Normal 84F/ 29C 154F/ 68C
757 13 Basic Sensor System Board Normal 87F/ 31C 154F/ 68C
758 14 Basic Sensor System Board Normal 89F/ 32C 156F/ 69C
759 15 Basic Sensor System Board Normal 93F/ 34C 161F/ 72C
760 16 Basic Sensor Ambient Normal ---F/---C 192F/ 89C
761 17 Basic Sensor System Board Normal ---F/---C 192F/ 89C
762 18 Basic Sensor SCSI Backplane Normal 32F/ 0C 140F/ 60C
763
764 <list>
765 graph_0 = 2, 3
766 graph_1 = 1, 5, 18
767 graph_2 = 7, 9, 10, 11, 12, 13
768 </list>
769
770 alerts
771 This optional list enables the alert capabilities for this graph
772 and complements with the list option. Each alert has three
773 fields separated by comma: the time interval, the threshold and
774 the path to the script to be executed.
775
776 The time interval is the period of time (in seconds) that the
777 threshold needs to be exceeded before the external script is ex‐
778 ecuted.
779
780 The threshold is the temperature that needs to be reached or ex‐
781 ceeded within the specified time in time interval to execute the
782 external script.
783
784 The script is the full path name of the script that will be exe‐
785 cuted by this alert.
786
787 Each defined sensor has its own alert.
788
789 The default Monitorix installation includes an example of a
790 shell-script alert called monitorix-alert.sh which you can use
791 as a base for your own script.
792
793 The following is an example of an alert defined for the first
794 temperature sensor:
795
796 <alerts>
797 2 = 3600, 40, /path/to/script.sh
798 </alerts>
799
800 Such alert means that if the value of the sensor number 2
801 reaches or exceeds 40 during at least one hour (3600 seconds)
802 the script in /path/to/script.sh will be executed.
803
804 The external script will receive the following arguments:
805
806 1st - the value defined as time interval.
807 2nd - the value defined as threshold.
808 3rd - the value of the sensor.
809
810 LM-Sensors and GPU temperatures (lmsens.pm)
811 list
812 In this list you may specify the sensors you want to monitor
813 with the same names as they appear in your sensors(1) command.
814
815 For example, imagine a sensors(1) output like this:
816
817 # sensors
818 coretemp-isa-0000
819 Adapter: ISA adapter
820 Core 0: +51.0°C (high = +78.0°C, crit = +100.0°C)
821
822 coretemp-isa-0001
823 Adapter: ISA adapter
824 Core 1: +49.0°C (high = +78.0°C, crit = +100.0°C)
825
826 f71882fg-isa-0a00
827 Adapter: ISA adapter
828 3.3V: +3.30 V
829 Vcore: +1.21 V (max = +2.04 V)
830 Vdimm: +1.82 V
831 Vchip: +1.38 V
832 +5V: +5.00 V
833 12V: +14.37 V
834 5VSB: +4.33 V
835 3VSB: +3.30 V
836 Battery: +3.22 V
837 CPU: 2035 RPM
838 System: 1765 RPM ALARM
839 Power: 2110 RPM ALARM
840 Aux: 2080 RPM ALARM
841 M/B Temp: +36.00 C
842 CPU Temp: +29.00 C
843
844 Then you may want to configure that list as:
845
846 <list>
847 core0 = Core 0
848 core1 = Core 1
849 mb0 = M/B Temp
850 cpu0 = CPU Temp
851 fan0 = CPU
852 fan1 = System
853 fan2 = Power
854 fan3 = Aux
855 volt0 = 3.3V
856 volt1 = VCore
857 volt2 = Vdimm
858 volt3 = Vchip
859 volt4 = \+5V
860 volt5 = 12V
861 volt6 = 5VSB
862 volt7 = 3VSB
863 volt8 = Battery
864 gpu0 = nvidia
865 </list>
866
867 Note that you need to escape the plus and minus signs in the
868 voltage labels. It also recommended to enclose the values using
869 double quotes.
870
871 The Fan values can be prefixed with the words rpm: (optional) or
872 percent:. This will tell to Monitorix how to treat these values
873 in the graph and in the case of the later it will add the per‐
874 centage symbol (%) right after the value. Just like this:
875
876 <list>
877 fan0 = percent:Power
878 </LIST>
879
880 The last one, gpu0, is set here just in case you have a sup‐
881 ported graphics card and want to monitor its temperature. Cur‐
882 rently only NVIDIA and ATI graphic cards are supported; with the
883 values nvidia and ati respectively, and it requires the official
884 NVIDIA or ATI drivers.
885
886 If the temperature of your graphical card appears in the output
887 of lm_sensors, then you can tell Monitorix to use it instead of
888 using the official NVIDIA or ATI drivers. In that case, you need
889 to prefix with lmsensors: the name of the temperature value.
890 Just like this:
891
892 <list>
893 gpu0 = lmsensors:edge
894 </list>
895
896 This list has the following maximums allowed:
897
898 Up to 16 core keys (from core0 to core15).
899 Up to 2 mb keys (mb0 and mb1).
900 Up to 4 cpu keys (from cpu0 to cpu3).
901 Up to 9 fan keys (from fan0 to fan8).
902 Up to 12 volt keys (from volt0 to volt11).
903 Up to 9 gpu keys (from gpu0 to gpu8).
904
905 IMPORTANT NOTE: Sometimes the output of lm_sensors shows the
906 same exact names for different temperature values and so Moni‐
907 torix is unable to differentiate them. If you are under this
908 situation please check the issue #131
909 (https://github.com/mikaku/Monitorix/issues/131) to solve this
910 situation.
911
912 desc
913 This list complements the list option. It basically allows you
914 to change the name that will appear in the graph, hiding the
915 real name of the sensor. If no association is defined, then Mon‐
916 itorix will display the name of the key (left side) in the desc
917 option (in uppercase in some graphs).
918
919 <desc>
920 mb0 = M/B
921 fan0 = CPUFan
922 gpu0 = ATI
923 </desc>
924
925 Please note that in the default graph all names are limited to 5
926 characters in order to fit up to 9 different values. In the
927 zoomed graphs the limit is 8 characters.
928
929 alerts
930 This optional list enables the alert capabilities for this graph
931 and complements with the list option. Each alert has three
932 fields separated by comma: the time interval, the threshold and
933 the path to the script to be executed.
934
935 The time interval is the period of time (in seconds) that the
936 threshold needs to be exceeded before the external script is ex‐
937 ecuted.
938
939 The threshold is the temperature or volts, or whatever that
940 needs to be reached or exceeded within the specified time in
941 time interval to execute the external script.
942
943 The script is the full path name of the script that will be exe‐
944 cuted by this alert.
945
946 Each defined sensor has its own alert.
947
948 The default Monitorix installation includes an example of a
949 shell-script alert called monitorix-alert.sh which you can use
950 as a base for your own script.
951
952 The following is an example of an alert defined for the first
953 temperature sensor:
954
955 <alerts>
956 core0 = 3600, 40, /path/to/script.sh
957 </alerts>
958
959 Such alert means that if the value of the sensor core0 reaches
960 or exceeds 40 during at least one hour (3600 seconds) the script
961 in /path/to/script.sh will be executed.
962
963 The external script will receive the following arguments:
964
965 1st - the value defined as time interval.
966 2nd - the value defined as threshold.
967 3rd - the value of the sensor.
968
969 cmd
970 This is the command that will be used to gather statistics. This
971 option may also be used to add new sensors values not covered by
972 LM-Sensors by referencing an external script which executes the
973 command sensors and others.
974
975 Default value: sensors
976
977 Generic sensors statistics (gensens.pm)
978 This graph helps to monitor up to three (so far) different sensors:
979 temperatures, CPU frequencies and battery status which, depending of
980 your machine, they should appear in the /sys directory.
981
982 list
983 This is a list of an unlimited number of groups to define the
984 sensors to monitor. Each group is numbered starting from 0, and
985 each one can hold up to 9 different entries separated by comma
986 which corresponds to the names of the sensors present in your
987 computer that you want to monitor. This module is capable to
988 identify the type of the group by searching the substrings temp,
989 cpu, bat, pwr, fan, pct and byt, so it will put automatically
990 the vertical label in the graph accordingly (Celsius or Fahren‐
991 heit, Hz, Charge, Watts, RPM, Percent (%) and bytes respec‐
992 tively). Of course, it cannot supports mixed sensors in a same
993 group. For example, if you need to monitor more than 9 tempera‐
994 ture sensors just create a new group in list.
995
996 An example would be:
997
998 <list>
999 0 = temp0, temp1
1000 1 = cpu0, cpu1, cpu2, cpu3
1001 2 = bat0
1002 </list>
1003 title
1004 In this option you must associate a title with the group number
1005 specified in list. This is the title that will appear as the
1006 name of the graph. Following the settings in the example above:
1007
1008 <title>
1009 0 = Temperatures
1010 1 = CPU frequency
1011 2 = Battery status
1012 </title>
1013 desc
1014 In this option you must associate the complete pathname of the
1015 file from where to get the value of each entry defined in the
1016 list option. Following the settings in the example above:
1017
1018 <desc>
1019 temp0 = /sys/devices/virtual/thermal/ther‐
1020 mal_zone0/temp
1021 temp1 = /sys/devices/virtual/thermal/ther‐
1022 mal_zone1/temp
1023 cpu0 = /sys/devices/system/cpu/cpu0/cpufreq/scal‐
1024 ing_cur_freq
1025 cpu1 = /sys/devices/system/cpu/cpu1/cpufreq/scal‐
1026 ing_cur_freq
1027 cpu2 = /sys/devices/system/cpu/cpu2/cpufreq/scal‐
1028 ing_cur_freq
1029 cpu3 = /sys/devices/system/cpu/cpu3/cpufreq/scal‐
1030 ing_cur_freq
1031 bat0 = /sys/class/power_supply/BAT0/capacity
1032 </desc>
1033 unit
1034 With this option you can define the order of magnitude associ‐
1035 ated to a specific value. The value collected will be divided by
1036 the value defined here. For instance, the temperature sensors
1037 tend to give the value in 1000ths of degrees Celsius, something
1038 like 28300, which will need to be divided by 1000 to get the
1039 real temperature of 28.3. In the case of CPU frequencies the
1040 values come in Mhz which means that they need to be converted to
1041 Hz by dividing them by 0.001. Since the battery value represents
1042 a percentage, it doesn't need any special calculation. Therefore
1043 you can define something like this:
1044
1045 <unit>
1046 temp0 = 1000
1047 temp1 = 1000
1048 cpu0 = 0.001
1049 cpu1 = 0.001
1050 cpu2 = 0.001
1051 cpu3 = 0.001
1052 bat0 = 1
1053 </unit>
1054 map
1055 With this option you can optionally rename any of the sensor
1056 names defined in the list option. Following the above example:
1057
1058 <map>
1059 temp0 = Temperature Zone 0
1060 temp1 = Temperature Zone 1
1061 cpu0 = CPU0 frequency
1062 cpu1 = CPU1 frequency
1063 cpu2 = CPU2 frequency
1064 cpu3 = CPU3 frequency
1065 bat0 = Battery 0
1066 </map>
1067
1068 All names are limited to 20 characters.
1069
1070 alerts
1071 This optional list enables the alert capabilities for this graph
1072 and complements with the list option. Each alert has four fields
1073 separated by comma: the time interval, the threshold, the path
1074 to the script to be executed and when the alert must be trig‐
1075 gered. the last field is optional.
1076
1077 The time interval is the period of time (in seconds) that the
1078 threshold needs to be exceeded before the external script is ex‐
1079 ecuted.
1080
1081 The threshold is the value (temperature, Hz or battery charge)
1082 that needs to be reached or exceeded within the specified time
1083 in time interval to execute the external script. It can be spec‐
1084 ified as a unique value or as a range of two values separated by
1085 a dash.
1086
1087 The script is the full path name of the script that will be exe‐
1088 cuted by this alert.
1089
1090 The when value specifies when the alert must be triggered (above
1091 or below) the threshold, being above the default value when it's
1092 not specified. This forth parameter is only relevant when the
1093 threshold value is not a range.
1094
1095 Each defined sensor has its own alert.
1096
1097 The default Monitorix installation includes an example of a
1098 shell-script alert called monitorix-alert.sh which you can use
1099 as a base for your own script.
1100
1101 The following is an example of an alert defined for the first
1102 temperature sensor:
1103
1104 <alerts>
1105 temp0 = 3600, 40, /path/to/script.sh, above
1106 temp1 = 3600, 10, /path/to/script.sh, below
1107 temp2 = 3600, 40-60, /path/to/script.sh
1108 </alerts>
1109
1110 The first alert means that if the value of the sensor temp0 ex‐
1111 ceeds above 40 during at least one hour (3600 seconds) the
1112 script in /path/to/script.sh will be executed.
1113
1114 The second alert means that if the value of the sensor temp1 ex‐
1115 ceeds below 10 during at least one hour (3600 seconds) the
1116 script in /path/to/script.sh will be executed.
1117
1118 The third alert means that if the value of the sensor temp2 ex‐
1119 ceeds either below 40 or above of 60 during at least one hour
1120 (3600 seconds) the script in /path/to/script.sh will be exe‐
1121 cuted.
1122
1123 The external script will receive the following arguments:
1124
1125 1st - the value defined as time interval.
1126 2nd - the value defined as threshold.
1127 3rd - the value of the sensor.
1128 4th - the direction or when that alert was triggered by
1129 (above or below).
1130
1131 IPMI sensor statistics (ipmi.pm)
1132 This graph is able to monitor an unlimited number of IPMI sensors (tem‐
1133 peratures, fans and voltages).
1134
1135 list
1136 This is a comma-separated list that describes the groups of sen‐
1137 sors in desc. Put one description for each group. For every
1138 group specified you need to specify its sensors in the desc op‐
1139 tion.
1140
1141 WARNING: Every time the number of entries in this option
1142 changes, Monitorix will resize the ipmi.rrd file accordingly,
1143 removing all historical data.
1144
1145 An example would be:
1146
1147 list = Temperatures, Fans, Voltages
1148
1149 desc
1150 This is a list of sensors per group defined.
1151
1152 <desc>
1153 0 = CPU Temp, System Temp
1154 1 = FAN 1
1155 2 = Vcore, 3.3VCC, 12V, VDIMM, 5VCC, CPU VTT, VBAT, VSB,
1156 AVCC
1157 </desc>
1158
1159 The maximum number of sensors allowed for each group is 9.
1160
1161 units
1162 This is the type of sensor in each group. It's important to not
1163 mix different type of sensors in a same group. This value is in‐
1164 formative only, it's mostly used as a title for the y-axis in
1165 the graphs and should match with the output of the ipmitool com‐
1166 mand.
1167
1168 map
1169 This list complements the desc option. It basically allows you
1170 to change the name that will appear in the graph, hiding the
1171 real name of the sensor. If no association is defined, then Mon‐
1172 itorix will display the name specified in the desc option. Note,
1173 this only works in names that don't include whitespaces.
1174
1175 alerts
1176 This optional list enables the alert capabilities for this graph
1177 and complements with the desc option. Each alert has three
1178 fields separated by comma: the time interval, the threshold and
1179 the path to the script to be executed.
1180
1181 The time interval is the period of time (in seconds) that the
1182 threshold needs to be exceeded before the external script is ex‐
1183 ecuted.
1184
1185 The threshold is the temperature that needs to be reached or ex‐
1186 ceeded within the specified time in time interval to execute the
1187 external script.
1188
1189 The script is the full path name of the script that will be exe‐
1190 cuted by this alert.
1191
1192 Each defined sensor has its own alert.
1193
1194 The default Monitorix installation includes an example of a
1195 shell-script alert called monitorix-alert.sh which you can use
1196 as a base for your own script.
1197
1198 The following is an example of an alert defined for the first
1199 temperature sensor:
1200
1201 <alerts>
1202 CPU_Temp = 3600, 40, /path/to/script.sh
1203 </alerts>
1204
1205 Notice that the spaces in the sensor's name must be con‐
1206 verted to underscores, since a variable can hold spaces
1207 in its name.
1208
1209 Such alert means that if the value of the sensor CPU_Temp
1210 reaches or exceeds 40 during at least one hour (3600 seconds)
1211 the script in /path/to/script.sh will be executed.
1212
1213 The external script will receive the following arguments:
1214
1215 1st - the value defined as time interval.
1216 2nd - the value defined as threshold.
1217 3rd - the value of the sensor.
1218
1219 graphs_per_row
1220 This is the number of graphs that will be put in a row.
1221
1222 Default value: 2
1223 use_nan_for_missing_data
1224 This option, when enabled via y, shows an values for missing
1225 data instead of . This is useful when could be mistaken for
1226 valid data.
1227
1228 Default value: n
1229 gap_on_all_nan
1230 This option, when enabled via y, combined with the show_gaps op‐
1231 tion shows gaps only if all data points are nan instead of re‐
1232 quiring only one to be nan for a gap. This can be useful if not
1233 all sensor data are required for normal operation.
1234
1235 Default value: n
1236 extra_args
1237 This option includes any extra argument to the ipmitool command
1238 executed by Monitorix, which is "ipmitool <extra_args> sdr".
1239 This is specially useful if you need to monitor a remote server.
1240 An example would be:
1241
1242 extra_args = -H <remote_ip> -U root -P <password>
1243
1244 Default value: none
1245
1246 Ambient sensor statistics (ambsens.pm)
1247 This graph is able to monitor an unlimited number of ambient sensors
1248 (temperatures, humidity, barometer, etc.).
1249
1250 list
1251 This is a comma-separated list that describes the type of sen‐
1252 sors in desc. Put one description for each type. For every type
1253 specified you need to specify its sensors in the desc option.
1254 Each one most be referenced as a numeric value starting from
1255 zero in the desc option. There you will define all the sensors
1256 than come with that type of sensor.
1257
1258 WARNING: Every time the number of entries in this option
1259 changes, Monitorix will resize the ambsens.rrd file accordingly,
1260 removing all historical data.
1261
1262 An example would be:
1263
1264 list = Ambient temperature, Humidity
1265
1266 desc
1267 This is a list of sensors per type defined. The name is irrele‐
1268 vant.
1269
1270 <desc>
1271 0 = at1, at2, at3
1272 1 = h0
1273 </desc>
1274
1275 The maximum number of sensors allowed for each type is 9.
1276
1277 units
1278 This is the class of sensor for each type. It's important to not
1279 mix different type of sensors in a same group. This value is in‐
1280 formative only, it's mostly used as a title for the y-axis in
1281 the graphs.
1282
1283 cmd
1284 This list complements the desc option. It basically allows you
1285 to associate a script or program (which may include arguments)
1286 that will be executed to retrieve the value for each sensor.
1287
1288 map
1289 This list complements the desc option. It basically allows you
1290 to change the name that will appear in the graph, hiding the
1291 real name of the sensor. If no association is defined, then Mon‐
1292 itorix will display the name specified in the desc option. Note,
1293 this only works in names that don't include whitespaces.
1294
1295 alerts
1296 This optional list enables the alert capabilities for this graph
1297 and complements with the list option. Each alert has four fields
1298 separated by comma: the time interval, the threshold, the path
1299 to the script to be executed and when the alert must be trig‐
1300 gered. the last field is optional.
1301
1302 The time interval is the period of time (in seconds) that the
1303 threshold needs to be exceeded before the external script is ex‐
1304 ecuted.
1305
1306 The threshold is the value (temperature, etc.) that needs to be
1307 reached or exceeded within the specified time in time interval
1308 to execute the external script. It can be specified as a unique
1309 value or as a range of two values separated by a dash.
1310
1311 The script is the full path name of the script that will be exe‐
1312 cuted by this alert.
1313
1314 The when value specifies when the alert must be triggered (above
1315 or below) the threshold, being above the default value when it's
1316 not specified. This forth parameter is only relevant when the
1317 threshold value is not a range.
1318
1319 Each defined sensor has its own alert.
1320
1321 The default Monitorix installation includes an example of a
1322 shell-script alert called monitorix-alert.sh which you can use
1323 as a base for your own script.
1324
1325 The following is an example of an alert defined for the first
1326 temperature sensor:
1327
1328 <alerts>
1329 temp0 = 3600, 40, /path/to/script.sh, above
1330 temp1 = 3600, 10, /path/to/script.sh, below
1331 temp2 = 3600, 40-60, /path/to/script.sh
1332 </alerts>
1333
1334 The first alert means that if the value of the sensor temp0 ex‐
1335 ceeds above 40 during at least one hour (3600 seconds) the
1336 script in /path/to/script.sh will be executed.
1337
1338 The second alert means that if the value of the sensor temp1 ex‐
1339 ceeds below 10 during at least one hour (3600 seconds) the
1340 script in /path/to/script.sh will be executed.
1341
1342 The third alert means that if the value of the sensor temp2 ei‐
1343 ther exceeds below 40 or above of 60 during at least one hour
1344 (3600 seconds) the script in /path/to/script.sh will be exe‐
1345 cuted.
1346
1347 The external script will receive the following arguments:
1348
1349 1st - the value defined as time interval.
1350 2nd - the value defined as threshold.
1351 3rd - the value of the sensor.
1352 4th - the direction or when that alert was triggered by
1353 (above or below).
1354
1355 graphs_per_row
1356 This is the number of graphs that will be put in a row.
1357
1358 Default value: 2
1359 scientific_notation
1360 This is an option to enable scientific notation for the current
1361 value in the legend.
1362
1363 Default value: n
1364 show_average
1365 This is an option to show also average, minimum and maximum val‐
1366 ues in the legend
1367
1368 Default value: n
1369
1370 AMD GPU temperatures and usage (amdgpu.pm)
1371 This graph is able to monitor an unlimited number of AMD GPUs as long
1372 as the driver provides a hwmon interface. Usually it is not guaranteed
1373 to always get the same hwmon path so it is advised to assign fixed
1374 links via udev rules.
1375
1376 list
1377 This is a list of groups of GPUs that you want to monitor. Each
1378 group will become a graph and there may be an unlimited number
1379 of groups. You can define device names like amd-w6800.
1380
1381 WARNING: Every time the number of groups in this option changes,
1382 Monitorix will resize the amdgpu.rrd file accordingly, removing
1383 all historical data.
1384
1385 To collect the GPU temperatures and usage data the hwmon subsys‐
1386 tem is used.
1387
1388 It is recommended that you first check if the hwmon subsystem is
1389 able to provide data from the GPU(s) that you plan to monitor.
1390 For example check /sys/class/hwmon/hwmon1 for available sensors.
1391
1392 You can add it to the group 0 like this:
1393
1394 <list>
1395 0 = amd-w6800, amd-rx6900
1396 1 = amd-wx5100
1397 </list>
1398
1399 The maximum number of GPUs allowed per group is 8.
1400
1401 sensors
1402 This list specifies the sensor locations in absolute paths. If a
1403 certain card does not have a specific sensor you leave the entry
1404 empty instead (/path/sensor_file1, , /path/sensor_file2). The
1405 order has to be: GPU busy percent, memory busy percent, GPU
1406 clock, memory clock, memory used, power consumption, power
1407 limit, fan pwm value, GPU temperature, junction temperature,
1408 memory temperature. Power consumption and limit will be shown in
1409 one plot.
1410
1411 <sensors>
1412 amd-rx6900 = /dev/amd-rx6900/device/gpu_busy_per‐
1413 cent, /dev/amd-rx6900/device/mem_busy_percent, /dev/amd-
1414 rx6900/freq1_input, /dev/amd-rx6900/freq2_input,
1415 /dev/amd-rx6900/device/mem_info_vram_used, /dev/amd-
1416 rx6900/power1_average, /dev/amd-rx6900/power1_cap,
1417 /dev/amd-rx6900/pwm1, /dev/amd-rx6900/temp1_input,
1418 /dev/amd-rx6900/temp2_input, /dev/amd-rx6900/temp3_input
1419 amd-wx5100 = /dev/amd-wx5100/device/gpu_busy_per‐
1420 cent, /dev/amd-wx5100/device/mem_busy_percent, /dev/amd-
1421 wx5100/freq1_input, /dev/amd-wx5100/freq2_input,
1422 /dev/amd-wx5100/device/mem_info_vram_used, /dev/amd-
1423 wx5100/power1_average, /dev/amd-wx5100/power1_cap,
1424 /dev/amd-wx5100/pwm1, /dev/amd-wx5100/temp1_input, ,
1425 </sensors>
1426
1427 map
1428 This list complements the list option. It basically allows you
1429 to change the GPU name that will appear in the graph, hiding the
1430 real device name. If no association is defined, then Monitorix
1431 will display the name of the GPU device as it is.
1432
1433 <map>
1434 amd-w6800 = W 6800
1435 amd-rx6900 = RX 6900
1436 </map>
1437
1438 desc
1439 This list complements the list option. It basically allows you
1440 to include a title for every group of GPUs. The title will ap‐
1441 pear in the title of the graph.
1442
1443 <desc>
1444 0 = Host
1445 1 = Virtual
1446 </desc>
1447
1448 coretemp_enabled
1449 This section enables or disables one of the alert capabilities
1450 for this graph; the alert for the core temperature. It works as
1451 follows:
1452
1453 If the core temperature of any of the specified GPU device names
1454 reaches or subceeds the coretemp_threshold (the interval of time
1455 is not used here), Monitorix will execute the external alert
1456 script defined in coretemp_script.
1457
1458 The default Monitorix installation includes an example of a
1459 shell-script alert called monitorix-alert.sh which you can use
1460 as a base for your own script.
1461
1462 Default value: n
1463
1464 coretemp_timeintvl
1465 Not used in this alert.
1466
1467 Default value: 0
1468
1469 coretemp_threshold
1470 This is the value that needs to be reached or subceeded to trig‐
1471 ger the mechanism for a particular action, which in this case is
1472 the execution of an external alert script.
1473
1474 Default value: 10
1475
1476 coretemp_script
1477 This is the full path name of the script that will be executed
1478 by this alert.
1479
1480 It will receive the following three parameters:
1481
1482 1st - the value currently defined in coretemp_timeintvl.
1483 2nd - the value currently defined in coretemp_threshold.
1484 3rd - the current core temperature.
1485
1486 Default value: /path/to/script.sh
1487
1488 memorytemp_enabled
1489 This section enables or disables one of the alert capabilities
1490 for this graph; the alert for the memory temperature. It works
1491 as follows:
1492
1493 If the memory temperature of any of the specified GPU names
1494 reaches or exceeds the memorytemp_threshold (the interval of
1495 time is not used here), Monitorix will execute the external
1496 alert script defined in memorytemp_script.
1497
1498 The default Monitorix installation includes an example of a
1499 shell-script alert called monitorix-alert.sh which you can use
1500 as a base for your own script.
1501
1502 Default value: n
1503
1504 memorytemp_timeintvl
1505 Not used in this alert.
1506
1507 Default value: 0
1508
1509 memorytemp_threshold
1510 This is the value that needs to be reached or exceeded to trig‐
1511 ger the mechanism for a particular action, which in this case is
1512 the execution of an external alert script.
1513
1514 Default value: 90
1515
1516 memorytemp_script
1517 This is the full path name of the script that will be executed
1518 by this alert.
1519
1520 It will receive the following three parameters:
1521
1522 1st - the value currently defined in memorytemp_timeintvl.
1523 2nd - the value currently defined in memorytemp_threshold.
1524 3rd - the current memory temperature.
1525
1526 Default value: /path/to/script.sh
1527
1528 accept_invalid_amdgpu
1529 During the init stage this graph verifies that every defined de‐
1530 vice name does exist in the system. If not, then the graph dis‐
1531 ables itself.
1532
1533 This option changes this behaviour and permits to continue work‐
1534 ing even if the device names defined doesn't exist. Keep in mind
1535 that you will continue seeing error messages in the logfile.
1536
1537 Default value: n
1538
1539 show_current_values
1540
1541 Print current values in the legend of the small righthand plots.
1542
1543 Default value: n
1544
1545 use_nan_for_missing_data
1546 This option, when enabled via y, shows an values for missing
1547 data instead of . This is useful when could be mistaken for
1548 valid data.
1549
1550 Default value: n
1551
1552 gap_on_all_nan
1553 This option, when enabled via y, combined with the show_gaps op‐
1554 tion shows gaps only if all data points are nan instead of re‐
1555 quiring only one to be nan for a gap. This can be useful if not
1556 all sensor data are required for normal operation.
1557
1558 Default value: n
1559
1560 NVIDIA GPU temperatures and usage (nvidiagpu.pm)
1561 This graph is able to monitor an unlimited number of Nvidia GPUs via
1562 nvidia-smi.
1563
1564 list
1565 This is a list of groups of GPUs that you want to monitor. Each
1566 group will become a graph and there may be an unlimited number
1567 of groups.
1568
1569 WARNING: Every time the number of groups in this option changes,
1570 Monitorix will resize the nvidiagpu.rrd file accordingly, remov‐
1571 ing all historical data.
1572
1573 As identifier you can either use the GPU ID or the GPU UUID
1574 found via nvidia-smi --list-gpus. You can add it to the group 0
1575 like this:
1576
1577 <list>
1578 0 = 0, GPU-531b3e21-2fa4-1254-1215-2361f2d345ef
1579 1 = 2
1580 </list>
1581
1582 The maximum number of GPUs allowed per group is 8.
1583
1584 map
1585 This list complements the list option. It basically allows you
1586 to change the GPU name that will appear in the graph, hiding the
1587 real device name. If no association is defined, then Monitorix
1588 will display the name of the GPU device as it is.
1589
1590 <map>
1591 0 = RTX 3090
1592 GPU-531b3e21-2fa4-1254-1215-2361f2d345ef = RTX 3080
1593 2 = RTX 3080 Ti
1594 </map>
1595
1596 desc
1597 This list complements the list option. It basically allows you
1598 to include a title for every group of GPUs. The title will ap‐
1599 pear in the title of the graph.
1600
1601 <desc>
1602 0 = Host
1603 1 = Virtual
1604 </desc>
1605
1606 coretemp_enabled
1607 This section enables or disables one of the alert capabilities
1608 for this graph; the alert for the core temperature. It works as
1609 follows:
1610
1611 If the core temperature of any of the specified GPU device names
1612 reaches or subceeds the coretemp_threshold (the interval of time
1613 is not used here), Monitorix will execute the external alert
1614 script defined in coretemp_script.
1615
1616 The default Monitorix installation includes an example of a
1617 shell-script alert called monitorix-alert.sh which you can use
1618 as a base for your own script.
1619
1620 Default value: n
1621
1622 coretemp_timeintvl
1623 Not used in this alert.
1624
1625 Default value: 0
1626
1627 coretemp_threshold
1628 This is the value that needs to be reached or subceeded to trig‐
1629 ger the mechanism for a particular action, which in this case is
1630 the execution of an external alert script.
1631
1632 Default value: 10
1633
1634 coretemp_script
1635 This is the full path name of the script that will be executed
1636 by this alert.
1637
1638 It will receive the following three parameters:
1639
1640 1st - the value currently defined in coretemp_timeintvl.
1641 2nd - the value currently defined in coretemp_threshold.
1642 3rd - the current core temperature.
1643
1644 Default value: /path/to/script.sh
1645
1646 memorytemp_enabled
1647 This section enables or disables one of the alert capabilities
1648 for this graph; the alert for the memory temperature. It works
1649 as follows:
1650
1651 If the memory temperature of any of the specified GPU names
1652 reaches or exceeds the memorytemp_threshold (the interval of
1653 time is not used here), Monitorix will execute the external
1654 alert script defined in memorytemp_script.
1655
1656 The default Monitorix installation includes an example of a
1657 shell-script alert called monitorix-alert.sh which you can use
1658 as a base for your own script.
1659
1660 Default value: n
1661
1662 memorytemp_timeintvl
1663 Not used in this alert.
1664
1665 Default value: 0
1666
1667 memorytemp_threshold
1668 This is the value that needs to be reached or exceeded to trig‐
1669 ger the mechanism for a particular action, which in this case is
1670 the execution of an external alert script.
1671
1672 Default value: 90
1673
1674 memorytemp_script
1675 This is the full path name of the script that will be executed
1676 by this alert.
1677
1678 It will receive the following three parameters:
1679
1680 1st - the value currently defined in memorytemp_timeintvl.
1681 2nd - the value currently defined in memorytemp_threshold.
1682 3rd - the current memory temperature.
1683
1684 Default value: /path/to/script.sh
1685
1686 show_current_values
1687
1688 Print current values in the legend of the small righthand plots.
1689
1690 Default value: n
1691
1692 use_nan_for_missing_data
1693 This option, when enabled via y, shows an values for missing
1694 data instead of . This is useful when could be mistaken for
1695 valid data.
1696
1697 Default value: n
1698
1699 gap_on_all_nan
1700 This option, when enabled via y, combined with the show_gaps op‐
1701 tion shows gaps only if all data points are nan instead of re‐
1702 quiring only one to be nan for a gap. This can be useful if not
1703 all sensor data are required for normal operation.
1704
1705 Default value: n
1706
1707 NVIDIA temperatures and usage (nvidia.pm)
1708 This graph requires to have installed the official NVIDIA drivers.
1709
1710 max
1711 This is the number of NVIDIA cards currently plugged in your
1712 system.
1713
1714 The maximum allowed is 9.
1715
1716 Default value: 1
1717
1718 Disk drive temperatures and health (disk.pm)
1719 This graph is able to monitor an unlimited number of disk drives.
1720
1721 list
1722 This is a list of groups of disk drives that you want to moni‐
1723 tor. Each group will become a graph and there may be an unlim‐
1724 ited number of groups. You can define device names or paths to
1725 devices like /dev/disk/by-path/pci-0000:00:11.0-scsi-0:0:0:0.
1726
1727 WARNING: Every time the number of groups in this option changes,
1728 Monitorix will resize the disk.rrd file accordingly, removing
1729 all historical data.
1730
1731 To collect the disk drive temperatures and health the smartmon‐
1732 tools or the hddtemp command are required. Depending on the disk
1733 model reading smart values will wake up the disk and reset the
1734 sleep timer. To avoid waking them up set respect_standby = y but
1735 they still won't got to sleep automatically.
1736
1737 It is recommended that you first check if either smartctl(8) or
1738 hddtemp are able to collect data from the disk drive(s) that you
1739 plan to monitor. You may test this with the following command:
1740
1741 # hddtemp /dev/sda
1742 /dev/sda: WDC WD1600AABS-00M1A0: 48°C
1743
1744 If you see good results as above, you can add it to the group 0
1745 like this:
1746
1747 <list>
1748 0 = /dev/sda, /dev/disk/by-
1749 path/pci-0000:00:11.0-scsi-0:0:0:0
1750 1 = /dev/sdc, /dev/sdd
1751 </list>
1752
1753 The maximum number of disk device names allowed per group is 8.
1754
1755 map
1756 This list complements the list option. It basically allows you
1757 to change the disk name that will appear in the graph, hiding
1758 the real device name. If no association is defined, then Moni‐
1759 torix will display the name of the disk as it is.
1760
1761 <map>
1762 /dev/sda = "system disk"
1763 pci-0000:00:11.0-scsi-0:0:0:0 = "data disk"
1764 </map>
1765
1766 desc
1767 This list complements the list option. It basically allows you
1768 to include a title for every group of disk drives. The title
1769 will appear in the bottom of the graph.
1770
1771 <desc>
1772 0 = Local disks
1773 1 = Remote disks
1774 </desc>
1775
1776 realloc_enabled
1777 This section enables or disables one of the alert capabilities
1778 for this graph; the alert for the number of reallocated sectors
1779 in disk. It works as follows:
1780
1781 If the number of reallocated sectors in any of the specified
1782 disk device names reaches the realloc_threshold (the interval of
1783 time is not used here), Monitorix will execute the external
1784 alert script defined in realloc_script.
1785
1786 The default Monitorix installation includes an example of a
1787 shell-script alert called monitorix-alert.sh which you can use
1788 as a base for your own script.
1789
1790 Default value: n
1791
1792 realloc_timeintvl
1793 Not used in this alert.
1794
1795 Default value: 0
1796
1797 realloc_threshold
1798 This is the value that needs to be reached or exceeded to trig‐
1799 ger the mechanism for a particular action, which in this case is
1800 the execution of an external alert script.
1801
1802 Default value: 1
1803
1804 realloc_script
1805 This is the full path name of the script that will be executed
1806 by this alert.
1807
1808 It will receive the following three parameters:
1809
1810 1st - the value currently defined in realloc_timeintvl.
1811 2nd - the value currently defined in realloc_threshold.
1812 3rd - the current number of reallocated sectors.
1813
1814 Default value: /path/to/script.sh
1815
1816 pendsect_enabled
1817 This section enables or disables one of the alert capabilities
1818 for this graph; the alert for the number of current pending sec‐
1819 tors (or bad sectors) in disk. It works as follows:
1820
1821 If the number of current pending sectors in any of the specified
1822 disk device names reaches the pendsect_threshold (the interval
1823 of time is not used here), Monitorix will execute the external
1824 alert script defined in pendsect_script.
1825
1826 The default Monitorix installation includes an example of a
1827 shell-script alert called monitorix-alert.sh which you can use
1828 as a base for your own script.
1829
1830 Default value: n
1831
1832 pendsect_timeintvl
1833 Not used in this alert.
1834
1835 Default value: 0
1836
1837 pendsect_threshold
1838 This is the value that needs to be reached or exceeded to trig‐
1839 ger the mechanism for a particular action, which in this case is
1840 the execution of an external alert script.
1841
1842 Default value: 1
1843
1844 pendsect_script
1845 This is the full path name of the script that will be executed
1846 by this alert.
1847
1848 It will receive the following three parameters:
1849
1850 1st - the value currently defined in pendsect_timeintvl.
1851 2nd - the value currently defined in pendsect_threshold.
1852 3rd - the current number of pending sectors.
1853
1854 Default value: /path/to/script.sh
1855
1856 accept_invalid_disk
1857 During the init stage this graph verifies that every defined de‐
1858 vice name does exist in the system. If not, then the graph dis‐
1859 ables itself.
1860
1861 This option changes this behavior and permits to continue work‐
1862 ing even if the device names defined doesn't exist. Keep in mind
1863 that you will continue seeing error messages in the logfile.
1864
1865 Default value: n
1866
1867 respect_standby
1868 This option, when enabled via y, won't wake up disks if they are
1869 already in standby but also won't report new smart during
1870 standby.
1871
1872 Default value: n
1873
1874 use_nan_for_missing_data
1875 This option, when enabled via y, shows an values for missing
1876 data instead of . This is useful when could be mistaken for
1877 valid data.
1878
1879 Default value: n
1880
1881 gap_on_all_nan
1882 This option, when enabled via y, combined with the show_gaps op‐
1883 tion shows gaps only if all data points are nan instead of re‐
1884 quiring only one to be nan for a gap. This can be useful if not
1885 all sensor data are required for normal operation.
1886
1887 Default value: n
1888
1889 NVME drive temperatures and health (nvme.pm)
1890 This graph is able to monitor an unlimited number of nvme drives.
1891
1892 list
1893 This is a list of groups of nvme drives that you want to moni‐
1894 tor. Each group will become a graph and there may be an unlim‐
1895 ited number of groups. You can define device names or paths to
1896 devices like /dev/nvme0.
1897
1898 WARNING: Every time the number of groups in this option changes,
1899 Monitorix will resize the nvme.rrd file accordingly, removing
1900 all historical data.
1901
1902 To collect the nvme drive temperatures and health the smartmon‐
1903 tools command are required.
1904
1905 It is recommended that you first check if smartctl(8) is able to
1906 collect data from the nvme drive(s) that you plan to monitor.
1907 You may test this with the following command:
1908
1909 # smartctl -A /dev/nvme0
1910 === START OF SMART DATA SECTION ===
1911 SMART/Health Information (NVMe Log 0x02)
1912 Critical Warning: 0x00
1913 Temperature: 32 Celsius
1914 Available Spare: 100%
1915 Available Spare Threshold: 10%
1916 Percentage Used: 0%
1917 Data Units Read: 15,134,801 [7.74 TB]
1918 Data Units Written: 11,639,110 [5.95 TB]
1919 Host Read Commands: 108,213,874
1920 Host Write Commands: 84,023,019
1921 Controller Busy Time: 819
1922 Power Cycles: 94
1923 Power On Hours: 701
1924 Unsafe Shutdowns: 15
1925 Media and Data Integrity Errors: 0
1926 Error Information Log Entries: 0
1927 Warning Comp. Temperature Time: 0
1928 Critical Comp. Temperature Time: 0
1929 Temperature Sensor 1: 32 Celsius
1930 Temperature Sensor 2: 35 Celsius
1931
1932 If you see good results as above, you can add it to the group 0
1933 like this:
1934
1935 <list>
1936 0 = /dev/nvme0, /dev/nvme1
1937 1 = /dev/nvme2
1938 </list>
1939
1940 The maximum number of nvme device names allowed per group is 8.
1941
1942 map
1943 This list complements the list option. It basically allows you
1944 to change the nvme drive name that will appear in the graph,
1945 hiding the real device name. If no association is defined, then
1946 Monitorix will display the name of the nvme drive as it is.
1947
1948 <map>
1949 /dev/nvme = "system disk"
1950 pci-0000:00:11.0-scsi-0:0:0:0 = "data disk"
1951 </map>
1952
1953 desc
1954 This list complements the list option. It basically allows you
1955 to include a title for every group of nvme drives. The title
1956 will appear in the bottom of the graph.
1957
1958 <desc>
1959 0 = Individual drives
1960 1 = RAID
1961 </desc>
1962
1963 availspare_enabled
1964 This section enables or disables one of the alert capabilities
1965 for this graph; the alert for the normalized percentage (0 to
1966 100%) of the remaining spare capacity available. It works as
1967 follows:
1968
1969 If the percentage of available spare space in any of the speci‐
1970 fied nvme device names reaches or subceeds the avails‐
1971 pare_threshold (the interval of time is not used here), Moni‐
1972 torix will execute the external alert script defined in avails‐
1973 pare_script.
1974
1975 The default Monitorix installation includes an example of a
1976 shell-script alert called monitorix-alert.sh which you can use
1977 as a base for your own script.
1978
1979 Default value: n
1980
1981 availspare_timeintvl
1982 Not used in this alert.
1983
1984 Default value: 0
1985
1986 availspare_threshold
1987 This is the value that needs to be reached or subceeded to trig‐
1988 ger the mechanism for a particular action, which in this case is
1989 the execution of an external alert script.
1990
1991 Default value: 10
1992
1993 availspare_script
1994 This is the full path name of the script that will be executed
1995 by this alert.
1996
1997 It will receive the following three parameters:
1998
1999 1st - the value currently defined in availspare_timeintvl.
2000 2nd - the value currently defined in availspare_threshold.
2001 3rd - the current percentage number of available spare space.
2002
2003 Default value: /path/to/script.sh
2004
2005 percentused_enabled
2006 This section enables or disables one of the alert capabilities
2007 for this graph; the alert for the the percentage of NVM subsys‐
2008 tem life used based on the actual usage and the manufacturer's
2009 prediction of NVM life. It works as follows:
2010
2011 If the life percentage used in any of the specified nvme device
2012 names reaches or exceeds the percentused_threshold (the interval
2013 of time is not used here), Monitorix will execute the external
2014 alert script defined in percentused_script.
2015
2016 The default Monitorix installation includes an example of a
2017 shell-script alert called monitorix-alert.sh which you can use
2018 as a base for your own script.
2019
2020 Default value: n
2021
2022 percentused_timeintvl
2023 Not used in this alert.
2024
2025 Default value: 0
2026
2027 percentused_threshold
2028 This is the value that needs to be reached or exceeded to trig‐
2029 ger the mechanism for a particular action, which in this case is
2030 the execution of an external alert script.
2031
2032 Default value: 90
2033
2034 percentused_script
2035 This is the full path name of the script that will be executed
2036 by this alert.
2037
2038 It will receive the following three parameters:
2039
2040 1st - the value currently defined in percentused_timeintvl.
2041 2nd - the value currently defined in percentused_threshold.
2042 3rd - the current number of life percentage used.
2043
2044 Default value: /path/to/script.sh
2045
2046 accept_invalid_nvme
2047 During the init stage this graph verifies that every defined de‐
2048 vice name does exist in the system. If not, then the graph dis‐
2049 ables itself.
2050
2051 This option changes this behavior and permits to continue work‐
2052 ing even if the device names defined doesn't exist. Keep in mind
2053 that you will continue seeing error messages in the logfile.
2054
2055 Default value: n
2056
2057 show_extended_plots
2058
2059 Show additional plots for total bytes written, media errors and
2060 unsafe shutdowns.
2061
2062 Default value: y
2063
2064 show_current_values
2065
2066 Print current values in the legend of the small righthand plots.
2067
2068 Default value: n
2069
2070 use_nan_for_missing_data
2071 This option, when enabled via y, shows an values for missing
2072 data instead of . This is useful when could be mistaken for
2073 valid data.
2074
2075 Default value: n
2076
2077 gap_on_all_nan
2078 This option, when enabled via y, combined with the show_gaps op‐
2079 tion shows gaps only if all data points are nan instead of re‐
2080 quiring only one to be nan for a gap. This can be useful if not
2081 all sensor data are required for normal operation.
2082
2083 Default value: n
2084
2085 Filesystem usage and I/O activity (fs.pm)
2086 This graph is able to monitor an unlimited number of filesystems.
2087
2088 list
2089 This is a list of groups of mounted filesystems that you want to
2090 monitor. Each group will become a graph and there may be an un‐
2091 limited number of groups.
2092
2093 WARNING: Every time the number of groups in this option changes,
2094 Monitorix will resize the fs.rrd file accordingly, removing all
2095 historical data.
2096
2097 Take special care to use the same name as appears in the output
2098 of the df(1) command (the swap device is a special case). An ex‐
2099 ample would be:
2100
2101 <list>
2102 0 = /, swap, boot, home, /mnt/backup
2103 </list>
2104
2105 The maximum number of filesystems allowed per group is 8.
2106
2107 desc
2108 This list complements the list option. It basically allows you
2109 to change the name that will appear in the graph, hiding the
2110 real name of the mount point. If no association is defined, then
2111 Monitorix will display the name specified in the list option.
2112
2113 <desc>
2114 / = Root FS
2115 /home = My Home
2116 /mnt/backup = Backups
2117 </desc>
2118
2119 You can define as much entries as you want.
2120
2121 devmap
2122 This optional list complements the list option. When Monitorix
2123 is started, and in order to be able to show I/O activity, it at‐
2124 tempts to detect the mapping of devices specified in list, as
2125 defined in the df command output column "Mounted on". In the
2126 event that devices are not detected by Monitorix, the devmap op‐
2127 tion shall be used to manually define them, according to the un‐
2128 derlying OS:
2129
2130 Linux (kernel > 2.4)
2131 <devmap> device must match a device listed in the
2132 "/proc/diskstats" file.
2133
2134 Linux (kernel <= 2.4)
2135 <devmap> is not used, but because something is de‐
2136 fined in <devmap>, Monitorix will extract
2137 "disk_io" lines from the "/proc/stat" file.
2138
2139 FreeBSD
2140 <devmap> device recognized by the output of "io‐
2141 stat -xI <dev>" command.
2142
2143 OpenBSD and NetBSD
2144 <devmap> is not used, but because something is de‐
2145 fined in <devmap>, Monitorix will use the output
2146 of "iostat -DI" command.
2147
2148 Just an example:
2149 <devmap>
2150 /mnt/home = dm-1
2151 /mnt/backup = cciss/c0d2p6
2152 </devmap>
2153
2154 You can define as much entries as you want.
2155
2156 alerts
2157 This optional list enables the alert capabilities for this graph
2158 and complements with the list option. Each alert has three
2159 fields separated by comma: the time interval, the threshold and
2160 the path to the script to be executed.
2161
2162 The time interval is the period of time (in seconds) that the
2163 threshold needs to be exceeded before the external script is ex‐
2164 ecuted.
2165
2166 The threshold is the percentage of disk space used in the file
2167 system that needs to be reached or exceeded within the specified
2168 time in time interval to execute the external script.
2169
2170 The script is the full path name of the script that will be exe‐
2171 cuted by this alert.
2172
2173 Each defined filesystem has its own alert.
2174
2175 The default Monitorix installation includes an example of a
2176 shell-script alert called monitorix-alert.sh which you can use
2177 as a base for your own script.
2178
2179 The following is an example of an alert defined for the root
2180 filesystem:
2181
2182 <alerts>
2183 / = 3600, 98, /path/to/script.sh
2184 </alerts>
2185
2186 Such alert means that if the percentage of disk space used in
2187 the root filesystem reaches or exceeds 98 (more than 98) during
2188 at least one hour (3600 seconds) the script in
2189 /path/to/script.sh will be executed.
2190
2191 The external script will receive the following arguments:
2192
2193 1st - the value defined as time interval.
2194 2nd - the value defined as threshold.
2195 3rd - the filesystem disk usage.
2196
2197 ZFS statistics (zfs.pm)
2198 This graph is able to monitor an unlimited number of pools.
2199
2200 max_pools
2201 This is the maximum number of pools that you can define in list.
2202 There is no limit to the number of pools monitored, but keep in
2203 mind that every time this number changes, Monitorix will resize
2204 the zfs.rrd file accordingly, removing all historical data.
2205
2206 Default value: 5
2207
2208 list
2209 This is a comma-separated list of pool names. The number of pool
2210 names defined here can't be greater than the number defined in
2211 max_pools.
2212
2213 Directory usage statistics (du.pm)
2214 This graph is able to monitor the usage of an unlimited number of di‐
2215 rectories.
2216
2217 IMPORTANT NOTE: The du command makes intensive disk I/O access that
2218 might slow down the whole system. Moreover, continued executions of
2219 this command will affect the buffer cache mechanism and this will also
2220 increase the system response time. To reduce executions refresh_inter‐
2221 val can be specified in seconds (Use 0 for default refresh interval).
2222
2223 list
2224 This is a comma-separated list that describes the groups of di‐
2225 rectories in desc. Put one description for each group. For every
2226 group specified you need to specify its directories in the desc
2227 option.
2228
2229 WARNING: Every time the number of entries in this option
2230 changes, Monitorix will resize the du.rrd file accordingly, re‐
2231 moving all historical data.
2232
2233 An example would be:
2234
2235 list = System, Users
2236
2237 desc
2238 This is a list of directories per group defined.
2239
2240 <desc>
2241 0 = /var/spool/mail, /var/spool/mqueue, /etc, /var/ftp,
2242 /tmp
2243 1 = /home/ace, /home/gene, /home/paul, /home/peter
2244 </desc>
2245
2246 The maximum number of directories allowed for each group is 9.
2247
2248 type
2249 This specifies the information that will be presented for each
2250 directory specified in each list. It accepts two possible val‐
2251 ues:
2252
2253 size for the directory size (which is the default op‐
2254 tion).
2255 files for the number of files inside the directory.
2256
2257 An example would be:
2258
2259 <type>
2260 0 = size
2261 1 = files
2262 </type>
2263
2264 dirmap
2265 This list complements the desc option. It basically allows you
2266 to change the name that will appear in the graph, hiding the
2267 real name of the directory. If no association is defined, then
2268 Monitorix will display the name specified in the desc option.
2269
2270 graphs_per_row
2271 This is the number of graphs that will be put in a row.
2272
2273 Default value: 2
2274
2275 extra_args
2276 This option includes any extra argument to the du command exe‐
2277 cuted by Monitorix, which is "du -ks". This is specially useful
2278 if you want to skip directories on different file systems, in
2279 this case just define this option like this:
2280
2281 extra_args = "-x"
2282
2283 IMPORTANT NOTICE: Keep in mind that including certain flags like
2284 '-h' (which gives results in human readable format) could make
2285 Monitorix unable to interpret the results.
2286
2287 refresh_interval
2288 Refresh interval in seconds. This is an option to reduce the ex‐
2289 ecution of the du command and undesired side effects caused by
2290 this. Default value 0 means normal refresh with all other plots.
2291 Besides the default meaningful values are from 60 to 86400.
2292 Keep in mind that changing the refresh_interval is possible
2293 without loosing history but changing the interval to a smaller
2294 one will introduce gaps in the data at the transition point.
2295
2296 Default value: 0
2297
2298 Network traffic and usage (net.pm)
2299 max
2300 This is the maximum number of network interfaces that you can
2301 define in list. There is no limit, but keep in mind that every
2302 time this number changes, Monitorix will resize the net.rrd file
2303 accordingly, removing all historical data.
2304
2305 Default value: 10
2306
2307 list
2308 This is a comma-separated list of network interfaces that you
2309 may want to monitor. An example would be:
2310
2311 list = eth0, eth1
2312
2313 desc
2314 This is the option where each network interface specified in
2315 list is described. Each definition consists of three parameters
2316 separated by comma: the description of the interface and the
2317 rigid and limit values.
2318
2319 Put one description for each interface listed. An example would
2320 be:
2321
2322 <desc>
2323 eth0 = FastEthernet LAN, 0, 1000
2324 eth1 = ADSL 10Mbs Internet, 0, 1000
2325 </desc>
2326
2327 gateway
2328 This is where the network interface that acts as the gateway for
2329 this server is defined. This is mainly used if you plan to moni‐
2330 tor network traffic usage of your devices/networks using the
2331 traffacct graph below.
2332
2333 Netstat statistics (netstat.pm)
2334 This graph shows the state of the all IPv4 and IPv6 network connec‐
2335 tions.
2336
2337 Only the command to be used can be set here, besides the limit and
2338 rigid values.
2339
2340 cmd
2341 This is the command that will be used to gather statistics.
2342 There are two possible values:
2343
2344 ss
2345 netstat
2346
2347 Default value: ss
2348
2349 Tinyproxy statistics (tinyproxy.pm)
2350 This graph is able to monitor an unlimited number of Tinyproxy instal‐
2351 lations.
2352
2353 list
2354 This is a comma-separated list of URLs of Tinyproxys.
2355
2356 WARNING: Every time the number of entries in this option
2357 changes, Monitorix will resize the tinyproxy.rrd file accord‐
2358 ingly, removing all historical data.
2359
2360 Default value: http://your.proxy.com/
2361
2362 desc
2363 This list complements the list option, it defines the URL from
2364 where Monitorix must gather the statistics for each Tinyproxy
2365 defined.
2366
2367 An example of this option would be:
2368
2369 <desc>
2370 http://your.proxy.com = http://tinyproxy.stats
2371 </desc>
2372
2373 show_url
2374 If set to y Monitorix will show the original URL of each
2375 Tinyproxy at the bottom of the graph. For security reasons you
2376 may want to hide this information.
2377
2378 Default value: y
2379
2380 Traffic Control statistics (tc.pm)
2381 This graph is able to monitor an unlimited number of network interfaces
2382 managed by the tc command.
2383
2384 list
2385 This is a comma-separated list of network interfaces that you
2386 may want to monitor. An example would be:
2387
2388 list = eth0, eth1
2389
2390 desc
2391 This is the option where you define the queue disciplines you
2392 want to monitor for each network interface specified in list.
2393
2394 An example would be:
2395
2396 <desc>
2397 eth0 = cbq 1, sfq 10, sfq 20, sfq 30, ingress ffff
2398 eth1 = htb 1, pfifo 20, pfifo 21, pfifo 22
2399 </desc>
2400
2401 The maximum number of qdiscs allowed is 9.
2402
2403 map
2404 This option complements the desc option. It basically allows you
2405 to change the name of the qdiscs that will appear in the graphs.
2406 If no association is defined, then Monitorix will show the name
2407 as specified in the desc option.
2408
2409 Since the qdisc names have the space character in their names,
2410 they can't be used as the key in the association, instead you
2411 must the use their position number (starting by 0) in the desc
2412 option.
2413
2414 An example would be:
2415
2416 <map>
2417 <eth0>
2418 0 = Class Based Queueing
2419 1 = Stochastic Fairness Queueing 10
2420 </eth0>
2421 <eth1>
2422 0 = Hierarchical Token Bucket
2423 </eth1>
2424 </map>
2425
2426 Libvirt statistics (libvirt.pm)
2427 This graph is able to monitor an unlimited number of virtual machines
2428 managed by Libvirt.
2429
2430 cmd
2431 This is the command that will be used to gather statistics from
2432 each virtual machine listed in list.
2433
2434 Default value: virsh
2435
2436 An example would be:
2437
2438 cmd = virsh -r -c qemu:///session
2439
2440 list
2441 This is a list of groups of virtual machines that you want to
2442 monitor. Each group will become a graph and there may be an un‐
2443 limited number of groups.
2444
2445 WARNING: Every time the number of groups in this option changes,
2446 Monitorix will resize the libvirt.rrd file accordingly, removing
2447 all historical data.
2448
2449 An example would be:
2450
2451 <list>
2452 0 = centos6, winxp
2453 </list>
2454
2455 The maximum number of virtual machines allowed per group is 8.
2456
2457 desc
2458 This list complements the list option and is mandatory for every
2459 virtual machine listed. You must define the virtual block device
2460 and the MAC address of the virtual network device that you want
2461 to monitor for every virtual machine. Just like this:
2462
2463 <desc>
2464 centos6 = CentOS 6, vda, 52:54:00:45:d0:e7
2465 winxp = MS Windows XP, hda, 52:54:00:97:1c:e5
2466 </desc>
2467
2468 You might also define this list using sections for each virtual
2469 machine, this way you'll be able to define multiple disks and
2470 multiple network interfaces for each virtual machine. Just like
2471 this:
2472
2473 <desc>
2474 <centos6>
2475 desc = "CentOS 6"
2476 disk = vda, vdb, vdc
2477 net = 52:54:00:45:d0:e7, 52:54:00:45:d0:e8
2478 </centos6>
2479 </desc>
2480
2481 To obtain all these values you might want to use the following
2482 commands:
2483
2484 # virsh domblklist centos6
2485 Target Source
2486 ------------------------------------------------
2487 vda /home/jordi/kvm/centos6.img
2488 hdc -
2489
2490 # virsh domiflist centos6
2491 Interface Type Source Model MAC
2492 -------------------------------------------------------
2493 vnet3 network default virtio 52:54:00:45:d0:e7
2494
2495 This option also allows you to change the name that will appear
2496 in the graph, hiding the real name of the virtual machine. If no
2497 association is defined, then Monitorix will display the name
2498 specified in the list option.
2499
2500 Process statistics (process.pm)
2501 This graph is able to monitor an unlimited number of processes. This
2502 graph requires a Linux kernel version 2.6.20 at least to support
2503 process I/O accounting. Some systems with older kernels might also have
2504 been ported it though.
2505
2506 list
2507 This is a list of groups of processes that you want to monitor.
2508 Each group will become a graph and there may be an unlimited
2509 number of groups.
2510
2511 WARNING: Every time the number of groups in this option changes,
2512 Monitorix will resize the process.rrd file accordingly, removing
2513 all historical data.
2514
2515 Monitorix uses the following command to find the processes
2516 listed in this option:
2517
2518 # ps -eo pid,comm,command
2519
2520 Therefore names in the process list can be either exactly to the
2521 process name as it appears in the comm columns, or just a sub‐
2522 string of the process name that appears in the command column.
2523
2524 An example of this option would be:
2525
2526 <list>
2527 0 = httpd, sshd, ntpd, mysqld, proftpd, clamd, imap,
2528 sendmail, named, bash
2529 </list>
2530
2531 The maximum number of processes allowed per group is 10.
2532
2533 desc
2534 This list complements the list option. It basically allows you
2535 to change the name that will appear in the graph, hiding the
2536 real name of the process. If no association is defined, then
2537 Monitorix will display the name specified in the list option.
2538
2539 <desc>
2540 httpd = Apache
2541 imap = Dovecot
2542 named = Bind
2543 </desc>
2544
2545 You can define as much entries as you want.
2546
2547 time_unit
2548 This is the unit in which will appear the values in the uptime
2549 graph. Possible values are: minute, hour or day. It will default
2550 to day even if none is specified.
2551
2552 System services demand (serv.pm)
2553 This graph requires either MailScanner or amavisd-new mail scanners in
2554 order to account spam and virus emails.
2555
2556 mode
2557 This option toggles the way the System Services Demand data is
2558 represented in the graph. There are two possible values:
2559
2560 i for incremental style.
2561 l for load (peaks) style.
2562
2563 Default value: i
2564
2565 Mail statistics (mail.pm)
2566 This graph requires either MailScanner or amavisd-new mail scanners in
2567 order to account spam and virus emails. Spamassassin and Clamav an‐
2568 tivirus are also used for spam and virus email accounting.
2569
2570 mta
2571 This option specifies the MTA that Monitorix will use to collect
2572 mail statistics. The currently supported MTAs are:
2573 Sendmail
2574 Postfix
2575 Exim
2576
2577 NOTE: the pflogsumm utility is required when using the Postfix
2578 MTA.
2579
2580 Default value: sendmail
2581
2582 greylist
2583 This option specifies the Greylisting implementation that Moni‐
2584 torix will use to collect statistical information.
2585
2586 The currently supported Greylisting software is:
2587 milter-greylist
2588 postgrey
2589
2590 In the case of milter-greylist, Monitorix shows the same data
2591 that appears at the end of the file greylist.db.
2592
2593 In the case of Postgrey, Monitorix reads the mail_log file and
2594 searches for a specific type of lines. Lines of type "ac‐
2595 tion=greylist, reason=new" appear as Greylisted in the graph.
2596 Lines of type "action=greylist, reason=early-retry" appear as
2597 Delayed in the graph. Lines of type "action=pass, reason=triplet
2598 found" appear as Passed in the graph. And finally, lines of type
2599 "action=pass, reason=client whitelist" appear as Whitelisted in
2600 the graph.
2601
2602 Default value: milter-greylist
2603
2604 stats_rate
2605 This option only affects the Mail Statistics and the Greylisting
2606 graphs, and it specifies the rate in which the values are saved
2607 and shown. This option has two possible values:
2608 real
2609 per_second
2610
2611 If it's set to its default value (real), it will show the mes‐
2612 sages as in a 'per minute' rate. Since Monitorix collects data
2613 on every minute, this should be the preferred way to see the re‐
2614 sults.
2615
2616 In the other hand, and in order to keep backwards compatibility,
2617 if this option is missing in the configuration file, it will act
2618 as if it was set up as per_second, which means that the number
2619 of messages collected in each minute will be divided by 60.
2620
2621 Default value: real
2622
2623 delvd_enabled
2624 This section enables or disables one of the alert capabilities
2625 for this graph; the alert for the number of delivered messages.
2626 It works as follows:
2627
2628 If the number of delivered messages reaches the delvd_threshold
2629 value for the interval of time defined in delvd_timeintvl, Moni‐
2630 torix will execute the external alert script defined in
2631 delvd_script.
2632
2633 The default Monitorix installation includes an example of a
2634 shell-script alert called monitorix-alert.sh which you can use
2635 as a base for your own script.
2636
2637 Default value: n
2638
2639 delvd_timeintvl
2640 This is the period of time (in seconds) that the threshold needs
2641 to be exceeded before the external alert script is executed.
2642
2643 Default value: 60
2644
2645 delvd_threshold
2646 This is the value that needs to be reached or exceeded within
2647 the specified time period in delvd_timeintvl to trigger the
2648 mechanism for a particular action, which in this case is the ex‐
2649 ecution of an external alert script.
2650
2651 The value of this option is compared against the number of de‐
2652 livered messages since the last delvd_timeintvl seconds.
2653
2654 Default value: 100
2655
2656 delvd_script
2657 This is the full path name of the script that will be executed
2658 by this alert.
2659
2660 It will receive the following three parameters:
2661
2662 1st - the value currently defined in delvd_timeintvl.
2663 2nd - the value currently defined in delvd_threshold.
2664 3rd - the number of delivered messages.
2665
2666 Default value: /path/to/script.sh
2667
2668 mqueued_enabled
2669 This section enables or disables one of the alert capabilities
2670 for this graph; the alert for the number of queued messages. It
2671 works as follows:
2672
2673 If the number of queued messages reaches the mqueued_threshold
2674 value for the interval of time defined in mqueued_timeintvl,
2675 Monitorix will execute the external alert script defined in
2676 mqueued_script.
2677
2678 The default Monitorix installation includes an example of a
2679 shell-script alert called monitorix-alert.sh which you can use
2680 as a base for your own script.
2681
2682 Default value: n
2683
2684 mqueued_timeintvl
2685 This is the period of time (in seconds) that the threshold needs
2686 to be exceeded before the external alert script is executed.
2687
2688 Default value: 3600
2689
2690 mqueued_threshold
2691 This is the value that needs to be reached or exceeded within
2692 the specified time period in mqueued_timeintvl to trigger the
2693 mechanism for a particular action, which in this case is the ex‐
2694 ecution of an external alert script.
2695
2696 The value of this option is compared with the number of messages
2697 in the mail queue.
2698
2699 Default value: 100
2700
2701 mqueued_script
2702 This is the full path name of the script that will be executed
2703 by this alert.
2704
2705 It will receive the following three parameters:
2706
2707 1st - the value currently defined in mqueued_timeintvl.
2708 2nd - the value currently defined in mqueued_threshold.
2709 3rd - the number of messages in the mail queue.
2710
2711 Default value: /path/to/script.sh
2712
2713 Network port traffic (port.pm)
2714 This graph requires the iptables(8) command and optionally the ip6ta‐
2715 bles(8) command on Linux systems and the ipfw command on *BSD systems.
2716
2717 max
2718 This is the number of network ports that you want to monitor.
2719 There is no limit to the number of ports monitored, but keep in
2720 mind that every time this number changes, Monitorix will resize
2721 the port.rrd file accordingly, removing all historical data.
2722
2723 Default value: 9
2724
2725 rule
2726 This is the rule number that Monitorix will use when using the
2727 ipfw command to manage network port activity on *BSD systems.
2728 Change it if you think it might conflict with any other rule
2729 number.
2730
2731 Default value: 24000
2732
2733 list
2734 You may define here up to max network port numbers. If you need
2735 to monitor the same network port with TCP and UDP protocols, you
2736 can add your own suffix to the port number (e.g: 443t and 443u)
2737 in order to distinguish it from the double definition in the
2738 <desc> block. It also support port ranges (e.g: 49152:65534) to
2739 be able to monitor the traffic of a number of consecutive ports
2740 summarized on a unique graph.
2741
2742 If you see a red color in the background of a network port
2743 graph, it means that there is not a daemon listening on that
2744 port. This can be useful to know if some service gone down unex‐
2745 pectedly. Of course, this is only valid on a single port, not
2746 ranged ports.
2747
2748 desc
2749 This is the option where each network port specified in list is
2750 described. Each port definition consists of six parameters sepa‐
2751 rated by comma:
2752 - an small port description.
2753 - the network protocol (tcp or udp).
2754 - the connection type (in, out or in/out).
2755 - the rigid value.
2756 - the limit value.
2757 - the L optional option which specifies that this port
2758 should be listening and Monitorix will advice it, by
2759 changing the background color of the graph to red, if
2760 finds it down. This option has no effect on ranged ports.
2761
2762 There is also support (Linux only) for IPv6 network ports activ‐
2763 ity by using protocol names as tcp6 or udp6.
2764
2765 An example would be:
2766 list = 25, 25ip6, 80, 53t, 53u, 49152:65534
2767 <desc>
2768 25 = SMTP, tcp, in/out, 0, 1000, L
2769 25ip6 = SMTP, tcp6, in/out, 0, 1000, L
2770 80 = HTTP, tcp, in, 0, 1000, L
2771 53t = DNS, tcp, in, 0, 1000, L
2772 53u = DNS, udp, in, 0, 1000, L
2773 49152:65534 = FTP_PSV, tcp, in, 0, 1000
2774 </desc>
2775
2776 As you can see, you cannot use the same port number twice. In‐
2777 stead, you must distinguish it with some suffix. Monitorix will
2778 automatically extract all the first numeric digits, and will use
2779 that value as the network port number.
2780
2781 graphs_per_row
2782 This is the number of graphs that will be put in a row. Consider
2783 the interaction of this parameter with the max option in order
2784 to adjust the size and number of graphs in relation to your hor‐
2785 izontal screen size.
2786
2787 Default value: 3
2788
2789 size
2790 This is the size of the graphs of the ports. It currently ac‐
2791 cepts up to 8 different size names: main, medium, medium2,
2792 small, mini, tiny, zoom and remote. You can check the resolution
2793 of each size in the configuration file, inside the list named
2794 graph_size.
2795
2796 Default value: mini
2797
2798 cmd
2799 This option is used only under Linux systems. It is intended to
2800 define the command (with or without its complete path) that will
2801 be used to test if the network port is down (not listening).
2802 Currently there are only two possible values:
2803
2804 ss
2805 netstat
2806
2807 Default value: ss
2808
2809 Users using the system (user.pm)
2810 Only the limit and rigid values can be set here.
2811
2812 FTP statistics (ftp.pm)
2813 This graph supports currently ProFTPD, vsftpd and Pure-FTPd log file
2814 formats.
2815
2816 For best results with the ProFTPD server I recommend to add the follow‐
2817 ing line in its configuration file:
2818
2819 ExtendedLog /var/log/proftpd/access.log AUTH,DIRS,READ,WRITE
2820
2821 For best results with the vsftpd server I recommend to setup the option
2822 xferlog_std_format to NO, and the option ftp_log to /var/log/vs‐
2823 ftpd.log.
2824
2825 Pure-FTPd users might want to consider using the system syslog logfile.
2826
2827 server
2828 This option specifies the FTP server. The currently supported
2829 FTP servers are:
2830 ProFTPD
2831 vsftpd
2832 Pure-FTPd
2833
2834 Default value: proftpd
2835
2836 anon_user
2837 This option lists the different names (separated by comma) that
2838 can adopt the Anonymous user in the FTP server defined in
2839 server.
2840
2841 Default value: anonymous, ftp
2842
2843 Apache statistics (apache.pm)
2844 This graph requires that mod_status be loaded and ExtendedStatus option
2845 set to On in order to collect full status information of the Apache web
2846 server.
2847
2848 This graph is able to monitor an unlimited number of local and remote
2849 Apache web servers.
2850
2851 list
2852 This is a comma-separated list of URLs of the monitored Apache
2853 web servers.
2854
2855 WARNING: Every time the number of entries in this option
2856 changes, Monitorix will resize the apache.rrd file accordingly,
2857 removing all historical data.
2858
2859 Default value: http://localhost/server-status?auto
2860
2861 alerts
2862 This optional list enables the alert capabilities for this graph
2863 and complements with the list option. Each alert has three
2864 fields separated by comma: the time interval, the threshold and
2865 the path to the script to be executed.
2866
2867 The time interval is the period of time (in seconds) that the
2868 threshold needs to be exceeded before the external script is ex‐
2869 ecuted.
2870
2871 The threshold is the number of remaining free slots that needs
2872 to be reached or exceeded within the specified time in time in‐
2873 terval to execute the external script.
2874
2875 The script is the full path name of the script that will be exe‐
2876 cuted by this alert.
2877
2878 Each defined Apache has its own alert.
2879
2880 The default Monitorix installation includes an example of a
2881 shell-script alert called monitorix-alert.sh which you can use
2882 as a base for your own script.
2883
2884 The following is an example of an alert defined for the local
2885 Apache:
2886
2887 <alerts>
2888 http://localhost/server-status?auto = 3600, 5,
2889 /path/to/script.sh
2890 </alerts>
2891
2892 Such alert means that if the remaining free slots reaches or ex‐
2893 ceeds 5 (less than 5) during at least one hour (3600 seconds)
2894 the script in /path/to/script.sh will be executed.
2895
2896 The external script will receive the following arguments:
2897
2898 1st - the value defined as time interval.
2899 2nd - the value defined as threshold.
2900 3rd - the remaining free slots.
2901
2902 Nginx statistics (nginx.pm)
2903 This graph may require adding some lines in the configuration file ng‐
2904 inx.conf. Please see the README.nginx file to determine the exact steps
2905 needed to configure Nginx to get status information.
2906
2907 This graph requires the iptables(8) command on Linux systems, and the
2908 ipfw command on *BSD systems.
2909
2910 url
2911 This is the URL to be used to collect Nginx stats.
2912
2913 Default value: http://localhost/nginx_status
2914
2915 port
2916 This is the network port the Nginx web server is listening on.
2917 It will be used for traffic (with iptables), and for nginx_sta‐
2918 tus if url is not specified. If port of nginx_status is differ‐
2919 ent from port then specify it in the url (http://host:port/ng‐
2920 inx_status)
2921
2922 Default value: 80
2923
2924 rule
2925 This is the rule number that Monitorix will use when using the
2926 ipfw command to manage Nginx network activity on *BSD systems.
2927 Change it if you think it might conflict with any other rule
2928 number.
2929
2930 Default value: 24100
2931
2932 cmd
2933 This is the command that will be used to test if the Nginx web
2934 server is down (not listening). There are two possible values:
2935
2936 ss
2937 netstat
2938
2939 Default value: ss
2940
2941 Lighttpd statistics (lighttpd.pm)
2942 This graph requires that mod_status is loaded in order to collect sta‐
2943 tus information from the Lighttpd web server.
2944
2945 This graph is able to monitor an unlimited number of local and remote
2946 Lighttpd web servers.
2947
2948 list
2949 This is a comma-separated list of URLs of the monitored Lighttpd
2950 web servers.
2951
2952 WARNING: Every time the number of entries of this option
2953 changes, Monitorix will resize the lighttpd.rrd file accord‐
2954 ingly, removing all historical data.
2955
2956 Default value: http://localhost/server-status?auto
2957
2958 MySQL statistics (mysql.pm)
2959 This graph requires that you create a password protected MySQL user
2960 that is NOT granted privileges on any DB.
2961
2962 Example:
2963
2964 mysql> CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';
2965 mysql> FLUSH PRIVILEGES;
2966
2967 where user is the new user name and password is the password that will
2968 be used for that user.
2969
2970 This graph is able to monitor an unlimited number of local and remote
2971 MySQL web servers.
2972
2973 NOTE: It is strongly recommended that you restart the MySQL service in
2974 order to avoid high peaks that could prevent correct display of the
2975 first plotted data.
2976
2977 conn_type
2978 This option toggles the way how Monitorix establishes the con‐
2979 nection with the MySQL server. There are two possible values:
2980
2981 host using the network (hostname and IP address).
2982 socket using a socket file.
2983
2984 Default value: host
2985
2986 list
2987 This is a comma-separated list of hostnames or path to sockets
2988 of MySQL servers.
2989
2990 WARNING: Every time the number of entries of this option change
2991 Monitorix will resize the mysql.rrd file accordingly, removing
2992 all historical data.
2993
2994 Default value: localhost
2995
2996 desc
2997 This is the option where each entry specified in the list is de‐
2998 scribed. Each definition consists of three parameters separated
2999 by comma: the port, the username and the password.
3000
3001 An example using the host type would be:
3002 <desc>
3003 localhost = 3306, user, secret
3004 </desc>
3005
3006 When using the socket type the network port is, of course, ir‐
3007 relevant but its field is still mandatory. This means that you
3008 must respect the three comma-separated values.
3009
3010 Some of the values shown in the graphs are the result of a cal‐
3011 culation of two values from either SHOW [GLOBAL] STATUS or SHOW
3012 VARIABLES. The following is an explanation of them:
3013
3014 Thread Cache Hit Rate
3015 (1 - (Threads_created / Connections)) * 100
3016 When an application connects to a MySQL database, the database
3017 has to create a thread to manage the connection and the queries
3018 that will be sent in that connection. The database instructs the
3019 kernel to create a new thread, and the kernel allocates re‐
3020 sources and creates the thread, then returns it to the MySQL
3021 service. When the connection is terminated by the application,
3022 MySQL tells the kernel to destroy the thread and free the re‐
3023 sources. This create/destroy mechanism causes considerable over‐
3024 head if the MySQL server has many new connections per second.
3025 If MySQL doesn't destroy the thread when the connection is ter‐
3026 minated, but reuses it and assigns it to the next connection
3027 then this will decrease the kernel overhead. This is why a high
3028 Thread Cache Hit Rate improves MySQL performance and decreases
3029 the system's CPU usage.
3030 Setting the parameter thread_cache_size in the my.cnf file ac‐
3031 cordingly will help to correctly balance between having a great
3032 thread cache and keeping MySQL memory consumption reasonable.
3033 Higher is better.
3034
3035 Query Cache Hit Rate
3036 Qcache_hits / (Qcache_hits + Com_select) * 100
3037 Higher should be considered better.
3038 A query cache size increase is recommended if the query cache
3039 usage is very close to 100% and the query cache hit rate is far
3040 from 100%. But sometimes a size increase will not lead to a bet‐
3041 ter hit rate: this means that the increase was not needed and
3042 that the application do not run enough cacheable SELECT queries.
3043 This value should grow proportionally with the number of exe‐
3044 cuted queries as long as the query cache is performing well.
3045 Please also have a look at the Query cache usage percentage to
3046 know if your query_cache configuration is appropriate.
3047
3048 For more information please refer to http://www.databasejour‐
3049 nal.com/features/mysql/article.php/3808841/Optimizing-the-MySQL-
3050 Query-Cache.htm
3051
3052 Query Cache Usage
3053 (1 - (Qcache_free_memory / query_cache_size)) * 100
3054 This value should be reasonably far from 100%, otherwise con‐
3055 sider incrementing the query_cache_size parameter in my.cnf.
3056
3057 Connections Usage
3058 (Max_used_connections / max_connections) * 100
3059 This value should be reasonably far from 100%, otherwise con‐
3060 sider incrementing the max_connections parameter in my.cnf.
3061
3062 Key Buffer Usage
3063 (Key_blocks_used / (Key_blocks_used + Key_blocks_unused)) * 100
3064 This value should be reasonably far from 100%, otherwise con‐
3065 sider incrementing the key_buffer_size parameter in my.cnf.
3066
3067 InnoDB Buffer Pool Usage
3068 (1 - (Innodb_buffer_pool_pages_free / Innodb_buf‐
3069 fer_pool_pages_total)) * 100
3070 This value should be reasonably far from 100%, otherwise con‐
3071 sider incrementing the innodb_buffer_pool_size parameter in
3072 my.cnf.
3073
3074 Temp. Tables To Disk
3075 (Created_temp_disk_tables / Created_temp_disk_tables + Cre‐
3076 ated_temp_tables)) * 100
3077 During operation, MySQL has to create some temporary tables
3078 (that can be explicit, so created by the web application, or im‐
3079 plicit, so for example MySQL has to create one when he runs some
3080 "SELECT DISTINCT", "UNION" or "VIEW" queries). MySQL will prefer
3081 to save this tmp tables to memory, for a fast access. But if
3082 tmp_table_size gets saturated, he has to write them on the disk
3083 instead, making the access slower.
3084 Note that if you modify the value of tmp_table_size in the MySQL
3085 configuration file, you should also modify the value of
3086 max_heap_table_size as well, since both values should have the
3087 same value because MySQL uses the minimum of both, so raising
3088 one of them is useless.
3089 Therefore this value helps to know how many tmp tables go to the
3090 disk instead than to the memory. Keep in mind that some large
3091 queries, involving TEXT and BLOB columns, are directly written
3092 to the disk instead than to the memory, because they would be
3093 too big. So you probably will want to avoid having a high % of
3094 tmp tables written to the disk, but you will never reach 0% on a
3095 big site, and this is fine.
3096 Lower is better ... but 0% is not reachable and you should not
3097 try to reach it, usually.
3098
3099 PostgreSQL statistics (pgsql.pm)
3100 This graph is able to monitor an unlimited number of PostgreSQL
3101 servers.
3102
3103 list
3104 This is a comma-separated list of names of PostgreSQL servers.
3105
3106 WARNING: Every time the number of entries in this option
3107 changes, Monitorix will resize the pgsql.rrd file accordingly,
3108 removing all historical data.
3109
3110 Default value: localhost
3111
3112 desc
3113 This is a list of blocks of names specified in the list option.
3114
3115 <desc>
3116 <localhost>
3117 host = localhost
3118 port = 5432
3119 username = user
3120 password = secret
3121 db_list =
3122 </localhost>
3123 </desc>
3124
3125 host
3126 This is the hostname or IP address of the PostgreSQL server name
3127 specified in its block.
3128
3129 Default value: localhost
3130
3131 port
3132 This is the port number of the PostgreSQL server name specified
3133 in its block.
3134
3135 Default value: 5432
3136
3137 username
3138 This is the username for authentication of the PostgreSQL server
3139 name specified in its block.
3140
3141 password
3142 This is the password for authentication of the PostgreSQL server
3143 name specified in its block.
3144
3145 db_list
3146 This is a comma-separated list of up to 9 databases that will be
3147 monitored in the PostgreSQL server name specified in its block.
3148
3149 MongoDB statistics (mongodb.pm)
3150 This graph is able to monitor an unlimited number of MongoDB servers.
3151
3152 list
3153 This is a comma-separated list of names of MongoDB servers.
3154
3155 WARNING: Every time the number of entries in this option
3156 changes, Monitorix will resize the mongodb.rrd file accordingly,
3157 removing all historical data.
3158
3159 Default value: localhost
3160
3161 max_db
3162 This is the maximum number of databases to be monitored in a
3163 MongoDB server. There is no limitation, just specify here the
3164 number of entries of the db_list option that has the most en‐
3165 tries.
3166
3167 WARNING: Every time the number of entries in this option
3168 changes, Monitorix will resize the mongodb.rrd file accordingly,
3169 removing all historical data.
3170
3171 Default value: 1
3172
3173 desc
3174 This is a list of blocks of names specified in the list option.
3175
3176 <desc>
3177 <localhost>
3178 host = 127.0.0.1
3179 db_list = mydb
3180 </localhost>
3181 </desc>
3182
3183 host
3184 This is the hostname or IP address of the MongoDB server speci‐
3185 fied in its block.
3186
3187 Default value: 127.0.0.1
3188
3189 port
3190 This is the port number of the MongoDB server specified in its
3191 block.
3192
3193 Default value:
3194
3195 username
3196 This is the username for authentication of the MongoDB server
3197 specified in its block.
3198
3199 password
3200 This is the password for authentication of the MongoDB server
3201 specified in its block.
3202
3203 db_list
3204 This is a comma-separated list of databases to be monitored of
3205 the MongoDB server specified in its block.
3206
3207 Default value: mydb
3208
3209 Varnish cache statistics (varnish.pm)
3210 This graph monitors a local installation of the Varnish HTTP accelera‐
3211 tor.
3212
3213 Only the limit and rigid values can be set here.
3214
3215 PageSpeed Module statistics (pagespeed.pm)
3216 This graph is able to monitor an unlimited number of PageSpeed instal‐
3217 lations.
3218
3219 list
3220 This is a comma-separated list of URLs of PageSpeed status
3221 pages.
3222
3223 WARNING: Every time the number of entries in this option
3224 changes, Monitorix will resize the pagespeed.rrd file accord‐
3225 ingly, removing all historical data.
3226
3227 Default value: http://modpagespeed.com/mod_pagespeed_statistics
3228
3229 For more information please refer to https://develop‐
3230 ers.google.com/speed/pagespeed/module and http://stackover‐
3231 flow.com/questions/9115595/what-do-the-mod-pagespeed-statistics-mean
3232
3233 Squid Proxy Web Cache (squid.pm)
3234 cmd
3235 This command displays statistics about the Squid HTTP proxy
3236 process and is the main command used to collect all data.
3237
3238 Default value: squidclient -h 127.0.0.1
3239
3240 graph_0
3241 graph_1
3242 These two lists hold the selected Squid result or status codes
3243 to be shown in each graph. Feel free to mix result status and
3244 code status in any of the two options.
3245
3246 For more information about the list of all the result and status
3247 codes, please refer to http://wiki.squid-cache.org/Squid‐
3248 Faq/SquidLogs.
3249
3250 Each graph has a limit number of 9 entries.
3251
3252 NFS server statistics (nfss.pm)
3253 version
3254 This option specifies which NFS server version is running in the
3255 system in order to correctly gather the correct values.
3256
3257 The possible values are:
3258 2 for NFS v2.
3259 3 for NFS v3.
3260 4 for NFS v4.
3261
3262 Default value: 3
3263
3264 graph_0
3265 graph_1
3266 graph_2
3267 These three lists hold the defined NFS server activity statis‐
3268 tics to be shown in each graph. Put every statistic name exactly
3269 as they appear in the output of the nfsstat(8) command.
3270
3271 Each graph has a limit number of 10 entries.
3272
3273 NFS client statistics (nfsc.pm)
3274 version
3275 This option specifies which NFS server version is running in the
3276 system in order to correctly gather the correct values.
3277
3278 The possible values are:
3279 2 for NFS v2.
3280 3 for NFS v3.
3281 4 for NFS v4.
3282
3283 Default value: 3
3284
3285 graph_1
3286 graph_2
3287 graph_3
3288 graph_4
3289 graph_5
3290 These five lists hold the defined NFS client activity statistics
3291 to be shown in each graph. Put every statistic name exactly as
3292 they appear in the output of the nfsstat(8) command.
3293
3294 Each graph has the following limit number of entries:
3295
3296 graph_1 up to 10 entries.
3297 graph_2 up to 10 entries.
3298 graph_3 up to 4 entries.
3299 graph_4 up to 4 entries.
3300 graph_5 up to 4 entries.
3301
3302 BIND statistics (bind.pm)
3303 This graph requires a BIND server with version 9.5 or higher, and in
3304 order to see all statistics provided by BIND you must configure the
3305 statistics-channels option like this:
3306
3307 statistics-channels {
3308 inet 127.0.0.1 port 8053;
3309 };
3310
3311 This graph is able to monitor an unlimited number of BIND servers.
3312
3313 list
3314 This is a comma-separated list of URLs of BIND servers status
3315 pages.
3316
3317 WARNING: Every time the number of entries in this option
3318 changes, Monitorix will resize the bind.rrd file accordingly,
3319 removing all historical data.
3320
3321 Default value: http://localhost:8053/
3322
3323 in_queries_list
3324 This is a comma-separated list of RR (Resource Records) types
3325 for each BIND server specified in list option. The RR types de‐
3326 fined here will appear in the Incoming Queries graph which shows
3327 the number of incoming queries for each RR type.
3328
3329 For a complete list of RR types check the BIND 9 Administrator
3330 Reference Manual at
3331 <http://ftp.isc.org/www/bind/arm95/Bv9ARM.html>.
3332
3333 <in_queries_list>
3334 http://localhost:8053/ = A, AAAA, ANY, DS, MX, NS, PTR,
3335 SOA, SRV, TXT, NAPTR, A6, CNAME, SPF, KEY, DNSKEY, HINFO, WKS,
3336 PX, NSAP
3337 </in_queries_list>
3338
3339 The maximum number of RR types allowed for this graph is 20.
3340
3341 out_queries_list
3342 This is a comma-separated list of RR (Resource Records) types
3343 for each BIND server. The RR types defined here will appear in
3344 the Outgoing Queries graph (_default view) which shows the num‐
3345 ber of outgoing queries sent by the DNS server resolver for each
3346 RR type.
3347
3348 <out_queries_list>
3349 http://localhost:8053/ = A, AAAA, ANY, DS, MX, NS, PTR,
3350 SOA, SRV, TXT, NAPTR, A6, CNAME, SPF, KEY, DNSKEY, HINFO, WKS,
3351 PX, NSAP
3352 </out_queries_list>
3353
3354 The maximum number of RR types allowed for this graph is 20.
3355
3356 server_stats_list
3357 This is a comma-separated list of counters about incoming re‐
3358 quest processing. The counters defined here will appear in the
3359 Server Statistics graph.
3360
3361 <server_stats_list>
3362 http://localhost:8053/ = Requestv4, Requestv6, ReqEdns0,
3363 ReqBadEDNSVer, ReqTSIG, ReqSIG0, ReqBadSIG, ReqTCP, Response,
3364 QrySuccess, QryAuthAns, QryNoauthAns, QryReferral, QryNxrrset,
3365 QrySERVFAIL, QryNXDOMAIN, QryRecursion, QryDuplicate, Qry‐
3366 Dropped, QryFailure
3367 </server_stats_list>
3368
3369 The maximum number of counters allowed for this graph is 20.
3370
3371 resolver_stats_list
3372 This is a comma-separated list of counters about name resolution
3373 performed in the internal resolver. The counters defined here
3374 will appear in the Resolver Statistics graph (_default view).
3375
3376 <resolver_stats_list>
3377 http://localhost:8053/ = Queryv4, Queryv6, Responsev4, Re‐
3378 sponsev6, NXDOMAIN, SERVFAIL, FORMERR, OtherError, EDNS0Fail,
3379 Truncated, Lame, Retry, QueryTimeout, GlueFetchv4, GlueFetchv6,
3380 GlueFetchv4Fail, GlueFetchv6Fail, ValAttempt, ValOk, ValNegOk
3381 </resolver_stats_list>
3382
3383 The maximum number of counters allowed for this graph is 20.
3384
3385 cache_rrsets_list
3386 This is a comma-separated list of RR (Resource Records) types
3387 for each BIND server. The RR types defined here will appear in
3388 the Cache DB RRsets graph (_default view) which shows the number
3389 of RRsets per RR type (positive or negative) and nonexistent
3390 names stored in the cache database.
3391
3392 <cache_rrsets_list>
3393 http://localhost:8053/ = A, !A, AAAA, !AAAA, DLV, !DLV, DS,
3394 !DS, MX, NS, CNAME, !CNAME, SOA, !SOA, !ANY, PTR, RRSIG, NSEC,
3395 DNSKEY, NXDOMAIN
3396 </cache_rrsets_list>
3397
3398 The maximum number of RR types allowed for this graph is 20.
3399
3400 Unbound statistics (unbound.pm)
3401 This graph monitors a local installation of an Unbound name server. It
3402 requires you to configure the options extended-statistics as yes and
3403 statistics-cumulative as no.
3404
3405 cmd
3406 This is the command that will be used to gather statistics from
3407 Unbound.
3408
3409 Default value: unbound-control
3410
3411 queries_type
3412 This is a comma-separated list of query types. The types defined
3413 here will appear in the Queries by type graph.
3414
3415 Default value: queries_type = A, AAAA, ANY, DS, MX, NS, PTR,
3416 SOA, SRV, TXT, NAPTR, A6, CNAME, SPF, KEY, DNSKEY, HINFO, WKS,
3417 PX, NSAP
3418
3419 The maximum number of types allowed for this graph is 20.
3420
3421 NTP statistics (ntp.pm)
3422 This graph is able to monitor an unlimited number of NTP servers.
3423
3424 list
3425 This is a comma-separated list of NTP servers.
3426
3427 WARNING: Every time the number of entries in this option
3428 changes, Monitorix will resize the ntp.rrd file accordingly, re‐
3429 moving all historical data.
3430
3431 Default value: localhost
3432
3433 desc
3434 This is a list of groups of Reference Identifier and Kiss-
3435 o'-Death Codes for every hostname specified in the list option.
3436
3437 For more information on these NTP codes:
3438 <http://www.iana.org/assignments/ntp-parameters/ntp-parame‐
3439 ters.xml>
3440 <http://www.iana.org/go/rfc5905>
3441
3442 <desc>
3443 localhost = AUTH, AUTO, CRYP, DENY, GPS, INIT, NKEY, RATE,
3444 RMOT, RSTR
3445 </desc>
3446
3447 The maximum number of codes allowed for each hostname is 10.
3448
3449 extra_args
3450 This option includes any extra argument to the NTP command exe‐
3451 cuted by Monitorix, which is "ntpq -pn". This is specially use‐
3452 ful if you want to force using IPv4, in this case just define
3453 this option like this:
3454
3455 extra_args = "-4"
3456
3457 Monitorix will add this extra argument to the NTP command which
3458 will become as "ntpq -pn -4".
3459
3460 Chrony statistics (chrony.pm)
3461 This graph is able to monitor an unlimited number of Chrony daemons.
3462
3463 list
3464 This is a comma-separated list of hostnames with the network
3465 port running chronyd. The format is <hostname>:<port> being the
3466 port number optional.
3467
3468 WARNING: Every time the number of entries in this option
3469 changes, Monitorix will resize the chrony.rrd file accordingly,
3470 removing all historical data.
3471
3472 Default value: localhost
3473
3474 Fail2ban statistics (fail2ban.pm)
3475 This graph is able to monitor an unlimited number of Fail2ban jails.
3476
3477 list
3478 This is a comma-separated list that describes the groups of
3479 jails in desc. Put one description for each group. For every
3480 group specified you need to specify its description in the desc
3481 option.
3482
3483 WARNING: Every time the number of entries in this option
3484 changes, Monitorix will resize the fail2ban.rrd file accord‐
3485 ingly, removing all historical data.
3486
3487 An example would be:
3488
3489 list = Security, Overload / Abuse
3490
3491 desc
3492 This is a list of jails per group defined in your Fail2ban con‐
3493 figuration.
3494
3495 <desc>
3496 0 = [apache], [apache-mod-security], [apache-overflows],
3497 [courierauth], [ssh], [pam-generic], [php-url-fopen], [vsftpd]
3498 1 = [apache-imdbphp], [apache-evasive], [apache-badbots],
3499 [apache-robots-txt], [communigate], [named-refused-udp], [named-
3500 refused-tcp], [trac-ticketspam]
3501 </desc>
3502
3503 The maximum number of jails allowed for each group is 9.
3504
3505 graphs_per_row
3506 This is the number of fail2ban graphs that will be put in a row.
3507
3508 Default value: 2
3509
3510 graph_mode
3511 This option changes how the values are represented in the graph.
3512 It has two possible values: absolute which is the default, and
3513 rate. The former takes the values directly from the command
3514 fail2ban-client status <JAIL> and so the values in the graph
3515 will appear as absolute. The later option shows the values in a
3516 rating format per minute.
3517
3518 Default value: absolute
3519
3520 Icecast Streaming Media Server (icecast.pm)
3521 This graph is able to monitor an unlimited number of Icecast servers.
3522
3523 list
3524 This is a list of URLs of Icecast server status pages.
3525
3526 WARNING: Every time the number of entries in this option
3527 changes, Monitorix will resize the icecast.rrd file accordingly,
3528 removing all historical data.
3529
3530 Default value: http://localhost:8000/status.xsl
3531
3532 desc
3533 This is a comma-separated list of Mount Points configured for
3534 every URL specified in the list option. IMPORTANT: the Mount
3535 Points must be specified in the same order that appears in the
3536 Icecast Server Status page.
3537
3538 <desc>
3539 http://localhost:8000/status.xsl = stream1, stream2,
3540 stream3
3541 </desc>
3542
3543 The maximum number of mountpoints allowed for each URL is 9.
3544
3545 graph_mode
3546 This changes the layout of the listeners graph, the possible
3547 values are r for a real graph, or s for a stacked graph (every
3548 line or area is stacked on top of the previous element).
3549
3550 Default value: r
3551
3552 Raspberry Pi sensor statistics (raspberrypi.pm)
3553 For more information please refer to http://elinux.org/RPI_vcgencmd_us‐
3554 age.
3555
3556 cmd
3557 This is where the vcgencmd command is installed.
3558
3559 Default value: /opt/vc/bin/vcgencmd
3560
3561 clocks
3562 This is a comma-separated list of clock types that will be rep‐
3563 resented in the first graph.
3564
3565 An example would be:
3566
3567 clocks = arm, core, h264, isp, v3d, uart, emmc, pixel, hdmi
3568
3569 The maximum number of clocks allowed is 9.
3570
3571 volts
3572 This is a comma-separated list of voltage types that will be
3573 represented in the third graph.
3574
3575 An example would be:
3576
3577 volts = core, sdram_c, sdram_i, sdram_p
3578
3579 The maximum number of clocks allowed is 6.
3580
3581 Alternative PHP Cache statistics (phpapc.pm)
3582 This graph is able to monitor an unlimited number of PHP-APC installa‐
3583 tions.
3584
3585 list
3586 This is a comma-separated list of URLs of PHP-APC status pages.
3587
3588 WARNING: Every time the number of entries in this option
3589 changes, Monitorix will resize the phpapc.rrd file accordingly,
3590 removing all historical data.
3591
3592 Default value: http://localhost/apc.php?auto
3593
3594 Memcached statistics (memcached.pm)
3595 This graph is able to monitor an unlimited number of Memcached instal‐
3596 lations.
3597
3598 list
3599 This is a comma-separated list of hostnames with network port
3600 running Memcached.
3601
3602 WARNING: Every time the number of entries in this option
3603 changes, Monitorix will resize the memcached.rrd file accord‐
3604 ingly, removing all historical data.
3605
3606 Default value: localhost:11211
3607
3608 Redis statistics (redis.pm)
3609 This graph is able to monitor an unlimited number of Redis installa‐
3610 tions.
3611
3612 list
3613 This is a comma-separated list of hostnames with network port
3614 running Redis.
3615
3616 WARNING: Every time the number of entries in this option
3617 changes, Monitorix will resize the redis.rrd file accordingly,
3618 removing all historical data.
3619
3620 Default value: localhost:6379
3621
3622 PHP-FPM statistics (phpfpm.pm)
3623 This graph is able to monitor an unlimited number of PHP-FPM pools.
3624
3625 group
3626 This is a list of names (separated by comma) of the groups of
3627 pools that you want to monitor. The pools included in each group
3628 will be defined in the list option. You can define unlimited
3629 number of groups.
3630
3631 WARNING: Every time the number of groups changes, Monitorix will
3632 resize the phpfpm.rrd file accordingly, removing all historical
3633 data.
3634
3635 An example of this option would be:
3636
3637 <group>
3638 0 = First group of domains
3639 1 = Second group of domains
3640 </group>
3641
3642 list
3643 This is a list of pool names that you want to monitor for each
3644 group defined in group.
3645
3646 An example of this option would be:
3647
3648 <list>
3649 0 = example1, example2, example3
3650 1 = example10, example11
3651 </list>
3652
3653 The maximum number of pools allowed per group is 8.
3654
3655 desc
3656 This list complements the list option, it defines where and how
3657 Monitorix must gather the statistics for each pool defined.
3658
3659 An example of this option would be:
3660
3661 <desc>
3662 example1 = http://www.example1.com/php_fpm_status
3663 example2 = http://www.example2.com/php_fpm_status
3664 example3 = http://www.example3.com/php_fpm_status
3665 example10 = http://www.example10.com/php_fpm_status
3666 example11 = http://www.example11.com/php_fpm_status
3667 </desc>
3668
3669 map
3670 This list also complements the list option. It basically allows
3671 you to change the name that will appear in the graph, hiding the
3672 real name of the pool. If no association is defined, then Moni‐
3673 torix will display the name specified in the list option.
3674
3675 An example of this option would be:
3676
3677 <map>
3678 example1 = DOMAIN4
3679 example12 = DOMAIN55
3680 </map>
3681
3682 APC UPS statistics (apcupsd.pm)
3683 This graph is able to monitor an unlimited number of APC UPS (apcupsd)
3684 installations.
3685
3686 cmd
3687 This is the command that will be used (with the values in list)
3688 to get the statistics.
3689
3690 Default value: apcaccess
3691
3692 list
3693 This is a comma-separated list of hostnames with the network
3694 port running apcupsd.
3695
3696 WARNING: Every time the number of entries in this option
3697 changes, Monitorix will resize the apcupsd.rrd file accordingly,
3698 removing all historical data.
3699
3700 Default value: localhost:3551
3701
3702 Network UPS Tools statistics (nut.pm)
3703 This graph is able to monitor an unlimited number of Network UPS Tools
3704 (upsc) installations.
3705
3706 list
3707 This is a comma-separated list of UPS names with optionally the
3708 hostname and the network port where it's running upsd. The for‐
3709 mat of each entry must be:
3710
3711 upsname[@hostname[:port]]
3712
3713 WARNING: Every time the number of entries in this option
3714 changes, Monitorix will resize the nut.rrd file accordingly, re‐
3715 moving all historical data.
3716
3717 Default value: ups@localhost
3718
3719 Wowza Media Server (wowza.pm)
3720 This graph is able to monitor an unlimited number of Wowza servers.
3721
3722 list
3723 This is a comma-separated list of URLs of Wowza server status
3724 pages. Each URL can include the Basic Authentication in the form
3725 of http://username:password@localhost:8086/connectioncounts.
3726
3727 WARNING: Every time the number of entries in this option
3728 changes, Monitorix will resize the wowza.rrd file accordingly,
3729 removing all historical data.
3730
3731 Default value: http://localhost:8086/connectioncounts
3732
3733 desc
3734 This is a comma-separated list of applications configured for
3735 every URL specified in the list option.
3736
3737 <desc>
3738 http://localhost:8086/connectioncounts = channel1, chan‐
3739 nel2, channel3
3740 </desc>
3741
3742 The maximum number of applications allowed for each URL is 8.
3743
3744 Devices interrupt activity (int.pm)
3745 Only the limit and rigid values can be set here.
3746
3747 Verlihub statistics (verlihub.pm)
3748 This graph monitors the Verlihub software for DC++ network.
3749
3750 Monitoring the Internet traffic of your LAN (traffacct.pm)
3751 If your server acts as the gateway for a group of PCs, devices or even
3752 whole networks in your local LAN, you may want to know how much Inter‐
3753 net traffic each one is generating.
3754
3755 This graph requires the iptables(8) command on GNU/Linux systems, and
3756 the ipfw command on *BSD systems.
3757
3758 The following are the options you will need to configure to accomplish
3759 all of this.
3760
3761 enabled
3762 This option enables this feature.
3763
3764 Default value: n
3765
3766 max
3767 This is the number of LAN devices you want to monitor. There is
3768 no limit, but keep in mind that every time this number changes,
3769 Monitorix will resize the traffacct.rrd file, removing all his‐
3770 torical data.
3771
3772 Default value: 10
3773
3774 graphs_per_row
3775 If your horizontal screen resolution is pretty wide, you may
3776 want to increase the number of graphs that appear on each row.
3777
3778 Default value: 2
3779
3780 list
3781 This is a comma-separated list of names of PCs, LAN devices or
3782 whole networks that you want to monitor. The only requirement is
3783 that all they must utilize this server as their gateway.
3784
3785 If the names in this list are able to be resolved by a DNS query
3786 then you don't need to define the desc list (below) with corre‐
3787 sponding IP addresses, unless you want monthly reports.
3788
3789 An example would be:
3790
3791 list = pc8, printer, pc9, scanner
3792
3793 desc
3794 This is the list of IPv4 or IPv6 addresses with network masks
3795 and email addresses corresponding to the entries defined in the
3796 list. This option is only used when the those entries are not
3797 resolvable through a DNS query.
3798
3799 An example would be:
3800
3801 <desc>
3802 0 = 192.168.1.101/32, ace@example.com
3803 1 = 192.168.1.102/32, gene@example.com
3804 2 = 192.168.1.103/32, paul@example.com
3805 3 = 2607:6300:93:1::/64, peter@example.com
3806 </desc
3807
3808 Monthly reports of Internet traffic (traffacct.pm)
3809 enabled
3810 If this option is set to y, Monitorix will send a report of all
3811 the monthly Internet activity of the defined devices in list to
3812 the specified email address on the first day of each month.
3813
3814 Default value: n
3815
3816 language
3817 Define here the language used in the monthly report.
3818
3819 The current possible values are: ca, de, en, it, nl_NL, pl and
3820 zh_CN.
3821
3822 Default value: en
3823
3824 default_mail
3825 This is the default email address used to send the monthly re‐
3826 ports. This option is only used if the second parameter in desc
3827 list is empty.
3828
3829 Default value: root@localhost
3830
3831 url_prefix
3832 This is the prefix of the same URL you use to connect to Moni‐
3833 torix. This is needed in order to get the graphs of the same ma‐
3834 chine.
3835
3836 Default value: http://localhost:8080
3837
3838 smtp_hostname
3839 This is the hostname that will be used as a SMTP relay to de‐
3840 liver the monthly report emails.
3841
3842 Default value: localhost
3843
3844 from_address
3845 This is the address that will be used as remittent for all the
3846 monthly report emails.
3847
3848 Default value: noreply@example.com
3849
3850 Monitoring remote servers (Multihost)
3851 The Multihost feature allows you to monitor an unlimited number of re‐
3852 mote servers that already have Monitorix installed. Make sure that all
3853 servers (local and remote) have the same version of Monitorix, other‐
3854 wise there would be some incompatibilities that would prevent showing
3855 correctly the graphs.
3856
3857 enabled
3858 This option enables the Multihost feature.
3859
3860 Default value: n
3861
3862 footer_url
3863 If set to y Monitorix will show the original URL of each server
3864 at the bottom of the graph. Where security is important you may
3865 want to hide this information.
3866
3867 Default value: y
3868
3869 graphs_per_row
3870 If your horizontal screen resolution is pretty wide, you may
3871 want to increase the number of graphs that appear on each row.
3872
3873 Default value: 2
3874
3875 default_option_when_all
3876 If the user has defined a considerable amount of remote servers
3877 and it selects the option "All" in the Hostname list and "All
3878 graphs" in the Graph list, the browser may hang for a while due
3879 to the huge amount of images to download remotely from different
3880 servers.
3881
3882 This option prevents precisely that this happens accidentally by
3883 setting a default value in the Graph list. Of course, the user
3884 is able to change it to "All graphs" at any moment.
3885
3886 The value of this option may be any of the ones that appear in
3887 the <graphs> section (near the end) of the monitorix.conf file.
3888
3889 Default value: "System load"
3890
3891 remotehost_list
3892 This is a comma-separated list with descriptive names of remote
3893 servers with Monitorix already installed and working that you
3894 plan to monitor from here.
3895
3896 An example of this list would be:
3897
3898 remotehost_list = server 1, server 2, server 3
3899
3900 remotehost_desc
3901 This is a numbered list that describes each of the names defined
3902 in the remotehost_list option and the remote values of base_url
3903 and base_cgi options.
3904
3905 An example would be:
3906
3907 <remotehost_desc>
3908 0 = http://www.example.com,/monitorix,/monitorix-cgi
3909 1 = http://10.0.0.1,/monitorix,/monitorix-cgi
3910 2 = http://192.168.0.100:8080,/,/
3911 </remotehost_desc>
3912
3913 As you can see all these three entries use URLs to designate the
3914 location of each remote server. This means that each server most
3915 also have been enabled the HTTP built-in server, or have been
3916 installed a CGI capable web server like Apache.
3917
3918 groups
3919 This enables the server grouping for those environments where
3920 there are too much servers to display at the same time. Hence,
3921 you can group them in order to show them separately.
3922
3923 Default value: n
3924
3925 remotegroup_list
3926 This is a list of groups of remote servers with Monitorix al‐
3927 ready installed and working that you plan to monitor from here.
3928
3929 An example of this list would be:
3930
3931 remotegroup_list = My Group
3932
3933 remotegroup_desc
3934 This is a numbered list that describes each of the names defined
3935 in the remotegroup_list option.
3936
3937 An example would be:
3938
3939 <remotegroup_desc>
3940 0 = server2, server 3
3941 </remotegroup_desc>
3942
3943 Automatic email reports (emailreports)
3944 This allows to send automatically selected graphs to one or more email
3945 addresses. This could be specially useful for some system administra‐
3946 tors who prefer receiving via email selected graphs instead of browsing
3947 to the remote servers every day.
3948
3949 enabled
3950 This option enables this feature. Note that you still need to
3951 enable the same option for each time interval you want to acti‐
3952 vate: daily, weekly, monthly, yearly.
3953
3954 Default value: n
3955
3956 url_prefix
3957 This is the prefix of the same URL you use to connect to Moni‐
3958 torix. Such URL is needed in order to get the graphs of that ma‐
3959 chine.
3960
3961 This option supports sending the credentials in the standard
3962 HTTP "Authorization" header, just like this:
3963
3964 http://username:password@localhost:8080
3965
3966 Default value: http://localhost:8080
3967
3968 smtp_hostname
3969 This is the hostname that will be used as a SMTP relay to de‐
3970 liver the automatic email reports.
3971
3972 method
3973 This option specifies the method of sending emails. The current
3974 valid options are smtp and relay. By default this option is not
3975 defined which is the same as if smtp option was defined.
3976
3977 Default value:
3978
3979 from_address
3980 This is the address that will be used as remittent for all the
3981 monthly report emails.
3982
3983 Default value: noreply@example.com
3984
3985 subject_prefix
3986 This is a string that will be prefixed in the Subject of all
3987 emails that will be sent.
3988
3989 Default value: Monitorix:
3990
3991 hour
3992 This is the hour (in 24h format) when the email reports will be
3993 sent.
3994
3995 Default value: 0
3996
3997 minute
3998 This is the minute when the email reports will be sent.
3999
4000 Default value: 0
4001
4002 daily
4003 weekly
4004 monthly
4005 yearly
4006 The email reports are sent based on the following schedule:
4007
4008 daily reports will be sent every day at 00:00h.
4009 weekly reports will be sent the first Monday of each week.
4010 monthly reports will be sent the first day of each month.
4011 yearly reports will be sent the first day of each year.
4012
4013 enabled
4014 This option enables each report individually.
4015
4016 Default value: n
4017
4018 graphs
4019 This is a comma-separated list of graph names you want to appear
4020 in the email report. The names are the same as their .rrd files.
4021 There is a list of them in the graph_name option in moni‐
4022 torix.conf.
4023
4024 Default value: system, fs
4025
4026 to
4027 This is a comma-separated list of recipient email addresses.
4028
4029 addendum_script
4030 This is the full path name of an external script that will be
4031 executed during the creation of the report, and its output will
4032 be appended to the mail. This is useful for system administra‐
4033 tors that want to add extra system information to the reports.
4034
4035 Default value:
4036
4037 rigid and limit values
4038 rigid
4039 This value defines how the graph must be scaled. Its possible
4040 values are:
4041
4042 0 No rigid, the graph will be scaled automatically. Only the
4043 lower-limit value will be used if it's defined.
4044 1 The graph will be scaled by default according the values in
4045 limit but without rigidness.
4046 2 The graph will be forced to scale using the contents of
4047 limit as its upper-limit and lower-limit values.
4048
4049 limit
4050 This is where you can enter the upper-limit and lower-limit val‐
4051 ues (separated by a colon) for a graph. The lower-limit value is
4052 optional. Some examples would be:
4053
4054 100:0 which means 100 as the upper-limit value and 0 for the
4055 lower-limit value. This is commonly used for percentage values.
4056 1000 which means 1000 as the upper-limit value and leaving un‐
4057 defined the lower-limit value. This can also be written as
4058 1000:.
4059
4061 Monitorix is written by Jordi Sanfeliu <jordi@fibranet.cat>
4062
4064 Copyright © 2005-2022 Jordi Sanfeliu
4065 Licensed under the GNU General Public License version 2 (GPLv2).
4066
4068 monitorix(8), rrdtool(1)
4069
4070
4071
40723.14.0 Jan 2022 monitorix.conf(5)