yzwj2004 发表于 2019-1-17 06:57:12

Redhat5.4上的nagios的安装

1 解决安装nagios 的依赖关系
   Nagios基本组件的运行依赖于httpd,gcc和gd。
确保以下的软件包已经安装
Httpd gcc glibc glibc-common gd gd-develmysql mysql-server php gd等软件包
2 添加nagios运行所需要的用户和组
#groupadd nagcmd
#useradd-m nagios
#usermod –a –G nagcmdnagios
#usermod –a –G nagcmd apache
注把apache 加入到nagcmd组,以便在通过web Interface 操作nagios是有足够的权限;
3 安装编译nagios
#tarxvf nagios-3.1.2.tar.gz
# cd nagios-3.1.2
#./configure –with-command-group=nagcmd--enable-event-broker
# makeall
   #makeinstall
   #make   install-init
   #make    install-config
   #make    install-commandmode
4 配置为接受nagios 警告信息的邮件地址,默认是本机的nagios用户
   #vim /usr/local/nagios/etc/objects/contacts.cfg
      Emailnagios@localhost#该邮件为默认
5 在httpd的配置文件目录中创建nagios的web程序文件;其文件在conf.d
   #make install-webconf
6 为nagios web创建用户和密码,并能呢个通过用户帐号来通过以后web认证登录nagios认证所用
#htpasswd-c/usr/local/nagios/etc/htpasswd.usersnagiosadmin
配置完后并重启httpd
#service httpdrestart
7编译,安装nagios-plugins
   #tarxvfnagios-plugins-1.4.14.tar.gz
    # cdnagios-plugins-1.4.14
    # ./configure –with-nagios-user=nagios –with-nagios-group=nagios
    #make
    #make install
8 配置并启动nagios
(1)   把nagios添加为系统服务并将之加入到自动启动服务队列
#chkconfig--addnagios
#chkconfig    nagioson
(2)   检查nagios的配置文件的语法正误
#/usr/local/nagios/bin/nagios/-v/usr/local/nagios/etc/nagios.cfg
注:如果在其检查语法时有错误请根据提示的错误,进行修改,并再次进行检查。
      (3)检查主机上的selinux是否开启,
             # getenforce
            如果开启的时候selinux,在默认的情况下,会拒绝nagios web cgi 程序的运行。
             1如果getenforce 显示的selinux 是Enforcing时,
         则可以关闭selinux
                      setenforce0注该种方法只是 临时性的关闭selinux,当机器重启的时候,
selinux同样是开启的
            2如果想让selinux永久关闭的时,则需要配置/etc/sysconfig/selinux
                  把SELINUX=enforcing修改为SELINUX=disabled

            3 为了安全的情况下,您可以不必关闭selinux就能够运行nagios的CGI程序,当然这需要修改文件的标签
               #chcon-R –t httpd_sys_content_t /usr/local/nagios/share
               #chcon-R –t httpd_sys_content_t /usr/local/nagios/sbin
(3)   通过web页面查看nagios
          http://IP/nagios
      在查看的时候需要提供账户和密码
9 安装NDOUTILE,并配置
#tarxvf   ndoutils-1.4b9.tar.gz
#cd   ndoutils-1.4b9
         #/configure --enable-mysql --with-mysql-lib=/usr/lib --with-mysql-inc=/usr/include--disable-pgsql
# make
# cp -v src/{ndomod-3x.o,ndo2db-3x,file2sock,log2ndo}/usr/local/nagios/bin
注:以上复制的文件中前两项是版本相关的,即如果您的nagios主版本号是2系列,则需要拷贝名为ndomod-2x.o和ndo2db-2x的两个文件。后两项是通用文件,无论哪个版本都需要复制。
       10为ndoutile创建数据库
         #mysql-uroot –p
            mysql> create databasendodb;
            mysql> GRANTCREATE,SELECT,DELETE,UPDATE,INSERT ON ndodb.* TO ndouser@localhost
                  IDENTIFIED BY ‘123456’;
            mysql> flush privileges;

下面两条命令用来生成ndoutils所需要的数据库表等,这些表默认以“nagios_”为前缀;install脚本命令必须在db子目录内执行:
# cd db
# ./installdb -u ndouser -p 123456 -h localhost -d ndodb
其中各选项的意义如下:
-u用来指定导入时所用的mysql用户帐号
-p表示前面mysql用户的密码
-h表示mysql服务器地址,如果是localhost,则可以省略
-d表示目标数据库

说明:如果与cacti整合的话,npc插件会在cacti的数据库自动生成ndoutils所需要表,这些表均以“npc_”为前缀。后面讲到整合的文章中会继续对些做出说明。

11、复制、编辑配置文件,并修改文件权限

# cd ..
# cp -v config/{ndo2db.cfg-sample,ndomod.cfg-sample} /usr/local/nagios/etc

#chmod 644 /usr/loca/nagios/etc/nd0*
# vi /usr/local/nagios/etc/nagios.cfg
在文件中添加:
broker_module=/usr/local/nagios/bin/ndomod-3x.o config_file=/usr/local/nagios/etc/ndomod.cfg

此外,请确保您的/usr/local/nagios/etc/nagios.cfg中有如下行出现,否则,请自行添加:
event_broker_options=-1                //为Nagios开启event broker

12、编辑ndo2db守护进程和ndomod的配置文件

# vi /usr/local/nagios/etc/ndo2db.cfg
socket_type=tcp
db_servertype=mysql
db_host=localhost
db_port=3306
db_prefix=nagios_
db_user=ndouser
db_pass=123456

说明:
i) 以上"db_"开头的选项用来指定连接数据库的属性;
ii)其默认用来接收数据的方式为Unix域套接字,这里修改成了TCP套接字;同时,ndomod.cfg配置文件中指定的输出方式也应该做相应的修改;

接下来我们去编辑ndomod的配置文件,为其指定数据的输出方式和输出目标主机:
# vi /usr/local/nagios/etc/ndomod.cfg
output_type=tcpsocket
output=127.0.0.1


13、启动ndo2db守护进程

# /usr/local/nagios/bin/ndo2db-3x -c /usr/local/nagios/etc/ndo2db.cfg

建议此时查看系统日志(/var/log/messages)中是否有错误出现。

如果此时Nagios进程已启动,则需要停止并重新启动nagios:
# killall -SIGHUP nagios
# rm -f /usr/local/nagios/var/nagios.lock
# /usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg

说明:
i)此处停止Nagios必须通过向Nagios发送SIGHUP信号的方式进行;
ii)建议此时查看nagios日志文件中是否表明ndomod的模块加载是否正常,以及其是否能正常连接到data sink;查看日志,可以使用如下命令实现:# tail -30 /usr/local/nagios/var/nagios.log

排错信息:
i)如果ndomod模块没能正常加载的话,建议重新检查nagios的配置文件中是否添加了所需的broker module条目;
ii) 同时,如果ndomod没有正常连接到data sin,建议查看ndo2db.cfg文件中关于mysql连接项目的指定是否正确;
iii)确认一下在编译NDOUtils时是否指定了关于mysql库文件位置的选项;



页: [1]
查看完整版本: Redhat5.4上的nagios的安装