isgood 发表于 2019-1-16 09:05:40

nagios中文版配置安装

  一、在安装之前先装好nagios所需要系统组件:APACHE、GCC、GLIBC、GD-DEVEL
  二、安装Nagios Core
  1、创建nagios用户和用户组
   #useraddnagios
   #passwd nagios
2、释放归档文件
   #tar xzf nagios-3.2.3.tar.gz
3、运行nagios配置脚本,使用先前预设的用户和用户组
   #./configure --with-command-group=nagcmd
4、源码编译
   #make all
5、安装二进制程序
   #make install
6、初始化脚本
   #make intall-init
7、生成配置文件样本
   #make install-config
8、设置目录权限
   #make install-commandmode
9、定义管理员联系信息
   #vi /usr/local/nagios/etc/objects/contacts.cfg
   修改email选项值为自己的邮箱地址
10、配置WEB接口
安装nagios的WEB配置文件到apache的conf.d目录下
#make install-webconf
11、创建WEB登陆用户
#htpasswd –c /usr/local/nagios/etc/htpasswd.users nagios nagiosadmin
12、重启apache服务使设置生效
三、安装插件plugins

1、释放归档文件
   #tar xzf nagios-plugins-1.4.15.tar.gz
2、编译并安装插件
   #./configure --with-nagios-user=nagios --with-nagios-group=nagios
   #make
   #make install
3、验证nagios配置文件
   #/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg(希望不报错吧)
4、加入启动项
   #chkconfig --add nagios
   #chkconfig nagios on
5、启动nagios

验证nagios配置文件   
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
启动nagios
service nagios start
6、登陆WEB接口,查看本机监视状态
   http://localhost/nagios/

四、配置appache

cd /etc/httpd/conf/httpd.conf
vi httpd.conf

为了配置文件的工整,在配置文件的相关地方加入如下配置:
LoadModule php5_module modules/libphp5.so(如果有,不用加)
AddType application/x-httpd-php .php .phtml
找到DirectoryIndex index.html
改为:DirectoryIndex index.php index.html
在最后加入nagios的访问目录:
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
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
Require valid-user



五、飞信机器人的安装
在安装飞信之前需要在/usr/lib目录下加上libACE库文件,以便使飞信能够正常使用
tar zxvf library_linux.tar.gz
mv libACE* libcrypto.so.0.9.8 libssl.so.0.9.8/usr/lib
好了,现在来正式安装飞信
tar zxvf fetion20090406003-linux.tar.gz
mv install /usr/local/fetion
chmod -R 755 /usr/local/fetion
chown -R nagios:nagios /usr/local/fetion
测试飞信能否成功发送短信(发送对象需是自己飞信好友):
/usr/local/fetion/fetion --mobile=137*** --pwd=*** \
> --to=136*** --msg-utf8="test"
如果136***成功收到短信就说明飞信安装成功,如果不能成功看日志。
六、nagios的配置

配置cgi.cfg文件,将user_authentication修改为0。
vi /usr/local/nagios/etc/cgi.cfg
use_authentication=0

接下来修改default_user_name=nagios(前面创建的用户名) ,再后面的修改在下表列出:
authorized_for_system_information=nagiosadmin,nagios//后面跟的都是用户名
authorized_for_configuration_information=nagiosadmin,nagios
authorized_for_system_commands=nagios//多个用户之间用逗号隔开
authorized_for_all_services=nagiosadmin,nagios
authorized_for_all_hosts=nagiosadmin,nagios
authorized_for_all_service_commands=nagiosadmin,nagios
  authorized_for_all_host_commands=nagiosadmin,nagios

cd /usr/local/nagios/etc/objects/
配置监控用户
vi templates.cfg
#######################hostname#############################
define host{
      name                   testa
      max_check_attempts       1
      normal_check_interval    1
      retry_check_interval   1
      check_period          24x7
      contact_groups      sagroup
      notification_interval20
      notification_period   24x7
      notification_options   d,u,r
      }

######################servicename###########################
define service{
      name                   testb
      max_check_attempts       1
      normal_check_interval    1
      retry_check_interval   1
      check_period          24x7
      contact_groups      sagroup
      notification_interval20
      notification_period   24x7
      notification_options   w,u,c,r
      }
配置主机监控
vi hosts.cfg

define host{
      host_name 192.168.0.30 //对主机进行命名
      alias 主机监控30
      address 192.168.0.30   //IP
      check_command check-host-alive //对服务器监控的命令,其中 check-host-alive 在commands.cfg文件中命名了
      use   testa,host-pnp
}

配置监控服务
vi services.cfg

define service {
      host_name 192.168.0.30
      service_description 网站监控31
      use testb,srv-pnp
      check_command ch vi hostgroups.cfgeck_http!80
}
配置主机组

vi hostgroups.cfg
define hostgroup {
      hostgroup_name host //服务组名
      alias system host-server //服务组别名
      members * //组成员,可将相应的主机名依次添加,以(,分号隔开),* 表示所有主机
}
配置服务组

vi servicegroups.cfg
define servicegroup {
      servicegroup_name service
      alias system service-server
      members192.168.0.30,网站监控31 //服务组成员,格式:主机名,服务名 如:localhost,load 表示本地服务器的load服务

配置监控联系组文件
vi contactgroups.cfg
define contactgroup{
      contactgroup_name       sagroup    //联系人组的名称,同样不能空格
      alias System administrator group      //别名
      members               nagiosadmin
//组的成员,来自于上面定义的contacts.cfg,如果有多个联系人则以逗号相隔
      }
定义联系人,创建配置文件contacts.cfg
# vi contacts.cfg
define contact{
      contact_name                  nagiosadmin//联系人的名称,这个地方不要有空格
      alias                           Nagios Admin
      service_notification_period   24x7
      host_notification_period      24x7
      service_notification_options    w,u,c,r
      host_notification_options       d,u,r
      service_notification_commands   notify-service-by-feitest //定义服务报警执行任务
      host_notification_commands      notify-service-by-feitest//定义主机报警执行任务
#      email                           jack_890@126.com
      }
配置命令配置文件
vi commands.cfg
在文件尾添加如下:

define command {
             command_name         notify-host-by-feitest
             command_line         LD_LIBRARY_PATH=/home/fx /home/fx/fetion --mobile=139******** --pwd=************ --to=137******* --msg-type=1 --msg-utf8="Host $HOSTNAME$ is $HOSTSTATE$ on '$LONGDATE
TIME$'"
             }

#'notify-service-by-fei' command definition
define command {
             command_name      notify-service-by-feitest
             command_line      LD_LIBRARY_PATH=/home/fx /home/fx/fetion --mobile=139******** --pwd=************ --to=137*******   --msg-type=1 --msg-utf8="$HOSTADDRESS$/$SERVICEDESC$ is $SERVICESTATE$
on $LONGDATETIME$"
             }
添加配置文件
cd /usr/local/nagios/etc
注释之前的文件并添加我们刚刚配置好的文件:
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/contactgroups.cfg
cfg_file=/usr/local/nagios/etc/objects/hosts.cfg
cfg_file=/usr/local/nagios/etc/objects/hostgroups.cfg
cfg_file=/usr/local/nagios/etc/objects/services.cfg
cfg_file=/usr/local/nagios/etc/objects/servicegroups.cfg
cfg_file=/usr/local/nagios/etc/objects/timeperiods.cfg
cfg_file=/usr/local/nagios/etc/objects/templates.cfg

解压并按装NRPE
# tar xvf nrpe-2.12.tar.gz
# cd   xvf nrpe-2.12
   #。/config
   #make all
   #make install-plugin
   #make install-daemon
       #make install-daemon-config
       #make install-xinetd
       # cp nrpe.cfg /usr/local/nagios/etc
#cp src/nrpe /usr/local/nagios/bin
#cp init-script /etc/init.d/nagios-nrpe
#chmod +x /etc/init.d/nagios-nrpe
同样也要为nagios指定固定端口,只要该端口没被占用就可以,也没有必要指定的是5666
    为nrpe指定固定的端口
#vim /etc/service
nrpe   5666/tcp   #NRPE

配置超级守护进程中管理nrpe
       #cd /etc/xinetd.d/nrpe
      only_from   = 127.0.0.1 注: 必须添加nagios的服务端的地址如果为配置允许nagios服务端的地址的话,nagios 服务器不能正常通过nrpe 进行监控该主机、
4启动NRPE的后台守护进程
      /usr/local/nagios/bin/nrpe   -c /usr/local/nagios/etc/nrpe.cfg –d
而该命令生成的日志在系统日志中(即/var/log/message)中。如果没有错误,就基本上是完成了
在nagios服务器上田间命令
   #cd /usr/local/nagios/etc/object
   #vim command.cfg
define command {
   command_name check_nrpe
   command_line /usr/local/nagios/libexec/check_nrpe -H $HOSTADRESS$ -c $ARG1$
      }
在nagios服务器上验收一下
#/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1
   返回的值为被监控服务器上安装的NRPE的版本信息
         NRPE v2.12

在远程主机上安装nagios-plugins 和nrpe
1添加nagios用户,应为nagios默认情况下运行NRPE
#useradd nagios
2安装nagios-plugin插件
   #tar xvf nagios-plugins-1.4.15.tar.gz
   # cd   nagios-plugins-1.4.15
./configure --enable-redhat-pthread-workaround
make
make install
   # ./configure
       # make all
      #cd /usr/local/nagios/
       #mkdir   etc bin
      #chown -R nagios.nagios /usr/local/nagios
      
3安装并配置nrpe
   #tar xvf nrpe-2.12.tar.gz
   # cd nrpe-2.12
   # ./configure
      #make all
       #make install-plugin
       #make install-daemon
       #make install-daemon-config
       #make install-xinetd
       # cp nrpe.cfg /usr/local/nagios/etc
#cp src/nrpe /usr/local/nagios/bin
#cp init-script /etc/init.d/nagios-nrpe
#chmod +x /etc/init.d/nagios-nrpe

4配置nrpe的主配置文件
   #cd /usr/local/nagios/etc
   #vim nrpe.cfg
       allow_hosts=127.0.0.1 Nagios-IP-Address #注: 修改为nagios的服务器地址,如果是多个IP 中间用“,” 隔开
5 配置超级守护进程中管理nrpe
       #cd /etc/xinetd.d/nrpe
      only_from   = 127.0.0.1 注: 必须添加nagios的服务端的地址如果为配置允许nagios服务端的地址的话,nagios 服务器不能正常通过nrpe 进行监控该主机
6为nrpe指定固定的端口
#vim /etc/service
nrpe   5666/tcp   #NRPE
7启动并查看指定端口是否开启
   #/etc/init.d/nagios-nrpe start
#netstat -tunlp | grep nrpe
8 在本机上验收一下,检验nrpe 是否正常运行
#/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1
   返回的值为被监控服务器上安装的NRPE的版本信息
         NRPE v2.12
9 当然可在在nagios服务端验收一下
   #/usr/local/nagios/libexec/check_nrpe -H IP(远程主机)
注:如果远程主机和nagios上的服务器的iptables如果要是开启的话,同样也需要配置相对于的iptables 规则

10当然通过NRPE,可以监控到的信息,只要在被监控服务器上的插件(/usr/local/nagios/libexec中的所有插件),都可以使用,也就是说,只要在该文件下有对应的插件,就能监控对应的信息,当然就可以实现.注意的是,必须在远程主机中nrpe 中定义相应的命令,否则不能监控对应的资源







页: [1]
查看完整版本: nagios中文版配置安装