Search:  
Gentoo Wiki

Computers_system_monitoring

Split-arrows.gifIt has been suggested that this article be split into multiple articles accessible from a disambiguation or index page.   (Discuss)

Contents

Introduction

This article describe how you can monitor various system and physical parameters of your computers which work under GNU/Linux or other UNIX.

Description

This client-server program will help you monitor sensors, disk systems, and network activity throughout a network or locally. It automates creation of an RRD database, graphs, html pages, and data collection so it will save you from that tedious work. You will need:

properly installed on each monitored machine. Perl module Net-Telnet, rrdtool, and an Apache server must be installed on one "administration" computer. An example of a monitored system can be seen at:

http://monitoring.sourceforge.net/example.html

If you like it you can download latest version from http://monitoring.sourceforge.net/. Make it available to your machines, for example on a local ftp server, and continue to read this HOWTO.

"SERVER" SIDE

For installing monitoring with all depends in Gentoo download monitoring-*.*.ebuild.tar.bz2 from http://monitoring.sourceforge.net unpack in /usr/local then type:

Command: emerge -pv monitoring
[ebuild  N  ] net-analyzer/monitoring-0.11  USE="-admin -apache2 -lm_sensors -server"

For server side you need USE=server, and for hardware sensors monitoring USE=lm_sensors

Command:
 # export "USE=lm_sensors server"
 # emerge monitoring

If you are using Gentoo skip installation of lm_sensors, sysstat, iptables, coreutils, xinetd but you still must configure them.

For other unzip and unpack monitoring-*.*.tar.bz2 :)

Configure Linux-2.6* Kernel for Sensor Support

Ideally, you will know which sensors are installed on the motherboard of each machine. If not, you could enable support for all hardware monitors. There may be more than one hardware sensor that you must enable. For example, AMD processors in AM2 packages use the AMD Athlon64/FX or Opteron temperature sensor or CPU temperature monitoring. Motherboards will generally use a second monitor for other parameters. If you have the manual for your motherboard, the hardware sensor may be referred to as a Super I/O such as the ITE 87** series.

You may build I2C and sensor support into the kernel or as modules. Example of kernel .config file:

Linux Kernel Configuration: .config
  Power management options (ACPI, APM)  --->
  ACPI (Advanced Configuration and Power Interface) Support  --->
  CONFIG_ACPI=y
  CONFIG_ACPI_BOOT=y
  CONFIG_ACPI_INTERPRETER=y
  CONFIG_ACPI_SLEEP=y
  CONFIG_ACPI_SLEEP_PRC_F'S=y
  CONFIG_ACPI_AC=y
  CONFIG_ACPI_BATTERY=y
  CONFIG_ACPI_BUTTON=y
  CONFIG_ACPI_VIDEO=y
  CONFIG_ACPI_FAN=y
  CONFIG_ACPI_PROCESSOR=y
  CONFIG_ACPI_THERMAL=y
  CONFIG_ACPI_AS US=n 
  CONFIG_ACPI_IBM=n
  CONFIG_ACPI_TOSHIBA=n
  CONFIG_ACPI_BLACKLIST_YEAR=1995
  CONFIG_ACPI_DEBUG=n
  CONFIG_ACPI_BUS=y
  CONFIG_ACPI_EC=y
  CONFIG_ACPI_POWER=y
   
  Device Drivers ---> Character devices ---> IPMI --->
  CONFIG_IPMI_HANDLER=y
  CONFIG_IPMI_PANIC_EVENT=y
  CONFIG_IPMI_PANIC_STRING=y
  CONFIG_IPMI_DEVICE_INTERFACE=y
  CONFIG_IPMI_SI=y
  CONFIG_IPMI_WATCHDOG=y
  CONFIG_IPMI_POWEROFF=y
   
  Device Drivers ---> I2C support --->
  CONFIG_I2C=y
  CONFIG_I2C_CHARDEV=y
  
  Device Drivers ---> I2C support --->  I2C Algorithms --->
  CONFIG_I2C_ALGOBIT=y
  CONFIG_I2C_ALGOPCF=y
  CONFIG_I2C_ALGOPCA=y
  
  Device Drivers ---> I2C support --->  I2C Hardware Bus support --->
  .......
  CONFIG_I2C_I801=y        # bus support >=I830
  CONFIG_I2C_I810=y        # bus support =I810-I815
  CONFIG_I2C_ISA=y
  .......
  
  Device Drivers ---> I2C support ---> Miscellaneous I2C Chip support --->
  
  Device Drivers ---> Hardware Monitoring support --->
  .......
  CONFIG_SENSORS_ADM1025=?      # chip support I815 (temp, volt)
  .......
  CONFIG_SENSORS_LM85=?         # chip support I865PERL
  .......
  CONFIG_SENSORS_SMSC47M1=?     # chip support I815 (Fun)
  .......
  Device Drivers  --->  I2C support  ---> Other I2C Chip support --->
  CONFIG_SENSORS_EEPROM=y       # for memory
  .......

Install lm_sensors

You can check if your sensor(s) are supported at http://www.lm-sensors.org/wiki/Devices. If your hardware is not listed, sorry it's not supported. If your hardware is listed, then install lm_sensors:

emerge lm_sensors

Verify lm_sensors is properly detecting your hardware sensors:


Command: sensors
 lm85b-i2c-0-2e
 Adapter: SMBus I801 adapter at c800
 VoltA1_5:   +1.48 V  (min =  +1.42 V, max =  +1.58 V)
 Volt1_5:    +1.50 V  (min =  +1.45 V, max =  +1.60 V)
 Volt3_3:    +3.33 V  (min =  +3.13 V, max =  +3.47 V)
 Volt5:     +5.10 V  (min =  +4.74 V, max =  +5.26 V)
 Volt12:   +12.31 V  (min = +11.38 V, max = +12.62 V)
 FanCPU:    3360 RPM  (min = 3000 RPM)
 TempCPU:     +36C  (low  =   +10C, high =   +60C)
 TempMB1:     +33C  (low  =   +10C, high =   +45C)
 TempMB2:     +33C  (low  =   +10C, high =   +45C)
 CPUF_PWM:  255
 SysF1_PWM: 255
 SysF2_PWM:  77
 vid:      +1.525 V    (VRM Version  9.1)

If you have different output then listed above, execute the interactive detection script:

# sensors-detect

This script will scan your busses for sensors. It is interactive and will provide a summary of actions you need to take to get lm_sensors working on your Gentoo machine.

If you output is similar to the above, but the values are obviously not correct, you will need to edit /etc/sensors.conf. Editing /etc/sensors.conf is beyond the scope of this HOWTO. See the default /etc/sensors.conf, the snesors.conf man page, and the lm_sensors FAQ. Some things to keep in mind however, each Voltage inputs must begin with "Volt", fan inputs must begin with "Fan", and temperature inputs must begin with "Temp". Also some symbols "+", "-", "." are not supported by RRDtools so do not use them.

File: /etc/sensors.conf
  
 # Voltage inputs
   label in0   "VoltA1_5"      
   label in1   "Volt1_5"
   label in2   "Volt3_3"
   label in3   "Volt5"
   label in4   "Volt12"
 
 # Temperature inputs
   label temp1  "TempCPU"
   label temp2  "TempMB1"
   label temp3  "TempMB2"
 
 # Fan inputs
   label fan1   "FanCPU"
   label fan2   "FanSys1"
   label fan3   "FanSys2"
   label fan4   "FanSys3"
 
 # PWM Outputs
   label pwm1   "CPUF_PWM"
   label pwm2   "SysF1_PWM"
   label pwm3   "SysF2_PWM"

System Monitoring

Install sysstat

Sysstat is suite of system performance tools for Linux. Install sysstat:

# emerge sysstat

# /etc/init.d/sysstat start
# rc-update add sysstat default

 OR

# rc-update add sysstat default
# rc


Execute the system activity report utility. You should get an output similar to that below:


Command: sar -A 1 1 |grep Average:
 Average:       proc/s 
 Average:         0.00 
 Average:      cswch/s 
 Average:       258.00 
 Average:          CPU     %user     %nice   %system   %iowait     %idle 
 Average:          all      1.90      0.00      0.40      0.00     97.70 
 ........................................................................
 Average:      runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15 
 Average:            0        83      0.06      0.15      0.16

Check df

Command: df
 Filesystem           1K-blocks      Used Available Use% Mounted on
 /dev/sda3              2007996    411772   1596224  71% /
 /dev/sda1               132206     10981    114399  43% /boot
 /dev/sda5               248895      4256    231789   2% /tmp
 /dev/sda6              5863496   2556028   3307468  64% /var
 /dev/sda7              6843432   5128048   1715384  75% /usr
 /dev/sda8              1976492   1048740    827348  56% /home
 /dev/sda9              5863496   4479752   1383744  77% /usr/portage/distfiles
 none                    254752         0    254752   0% /dev/shm
 /usr/portage/distfiles 5863496   4479752   1383744  77% /var/ftp/pub/linux/distfiles
 /usr/portage/packages  6843432   5128048   1715384  75% /var/ftp/pub/linux/packages

If you receive:

bash: df: command not found

Install the coreutils package:

emerge coreutils


Monitoring of Network Traffic

Look in /etc/monitoring/show_network.conf - this is list of graph what you will get. The name of graphs must corespond to names of graphs in /etc/monitoring/network firewall rules:


Linux iptables

You must edit /etc/monitoring/show_iptables_acc.conf

  1. column - name of graphs (must corespond show_network.conf but with "in_*.N" or "out_*.N" ware N - some number)
  2. column - name of table where is the chain
  3. column - name of chain where is the rule
  4. column - number of rule in the chain

For some simple example of firewall you can look in server/firewall/* and if it suitable for you use it!


BSD ipfw

If you use ipfw edit /etc/monitoring/show_ipfw_acc.conf

  1. column - name of graphs
  2. column - number of rules (ipfw show)
  3. column - sequins number of rules in ipfw show

it must corespond yours rules!


Some system config

If you haven't xinetd - install it: Pleas look in server/etc/host.allow :

File: /etc/hosts.allow
 ...
 # BEGIN allow services for monitoring
 show_hdisk.sh:127.0.0.1
 show_info.sh:127.0.0.1
 show_network.sh:127.0.0.1
 show_sensors.sh:127.0.0.1
 show_system.sh:127.0.0.1
 # END allow services for monitoring

and "only_from", "bind" and "disable" line in following file: server/etc/xinetd.d/show_*

File: /etc/xinetd.d/show_hdisk
 # default: on
 # description: The showdisk server show disk usage on the server.
 #       It don't uses authentication !!!!!!!!!!!!!!!.
 service df
 {
        socket_type             = stream
        wait                    = no
        user                    = monitoring
        bind                    = 127.0.0.1		#
        server                  = /usr/bin/show_hdisk.sh
        only_from               = 127.0.0.1		#
        disable                 = no
 }

Automatic installation

If you wont install manually go to next step For automate installation edit next lines in the beginning of monitoringinstall.sh in Gentoo:

File: /usr/sbin/monitoringinstall.sh
 # Edit this first:
 # all command will execute user:
 runuser=monitoring
 rungroup=monitoring
 # cron cfg directory
 cronpath=/etc/cron.d
 # demon init script locations:
 crond=/etc/init.d/crond
 # Edit only for server side:
 # demon init script location:
 xinetd=/etc/init.d/xinetd
 # program location:
 dfpath=/bin/df
 sarpath=/usr/bin/sar
 sensorspath=/usr/bin/sensors

Now you can run us root:

# ./monitoringinstall.sh --server

you can skip next step and go to "administration" side ;)

Manual installation

Some additional configuration for manual installation...
For network using you must create the following files on each monitoring hosts:

cp server/etc/show_iptables_acc.conf /etc/monitoring	#for GNU/Linux
cp server/etc/show_ipfw_acc.conf /etc/monitoring	#for BSD
cp server/etc/show_network.conf /etc/monitoring
cp server/xinetd.d/show_hdisk /etc/xinetd.d/
cp server/xinetd.d/show_network /etc/xinetd.d/
cp server/xinetd.d/show_sensors /etc/xinetd.d/
cp server/xinetd.d/show_system /etc/xinetd.d/
cp server/bin/show_hdisk.sh /usr/bin
cp server/bin/show_iptables.sh /usr/bin		#for GNU/Linux
cp server/bin/show_ipfw.sh /usr/bin			#for BSD
cp server/bin/show_network.sh /usr/bin
cp server/bin/show_sar.sh /usr/bin
cp server/bin/show_sensors.sh /usr/bin
cp server/bin/show_system.sh /usr/bin

And add the following line to /etc/service:

File: /etc/service
 ........
 network	9045/tcp                        # show network info
 info		9046/tcp                        # show server info
 df		9047/tcp                        # show disk info
 sys		9048/tcp                        # show system info
 sensors	9049/tcp                        # show sensors info

Create spacial user:

groupadd monitoring
useradd -g monitoring -d /home/monitoring -s /bin/bash -c monitoring monitoring
mkdir /home/monitoring
chmod 700 /home/monitoring
chown -R monitoring:monitoring /home/monitoring

Yo may need add it to for SELinux:

File: /etc/security/selinux/src/policy/users
 ...
 # BEGIN monitoring selinux:
 user monitoring roles user_r;
 # END monitoring selinux.

and then do

# cd /etc/security/selinux/src/policy
# make load

don't forget restart xinetd!

# /etc/init.d/xinetd restart

add following strings to crontab:

*/10 * * * * monitoring /usr/bin/show_iptables.sh	# for GNU/Linux
*/10 * * * * monitoring /usr/bin/show_ipfw.sh		# for BSD
*/1 * * * * monitoring /usr/bin/show_sar.sh

Restart crond:

# /etc/init.d/crond restart


"ADMINISTRATION" SIDE

In the beginning lets check if everything is OK with servers

Command: telnet server_name 9045
 Trying serverIP...
 Connected to serverIP.
 Escape character is '^]'.
 in_ftp    		0
 out_ftp   		0
 in_http    		0
 out_http   		0
 in_other    		249
 out_other   		27
 Connection closed by foreign host.


Command: telnet server_name 9046
 Trying serverIP...
 Connected to server_name.
 Escape character is '^]'.
   Intel(R) Celeron(R) CPU 2.40GHz | 504 Mb
 Connection closed by foreign host.


Command: telnet server_name 9047
 Trying serverIP...
 Connected to server_name.
 Escape character is '^]'.
 /dev/sda3              2007996    411772   1596224  71% /
 /dev/sda1               132206     10981    114399  43% /boot
 /dev/sda5               248895      4256    231789   2% /tmp
 /dev/sda6              5863496   2556028   3307468  64% /var
 /dev/sda7              6843432   5128048   1715384  75% /usr
 /dev/sda8              1976492   1048740    827348  56% /home
 /dev/sda9              5863496   4479752   1383744  77% /usr/portage/distfiles
 Connection closed by foreign host.


Command: telnet server_name 9048
 Trying serverIP...
 Connected to server_name.
 Escape character is '^]'.
 Average:       proc/s
 Average:         3.98
 Average:      cswch/s
 Average:       308.00
 Average:          CPU     %user     %nice   %system   %iowait     %idle
 Average:          all      1.76      0.00      0.47      0.00     97.76
 .............................................................
 Average:      runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15
 Average:            1        88      0.05      0.21      0.21
 Connection closed by foreign host.


Command: telnet server_name 9049
 Trying serverIP...
 Connected to server_name.
 Escape character is '^]'.
 lm85b-i2c-0-2e
 Adapter: SMBus I801 adapter at c800
 
 Volt1_5:    +1.48 V  (min =  +1.42 V, max =  +1.58 V)
 VoltCore:   +1.50 V  (min =  +1.45 V, max =  +1.60 V)
 Volt3_3:    +3.33 V  (min =  +3.13 V, max =  +3.47 V)
 Volt5:     +5.10 V  (min =  +4.74 V, max =  +5.26 V)
 Volt12:   +12.25 V  (min = +11.38 V, max = +12.62 V)
 CPU_Fan:   3377 RPM  (min = 3000 RPM)
 fan2:         0 RPM  (min =    0 RPM)
 fan3:         0 RPM  (min =    0 RPM)
 fan4:         0 RPM  (min =    0 RPM)
 TempCPU:     +32 C  (low  =   +10 C, high =   +50 C)
 TempBoard:   +30 C  (low  =   +10 C, high =   +45 C)
 TempRemot:   +30 C  (low  =   +10 C, high =   +40 C)
 CPU_PWM:   255
 Fan2_PWM:  255
 Fan3_PWM:   77
 vid:      +1.525 V  (VRM Version 9.0)
 
 Connection closed by foreign host.

Some additional installations

For installing monitoring with all depends in Gentoo download monitoring-*.*.ebuild.tar.bz2 from http://monitoring.sourceforge.net unpack in /usr/local then type:

# emerge -pv monitoring
[ebuild  N  ] net-analyzer/monitoring-0.11  USE="-admin -apache2 -lm_sensors -server"

For administration side you need USE=admin, and for apache-2* USE=apache2

# export "USE=admin apache2"
# emerge monitoring

If you are using Gentoo skip installation of rrdtool, Net-Telnet, apache but you still must configure them.

For other unzip and unpack monitoring-*.*.tar.bz2 :)


Install rrdtool

Then install rrdtool http://rrdtool.eu.org or http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/


Install Net-Telnet

This version may require perl and net-telnet perl module to operate through network install net-telnet perl module you can found it here: http://cpan.perl.org/modules/by-module/Net/Net-Telnet-*.*.tar.gz


Install apache

Install apache if you still haven't it. You can edit apache configuration:

File: cat /etc/apache2/vhosts.d/monitoring.conf
 ### /etc/apache2/vhosts.d/monitoring.conf
 ### $Id: monitoring.conf,v 0.11 2006/09/28 16:27:12 hse Exp $
 ###
 ### For Monitoring *.shtml
 AddType text/html .shtml
 AddOutputFilter INCLUDES .shtml
 ### For authentication:
 <Directory "/var/www/localhost/htdocs/administration/monitoring">
    AllowOverride All
    Options Includes
    <IfModule mod_access.c>
 ### For password authentication:
 #       AuthUserFile /var/www/localhost/htdocs/administration/passwd_file
 #       AuthGroupFile /dev/null
 #       AuthName Administrative-information
 #       AuthType Basic
 #       Require valid-user
 ### For host/network authentication:
 	Order deny,allow
 	Deny from all
 	Allow from 127.0.0.1
 #	Allow from .cluster.linux
     </IfModule>
 </Directory>

create user if you want:

# htpasswd2 -bcm /var/www/localhost/htdocs/administration/passwd_file username password


Installing monitoring programs

Add your all hosts (servers) resolving! name or IP to /etc/monitoring/host ( # cd monitoring and look in admin/etc/host)

You may also wont edit all following files:

file (admin/etc/) /etc/monitoring/diskusage memusage quantity cpu memory systemload
contain parameters which must be in sar output and you wont monitor it. Fill free to edit it. You may add new or rename this file but you then also must to edit file: system
file (admin/etc/) /etc/monitoring/color
has colors number file (admin/etc/) /etc/monitoring/config has name of config files (disk network sensors system) which correspond to html page you may add more, but then you must create corespond files...
file (admin/etc/) /etc/monitoring/disk network sensors
It has graph name (how long rrd wait for data) min and max value for monitoring parameters, legends.
file (admin/etc/) /etc/monitoring/monitoring.conf
Main config file with config options you may wont edit it before continue!!!
file (admin/etc/) /etc/monitoring/system
First column point to graphs which you will get and must correspond to previous files: (diskusage memusage quantity cpu memory systemload). It also has (how long rrd wait for data) min and max value for monitoring parameters, legends.
files (admin/etc/) /etc/monitoring/disk.rrd.cf network.rrd.cf sensors.rrd.cf system.rrd.cf
Describe structure of rrd date base.
files (admin/etc/) /etc/monitoring/disk.msg network.msg sensors.msg system.msg
Contents message what you will receive in dangerous situations.


Automatic installation

If you wont install manually go to next step.
For automate installation process edit next lines in the beginning of monitoringinstall.sh

File: /usr/sbin/monitoringinstall.sh
 # Edit this first:
 # all command will execute user:
 runuser=monitoring
 rungroup=monitoring
 # cron directory
 cronpath=/etc/cron.d
 # demon init script locations:
 crond=/etc/init.d/crond
 
 # Edit only for admin side
 # apache config dir:
 apachconfdir=/etc/apache2/conf
 # main apache configuration file name:
 apachconffile=apache.conf
 # demon init script locations:
 apached=/etc/init.d/apache2

Now you can run as root:

Warning: You must wait 1 minutes after lastrun 'monitoringinstall.sh --server' if you didn't install network monitoring on server side and 10 minutes with it before run next command !!!
# ./monitoringinstall.sh --admin

on Gentoo run:

# monitoringinstall.sh --admin

If you see any error messages try fix it

  1. editing config file, now in /etc/monitoring/*
  2. Also look in /home/monitoring/hostname/err/...
  3. Remove files from /home/monitoring/hostname/ and let scripts regenerate it
  4. May be you need remove database in /var/db/monitoring/hostname/...
  5. /usr/bin/net_telnet.pl read only 500 lines of input if you have more you must edit it:
line 32: 	while [$i ne 500]

Then try ones more but now you want add additional option: Now you can run as root:

# monitoringinstall.sh --admin=disk
# monitoringinstall.sh --admin=sensors
# monitoringinstall.sh --admin=system
# monitoringinstall.sh --admin=network

If you make some thing wrong you can uninstall monitoring simply run: For Gentoo

# emerge -C monitoring

For all

# monitoringuninstall.sh

And then try ones more Administration side;))))

If you use SELinux and cron don't work try reboot

You can skip step next.

Manual installation:

copy directories in admin/*

# cp -p admin/bin/* $INSTALL_PATH/bin/
# mkdir /etc/monitoring
# cp -p admin/etc/* /etc/monitoring/
# mkdir $INSTALL_PATH/share/monitoring
# cp -p admin/share/* $INSTALL_PATH/share/monitoring/

-p option to keep permissions!

# mkdir -p /var/www/localhost/htdocs/administration/monitoring
# chmod 755 /var/www/localhost/htdocs/administration/monitoring/
# groupadd -g 1111 monitoring
# useradd -u 1111 -g monitoring -d /home/monitoring -s /bin/bash -c monitoring monitoring
# chmod -R 700 /home/monitoring
# chown -R monitoring:monitoring /home/monitoring
# chown -R monitoring:monitoring /var/www/localhost/htdocs/administration/monitoring/
# su monitoring
$ $INSTALL_PATH/bin/net.vert.1.sh
$ $INSTALL_PATH/bin/net.vert.10.sh
$ $INSTALL_PATH/bin/png_graph.sh disk -1week 30min
$ $INSTALL_PATH/bin/png_graph.sh disk -1month 2hour
$ $INSTALL_PATH/bin/png_graph.sh disk -1year 1day
$ $INSTALL_PATH/bin/png_graph.sh network -1week 30min
$ $INSTALL_PATH/bin/png_graph.sh network -1month 2hour
$ $INSTALL_PATH/bin/png_graph.sh network -1year 1day
$ $INSTALL_PATH/bin/png_graph.sh sensors -2day 5min
$ $INSTALL_PATH/bin/png_graph.sh sensors -1week 30min
$ $INSTALL_PATH/bin/png_graph.sh sensors -1month 2hour
$ $INSTALL_PATH/bin/png_graph.sh sensors -1year 1day
$ $INSTALL_PATH/bin/png_graph.sh system -2day 5min
$ $INSTALL_PATH/bin/png_graph.sh system -1week 30min
$ $INSTALL_PATH/bin/png_graph.sh system -1month 2hour
$ $INSTALL_PATH/bin/png_graph.sh system -1year 1day

If you see any error messages try fix it

  1. editing config file in /etc/monitoring
  2. Also look in /home/monitoring/hostname/err/...
  3. Remove files from /home/monitoring/hostname/ and let scripts regenerate it
  4. May be you need remove database in /var/db/monitoring/hostname/...
  5. bin/net_telnet.pl read only 500 lines of input if you have more you must edit it:
line 32: 	while [$i ne 500]

And then try ones more ;))))

If you don't see any error message use following file for automate all work with crond:

$ exit
File: /etc/cron.d/monitoring
 SHELL=/bin/bash
 PATH=/bin:/usr/bin
 MAILTO=root
 HOME=/home/monitoring
 LANG=POSIX
 
 # Begin server part (may be you wont monitoring "admin" computer too)
 */1 * * * * monitoring /usr/bin/show_sar.sh
 */10 * * * * monitoring /usr/bin/show_iptables.sh	#GNU/Linux
 #*/10 * * * * monitoring /usr/bin/show_ipfw.sh		#BSD
 # End server part
 
 # Begin disk admin part
 */30 * * * * monitoring /usr/bin/png_graph.sh hdisk -1week 30min
 0 */2 * * * monitoring /usr/bin/png_graph.sh hdisk -1month 2hour
 0 0 * * * monitoring /usr/bin/png_graph.sh hdisk -1year 1day
 # End  disk admin part
 
 # Begin network admin part
 */30 * * * * monitoring /usr/bin/png_graph.sh network -1week 30min
 0 */2 * * * monitoring /usr/bin/png_graph.sh network -1month 2hour
 0 0 * * * monitoring /usr/bin/png_graph.sh network -1year 1day
 # End  network admin part
 
 # Begin system admin part
 */5 * * * * monitoring /usr/bin/png_graph.sh system -2day 5min
 */30 * * * * monitoring /usr/bin/png_graph.sh system -1week 30min
 0 */2 * * * monitoring /usr/bin/png_graph.sh system -1month 2hour
 0 0 * * * monitoring /usr/bin/png_graph.sh system -1year 1day
 # End system admin part
 
 # Begin sensors admin part
 */5 * * * * monitoring /usr/bin/png_graph.sh sensors -2day 5min
 */30 * * * * monitoring /usr/bin/png_graph.sh sensors -1week 30min
 0 */2 * * * monitoring /usr/bin/png_graph.sh sensors -1month 2hour
 0 0 * * * monitoring /usr/bin/png_graph.sh sensors -1year 1day
 # End sensors admin part
 
 # Begin vert admin part
 */1 * * * * monitoring /usr/bin/net.vert.1.sh
 */10 * * * * monitoring /usr/bin/net.vert.10.sh
 # End  vert admin part

Restart crond

# /etc/init.d/crond restart


If everything is OK

If everything is OK type in your browser URL http://servername/administration/monitoring/index.html


Add new hosts

If you want to add a new host for monitoring you must repeat the hole step 2 ("SERVER" SIDE) for it and then add your hosts (servers) resolving name or IP to /etc/monitoring/host Have fun!!


External Links

Alternatives

If you don't like this way or if you need something else take a look in:

Related ressources

Monitoring System Resources - aimed at Debian users but useful


Thanks

A lots of thanks :) Spatial thanks to Tobi Oetiker for his great rrdtool!

Thanks to Sergej Evhenovych Bogomolow his programs: http://www.bog.pp.ru/archive/ups_create.sh http://www.bog.pp.ru/archive/ups_graph.sh http://www.bog.pp.ru/archive/rrdtool_template.shtml.bz2 http://www.bog.pp.ru/archive/ups.servers.shtml.bz2 his articles: http://www.bog.pp.ru/hard/UPS.html http://www.bog.pp.ru/work/rrdtool.html was used here.

And thanks to all others who help or didn't try damage me:)

Fill free to contact me http://monitoring.sourceforge.net Any s/critic/critique, help and suggestions will be OK! You can use Ukrainian, Russian and English language.

--Hse 17:59, 3 October 2006 (UTC)

Retrieved from "http://www.gentoo-wiki.info/Computers_system_monitoring"

Last modified: Sat, 06 Sep 2008 10:01:00 +0000 Hits: 14,365