CenOS5.6下安装nagios3.2监控服务器群的运行状况
centos 5.6安装nagios3.2.0
Nagios功能列表 所需软件包及环境
基本的监控:
NAGIOS gcc、gcc-devel、appache、php、gd、gd-devel
NAGIOS-PLUGINS mysql-devel(防止安装之后无法生存check_mysql的监控文件)
NRPE openssl-devel (Linux系统安装。监控端和被监控端)
NSCLIENT 无(windows系统安装,只安装在被监控端)
邮件告警功能
安装centos时候定制软件选择DNS服务和邮件服务.
绘图功能
Pnp cairo、 pango、 libart_lgpl、 libart_lgpl-devel、 zlib、 zlib-devel 、freetype 、freetype-devel
rrdtool
飞信告警功能
Fetion libACE
MSN告警功能
暂无测试
一:安装nagios
1:安装支持包
#yum -y install gcc gcc-c++ gd gd-devel php httpd openssl-devel mysql-devel
具体依赖的对应服务见上结构
2:添加用户和组
#useradd nagios
#passwd nagios
#groupadd nagcmd
#usermod -G nagcmd nagios
#usermod -G nagcmd apache
记得把apache加入到该用户组
chkconfig httpd on
3:正式安装nagios
tar –xzf nagios-3.2.0.tar.gz
cd nagios-3.2.0
./configure --with-command-group=nagcmd --prefix=/usr/local/nagios
make all
make install
make install-init
make install-config
make install-commandmode
4:配置apache的httpd.conf,允许文件目录被访问
默认安装位置在/etc/httpd/conf/httpd.conf
如何不知道也可以使用如下命令查找
find / name httpd.conf|grep httpd.conf
然后添加以下代码
点进services查看命令,下面三个红的,是命令启动慢,等待10分钟之后再看看命令的效果,就恢复正常了。(个人见解)
五、监控数据主从服务(此步骤引子博客http://sery.blog.51cto.com/10037/244794/ 并稍作修改)
操作步骤:
1、在主数据库服务器增加一个用户,给予较低的权限,操作为
mysql> grant Replication client on *.* to 'nagios'@'%' identified by 'nagios';
mysql> flush privileges;
2、登陆从服务器验证一下,看是否正常。操作为
mysql -unagios -pnagios -e "show slave status\G"
3、在从服务器安装 nrpe,然后在配置文件nrpe.cfg加入一行
command[check_mysql_slave]=/usr/local/nrpe/libexec/check_mysql_slave
4、编写脚本/usr/local/nrpe/libexec/check_mysql_slave(这是监控其作用的核心),其内容如下:
vi /usr/local/nrpe/libexec/check_mysql_slave
至此:基本的控制安装都已经实现了。上面的所有功能和配置,加上看文档的时间,基本上用了两周,虽然刚刚开始的时候看配置项那么多觉得很烦躁,但是成功之后真的挺开心的。
若此时关闭mysql从库,过一会,check_mysql_slave就会出现Critical,然后就知道当前的从数据出现问题了,其他的命令看名字应该也知道了吧。
这只是监控3个主机,也可以加入更多的主机。相信聪明的大家,也知道怎么做了
===================最后的提醒===============================
安装完成之后,需要开启的服务如下:
1、服务器端:
sendmail
nrpe
nagios
httpd
setenforce 0(可以直接设置开启,不必每次都开启)
2、客户端:(客户端如果不开nrpe,通过浏览器访问的时候客户端仍然是好用的,但是实际上并没有监控到)
nrpe
===================最后的提醒===============================
其他功能的安装:
说明:下面两个的安装步骤引子百度文库,本人并没有进行实际配置。喜欢的人可以试试。本人不保证下面的操作步骤可以安装成功,
如果不是什么大型的电子商务的网站个人认为邮件客户端的提醒就足够了,虽然有时会有延迟,图形界面不认为有多实用。
短信提醒还是比较实用的,喜欢的朋友可以用来配置一下,看看效果。
二:绘图工具的安装
1:安装相应的支持包
#yum install cairo pango libart_lgpl libart_lgpl-devel zlib zlib-devel freetype freetype-devel
2:安装rrdtool
#./configure
#make
#make install
3:做一些配置
#vi /usr/local/nagios/etc/nagios.cfg
process_performance_data=1
host_perfdata_command=host-service-perfdata
service_perfdata_command=process-service-perfdata
上面三项处于允许状态,取消前面的”;”.
在commands.cfg做如下配置。注释掉process-service-prefdata这个命令的command_line,写上新的command_line.
# 'process-service-perfdata' command definition
define command{
command_name process-service-perfdata
#command_line /usr/bin/printf "%b" "$LASTSERVICECHECK$\t$HOSTNAME$\t$SERVICEDESC$\t$SERVICESTATE$\t$SERVICEATTEMPT$\t$SERVICESTATETYPE$\t$SERVICEEXECUTIONTIME$\t$SERVICELATENCY$\t$SERVICEOUTPUT$\t$SERVICEPERFDATA$\n" >> /usr/local/nagios/var/service-perfdata.out
command_line /usr/local/nagios/libexec/process_perfdata.pl
}
4:安装pnp
#./configure –with-rrdtool=/usr/local/rrdtool-1.0.50/bin/rrdtool
#make all
#make install
5:配置被监控端的文件
加入action_url和process_perf_data2个变量。
在使用该绘图功能的时候,一定要配置apache支持php功能。
6:重启httpd服务器和nagios服务.
三:飞信报警功能
1:安装飞信所需要的的libACE库文件
2:安装飞信软件
#tar –zxvf feition20091117-linux.tar.gz –C /usr/local
#mv /usr/local/fx /usr/local/fetion
3:加入执行权限、更换属组
#Chmod +x fetion
#chown –R nagios.nagcmd fetion
4:复制安装libACE下的lib目录中的文件到/usr/lib
[root@nagios library32]# ls
libACE.so.5.4.7 libACE_SSL.so.5.4.7 libcrypto.so.0.9.8 libssl.so.0.9.8
[root@nagios library32]# cp *.* /lib/
[root@nagios library32]# cp *.* /usr/lib/
5:加入飞信.so文件到系统链接库
#vi /etc/ld.so.conf.d/fetion.conf
加入/usr/local/fetion
#ldconfig
6:配置commands.cfg文件
define command{
command_name host-notify-by-fetion
command_line /usr/local/fetion/fetion --hide --mobile=150xxxxxxx2 --pwd=xxx --to=$CONTACTPAGER$ --msg-utf8="HOST $HOSTSTATE$ Alert for $HOSTNAME$!on '$LONGDATETIME$'" $CONTACTPAGER$
}
define command{
command_name service-notify-by-fetion
command_line /usr/local/fetion/fetion --hide --mobile=150xxxxx2 --pwd=xxxxx --to=$CONTACTPAGER$ --msg-utf8="$HOSTADDRESS$ $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ on $LONGDATETIME$" $CONTACTPAGER$
}
加入上面2个command,关于fetion的。
7:配置contacts.cfg
define contact{
contact_name nagiosadmin ; Short name of user
use generic-contact ; Inherit default values from generic-contact template (defined above)
alias Nagios Admin ; Full name of user
email zjj17xx1@xxxxxx.com
;,rtong@xxxxxt.com ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******
service_notification_period 24x7
host_notification_period 24x7
service_notification_options w,u,c,r
host_notification_options d,u,r
service_notification_commands notify-service-by-email,service-notify-by-fetion
host_notification_commands notify-host-by-email,host-notify-by-fetion
contactgroups sagroup
;pager 1386xxxxxx
注意pager变量是一个手机号。注意注释的fetion。
8:重启httpd和nagios服务。
nagios安装基本结束。
我的异常网推荐解决方案:The server encountered an internal error () that prevented it from fulfilling this request.,http://www.myexception.cn/java-web/317.html