nagios服务搭建及常见报错处理

搭建lamp


安装epel

rpm -ivh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm

epel.repo epel-testing.repo

修改epel.repo中的enable=1

yum install -y mysqlmysql-server php-mysql httpd php php-pdo lm_sensors net-snmp php-snmpnet-snmp-utils perl-Net-Daemon perl-PlRPC perl-DBI rrdtool perl-rrdtoolperl-DBD-MySQL net-snmp-libs libart_lgpl-devel


service httpdstart

如果启动报错:[[email protected]]# service httpd start

Starting httpd: httpd:Could not reliably determine the server's fully qualified domain name, using192.168.2.211 for ServerName

[  OK  ]

vi /etc/httpd/conf/httpd.conf


ServerName www.example.com:80前面的注释去掉



root@linux211 conf]# service httpd  start

Starting httpd: [  OK  ]



service mysqld start


[root@linux211 conf]# service mysqld  start

Initializing MySQL database:  Installing MySQL system tables...

OK

Filling help tables...

OK


To start mysqld at boot time you have to  copy

support-files/mysql.server to the right  place for your system


PLEASE REMEMBER TO SET A PASSWORD FOR THE  MySQL root USER !

To do so, start the server, then issue  the following commands:

/usr/bin/mysqladmin -u root password  'new-password'

/usr/bin/mysqladmin -u root -h linux211  password 'new-password'


Alternatively you can run:

/usr/bin/mysql_secure_installation


which will also give you the option of  removing the test

databases and anonymous user created by  default.  This is

strongly recommended for production  servers.


See the manual for more instructions.


You can start the MySQL daemon with:

cd /usr ; /usr/bin/mysqld_safe &


You can test the MySQL daemon with  mysql-test-run.pl

cd mysql-test ; perl mysql-test-run.pl


Please report any problems with the  /usr/bin/mysqlbug script!


The latest information about MySQL is  available on the web at

http://www.mysql.com

Support MySQL by buying support/licenses  at http://shop.mysql.com

[   OK  ]

Starting mysqld:  [   OK  ]





设置为开机启动

chkconfig httpd on

chkconfig mysqld on


查看防火墙状态

[root@linux211 conf]#  /etc/init.d/iptables status

Firewall is stopped.


如果没有关闭,就关闭防火墙

/etc/init.d/iptablesstop

验证lamp是否可用


vim /var/www/html/index.php


<?
phpinfo();
?>


http://ip地址/index.php

wKiom1MMc-_geQxRAAFK2GPNOcE750.jpg

显示除了php的版本信息,说明lamp是可用的

2.安装nagios


groupadd nagcmd

useradd -m nagios

usermod -a -G nagcmdnagios

apache加入到nagcmd组,以便于在通过web Interface操作nagios时能够具有足够的权限

usermod -a -G nagcmdapache


下载Nagios,开始编译安装

wget http://sourceforge.net/projects/nagios/?source=directory

--2014-02-25  14:01:05--  http://sourceforge.net/projects/nagios/?source=directory

Resolving  sourceforge.net... 216.34.181.60

Connecting to  sourceforge.net|216.34.181.60|:80... connected.

HTTP request sent,  awaiting response... 200 OK

Length: 43274 (42K)  [text/html]

Saving to: `index.html?source=directory'


100%[=============================================================================================================================>]  43,274      51.3K/s   in 0.8s    


2014-02-25 14:01:08  (51.3 KB/s) - `index.html?source=directory' saved [43274/43274]


下载nagios安装包

wget http://prdownloads.sourceforge.net/sourceforge/nagios

/nagios-3.4.3.tar.gz

tar -zxvfnagios-3.4.3.tar.gz

cd nagios


[root@linux211  nagios]# ./configure --with-command-group=nagcmd

checking for a  BSD-compatible install... /usr/bin/install -c

checking build system  type... x86_64-unknown-linux-gnu

checking host system  type... x86_64-unknown-linux-gnu

checking for gcc...  gcc

checking for C  compiler default output file name... a.out

checking whether the  C compiler works... yes

checking whether we  are cross compiling... no

checking for suffix  of executables...

checking for suffix  of object files... o

checking whether we  are using the GNU C compiler... yes

checking whether gcc  accepts -g... yes

checking for gcc  option to accept ANSI C... none needed

checking whether make  sets $(MAKE)... yes

checking for strip...  /usr/bin/strip

checking how to run  the C preprocessor... gcc -E

checking for egrep...  grep -E

checking for ANSI C  header files... yes

checking whether  time.h and sys/time.h may both be included... yes

checking for  sys/wait.h that is POSIX.1 compatible... yes

checking for  sys/types.h... yes

checking for  sys/stat.h... yes

checking for  stdlib.h... yes

checking for  string.h... yes

checking for  memory.h... yes

checking for  strings.h... yes

checking for  inttypes.h... yes

checking for  stdint.h... yes

checking for  unistd.h... yes

checking arpa/inet.h  usability... yes

checking arpa/inet.h  presence... yes

checking for  arpa/inet.h... yes

checking ctype.h  usability... yes

checking ctype.h  presence... yes

checking for  ctype.h... yes

checking dirent.h  usability... yes

checking dirent.h  presence... yes

make all

make[1]: Entering  directory `/root/nagios/base'

gcc -Wall -g -O2  -DHAVE_CONFIG_H -DNSCORE   -c -o  broker.o broker.c

gcc -Wall -g -O2  -DHAVE_CONFIG_H -DNSCORE   -c -o  nebmods.o nebmods.c

gcc -Wall -g -O2  -DHAVE_CONFIG_H -DNSCORE -c -o ../common/shared.o ../common/shared.c

gcc -Wall -g -O2  -DHAVE_CONFIG_H -DNSCORE   -c -o  checks.o checks.c

make install

make install-init

make install-config

makeinstall-commandmode

实现在httpd的配置文件目录(conf.d)中创建NagiosWeb程序配置文件

makeinstall-webconf

创建一个登录nagios web程序的用户,这个用户帐号在以后通过web登录nagios认证时所用

htpasswd -c/usr/local/nagios/etc/htpasswd.users nagiosadmin

New password:

Re-type new password:  

Adding password for  user nagiosadmin

以上过程配置结束以后需要重新启动httpd

servicehttpd restart


Stopping httpd:  [  OK   ]

Starting httpd:  [  OK   ]





编译、安装nagios-plugins

下载安装包

wget http://assets.nagios.com/downloads/nagiosplugins/

nagios-plugins-1.5.tar.gz

tar -zxvfnagios-plugins-1.5.tar.gz

cd nagios-plugins-1.5

./configure --with-nagios-user=nagios--with-nagios-group=nagios

make

make install




nagios添加为系统服务并将之加入到自动启动服务队列

chkconfig --add nagios
chkconfig nagios on




检查其主配置文件的语法是否正确


/usr/local/nagios/bin/nagios-v /usr/local/nagios/etc/nagios.cfg




Checking contact groups...

       Checked 1 contact groups.

Checking service  escalations...

       Checked 0 service escalations.

Checking service  dependencies...

       Checked 0 service dependencies.

Checking host  escalations...

       Checked 0 host escalations.

Checking host  dependencies...

       Checked 0 host dependencies.

Checking commands...

       Checked 24 commands.

Checking time  periods...

       Checked 5 time periods.

Checking for circular  paths between hosts...

Checking for circular  host and service dependencies...

Checking global event  handlers...

Checking obsessive  compulsive processor commands...

Checking misc  settings...


Total Warnings: 0

Total Errors:   0


Things look okay - No  serious problems were detected during the pre-flight check



启动nagios服务

service nagios start

wKioL1MMc-mCGBGaAAD_erisuuo166.jpg

wKiom1MMdA6yND59AAGaPBdKoAA467.jpg

安装NRPE

wget  http://prdownloads.sourceforge.net/sourceforge/

nagios/nrpe-2.13.tar.gz

tar -zxvfnrpe-2.13.tar.gz

cd nrpe-2.13

./configure

checking for initgroups...  yes

checking for  closesocket... no

checking for  socklen_t... yes

checking for type of  socket size... size_t

checking for SSL  headers... SSL headers found in /usr/local/ssl

checking for SSL  libraries... configure: error: Cannot find ssl libraries

安装缺失的库

yum -y installopenssl-devel

然后重新执行./configureok

checking for  strtoul... yes

checking for  initgroups... yes

checking for  closesocket... no

checking for  socklen_t... yes

checking for type of  socket size... size_t

checking for SSL  headers... SSL headers found in /usr/local/ssl

checking for SSL  libraries... SSL libraries found in /usr/lib64


*** Generating DH  Parameters for SSL/TLS ***

Generating DH  parameters, 512 bit long safe prime, generator 2

This is going to take  a long time

........................+......................+.+......................+........................................+....................+.......+.....+............+........................................................................++*++*++*++*++*++*

checking for Kerberos  include files... could not find include files

checking for perl...  /usr/bin/perl

configure: creating  ./config.status

config.status:  creating Makefile

config.status:  creating src/Makefile

config.status:  creating subst

config.status:  creating include/config.h



*** Configuration  summary for nrpe 2.13 11-11-2011 ***:


General Options:

-------------------------

NRPE port:     5666

NRPE user:     nagios

NRPE group:    nagios

Nagios user:   nagios

Nagios group: nagios



Review the options  above for accuracy.  If they look okay,

type 'make all' to  compile the NRPE daemon and client.


make all

cp src/check_nrpe/usr/local/nagios/libexec/


至此服务端搭建成功




客户端配置

tar -zxvfnagios-plugins-1.5.tar.gz

cd nagios-plugins-1.5

/configure--with-nagios-user=nagios --with-nagios-group=nagios

make

报错

/usr/bin/install:  invalid user `nagios'

make[2]: ***  [install-libexecPROGRAMS] Error 1

make[2]: Leaving  directory `/opt/nagios/nagios-plugins-1.5/plugins'

make[1]: ***  [install-am] Error 2

make[1]: Leaving  directory `/opt/nagios/nagios-plugins-1.5/plugins'

make: ***  [install-recursive] Error 1

解决办法如下

useradd nagios

mkdir /usr/local/nagios 如果目录存在就不需要创建了

chown nagios:nagios/usr/local/nagios

ll /usr/local

make

make install



安装NRPE

tar -zxvfnrpe-2.13.tar.gz

cd nrpe-2.13

./configure

make all

make install-plugin

make install-daemon

make install-daemon-config

make install-xinetd

cp src/check_nrpe /usr/local/nagios/libexec/

vim /usr/local/nagios/etc/nrpe.cfg

allowed_hosts=127.0.0.1,server IP



vim /etc/xinetd.d/nrpe

# default: on

# description: NRPE (Nagios Remote PluginExecutor)

service nrpe

{

      flags           = REUSE

      socket_type     = stream

      port            = 5666

      wait            = no

      user            = nagios

      group           = nagios

      server          =/usr/local/nagios/bin/nrpe

      server_args     = -c/usr/local/nagios/etc/nrpe.cfg --inetd

      log_on_failure  += USERID

      disable         = no

      only_from       = 127.0.0.1 192.168.2.211




vim /etc/services

nrpe            5666/tcp                        #nrpe


service xinetd star

[root@tomcat1  nrpe-2.13]# service xinetd start

xinetd: unrecognized  service

报错处理

yum -y install xinetd

安装成功之后执行

service xinetd star


[root@tomcat1 nrpe-2.13]#  service xinetd start

Starting xinetd:  [  OK   ]


测试NRPE是否正常工作

/usr/local/nagios/libexec/check_nrpe-H 127.0.0.1

root@tomcat1  nrpe-2.13]# /usr/local/nagios/libexec/check_nrpe -H 127.0.0.1

NRPE v2.13


cd /usr/local/nagios/

ls

cd etc/

ll

mkdir objects

为服务端增加NRPE命令

vi commands.cfg



define command {
      command_name check_nrpe
      command_line    $USER1$/check_nrpe -H $HOSTADDRESS$-c $ARG1$
}


你可能感兴趣的:(server,Enable,service,determine)