Setting up Nagios as a monitoring server

Setting up Nagios as a monitoring server

——–《Mastering CentOS 7 Linux Server》

For this chapter, we are going to work with Nagios as our best choice, considering the performance and the simplicity of its setup and configuration. As we have already mentioned, Nagios is open source software that can be installed on multiple Linux distributions. In our case, we will be installing it on CentOS 7. It is a network, infrastructure, and server-monitoring tool. It will be monitoring switches, applications, and services. It has an alerting feature that helps inform users about all issues that occur while the infrastructure is being monitored. It also alerts the user if the issues have been fixed.

Other than monitoring, Nagios also has the ability to identify system or network issues that could cause problems, with real-time problem notification. Furthermore, it has some security features, by virtue of which it can identify security breaches in the infrastructure.

In this section, we are going to install Nagios on a machine. It will act as our monitoring server. We need a test client to have it monitored. The client will have some common services; we will try to mess with them a little to test the Nagios notification service.

Let’s talk a bit about the things we need before we start our monitoring server installation. First, we need to have the Linux Apache MySQL PHP (LAMP) services installed on our machine. Since Nagios will be accessible via the web interface, having a web server installed is something obvious. For a more detailed and secure web server installation, you can go back and check out Chapter3, Linux for Different Purposes.

Nagios won’t be installed from the CentOS 7 package manager. We have to download it and then compile it, so we need basic compiling tools and a downloading tool to download the Nagios source code archive. We will install these using Yum, the CentOS package manager:

$  sudo  yum  install  gcc  cpp  glibc  glibc-common  glibc-devel  glibc-headers  gd gddevel  kernel-headers  libgomp  libmpc  mpfr  make  net-snmp  openssl-devel xinetd

We wait until the installation is done and then proceed to the next step of the preparation. In order to run the Nagios process, we need to create a Nagios user and give it a password:

$ sudo useradd nagios

$  sudo  passwd  Really_Secure_Password

We need to make sure that we are using well-secured passwords while creating any. Next, we create a new group called nagcmd to allow external commands to be submitted through the web interface once it’s up-and-running . Then, we need to add both Nagios  and Apache to this group:

$ sudo groupadd nagcmd

$ sudo usermod -a -G nagcmd nagios

$ sudo usermod -a -G nagcmd apache

We move on to the final step, which is downloading the source archive for the latest version of Nagios. To do the downloading, we will be using Wget, a tool that we have already installed.

During this tutorial, we will be using Nagios 4:

$ wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios 4.1.1.tar.gz

After downloading the latest Nagios stable version, we need to extract it. Well, since Nagios will be installed at the position where we are going to extract its source, we are going to put it in an appropriate location. We have a choice between /usr/local and /opt, so we need to copy the source package file there and then extract it. For this example, we will just go with /usr/local:

$  sudo  cp  nagios-4.1.1.tar.gz  /usr/local/

$  cd  /usr/local/

$  sudo  tar  xzvf  nagios-4.1.1.tar.gz

After extracting the archive, there will be a new folder created, holding the named Nagios and including the corresponding version. We need to go inside the folder to start compiling  it:

$  cd  nagios-4.1.1/

Just before we start the compiling process, we need to run the configuration script that will help run the compiling process with no error by configuring it to use the available compiling tools that we have installed previously:

$  sudo  ./configure  –with-command-group=nagcmd

This configuration process has the option to set up the latest created group as the one that will be running the internal commands.

Now, we are actually able to start the compiling process:

$ sudo make all

This command can take a lot of time depending on the machine’s processing power. After doing this, we proceed to the installation phase. We need to install Nagios, its initialization scripts, some sample configuration files, and the Nagios web interface:

$ sudo make install

$ sudo make install-commandmode

$ sudo make install-init

$  sudo  make  install-config

$  sudo  make  install-webconf

Before moving on the next step, we need to set up our Nagios administrator user and password to access the web interface:

$  sudo  htpasswd  -c  /usr/local/nagios/etc/htpasswd.users  nagiosadmin

Then, we type in the password twice to have our web interface administrator well created and configured.

After Nagios has been installed, we can add some useful plugins. First, we need to download the latest stable source version of those plugins. We need to go to the /usr/local folder and download the plugin’s source archive there. This step installs everything there well organized for future diagnostics:

$  cd  /usr/local

Then, we start the download using Wget:

$    sudo    wget    http://nagiosplugins.org/download/nagiosplugins2.1.1.tar.gz

Note

We used the sudo command because during the download, the file is written in a folder with no user access to write on it.

After completing the download, we can start extracting the archive using the same command:

$  sudo  tar  xzvf  nagios-plugins-2.1.1.tar.gz

Then, we enter the directory we just created:

$   cd   nagios-plugins-2.1.1/

Again, we need to compile the source files. Just before compiling, we need to run the configuration script with some useful options, as follows:

$ sudo ./configure –with-nagios-user=nagios –with-nagios-group=nagios withopenssl

For the configuration option, we set the user and group Nagios as the default to access and use the plugins. Also, we use OpenSSL to secure the plugin usage.

Then, we start compiling the plugins:

$ sudo make

After that, we can start the installation:

$ sudo make install

Once this command is executed with no errors, we can say that our Nagios Plugins are well installed. We can move on to set up the Nagios Remote Plugin Executor (NRPE). This is a Nagios agent that simplifies remote system monitoring using scripts that are hosted on remote systems. We need to download, configure, compile, and install it in the same way. We first need to find the latest stable version of the source package, and then we download it to /usr/local:

$  cd  /usr/local/

$    sudo    wget    http://downloads.sourceforge.net/project/nagios/nrpe2.x/nrpe 2.15/nrpe2.15.tar.gz

Next, we extract it at the same location, and go inside the folder to start the compilation:

$  sudo  tar  xzvf  nrpe-2.15.tar.gz

$ cd     nrpe-2.15/

We start by running the NRPE configuration script. We define the user and the group using the Nagios process and the security tools:

$ sudo ./configure –enable-command-args –with-nagios-user=nagios –with- nagiosgroup=nagios   –with-ssl=/usr/bin/openssl   –with-ssl- lib=/usr/lib/x86_64-linuxgnu

Then, we run the compiling command, followed by the installation commands:

$ sudo make all

$ sudo make install

$  sudo  make  install-xinetd

$  sudo  make  install-plugin

$  sudo  make  install-daemon

$   sudo   make   install-daemon-config

Next, we configure the xinetd startup script:

$   sudo   nano   /etc/xinetd.d/nrpe

We need to look for the line that starts with only_from and then, add the IP address of the monitoring server. It can be a public or a private address depending on where we want to make the server accessible from:

only_from  =  127.0.0.1  10.0.2.1

Then, we save the file to give only our Nagios server the capacity to communicate with NRPE. After that, we add the following line to define the port number for the NRPE service:

$  sudo  echo  “nrpe  5666/tcp  #  NRPE”  >>  /etc/services

To have this configuration active and running, we need to restart xinetd to launch NRPE:

$  sudo  service  xinetd  restart

Now, we have our Nagios monitoring server officially installed. We can proceed with the configuration steps. We go to the Nagios main configuration file and activate the folder that will store all the configuration files:

$   sudo   nano   /usr/local/nagios/etc/nagios.cfg

Then, we uncomment the following line, save the file, and exit:

cfg_dir=/usr/local/nagios/etc/servers

Note

This is just an example of a server. It can also be done for network equipments or workstations or any other type of network-connected machine.

We create the configuration folder that will store the configuration file for each machine that will be monitored:

$   sudo   mkdir   /usr/local/nagios/etc/servers

Then, we move on to configure the Nagios contacts file to set the e-mail address associated with the Nagios administrator. Usually, it is used to receive alerts:

$    sudo    nano    /usr/local/nagios/etc/objects/contacts.cfg

Now, we need to change the administrator e-mail address. To do so, we need to type in the right one after the email option:

email               packtadmin@packt.co.uk                  ;   <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******

 

Then, we save the file and exit it.

Now, we proceed to the check_nrpe command configuration. We start by adding a new command to our Nagios server:

$  sudo  nano  /usr/local/nagios/etc/objects/commands.cfg

We add the following lines at the end:

define command{

command_name check_nrpe

command_line $USER1$/ check_nrpe -H $HOSTADDRESS$ -c $ARG1$

}

We save the file and exit to allow the new command to become usable.

Now, we go ahead and configure the access restriction to IP addresses that can access the Nagios web interface:

$  sudo  nano  /etc/httpd/conf.d/nagios.conf

We need to comment these two lines:

Order allow,deny Allow from all

Next, we uncomment the following three lines:

#     Order deny,allow

#     Deny from all

#     Allow from 127.0.0.1

Note

These lines appear twice in the configuration file, so we need to do the same thing twice in the same file. This step is only for reinforcing Nagios security.

We can always add any network or address to allow it to have access to the monitoring server:

Allow from 127.0.0.1 10.0.2.0/24

We can always check whether there is any configuration error in the Nagios configuration file using the following command:

$ /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Just before starting Nagios, we need to make the Nagios CGI accessible by changing

SELinux actions from enforcing mode to permissive:

$   sudo   nano   /etc/selinux/config

Then, we change this line to look like the following:

SELINUX=permissive

Now, we can restart the Nagios service and add it to the startup menu. We also need to restart the Apache service:

$ sudo systemctl start nagios.service

$  sudo  systemctl  enable  nagios.service

$ sudo systemctl restart httpd.service

We can now access the Nagios server, but still we need to be allowed to try accessing it from the server itself, or from a machine that is connected to the network that is allowed to access the server. So, we go to the web browser and type http://Nagios_server_IP_Address/nagios.  Then,  we  type  the  admin  username, nagiosadmin, and its password, which has already been defined earlier, to get access to the Nagios interface.

Now, we move on to our client server—the one that we want to monitor using Nagios. First, we need to install the required packages. For CentOS 7, we need to have the EPEL repository installed in order to get the required packages:

$  sudo  yum  install epel-release

Now, we can install the Nagios plugins and NRPE:

$ sudo yum install nrpe nagios-plugins-all openssl

Let’s start by updating the NRPE configuration file:

$   sudo   nano   /etc/nagios/nrpe.cfg

We have to find the line that starts with allowed_hosts and add the IP address of our monitoring server:

allowed_hosts=127.0.0.1,10.0.2.1

Then, we save and exit the file. To complete the configuration, we need to start the NRPservice and add it to the startup menu:

$  sudo  systemctl  start  nrpe.service

$  sudo  systemctl  enable  nrpe.service

Once we are done configuring the host that we want to monitor, we go to the Nagios server to add it to the configuration folder.

On the Nagios server, we need to create a file with the name of the machine. We can take the machine hostname or put something that indicates the role of the machine or any other indication:

$    sudo    nano    /usr/local/nagios/etc/servers/packtserver1.cfg

Then, we add the following lines, replacing host_name with the client hostname replacing the alias value with a short description of the server’s main job, and finally replacing address with the server IP address:

define host {

use                                                                   linux-server

host_name                                                     packtserver1

alias                                                                 Packt Apache server

address                                                          10.0.2.12

max_check_attempts                                   5

check_period                                                24×7

notification_interval                              30

notification_period                                  24×7

}

With this configuration saved, Nagios will only monitor whether the host is up or down. To make it do more, we need to add some services to monitor, such as HTTP and SSH. Also, we are adding the option to check whether the server is active. We need to open the same file and define a service block for each service that we want to monitor:

$ sudo nano /usr/local/nagios/etc/servers/packtserver1.cfg define service {

use                                                                   generic-service

host_name                                                     packtserver1

service_description                                    SSH

check_command                                             check_ssh command_line      $USER1$/check_ssh  $ARG1$  $HOSTADDRESS$ notifications_enabled                                  0

}

 

define service {

use                                                                   generic-service

host_name                                                     packtserver1

service_description                                    HTTP

check_command                                           check_http command_line      $USER1$/check_http I $HOSTADDRESS$ $ARG1$

notifications_enabled                            0

}

 

define service {

use                                                                   generic-service

host_name                                                     packtserver1

service_description                                  PING

check_command                                         check_ping!100.0,20%!500.0,60%

}

 

Then, we save the file and reload the Nagios service:

$  sudo  systemctl  reload  nagios.service

We will see the new server on the host list and its services on the services list. To test whether Nagios is doing its job, we disable the SSH service:

$ sudo systemctl stop sshd.service

Then, on the web interface, we can see how the service will go down from green to red. The red signal means that the test for that service has failed or has returned nothing, which means that the service is rather disabled or inaccessible. An error notification e-mail will be received by the Nagios administrator.

After that, we try the second test, to start the service:

$  sudo  systemctl  start  sshd.service

To indicate that the service is back, another e-mail is received with the new status, where all its information will turn to green, as shown in the following screenshot:

Now, after setting up the first server, we can go ahead and add all the machines, including the switches, printers, and workstations that we need to monitor. Also, to be more practical, we should add only those services that we care about. So, if we have a server that runs a number of services and we will be using only two of them, it is pointless to add all of them and overload the server dashboard and the mailbox of the administrator with things that we don’t care about, which are later treated as spam.

Now, we will configure the NRPE daemon to receive information from the clients about their status. First, at the Nagios server, we edit the Xinetd NRPE configuration file to add which IP address the server should listen from:

$   sudo   nano   /etc/xinetd.d/nrpe

We need to add the IP address after the only_from option:

only_from                =  127.0.0.1   10.0.2.1

Then, we need to add the NRPE service to the system services:

$  sudo  nano  /etc/services

We add the following line at the end of the file:

nrpe 5666/tcp # NRPE

To have it submitted, we restart the Xinetd service:

$  sudo  systemctl  restart  Xinetd

Then, we go to the client and make these modifications:

$  sudo  /usr/lib/nagios/plugins/check_users  -w  5  -c  10

$  sudo  /usr/lib/nagios/plugins/  check_load  -w  15,10,5  -c  30,25,20

$  sudo  /usr/lib/nagios/plugins/check_disk  -w  20%  -c  10%  -p  /dev/sda1

These three commands are used to activate the Nagios agent to send information about server load and disk storage. In our case, our disk is defined as sda1. We can check the naming of the disk using the lsblk command.

nagios check_snmp

Linux SNMP OIDs 

no 	Parameter 	OID
1 	Total Swap 	.1.3.6.1.4.1.2021.4.3.0
2 	Available Swap 	.1.3.6.1.4.1.2021.4.4.0
3 	Total_Ram 	.1.3.6.1.4.1.2021.4.5.0
4 	Ram Used 	.1.3.6.1.4.1.2021.4.6.0
5 	Total Free Memory 	.1.3.6.1.4.1.2021.4.11.0
6 	Total Cached Memory 	.1.3.6.1.4.1.2021.4.15.0
7 	Shared Memory 	.1.3.6.1.4.1.2021.4.13.0
8 	Buffered Memory 	.1.3.6.1.4.1.2021.4.14.0
9 	Load 1min 	.1.3.6.1.4.1.2021.10.1.3.1
10 	Load 10mins 	.1.3.6.1.4.1.2021.10.1.3.2
11 	Load 15mins 	.1.3.6.1.4.1.2021.10.1.3.3
12 	Ideal CPU Time 	.1.3.6.1.4.1.2021.11.11.0
13 	System Uptime 	.1.3.6.1.2.1.25.1.1.0


[root@monitor ~]# snmpdf -v 2c -c public 10.0.3.2
Description              size (kB)            Used       Available Used%
Memory Buffers            49447820          566672        48881148    1%
Real Memory               49447820        49177120          270700   99%
Swap Space                 4194296             288         4194008    0%
/                        279074448       226273420        52801028   81%
/boot                       101086           27544           73542   27%

以下来自互联网
1、snmpwalk -c public -v 1 -m ALL 192.168.30.49 .1.3.6.1.2.1.25.1 得到取得windows端的系统进程用户数等

2、snmpwalk -c public -v 1 -m ALL 192.168.30.49 .1.3.6.1.2.1.25.2.2 取得系统总内存

3、snmpwalk -c public -v 1 -m ALL 192.168.30.49 hrSystemNumUsers

4、snmpwalk -c public -v 1 -m ALL 192.168.30.49 .1.3.6.1.2.1.4.20 取得IP信息

5、snmpwalk -v 2c -c public 192.168.30.49 system 查看系统信息

6、snmpwalk -v 1 192.168.30.49 -c public ifDescr

1、snmpwalk -v 2c -c public 10.103.33.1 .1.3.6.1.2.1.25.1 得到取得windows端的系统进程用户数等

其中-v是指版本,-c 是指密钥,也就是客户端snmp.conf里面所设置的,下面类同.

2、snmpwalk -v 2c -c public 10.103.33.1 .1.3.6.1.2.1.25.2.2 取得系统总内存

3、snmpwalk -v 2c -c public 10.103.33.1 hrSystemNumUsers 取得系统用户数

4、snmpwalk -v 2c -c public 10.103.33.1 .1.3.6.1.2.1.4.20 取得IP信息

5、snmpwalk -v 2c -c public 10.103.33.1 system 查看系统信息

6、snmpwalk -v 2c -c public 10.103.33.1 ifDescr 获取网卡信息

Nagios

服务端安装:
tar xzvf nagios-3.3.1.tar.gz
cd nagios
/usr/sbin/useradd nagios -s /sbin/nologins
/usr/sbin/groupadd nagcmd
/usr/sbin/usermod -G nagcmd nagios
/usr/sbin/usermod -G nagcmd nobody
./configure –with-command-group=nagcmd –with-httpd-conf=/usr/local/apache/conf/ –with-gd-lib=/usr/lib –with-gd-inc=/usr/include/
make all
make install
make install-init
make install-commandmode
make install-config
make install-classicui
/usr/local/apache/bin/htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
New password:
Re-type new password:
Adding password for user nagiosadmin

tar xzvf nagios-plugins-1.4.15.tar.gz
cd nagios-plugins-1.4.15
./configure –with-nagios-user=nagios –with-nagios-group=nagios –enable-redhat-pthread-workaround

[root@test etc]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
[root@test etc]# /usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg
[root@test etc]# /usr/local/nagios/bin/nagios -s /usr/local/nagios/etc/nagios.cfg
[root@test etc]# /usr/local/nagios/bin/nagios -sp /usr/local/nagios/etc/nagios.cfg

[root@test conf]# vim httpd.conf
ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin


Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
AuthName “Nagios Access”
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd.users
Require valid-user

Alias /nagios /usr/local/nagios/share


Options None
AllowOverride None
Order allow,deny
Allow from all
AuthName “Nagios Access”
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd.users
Require valid-user
#
# Directives to allow use of AWStats as a CGI

客户端安装:
cd /opt/
tar xzvf nrpe-2.12.tar.gz
groupadd nagios
useradd nagios -g nagios -d /usr/local/nagios/ -s /sbin/nologin
mkdir -p /usr/local/nagios/etc
mkdir /usr/local/nagios/bin
mkdir /usr/local/nagios/libexec
chown -R nagios.nagios /usr/local/nagios/etc/
cd nrpe-2.12
./configure
make all
make install-plugin
cp ./sample-config/nrpe.cfg /usr/local/nagios/etc/
cp src/nrpe /usr/local/nagios/bin/

cd ..
tar xzvf nagios-plugins-1.4.15.tar.gz
cd nagios-plugins-1.4.15
./configure –with-nagios-user=nagios –with-nagios-group=nagios –enable-redhat-pthread-workaround
make
make install

nagios插件脚本check_linux_stats

check_linux_stats插件用于监控linux系统性能(cpu, mem, load, disk usage, disk io, network usage, open files and processes).

需要安装Sys::Statistics::Linux(是perl插件)
nagios插件地址:http://exchange.nagios.org/directory/Plugins/Operating-Systems/Linux/check_linux_stats/details

下载check_linux_stats.pl插件,放置nagios的插件目录,给予执行权限。
perl插件安装:
wget -c http://search.cpan.org/CPAN/authors/id/B/BL/BLOONIX/Sys-Statistics-Linux-0.66.tar.gz
之前测试时版本是0.60,如下

tar xzvf Sys-Statistics-Linux-0.60.tar.gz 
cd Sys-Statistics-Linux-0.60
ls
more INSTALL 
perl Makefile.PL 
yum install perl-UNIVERSAL-require.noarch
perl Makefile.PL 
make
make test
make install

定义nagios命令

define command{
        command_name   linux_cpu_stats
        command_line   $USER1$/check_linux_stats.pl -C -w 100 -s 5
}

define command{
        command_name   linux_load_stats
        command_line   $USER1$/check_linux_stats.pl -L -w 10,8,5 -c 20,18,15
}

define command{
        command_name   linux_mem_stats
        command_line   $USER1$/check_linux_stats.pl -M -w 99,50 -c 100,50
}

define command{
        command_name   linux_disk_stats
        command_line   $USER1$/check_linux_stats.pl -D -w 10 -c 5 -p / -u GB
}

define command{
        command_name   linux_disk_IO_stats
        command_line   $USER1$/check_linux_stats.pl -I -w 100,70 -c 150,100 -p sda1
}

define command{
        command_name   linux_network_stats
        command_line   $USER1$/check_linux_stats.pl -N -w 30000 -c 45000 -p eth0
}

define command{
        command_name   linux_openfiles_stats
        command_line   $USER1$/check_linux_stats.pl -F -w 10000,150000 -c 15000,250000
}

define command{
        command_name   linux_sockets_stats
        command_line   $USER1$/check_linux_stats.pl -S -w 1000 -c 2000
}

define command{
        command_name   linux_process_stats
        command_line   $USER1$/check_linux_stats.pl -P -w 2000 -c 3000
}


定义nagios主机服务

define service{
        use                             local-service
        host_name                       local
        service_description             linux disk stats
        check_command                   linux_disk_stats
        }
        
define service{
        use                             local-service
        host_name                       local
        service_description             linux Processes stats
        check_command                   linux_process_stats
        }
define service{
        use                             local-service
        host_name                       local
        service_description             linux Load stats
        check_command                   linux_load_stats
        }
define service{
        use                             local-service
        host_name                       local
        service_description             linux mem stats
        check_command                   linux_mem_stats
        notifications_enabled           1
        }

define service{
        use                             local-service
        host_name                       local
        service_description             linux cpu stats
        check_command                   linux_cpu_stats
        notifications_enabled           1
        }

define service{
        use                             local-service
        host_name                       local
        service_description             linux socket stats
        check_command                   linux_sockets_stats
        notifications_enabled           1
        }

define service{
        use                             local-service
        host_name                       local
        service_description             linux disk_io stats
        check_command                   linux_disk_IO_stats
        notifications_enabled           1
        }

define service{
        use                             local-service
        host_name                       local
        service_description             linux network stats
        check_command                   linux_network_stats
        notifications_enabled           1
        }

define service{
        use                             local-service
        host_name                       local
        service_description             linux openfiles stats
        check_command                   linux_openfiles_stats
        notifications_enabled           1
        }

[root@localhost objects]# ../../libexec/check_linux_stats.pl -h
check_linux_stats v1.1
Usage: ../../libexec/check_linux_stats.pl -H <host> [-C|-P|-M|-N|-D|-I|-L|-F|-S] [-P  ] -w -c [-s] [-h] [-V]
        -h, --help
                print this help message
        -C, --cpu
                check cpu usage
        -P, --proc
                check the processes number
        -M, --memory
                check memory usage (memory used, swap used and memory cached)
        -N, --network=NETWORK USAGE
                check network usage in resq or bytes (default bytes)
        -D, --disk=DISK USAGE
                check disk usage
        -I, --io=DISK IO USAGE
                check disk I/O (r/w on /dev/sd*)
        -L, --load=LOAD AVERAGE
                check load average
        -F, --file=FILE STATS
                check open files (file alloc, inode alloc)
        -S, --socket=SOCKET STATS
                socket usage (tcp, udp, raw)
        -p, --pattern
                eth0,eth1...sda1,sda2.../usr,/tmp
        -w, --warning
                warning thresold
        -c, --critical
                critical thresold
        -s, --sleep
                default 1 sec.
        -u, --unit
               %, KB, MB or GB left on disk usage, default : MB
               REQS OR BYTES on disk io statistics, default : REQS
        -V, --version
                version number

        ex : 
        * Cpu usage     :
                ./check_linux_stats.pl -C -w 90 -c 100 -s 5
                        CPU OK : idle 99.80% | USER1=0.00% system=0.20% iowait=0.00% idle=99.80%;90;100

        * Load average  : 
                ./check_linux_stats.pl -L -w 10,8,5 -c 20,18,15
                        LOAD AVERAGE OK : 0.20,0.07,0.16 | load1=0.20;10;20;0 load5=0.07;8;18;0 load15=0.16;5;15;0

        * Memory usage  :
                ./check_linux_stats.pl -M -w 99,50 -c 100,50
                        MEMORY OK : used 94.52% |MemUsed=94.52%;99;100 SwapUsed=0.01;50;50 MemCached=39.66

        * Disk usage    :
                ./check_linux_stats.pl -D -w 10 -c 5 -p /,/usr,/tmp,/var
                        DISK WARNING used :  / 3331.80MB on 3875.09MB (8.86% free) /usr 10084.27MB on 14528.41MB (25.43% free)| /=3331.80MB /usr=10084.27MB

        * Disk I/O      :
                ./check_linux_stats.pl -I -w 100,70 -c 150,100 -p sda1,sda2,sda4
                        DISK I/O OK | sda2_read=0.00;100;150 sda2_write=0.00;70;100 sda4_read=0.00;100;150 sda4_write=0.00;70;100 sda1_read=0.00;100;150 sda1_write=0.00;70;100

        * Network usage :
                ./check_linux_stats.pl -N -w 30000 -c 45000 -p eth0
                        NET USAGE OK eth0:8021.78KB  | eth0_txbyt=3461.39KB eth0_txerrs=0.00KB eth0_rxbyt=4560.40KB eth0_rxerrs=0.00KB

        * Open files    :
                ./check_linux_stats.pl -F -w 10000,150000 -c 15000,250000
                        OPEN FILES OK allocated: 1728 (inodes: 70390) | fhalloc=1728;10000;15000;411810 inalloc=70390;150000;250000;100250 dentries=50754

        * Socket usage  :
                ./check_linux_stats.pl -S -w 1000 -c 2000
                        SOCKET USAGE  OK : used 257 |used=257;1000;2000 tcp=18 udp=5 raw=0

        * Number of procs       :
                ./check_linux_stats.pl -P -w 1000 -c 2000
                        PROCS OK : count 272 |count=272;1000;2000 runqueue=2 blocked=0 running=2 new=0.98

        * Process mem & cpu     :
                ./check_linux_stats.pl -T -w 9551820 -c 9551890 -p /var/run/jonas.pid
                        PROCESSES OK  | java_vsize=1804918784;2000000000;3000000000 java_nswap=0 java_cnswap=0 java_cpu=0


/usr/local/nagios/libexec/check_linux_stats.pl -C -w 90 -c 100 -s 5
/usr/local/nagios/libexec/check_linux_stats.pl -L -w 10,8,5 -c 20,18,15
/usr/local/nagios/libexec/check_linux_stats.pl -M -w 99,50 -c 100,50
/usr/local/nagios/libexec/check_linux_stats.pl -D -w 10 -c 5 -p /,/usr,/tmp,/var
/usr/local/nagios/libexec/check_linux_stats.pl -I -w 100,70 -c 150,100 -p sda1,sda2,sda4
/usr/local/nagios/libexec/check_linux_stats.pl -N -w 30000 -c 45000 -p eth0
/usr/local/nagios/libexec/check_linux_stats.pl -F -w 10000,150000 -c 15000,250000
/usr/local/nagios/libexec/check_linux_stats.pl -S -w 1000 -c 2000
/usr/local/nagios/libexec/check_linux_stats.pl -P -w 1000 -c 2000
/usr/local/nagios/libexec/check_linux_stats.pl -T -w 9551820 -c 9551890 -p /var/run/jonas.pid