Nagios监控服务器部署
Nagios真的是难过死,花了三天时间,终于配置完,下面是配置的操作步骤
新建一台linux服务器,服务器名称为nagios,操作系统为rhel5.6_64,配置好yum库,ip地址,ntp等服务
使用ssh登陆到nagios服务器
首先创建一个nagios用户和组
下载nagios,
下载:http://jaist.dl.sourceforge.net/project/nagios/nagios-4.x/nagios-4.0.1/nagios-4.0.1.tar.gz
解压安装nagios-4.1
cd /usr/local/src
tar zxvf nagios-4.0.1.tar.gz
指定nagios安装目录,系统提示没有安装gcc java编译工具,安装编译工具及依赖包
配置安装nagios
Cd nagios-4.1.0
./configure –prefix=/usr/local/src
Make all
Make install
Make install-init
Make install-commandmode
Make install-config
把安装完的nagios配置成开启启动,启动级别为35
下载安装nagios插件
下载地址:https://www.nagios-plugins.org/download/nagios-plugins-1.5.tar.gz
安装
下载安装nagios汉化插件
下载地址:
http://nchc.dl.sourceforge.net/project/nagios-cn/sourcecode/zh_CN%203.2.3/nagios-cn-3.2.3.tar.bz2
解压安装
./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
安装完后 配置apache
找到apache配置文件/usr/local/apache/conf/httpd.conf
User nagios
Group nagios
添加index.html.var改为index.php
添加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用户及密码
重启apache,会得到如下登陆信息
登陆进去,看到如下信息
Nagios性能分析图表配置
安装rrdtool包和pnp包
Rrdtool下载地址:http://oss.oetiker.ch/rrdtool/pub/rrdtool.tar.gz
先安装依赖包
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
安装pnp
如果在./configure过程中出现如下错误
解决方法:
#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
正常之后再:
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
修改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权限提示
打开主机,里面的服务选项
打开发现并未有图表选项,前面做了小太阳的那个模板关联,这个就是生产图表的,现在需要把那两个图表模板的services-pnp和host—pnp添加到主机和服务上,自动生产模板,修改/usr/local/nagios/etc/objects/localhost文件
Pnp添加方法官方网站上有配置手册http://docs.pnp4nagios.org/pnp-0.4/webfe
现在主机正常,已经有小太阳图表,点击小太阳图表会自动生产图表,但是提示这个错误,死活出不了图表
# 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)){
如果还是提示
需要重新编译一下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,图表能够正常显示
利用飞信实现nagios短信事实报警
前往飞信机器人论坛,下载飞信linux包
http://www.it-adv.net/fetion/downng/fetion20091117-linux.tar.gz
解压飞信安装程序 tar zxvf fetion91117-linux.tar.gz
Cp fx/* /usr/local/fetion
配置飞信所需的动态链接库
Vi /etc/ld.so.conf
增加如下信息
测试飞信是否正常运行
得到如下信息可以证实飞信可以正常运行
给自己发送一封短信看手机是否能够正常收到,前提是手机号码是要加入飞信或是飞信好友
/usr/local/fetion/fetion –mobile=13534****** --pwd=****** --msg-gd =“this is test” –debug
短信发送成功会得到如下放回信息
SIP –C/2.0 280 Send SMS OK
提示:飞信密码如果过于简单,需要输入验证信息,验证图片在飞信安装目录下自动生成
接下来的工作就是需要把飞信加载到nagios中,实现自动发送发送报警短信
增加主机发生故障事报警短信的指令
修改联系人,
修改/usr/local/nagios/etc/contacs.cfs文件
修改后的内容如下
保存后退出,nagios。
到此nagios基本配置已经完成,现在nagios有了如下功能,主机图表显示,飞信短信报警 邮箱报警等功能
下面的工作就需要把客户端主机添加nagios服务端上来监控主机
转载于:https://blog.51cto.com/ymqy2010/1317214