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
如果启动报错:[root@linux211yum.repos.d]# 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
显示除了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)中创建Nagios的Web程序配置文件
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
安装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
然后重新执行./configure就ok啦
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$
}
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。