期盼死亡的小丑 发表于 2019-1-16 06:14:00

Nagios 中文安装(二)

  到此在cacti中添加npc插件来调用nagios
# cd /usr/local/apache/htdocs/cacti/plugins
# tar -zxvf /install/npc-2.0.4.tar.gz
# vim ../include/config.php
$plugins[] = "npc";

测试:
http://192.168.1.120/cacti

(15)PNP
# tar -zxvf pnp-0.4.13.tar.gz -C /usr/src/
# cd /usr/src/pnp-0.4.13/
# ./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-rrdtool --with-perfdata-dir=/usr/local/nagios/share/perfdata
# make all
# make install
# make install-config
# make install-init
配置pnp
# cd /usr/local/nagios/etc/pnp/
# cp process_perfdata.cfg-sample process_perfdata.cfg
# cp npcd.cfg-sample npcd.cfg
# cp rra.cfg-sample rra.cfg
# chown -R nagios:nagios /usr/local/nagios/etc/pnp/
# vim /usr/local/nagios/etc/pnp/process_perfdata.cfg
LOG_FILE = /usr/local/nagios/var/perfdata.log
# Loglevel 0=silent 1=normal 2=debug
LOG_LEVEL = 2
修改nagios配置文件
1、
# vim /usr/local/nagios/etc/objects/templates.cfg
define host{
      name            hosts-pnp
      register      0
      action_url      /nagios/pnp/index.php?host=$HOSTNAME$
      process_perf_data
}

##############################################################
define service {
      name            services-pnp
      register      0
      action_url      /nagios/pnp/index.php?host=$HOSTNAME$&srv=$SERVICEDESC$
      process_perf_data
}

2、
# vim /usr/local/nagios/etc/nagios.cfg
833 process_performance_data=1
845 host_perfdata_command=process-host-perfdata
846 service_perfdata_command=process-service-perfdata

3、
# vim /usr/local/nagios/etc/objects/commands.cfg
# 'process-host-perfdata' command definition
define command{
      command_name    process-host-perfdata
#       command_line    /usr/bin/printf "%b" "$LASTHOSTCHECK$\t$HOSTNAME$\t$HOSTSTATE$\t$HOSTATTEMPT$\t$HOSTSTATETYPE$\t$HOSTEXECUTI
ONTIME$\t$HOSTOUTPUT$\t$HOSTPERFDATA$\n" >> /usr/local/nagios/var/host-perfdata.out
      command_line    /usr/local/nagios/libexec/process_perfdata.pl
      }


# 'process-service-perfdata' command definition
define command{
      command_name    process-service-perfdata
#       command_line    /usr/bin/printf "%b" "$LASTSERVICECHECK$\t$HOSTNAME$\t$SERVICEDESC$\t$SERVICESTATE$\t$SERVICEATTEMPT$\t$SERV
ICESTATETYPE$\t$SERVICEEXECUTIONTIME$\t$SERVICELATENCY$\t$SERVICEOUTPUT$\t$SERVICEPERFDATA$\n" >> /usr/local/nagios/var/service-perf
data.out
      command_line    /usr/local/nagios/libexec/process_perfdata.pl
      }

4、
# vim /usr/local/nagios/etc/objects/hosts.cfg
define host{
    use             linux-server,hosts-pnp
    host_name       115-server
    alias         115
    address         192.168.1.115
}

definehost{
    use             linux-server,hosts-pnp
    host_name       120-server
    alias         120
    address         192.168.1.120
}



5、
# vim /usr/local/nagios/etc/objects/services.cfg
define service{
    use         local-service,services-pnp
    host_name   115-server
    service_description   PING
    check_command       check_ping!100.0,20%!500.0,60%
}
###################################################################
define service{
    use         local-service,services-pnp
    host_name   120-server
    service_description   PING
    check_command       check_ping!100.0,20%!500.0,60%
}

# /etc/init.d/nagios stop
# /etc/init.d/nagios start

httpd://192.168.1.120/nagios




(16)配置Nagios客户端(远程主机)
# yum -y install *gcc*
# useradd -s /sbin/nologin nagios
# tar -zxvf nagios-plugins-1.4.14.tar.gz -C /usr/src/
# cd /usr/src/nagios-plugins-1.4.14/
# ./configure
# make
# make install
# chown nagios:nagios /usr/local/nagios/
# chown -R nagios:nagios /usr/local/nagios/libexec/

安装NRPE
# tar -zxvf nrpe-2.12.tar.gz -C /usr/src/
# cd /usr/src/nrpe-2.12/
# ./configure
# make all
# make install-plugin
# make install-daemon
# make install-daemon-config
root@localhost ~]# cd /usr/local/nagios/libexec/
# ls
check_apt      check_disk_smbcheck_ide_smart   check_load      check_nrpe      check_ping   check_spop   check_users
check_breeze   check_dns       check_ifoperstatuscheck_log       check_nt      check_pop      check_ssh    check_wave
check_by_ssh   check_dummy   check_ifstatus      check_mailq   check_ntp       check_procs    check_ssmtpnegate
check_clamd    check_file_agecheck_imap          check_mrtg      check_ntp_peercheck_real   check_swap   urlize
check_clustercheck_flexlm    check_ircd          check_mrtgtrafcheck_ntp_timecheck_rpc      check_tcp    utils.pm
check_dhcp   check_ftp       check_jabber      check_nagios    check_nwstat    check_sensorscheck_time   utils.sh
check_dig      check_http      check_ldap          check_nntp      check_oracle    check_simap    check_udp
check_disk   check_icmp      check_ldaps         check_nntps   check_overcr    check_smtp   check_ups

# vim /usr/local/nagios/etc/nrpe.cfg
allowed_hosts=127.0.0.1,192.168.1.120   填写监控主机IP或域名

# /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
# echo $?
0

#netstat -ant | grep 5666
tcp      0      0 0.0.0.0:5666                0.0.0.0:*                   LISTEN

# /usr/local/nagios/libexec/check_nrpe -H 127.0.0.1
NRPE v2.12

设置开机自动启动服务
# echo "/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d" >>/etc/rc.local


# vim /usr/local/nagios/etc/nrpe.cfg
command=/usr/local/nagios/libexec/check_users -w 5 -c 10
command=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
command=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z
command=/usr/local/nagios/libexec/check_procs -w 500 -c 550
command=/usr/local/nagios/libexec/check_swap -w 20% -c 10%

在服务端安装NRPE和配置nagios
# tar -zxvf nrpe-2.12.tar.gz -C /usr/src/
# cd /usr/src/nrpe-2.12/
# ./configure
# make all
# make install-plugin
测试插件于客户端是否通信
# /usr/local/nagios/libexec/check_nrpe -H 192.168.1.115
NRPE v2.12

定义一个check_nrpe命令
# vim /usr/local/nagios/etc/objects/commands.cfg
define command{
      command_name    check_nrpe
      command_line    $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
      }

添加远程主机监控在这我们监控远程主机服务:用户数、CPU利用率
# vim /usr/local/nagios/etc/objects/services.cfg
define service{
    use                         local-service,services-pnp
    host_name                   125-server
    service_description         users
    check_command               check_nrpe!check_users
}

define service{
    use                         local-service,services-pnp
    host_name                   125-server
    service_description         load
    check_command               check_nrpe!check_load
}

define service{
    use                         local-service,services-pnp
    host_name                   125-server
    service_description         swap
    check_command               check_nrpe!check_swap
}



define service{
    use                         local-service,services-pnp
    host_name                   125-server
    service_description         Total Proocesses
    check_command               check_nrpe!check_total_procs
}


define service{
    use                         local-service,services-pnp
    host_name                   125-server
    service_description         Zombie Proocesses
    check_command               check_nrpe!check_zombie_procs
}







# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
# service nagios stop
# service nagios start
Starting nagios:This account is currently not available.
done.


http://192.168.1.120/nagios
-----------------------------------------------------------------------------------------------------------------------------------------------------------

(17)实现Nagios短信报警
下载linux版本飞信程序
# tar -zxvf fetion20091117-linux.tar.gz
# mkdir /usr/local/fetion
# cp fx/* /usr/local/fetion
cp: omitting directory `fx/cache'
cp: omitting directory `fx/commands'
cp: omitting directory `fx/done'
cp: omitting directory `fx/logs'
cp: omitting directory `fx/plugins'
# echo "/usr/local/fetion" >> /etc/ld.so.conf

# ldd /usr/local/fetion/fetion
      linux-gate.so.1 =>(0x00d51000)
      libACE-5.7.2.so => not found
      libACE_SSL-5.7.2.so => not found
      libssl.so.4 => not found
      libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x0748e000)
      libm.so.6 => /lib/libm.so.6 (0x00b97000)
      libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x009f0000)
      libc.so.6 => /lib/libc.so.6 (0x00a4f000)
      /lib/ld-linux.so.2 (0x00a31000)
      libcrypto.so.4 => not found
# /usr/local/fetion/fetion


Nagios配置
# vim /usr/local/nagios/etc/objects/templates.cfg
define contact{
      name                            generic-contact         ; The name of this contact template
      service_notification_period   24x7                  ; service notifications can be sent an
ytime
      host_notification_period      24x7                  ; host notifications can be sent anyti
me
      service_notification_options    w,u,c,r,f,s             ; send notifications for all service s
tates, flapping events, and scheduled downtime events
      host_notification_options       d,u,r,f,s               ; send notifications for all host stat
es, flapping events, and scheduled downtime events
      service_notification_commands   notify-service-by-email,notify-service-by-sms   ; send service
notifications via email
      host_notification_commands      notify-host-by-email,notify-host-sms    ; send host notificati
ons via email
      register                        0                     ; DONT REGISTER THIS DEFINITION - ITS
NOT A REAL CONTACT, JUST A TEMPLATE!
      }


# vim /usr/local/nagios/etc/objects/commands.cfg
#####################feixin kehuduan###############################################
define command{
      command_name    notify-service-by-sms#定义一个服务发生故障时发生报警
                           #短信的指令
      command_line    /usr/local/fetion/fetion --mobile=18610405476 --pwd=18610405479 --to=$CONTACTP
AGER$ --msf-utf8=$HOSTADDRESS$ --msg-utf8="$HOSTADDRESS$ $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$"0
}
####################################################################################################
define command{
      command_name    notify-host-by-sms   #定义一个主机发生故障时发生报警短信的指令
      command_line    /usr/local/fetion/fetion --mobile=18610405479 --pwd=18610405479 -to=$SONTACTPA
GER$ --msg-utf8="Host $HOSTSTATE$ alert for $HOSTNAME$! on '$DATETIME$'"
}


# vim /usr/local/nagios/etc/objects/contacts.cfg
define contact{
      contact_name                  shancg          ; Short name of user
      use                           generic-contact         ; Inherit default values from generic-
contact template (defined above)
      alias                           sa-system               ; Full name of user

      email                           shancg@corpmail.cn      ;
页: [1]
查看完整版本: Nagios 中文安装(二)