记录日常工作关于系统运维,虚拟化云计算,数据库,网络安全等各方面问题。

Nagios监控服务器部署

Nagios ,花了三天时间,终于配置完,下面是配置的操作步骤

新建一台linux服务器,服务器名称为nagios,操作系统为rhel5.6_64,配置好yum库,ip地址,ntp等服务

clip_image002

使用ssh登陆到nagios服务器

首先创建一个nagios用户和组

clip_image004

下载nagios,

下载:http://jaist.dl.sourceforge.net/project/nagios/nagios-4.x/nagios-4.0.1/nagios-4.0.1.tar.gz

clip_image006

解压安装nagios-4.1

cd /usr/local/src

tar zxvf nagios-4.0.1.tar.gz

clip_image008

指定nagios安装目录,系统提示没有安装gcc java编译工具,安装编译工具及依赖包

clip_image010

配置安装nagios

Cd nagios-4.1.0

./configure –prefix=/usr/local/src

Make all

Make install

Make install-init

Make install-commandmode

Make install-config

clip_image012

把安装完的nagios配置成开启启动,启动级别为35

下载安装nagios插件

下载地址:https://www.nagios-plugins.org/download/nagios-plugins-1.5.tar.gz

clip_image014

安装

clip_image016

下载安装nagios汉化插件

下载地址:

http://nchc.dl.sourceforge.net/project/nagios-cn/sourcecode/zh_CN%203.2.3/nagios-cn-3.2.3.tar.bz2

clip_image018

解压安装

clip_image020

./configure

Make all&make install

安装下载apache和php

Apache下载地址:http://optimate.dl.sourceforge.net/project/apachehttp.mirror/httpd-2.4.4.tar.bz2

解压安装apache

Tar jxvf httpd-2.4.4.tar.bz2

Cd httpd-2.4.4.tar.bz2

./configure --prefix=/usr/local/apache --enable-rewrite --enable-so --enable-mods-shared=all

Make&make install

如果无法安装apache请检查apache安装所需的依赖包apr是否安装

如果安装之后还是无法安装apache 这是由于apr包版本太低

先卸载

yum remove apr-util-devel apr apr-util-mysql apr-docs apr-devel apr-util apr-util-docs

yum install expat

yum remove apr-util-devel apr apr-util-mysql apr-docs apr-devel apr-u

wget http://1wt.163disk.com:612/file/fc/80/fc80cb54f158c2674f9eeb47a1f672cd/apr-1.4.2.tar.gz?key=bd9ae7d900953d601236034c4323c24f&uid=0&id=161468&t=1382602148&type=html

wget http://27.221.16.25/1/ishare.down.sina.com.cn/27639331.gz?ssig=staKZm53YL&Expires=1382716800&KID=sina,ishare&fn=apr-util-1.4.1.tar.gz cd /usr/local/src
tar xzvf apr-1.4.2.tar.gz
cd apr-1.4.2
./configure –prefix=/usr/local/apr
make
make install
cd /usr/local/src
tar xzvf apr-util-1.3.9.tar.gz
cd apr-util-1.3.9
./configure –prefix=/usr/local/apr-util –with-apr=/usr/local/apr
make
make install
cd /usr/local/src
tar xzvf apr-iconv-1.2.1.tar.gz
cd apr-iconv-1.2.1
./configure –with-apr=/usr/local/apr
make
make install

安装php

下载地址:http://cn2.php.net/distributions/php-5.4.21.tar.bz2

/configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-zlib --with-gd

clip_image022

clip_image024

安装完后 配置apache

找到apache配置文件/usr/local/apache/conf/httpd.conf

clip_image026

User nagios

Group nagios

clip_image028

添加index.html.var改为index.php

clip_image030

添加apache php模块

增加nagiosweb界面,在httpd.conf文件中增加如下信息

#setting for nagios

ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"

<Directory "/usr/local/nagios/sbin">

AuthType Basic

Options ExecCGI

AllowOverride None

Order allow,deny

Allow from all

AuthName "Nagios Access"

AuthUserFile /usr/local/nagios/etc/htpasswd

Require valid-user

</Directory>

Alias /nagios "/usr/local/nagios/share"

<Directory "/usr/local/nagios/share">

AuthType Basic

Options None

AllowOverride None

Order allow,deny

Allow from all

AuthName "Nagios Access"

AuthUserFile /usr/local/nagios/etc/htpasswd

Require valid-user

</Directory>

创建web登陆nagios用户及密码

clip_image032

重启apache,会得到如下登陆信息

clip_image034

登陆进去,看到如下信息

clip_image036

Nagios性能分析图表配置

安装rrdtool包和pnp包

Rrdtool下载地址:http://oss.oetiker.ch/rrdtool/pub/rrdtool.tar.gz

clip_image038

先安装依赖包

yum –y install libart_lgpl-devel

yum –y install pango-devel* cairo-devel*

pnp下载地址:http://optimate.dl.sourceforge.net/project/pnp4nagios/PNP-0.6/pnp4nagios-0.6.21.tar.gz

clip_image040

安装pnp

clip_image042

如果在./configure过程中出现如下错误

clip_image044

解决方法:

#cd /usr/local/rrdtool/lib/perl/5.8.8/i386-linux-thread-multi

#cp RRDs.pm /usr/lib/perl5/5.8.8/i386-linux-thread-multi/

#cp /usr/local/rrdtool/lib/perl/5.8.8/i386-linux-thread-multi/auto/RRDs/RRDs.so /usr/lib/perl5/5.8.8/i386-linux-thread-multi/

然后再:#./configure --with-nagios-user=nagios --with-nagios-group-nagios --with-rrdtool=/usr/local/rrdtool/bin/rrdtool --with-perfdata-dir=/usr/local/nagios/share/perfdata

正常之后再:

clip_image046

make all &make install

Make install-config

Make install-init

安装完rrd和pnp之后

再配置pnp

设置pnp

cd /usr/local/nagios/etc/

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

修改process_perfdata.cfg文件

LOG_FILE = /usr/local/nagios/var/perfdata.log

# Loglevel 0=silent 1=normal 2=debug

LOG_LEVEL = 2

这里将日志级别改为2,即为debug模式。

修改nagios配置文件、

增加小太阳标示:

修改templates.cfg,增加一个定义的pnp的hosts和services

clip_image048

修改nagios.cfg

找到如下几项,去掉注释,修改后信息如下:

process_performance_data=1

host_perfdata_command=process-host-perfdata

service_perfdata_command=process-service-perfdata

修改commands.cfg

# 'process-host-perfdata' command definition

define command{

command_name process-host-perfdata

command_line /usr/local/nagios/libexec/process_perfdata.pl

}

# 'process-service-perfdata' command definition

define command{

command_name process-service-perfdata

command_line /usr/local/nagios/libexec/process_perfdata.pl

}

登陆到nagios,系统提示无权查看任何主机的信息。 请检查HTTP服务器关于该CGI的访问权限设置。

解决方法:

vi /usr/local/nagios/etc/cgi.cfg

将use_authentication的值改为0.

Use_authentication=0

然后重启nagios服务

service nagios restart

use_authentication=0

按照上面修改将默认的1 改为0,但是改这个之后在服务操作的界面,在想调整服务检测的时候就会出现这样的一个提示:
Sorry Dave, I can't let you do that...
其实并不需要降低cgi 的安全性,你只需要把你的nagios 管理员账户添加到cgi.cfg 文件就可
以了,比如我的nagios 管理用户是nagios(这个命令生成的账户 htpasswd -c /usr/local/nagios/etc/htpasswd.users nagios

只有添加第一个账户要用-c 参数)

就需要在cgi.cfg 文件中修改如下几项:
将每项的nagiosadmin 更改为nagios 即可,多用户用”,”分割。
authorized_for_system_information=nagios
authorized_for_configuration_information=nagios
authorized_for_system_commands=nagios
authorized_for_all_services=nagios
authorized_for_all_hosts=nagios
authorized_for_all_service_commands=nagios
authorized_for_all_host_commands=nagios

重启服务,再打开控制界面,系统已经没有上面cgi权限提示

clip_image050

打开主机,里面的服务选项

clip_image052

打开发现并未有图表选项,前面做了小太阳的那个模板关联,这个就是生产图表的,现在需要把那两个图表模板的services-pnp和host—pnp添加到主机和服务上,自动生产模板,修改/usr/local/nagios/etc/objects/localhost文件

clip_image054

clip_image056

Pnp添加方法官方网站上有配置手册http://docs.pnp4nagios.org/pnp-0.4/webfe

clip_image058

现在主机正常,已经有小太阳图表,点击小太阳图表会自动生产图表,但是提示这个错误,死活出不了图表

clip_image060

# vi /usr/local/nagios/share/pnp/include/function.inc.php
line 556: 添加:date_default_timezone_set('UTC');
line 1033:修改为$pdf = new PDF('P', 'mm', 'A4'); 删除&
line 1543: 修改为if($level == 2 && $type == "complete" && preg_match("/^NAGIOS_/",$tag)){

如果还是提示

clip_image062

需要重新编译一下php

/configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-zlib --with-gd

Make&&make install

安装完PHP提示

You may want to add: /usr/local/php/lib/php to your php.ini include_path

/root/rpm/php-5.3.23/build/shtool install -c ext/phar/phar.phar /usr/local/php/bin

ln -s -f /usr/local/php/bin/phar.phar /usr/local/php/bin/phar

Installing PDO headers: /usr/local/php/include/php/ext/pdo/

解决方法 :cp php.ini-production /usr/local/php/lib/php.ini

重启 apache和nagios,图表能够正常显示

clip_image064

利用飞信实现nagios短信事实报警

前往飞信机器人论坛,下载飞信linux包

http://www.it-adv.net/fetion/downng/fetion20091117-linux.tar.gz

clip_image066

解压飞信安装程序 tar zxvf fetion91117-linux.tar.gz

Cp fx/* /usr/local/fetion

配置飞信所需的动态链接库

Vi /etc/ld.so.conf

增加如下信息

clip_image068

clip_image070

测试飞信是否正常运行

clip_image072

得到如下信息可以证实飞信可以正常运行

clip_image074

给自己发送一封短信看手机是否能够正常收到,前提是手机号码是要加入飞信或是飞信好友

/usr/local/fetion/fetion –mobile=13534****** --pwd=****** --msg-gd =“this is test” –debug

短信发送成功会得到如下放回信息

SIP –C/2.0 280 Send SMS OK

提示:飞信密码如果过于简单,需要输入验证信息,验证图片在飞信安装目录下自动生成

接下来的工作就是需要把飞信加载到nagios中,实现自动发送发送报警短信

clip_image076

增加主机发生故障事报警短信的指令

clip_image078

修改联系人,

clip_image080

clip_image082

修改/usr/local/nagios/etc/contacs.cfs文件

clip_image084

修改后的内容如下

clip_image086

保存后退出,nagios。

到此nagios基本配置已经完成,现在nagios有了如下功能,主机图表显示,飞信短信报警 邮箱报警等功能

下面的工作就需要把客户端主机添加nagios服务端上来监控主机




转载请标明出处【nagios+apache+php+pnp实现飞信短信报警 】。

《www.micoder.cc》 虚拟化云计算,系统运维,安全技术服务.

网站已经关闭评论