|NO.Z.00037|——————————|^^ 构建 ^^|——|Nagios构建.V3|——|3台server|

一、Nagion配置:http://10.10.10.11/nagios        
1、登录界面:用户名:nagiosadmin 密码:123
2、nagios控制页面
3、host默认监控了本机的设置,service是监控的对象。
### --- host默认监控了本机的设置,service是监控的对象。
~~~     service——>HTTP:WARNING报错;监控的是httpd的默认目录/var/www/html/,
~~~     默认是没有的,添加一个主页文件检查效果。

[root@server11 ~]# echo "this is nagios httpd warring" >> /var/www/html/index.html
二、添加监控主机
### --- nagios配置文件说明:不修改
### --- 在HA-server1下:10.10.10.11下查看配置文件说明
### --- 查看nagios的配置文件,只是解释说明;不作为配置方案!!!

[root@server11 ~]# ls /usr/local/nagios/
bin:                                                                        // 存放命令目录  
etc:                                                                        // 存放的是一些配置文件  
include:                                                                    // 该目录目前为空 
libexec:                                                                    // check脚本文件位置 
perl:                                                                       // Perl文件的存放位置  
sbin:                                                                       // 管理员用到的命令
share:                                                                      // 网页文件  
var:                                                                        // 动态数据包括日志都在这个目录下
[root@server11 ~]# ls /usr/local/nagios/etc/
cgi.cfg:                                                                    // 跟一些命令监控有关的,用不到  
htpasswd.users:                                                             // 之前构建的Apache认证的用户文件  
nagios.cfg:                                                                 // nagios的主配置文件  
objects:                                                                    // 对象的含义  
resource.cfg:                                                               // 定义宏的配置文件
[root@server11 ~]# vim /usr/local/nagios/etc/nagios.cfg                      // 查看nagios的主配置文件
log_file=/usr/local/nagios/var/nagios.log                                    // 指定了日志存放路径
cfg_file=/usr/local/nagios/etc/objects/commands.cfg
cfg_file=/usr/local/nagios/etc/objects/contacts.cfg
cfg_file=/usr/local/nagios/etc/objects/timeperiods.cfg
cfg_file=/usr/local/nagios/etc/objects/templates.cfg                        // 定义了监控的一些配置文件,把它连接进来了
cfg_file=/usr/local/nagios/etc/objects/localhost.cfg                        // 监控了一台主机,也就是通过这个配置文件监控了本机,以及监控了那些资源,也就是说要监控一台主机,需要先写一个配置文件,加到这个主配置文件所定义的目录下。然后去引用,才可以生效
#cfg_dir=/usr/local/nagios/etc/servers                                      // 批量添加引用,也就是把需要监控的主机放入到这个配置文件下,所有的监控文件都会被引用。都会得到监控
#cfg_dir=/usr/local/nagios/etc/printers
#cfg_dir=/usr/local/nagios/etc/switches
#cfg_dir=/usr/local/nagios/etc/routers
object_cache_file=/usr/local/nagios/var/objects.cache                       // 缓存的目录,对于nagios来说并没有把数据写入数据库,而是通过缓存去获取数据,
precached_object_file=/usr/local/nagios/var/objects.precache                // 动态的对象配置文件指定的目录
resource_file=/usr/local/nagios/etc/resource.cfg                            // 源配置文件
status_file=/usr/local/nagios/var/status.dat                                // 以及状态数据
status_update_interval=10                                                   // 更新时常
nagios_user=nagios                                                          // 运行的身份
nagios_group=nagios                                                         // 运行的组
check_external_commands=1                                                   // 检测的命令的调用返回值
command_check_interval=-1                                                   // command命令的接口值
command_file=/usr/local/nagios/var/rw/nagios.cmd
external_command_buffer_slots=4096
[root@server11 ~]# ls /usr/local/nagios/etc/objects/
commands.cfg:                                                               // 定义的是这个命令是怎么去调用的  
contacts.cfg:                                                               // 监控的时候需要指定的配置方式 ,定义了一个权限文件 
localhost.cfg:                                                               // 监控本身组件的配置文件
printer.cfg :                                                               // 监控的是打印机的
switch.cfg:                                                                 // 监控交换的
templates.cfg:                                                              // linux-server模板配置文件
timeperiods.cfg:                                                            // 定义监控时段的 
windows.cfg:                                                                // Windows的监控模板

[root@server11 ~]# vim /usr/local/nagios/etc/objects/commands.cfg 
define command{                                                              // 定义了一个命令,命令的名称为check-host-alive;检测是否存活
        command_name    check-host-alive
        command_line    $USER1$/check_ping -H $HOSTADDRESS$ -w 3000.0,80% -c 5000.0,100% -p 5       //使用的命令为$USER1$:也就是当前提到宏,宏在哪里呢?脚本的存放目录/check_ping:使用check_ping来获取主机信息-H $HOSTADDRESS$:返回的是nagios赋予它的主机变量 -w:warnning级别 3000.0延时,80%:80的可用率 -c:严重警告级别 5000.0:,100% -p:操作次数 5
        }
[root@server11 ~]# vim /usr/local/nagios/etc/resource.cfg                   // 定义宏的配置文件
# Nagios supports up to 32 $USERx$ macros ($USER1$ through $USER32$)        // 允许最大定义32个$USERs$
$USER1$=/usr/local/nagios/libexec                                           // 宏代表什么含义呢,相当于就是变量,只不过这个变量应用到nagios的所有配置文件中都是可以生效的。默认定义个第一个环境变量叫$USER1$,定义变量的文件在/usr/local/nagios/libexec

[root@server11 ~]# ls /usr/local/nagios/libexec                             // 查看定义宏的配置文件       //里面是一堆的check_xyz文件,脚本文件
check_apt      check_dhcp      check_dummy     check_icmp          check_ircd   check_mrtgtraf  check_ntp_peer  check_ping   check_sensors  check_time   negate
check_breeze   check_dig       check_file_age  check_ide_smart     check_load   check_nagios    check_ntp_time  check_pop    check_smtp     check_udp    urlize
check_by_ssh   check_disk      check_flexlm    check_ifoperstatus  check_log    check_nntp      check_nwstat    check_procs  check_ssh      check_ups    utils.pm
check_clamd    check_disk_smb  check_ftp       check_ifstatus      check_mailq  check_nt        check_oracle    check_real   check_swap     check_users  utils.sh
check_cluster  check_dns       check_http      check_imap          check_mrtg   check_ntp       check_overcr    check_rpc    check_tcp      check_wave
[root@server11 ~]# vim /usr/local/nagios/etc/objects/contacts.cfg           // 查看监控时指定配置方式的文件
define contact{
        contact_name                    nagiosadmin                         // 定义了名称为nagiosadmin:管理员         ; Short name of user
        use                             generic-contact                     // user使用的模板,也就是一般监控 ; Inherit default values from generic-contact template (defined above)
        alias                           Nagios Admin                        // 别名:; Full name of user

        email                           nagios@localhost                    // email邮件 ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******
        }
define contactgroup{                                                        // 定义了一个组
        contactgroup_name       admins                                      // 组名admins组
        alias                   Nagios Administrators                       // 别名
        members                 nagiosadmin                                 // 成员为nagiosadmin
        }
[root@server11 ~]# vim /usr/local/nagios/etc/objects/localhost.cfg          // 查看监控本身组件的配置文件
define host{                                                                // 定义了一台主机
        use                     linux-server                                // use使用了一个模板linux-server模板;模板位置在:/usr/local/nagios/etc/objects/templates.cfg必须要声明的
                                                        
                                                       
        host_name               localhost                                   // 管理的主机名称;主机名称可以在nagios的web界面的hosts里面可以显示出来的 
        alias                   localhost                                   // 别名:不具有任何含义,仅仅当别人打开这个配置文件是可以看到的名词而已。
        address                 127.0.0.1                                   // 目的,那台机器的
        }
define hostgroup{                                                           // 定义了hostgroup组;在linux里不定义组,定义主机也是可以的,在window下不定义组是后报错的。
        hostgroup_name  linux-servers       
        alias           Linux Servers       
        members         localhost           
        }
define service{                                                             // 定义了不同的服务
        use                             local-service                       // 使用的模板是local-service
        host_name                       localhost                           // 主机名称localhost,与上面定义的名称相匹配
        service_description             PING                
        check_command                   check_ping!100.0,20%!500.0,60%      // 描述信息,使用的命令是check_ping,当!100.0,20%时候警告!500.0,60%严重警告
        }        
define service{                                                             // 又定义了一个服务
        use                             local-service         
        host_name                       localhost
        service_description             Root Partition                      // root partition:root的根分区
        check_command                   check_local_disk!20%!10%!/          // !20%:警告!10%!/:严重警告
        }               
define service{                                                             // 以及定义了一个当前登录的用户数
        use                             local-service                   
        host_name                       localhost
        service_description             Current Users
        check_command                   check_local_users!20!50             // !20:警告!50严重警告
        }
define service{                                                             // 定义了当前的主机地址
        use                             local-service         
        host_name                       localhost
        service_description             Total Processes
        check_command                   check_local_procs!250!400!RSZDT     // !250!j警告400!RSZDT:严重警告
        }
define service{                                                             // 当前的三个平均负载
        use                             local-service         
        host_name                       localhost
        service_description             Current Load
        check_command                   check_local_load!5.0,4.0,3.0!10.0,6.0,4.0       //!5.0,4.0,3.0!10.0,6.0,4.0
        }                                       
define service{                                                             // 当前swap的剩余空间
        use                             local-service         
        host_name                       localhost
        service_description             Swap Usage
        check_command                   check_local_swap!20!10
        }   
[root@server11 ~]# vim /usr/local/nagios/etc/objects/templates.cfg          // 上一条查看到模板配置的linux-server模板配置文件
define host{
        name                            linux-server                        // 主机模板
        use                             generic-host                        // 使用generic-host自末班去嵌套
        check_period                    24x7                                // 7x24小时监控
        check_interval                  5                                   // 间隔时间为5分钟
        retry_interval                  1                                   // 1分钟后重新尝试
        max_check_attempts              10                                  // 最大次数为10次
        check_command                   check-host-alive                    // 使用的命令为check-host-alive
        notification_period             workhours                   
                                                                    
                                                                    
        notification_interval           120                         
        notification_options            d,u,r                       
        contact_groups                  admins                      
        register                        0                           
        }
[root@server11 ~]# vim /usr/local/nagios/etc/objects/timeperiods.cfg        // 定义监控时段的      
define timeperiod{
        timeperiod_name 24x7                                                // 定义一个4x27的监控时段
        alias           24 Hours A Day, 7 Days A Week                       // 定义方式:周一到周天
        sunday          00:00-24:00
        monday          00:00-24:00
        tuesday         00:00-24:00
        wednesday       00:00-24:00
        thursday        00:00-24:00
        friday          00:00-24:00
        saturday        00:00-24:00
        }
        
[root@server11 ~]# ls /usr/local/nagios/include/                            // 这个目录下为空,           

 
 
 
 
 
 
 
 
 

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
                                                                                                                                                   ——W.S.Landor

 

 

posted on 2022-03-22 15:58  yanqi_vip  阅读(51)  评论(0)    收藏  举报

导航