Wednesday, June 12, 2013

Nagios Core - Monitoring Tool on CentOS 6.4 - part 5/5 script



Chapter 10 Nagios Notification
1. How to configure notification period
# vi /etc/nagios/objects/server.cfg
 define host & service {
           use                             linux-server           
            host_name                        server
            alias                           server
           address                          192.168.80.5
            check_period                  24x7
            notification_period         workhours
            notification_interval       10                  <- come from templates.cfg
}
# vi /etc/nagios/objects/timeperiods.cfg
define timeperiod {
            timeperiod_name            workhours
            timeperiod_name           24x7
}
# nagios –v /etc/nagios/nagios.cfg ; # service nagios restart
2. How to configure notification for groups
# vi /etc/nagios/objects/contacts.cfg
 define contactgroup {
            contactgroup_name       nagios  
            alias                   Network Operations
            members                         chul,linux
}
define contact {
            use                    generic-contact
            contact_name   chul
            alias                   Jeong Chul
            email                tland@chul.com
}
define contact {
            use                    generic-contact
            contact_name   linux
            alias                   Power Linux
            email                 linux@chul.com
}
# vi /etc/nagios/objects/server.cfg
 define host & service {
           use                   linux-server            //templates.cfg
            host_name            server
           address               192.168.80.5
            check_period                  24x7
            notification_period         workhours
            contact_groups                            nagios
}
# nagios –v /etc/nagios/nagios.cfg; # service nagios restart
3. How to specify which states to be notified about
# vi /etc/nagios/objects/server.cfg
 define host {
            use linux-server
            host_name server
            address 192.168.80.5
            contacts             chul
            notification_options                    d,u,r,f,s     //templates.cfg
            notifications_enabled  1          
}
define service {
            contacts             chul
            notifications_enabled  1
            notification_options                    w,u,c,r,f,s       //templates.cfg 
}
# vi /etc/nagios/objects/contacts.cfg
define contact {
            use                                  generic-contact         //templates.cfg
            contact_name                 chul
            email                              tland@chul.com
            host_notification_options                       d,u,r,f,s
            service_notification_options                   w,u,c,r,f,s
}
d: Down, u: UNrechable, r: Recovering, f: Flapping, s: Scheduled
     w: Warn, u:Unknown, c: Critical
# nagios –v /etc/nagios/nagios.cfg
# service nagios restart

4. How to define a custom notification method
a. Defining command
# vi /etc/nagios/objects/commands.cfg
 define command{
           command_name    notify-host-by-email
           command_line    /usr/bin/printf "%b" "***** Nagios *****\n\nNotifi    cation Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAdd    ress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" |  
         }
  define command{
          command_name    notify-service-by-email
          command_line    /usr/bin/printf "%b" "***** Nagios *****\n\nNotifi    cation Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIA    S$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATET    IME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$\n" |
b. Defining contacts in the templates
# vi /etc/nagios/objects/templates.cfg
define contact{
            name                                                          generic-contact
            host_notification_commands                   notify-host-by-email
            service_notification_commands                            notify-service-by-email
}
c. Defining host and service
# vi /etc/nagios/objects/server.cfg
define host{
            use                     linux-server
            contact_groups  nagios                           //contacts.cfg  <- templaes.cfg
# nagios –v /etc/nagios/nagios.cfg
# service nagios restart

Chapter 11 Nagios Security & Performance
1.Requiring authentication for the web interface
a. Adding user
# htpasswd /etc/nagios/htpasswd.users tland
b. Add this user to cgi.cfg
# vi /etc/nagios/cgi.cfg
authorized_for_read_only=tland
authorized_for_all_services=nagios,tland
authorized_for_all_hosts=nagios,tland
c. Access web interface using new user
http://localhost/nagios/
2. Using authenticated contacts
a. Creating new user
# htpasswd /etc/nagios/htppasswd.uesrs linux
http://localhost/nagios
b. Editing contact and host information
# vi /etc/nagios/objects/contacts.cfg
define contact {
            use                     generic-contacts
            contact_name    linux
            alias                    Linux Admin
            email                  linux@chul.com
}
# vi /etc/nagios/objects/linux.cfg
define host {
            host_name                       linux
            alias                    linux server
            address              192.168.80.5     
            contacts                           nagios,linux
}
# nagos –v /etc/nagios/nagios.cfg ; # service nagios restart

3. Writing debugging information to Nagios log file
a. Editing nagios.cfg
# vi /etc/nagios/nagios.cfg
debug_level = -1                                      //everything
debug_verbosity=2                                  //very detailed
debug_file=/var/log/nagios/nagios.log
# touch /var/log/nagios/nagios.log
# chown nagios.nagios /var/log/nagios/nagios.log
b. Service restart
# nagios –v /etc/nagios/nagios.cfg
# service nagios restart
# tail –f /var/log/nagios/nagios.log
4. Monitoring Nagios performance with Nagiostats
# vi /etc/nagios/nagios.cfg
status_file=/var/log/nagios/status.dat
# nagiostats –c /etc/nagios/nagios.cfg        
# nagiostats –c /etc/nagios/nagios.cfg –help

Chapter 12 How to integrate MRTG & Nagios
1.Check MRTG data
# service httpd restart
# ls –l /var/www/mrtg
http://localhost/mrtg
2. Service definition
# vi /etc/nagios/objects/router.cfg
# Router on MRTG
define service{
            use                                  generic-service
            host_name                      router
            service_description        Router Bandwidth Usage
            check_command check_local_mrtgtraf!/var/www/mrtg/192.168.80.11_1.log!A    VG!1000,5000!8000,50 000!10
}
3. Command definition
# vi /etc/nagios/objects/commands.cfg
# check_mrtgtraf' command definition
define command{
            command_name check_local_mrtgtraf
            command_line $USER1$/check_mrtgtraf -F $ARG1$ -a $ARG2$ -w
            $ARG3$,$ARG4$ -c $ARG5$,$ARG6$
}
4. Testing MRTG and Nagios
# nagios –v /etc/nagios/nagios.cfg
# service nagios restart

Summary
1. Network Monitoring Structure
2. How to setup Managed Devices
    Linux server, Windows Server, Cisco Router & Webserver
3. Nagios Visualization
     Nagiosgraph, NDOUtils with MySQL
4. Nagios Notification & Security with Performance
5. Integration with Nagios and MRTG

5 comments:

  1. very kindful help and very helpful Toturial really you are very good Tutor Thank you for your helping, keep on going please. helping knowledge seeks
    really i was new in this topic but now i have get some knowledge about Nagios after i have watched your Tutorials. it is better if you may direct another docs such as books, other tutorials and etc. to help me enough knowledge in this monitoring system.
    again thank you Boss.

    ReplyDelete
    Replies
    1. Dear Abdullahi Gure. Thank you for your comment here. If you visit knowledgepia.com, you will find these kind of docs for each videos. I will upload more data for each video on my youtube channel to knowledgepia.com. Enjoy much knowledge in this website.

      Delete
  2. Hello Brother,

    My question is : How to add icon/image in front of host or services on nagios portal.
    for example i have one host in nagios it is RHEL7 i want to keep icon/image of REDHAT in front of host on nagios portal so that i can recognize easily.
    how to do this process through nagios configurations ?
    Thank you very much in advance.

    jonusjoseph@gmail.com

    -Jonus Joseph

    ReplyDelete