2008/08/20 19:57 | by tinkoko ]
惭愧!写这个时候由于环境关系!始终不成功!
sms至少要求glibc2.4以上版本!
centos4.4不符合!但是要升级glibc。比较麻烦!查看很多文章,如果不好的话系统会崩溃!
这台服务器里面有些东西很重要的!
担心被头说我一顿!所以就放着!
最近一直忙着freebsd,一直mail系统~~~~~~~~~~~
临时转别人的!!日后来更新!~~~
sms短信报警,先临时借鉴下itnms里面的介绍!
这个在ubuntu上的做法
centos类似
1.首先手机要开通中国移动的飞信业务。目前使用飞信发送短信是免费的。
2
下载飞信的linux客户端程序.解开包后只有一个文件sms
ldd以下就知道这个命令需要的环境,至少glibc2.4以上!版本就是centos5.x(这个很重要)
3。#host-notify-by-sms //发送短信报警
define command {
command_name host-notify-by-sms
command_line /root/shell/duanxin.sh 138********* "Host $HOSTSTATE$ alert for $HOSTNAME$! on '$DATETIME$' " $CONTACTPAGER$
}
#service notify by sms //发送短信报警
define command {
command_name service-notify-by-sms
command_line /root/shell/duanxin.sh 138******** "'$HOSTADDRESS$' $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$" $CONTACTPAGER$
}
_____________________________sms.pl________________________________________
#!/usr/bin/perl
use strict;
use Fcntl qw(:flock);
open SMS, ">/home/sms/sms.txt" or die "NO OK";
flock(SMS,LOCK_EX);
my $mobile=pop;
print SMS "sms $mobile @ARGV\n";
print SMS "quit\n";
system "/home/sms/fetion -u 飞信手机号 -p 密码 -b /home/sms/sms.txt";
#unlink "/home/sms/sms.txt";
flock(SMS,LOCK_UN);
close SMS;
#unlink "/home/sms/sms.txt";
2008/07/19 20:16 | by tinkoko ]
估计这个写完了!那么对于服务器这里的监控我算告以段落,接下来就是完善报警功能!
当然我知道自己用了nagios并不是老手,对于很多其他监控,例如交换机,路由器,网卡流量,网络打印机,对于oracle/mysql服务还么有监控!
但是后期肯定会完善!
好了其实有了第一台linux服务器的加入,后面配置比较简单了!
。被监控端(被监控的服务器)安装nagios-nrpe_2.8.1.orig.tar.gz和插件nagios-plugins-1.4.12.tar.gz
安装过程
====================
useradd nagios
passwd nagios
=======================
chown nagios.nagios /usr/local/nagios
然后
cd nagios-nrpe_2.8.1
./configure
make all
make install-plugin
make install-daemon
make install-daemon-config
========================================================
vi /usr/local/nagios/etc/nrpe.cfg
将allowed_hosts=127.0.0.1
修改成你的nagios服务器的ip
=======================================
/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
启动nrpe
================================================
netstat -an|grep 5666
察看是否在5666端口上监听
注意:防火墙 释放端口5666,很重要
===================================
/usr/local/nagios/libexec/check_nrpe -H localhost
察看是否能返回nrpv版本号,返回则正常!
如果返回错误,例如CHECK_NRPE: Error - Could not complete SSL handshake
那么尝试
/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1
/usr/local/nagios/libexec/check_nrpe -H 210.x.x.x
如果还是这个错误,那么登录到服务器上
运行
/usr/local/nagios/libexec/check_nrpe -H 被监控端ip
看是不是返回nrpe的版本号
正常就好了
如果还是错误;那么解决方法
1. 确认check_nrpe 和 nrpe daemon的版本一定要一致。
2. 确认 check_nrpe和nrpe deamon端同时启用或者禁用ssl支持。
3. 确认nrep.cfg可以被nrpe(或者nagios,反正是执行nrep或者xinetd/inetd程序的)用户正常读取。
4. 有关伪随机设备的问题。这个只会在solaris 8上出现,需要一个补丁Sun patch 112438。
5. 确定nagios主机在xinetd的 only_from中,如果没有使用xinetd,则要确认nrpe.cfg中的配置。
还有防火墙打开5666端口!
=============================================
要监控swap分区,参考第一台linux服务器的加入!
2。我们来设置nagios服务器端的设置!
nagios服务器就不用再安装别的插件了,因为都安装了nrpe和plugin
commands.cfg也不用添加对nrpe的定义!
唯一作的就是配置
[root@localhost etc]# vi /usr/local/nagios/etc/nagios.cfg
里面添加
cfg_file=/usr/local/nagios/etc/objects/linux222.cfg
保存退出!
=====================================
然后
新建linux222.cfg
[root@localhost etc]# vi /usr/local/nagios/etc/objects/linux222.cfg
添加
define host{
use linux-server
host_name linux222
alias aiyo-mailserver
address 61.121.21.x
}
use generic-service
host_name linux222
service_description HTTP
check_command check_http
}
use generic-service
host_name linux222
service_description FTP
check_command check_ftp
define service{
use generic-service
host_name linux222
service_description SSH
check_command check_ssh
}
define service{
use generic-service
host_name linux222
service_description SMTP
check_command check_smtp
}
define service{
use generic-service
host_name linux222
service_description POP3
check_command check_pop
}
define service{
use generic-service
host_name linux222
service_description check-swap
check_command check_nrpe!check_swap
}
use generic-service
host_name linux222
service_description check-load
check_command check_nrpe!check_load
}
define service{
use generic-service
host_name linux222
service_description check-disk
check_command check_nrpe!check_had1
define service{
use generic-service
host_name linux222
service_description zombie_procs
check_command check_nrpe!check_zombie_procs
}
define service{
use generic-service
host_name linux222
service_description check-users
check_command check_nrpe!check_users
}
define service{
use generic-service
host_name linux222
service_description total_procs
check_command check_nrpe!check_total_procs
}
==========================
保存退出!!内容和第一个差不多!唯一的就是修改hostname
注意,里面少些一个符号,都会导致错误
=====================================================
我们来运行
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
检测下是不是都正确!
================================================
正确的话重新启动nagios
ok完成了!
====================
转载请注明出处!
www.6xuan.com
www.aiyomama.cn
www.aiyonet.com
2008/07/18 11:47 | by tinkoko ]
添加第二台windows服务器
我们要添加第二台win服务器来监控,其实也很简单!!这台服务器hostname是vhost,ip是1.x.x.x
==============================
第二台win服务器也要安装nsclient++
安装方法和第一台win服务器安装方法一样
这里就不再叙述
安装之后,需要开放12489端口!
并且netstat查看是否在侦听
并且 nagios服务器telnet到win-server 12489端口
====================================================
下面是服务器配置
1。如果是nagios3.x版本,那么/usr/local/nagios/etc/object/commands.cfg不需要修改的!
2。我们在/usr/local/nagios/etc/object/下新建一个vhost.cfg文件(其实哪里都无所谓,最后你都要修改nagios.cfg的)
vi /usr/local/nagios/etc/object/vhost.cfg
里面添加:
define host{
use windows-server
host_name aiyo-vhost223
alias My Windows Server
address 1.x.x.x
}
define hostgroup{
hostgroup_name aiyo-windows-servers #这里要填写和windows.cfg不一样的,否则会出错
alias Windows Servers
}
define service{
use generic-service
host_name aiyo-vhost223
service_description NSClient++ Version
check_command check_nt!CLIENTVERSION
}
define service{
use generic-service
host_name aiyo-vhost223
service_description Uptime
check_command check_nt!UPTIME
}
define service{
use generic-service
host_name aiyo-vhost223
service_description CPU Load
check_command check_nt!CPULOAD!-l 5,80,90
}
define service{
use generic-service
host_name aiyo-vhost223
service_description C:\ Drive Space
check_command check_nt!USEDDISKSPACE!-l c -w 80 -c 90
}
define service{
use generic-service
host_name aiyo-vhost223
service_description W3SVC
check_command check_nt!SERVICESTATE!-d SHOWALL -l W3SVC
}
define service{
use generic-service
host_name aiyo-vhost223
service_description Explorer
check_command check_nt!PROCSTATE!-d SHOWALL -l Explorer.exe
}
define service{
use generic-service
host_name aiyo-vhost223
service_description Memory Usage
check_command check_nt!MEMUSE!-w 80 -c 90
}
保存退出!
3。编辑主配置文件nagios.cfg
里面添加:cfg_file=/usr/local/nagios/etc/objects/vhost.cfg
然后检测/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
如果没有出错,!那么可以启动了!
=====================================
转载请注明出处!
www.6xuan.com
www.aiyomama.cn
www.aiyonet.com
2008/07/18 00:34 | by tinkoko ]
刚才我们配置完了之后,可以监控本机,也可以监控第一台win服务器(里面自带的windows.cfg),现在我们监控第一台linux服务器!至于为什么要用nrpe,请参考官方文档,这里我就不多说了!
1。被监控端(被监控的服务器)安装nagios-nrpe_2.8.1.orig.tar.gz和插件nagios-plugins-1.4.12.tar.gz
安装过程
====================
useradd nagios
passwd nagios
=======================
chown nagios.nagios /usr/local/nagios
然后
cd nagios-nrpe_2.8.1
./configure
make all
make install-plugin
make install-daemon
make install-daemon-config
========================================================
vi /usr/local/nagios/etc/nrpe.cfg
将allowed_hosts=127.0.0.1
修改成你的nagios服务器的ip
=======================================
/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
启动nrpe
================================================
netstat -an|grep 5666
察看是否在5666端口上监听
注意:防火墙 释放端口5666,很重要
===================================
/usr/local/nagios/libexec/check_nrpe -H localhost
察看是否能返回nrpv版本号,返回则正常!
=============================================
vi /usr/local/nagios/etcnrpe.cfg
可以看到里面监控对象
=============================================================
我们为了监控swap
在nrpe.cfg中添加
===================================================
然后再启动nrpe
/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg –d
这样子,在监控端算是设置完了!!!
2。我们来设置nagios服务器端的设置!
安装nagios-nrpe_2.8.1.orig.tar.gz
这里安装过程比上面再被监控服务安装少两部
=========================================
tar -zxvf nagios-nrpe_2.8.1.orig.tar.gz
cd nagios-nrpe_2.8.1
./configure
make all
make install-plugin
================================
然后我们测试下连通性
/usr/local/nagios/libexec/check_nrpe -H 被监控端ip
如果返回nrpe版本号,那么正常!
如果返回拒绝连接!那么telnet ip 5666看是否正常
======================================================
配置:
=================================
由于nrpe外构组件,所以必须在commands.cfg中定义(我这里的nagios版本是3.0.3和2。x的版本有些不一样)
[root@localhost etc]# vi /usr/local/nagios/etc/objects/commands.cfg
最下面添加
#check nrpe
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
========================================================
[root@localhost etc]# vi /usr/local/nagios/etc/nagios.cfg
中间添加
cfg_file=/usr/local/nagios/etc/objects/aiyo-mailserver.cfg
最后面的 aiyo-mailserver.cfg你们可以自己改,或者Linux1.cfg也可以!
=================================================
新建aiyo-mailserver.cfg
[root@localhost etc]# vi /usr/local/nagios/etc/objects/aiyo-mailserver.cfg
添加
define host{
use linux-server
host_name aiyo-mailserver
alias aiyo-mailserver
address 210.51.47.213
}
use generic-service
host_name aiyo-mailserver
service_description HTTP
check_command check_http
}
use generic-service
host_name aiyo-mailserver
service_description FTP
check_command check_ftp
define service{
use generic-service
host_name aiyo-mailserver
service_description SSH
check_command check_ssh
}
define service{
use generic-service
host_name aiyo-mailserver
service_description SMTP
check_command check_smtp
}
define service{
use generic-service
host_name aiyo-mailserver
service_description POP3
check_command check_pop
}
define service{
use generic-service
host_name aiyo-mailserver
service_description check-swap
check_command check_nrpe!check_swap
}
use generic-service
host_name aiyo-mailserver
service_description check-load
check_command check_nrpe!check_load
}
define service{
use generic-service
host_name aiyo-mailserver
service_description check-disk
check_command check_nrpe!check_had1
define service{
use generic-service
host_name aiyo-mailserver
service_description zombie_procs
check_command check_nrpe!check_zombie_procs
}
define service{
use generic-service
host_name aiyo-mailserver
service_description check-users
check_command check_nrpe!check_users
}
define service{
use generic-service
host_name aiyo-mailserver
service_description total_procs
check_command check_nrpe!check_total_procs
}
保存,退出!
这个里面定义了对象和服务!
注意:
define host{
use linux-server
这个你要能在commands.cfg找到!如果是3.0.x版本,应该就对的
!如果是2。x版本,不一样定了!
=====================================================
我们来运行
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
检测下是不是都正确!
================================================
正确的话,那么我们重新启动nagios
那么在web页面里面就会出现!!
但是页面显示disk一项可能出现红色警告信息!因为linux下如果我的硬盘是sad1,那么写had1就没用了!
哈哈!
临时记下,!明天继续!!!
============================================
转载请注明出处!
www.6xuan.com
www.aiyomama.cn
www.aiyonet.com
2008/07/17 20:51 | by tinkoko ]
接下来我们开始监控第一台windows设备!
windows服务器上要安装nsclient++0.3.3.zip
解压后,copy到c盘根目录
1。在nagios服务器上
vi /usr/local/nagios/etc/nagios.cfg
#cfg_file=/usr/local/nagios/etc/objects/windows.cfg 去掉这句话的注释
保存退出!
2。到win服务器上,打开命令窗口,cd到刚才解压的目录
在命令行界面执行 nsclient++ /install
然后 nsclient++ SysTray 如果出错不用管!
此时在“服务”里面已经有了nsclient的服务
3。编辑NES.ini
在 [modules] 选项里
去掉所有的注释符号; 除了
CheckWMI.dll和RemoteConfiguration.dll
4。the [Settings] 选项里
修改allowd_host=210.x.x.x(nagios服务器的ip)
如果这一步要修改passwd,那么nagios服务器里面command.cfg也要修改!我这里不作修改!
5。[NSClient] 里面,去掉port=12489的注释!
他靠端口12489侦听,所以防火墙要打开这个端口!
然后启动nsclient
nsclient++ /start
========================================
接下来我们开始配置nagios服务器里面的内容
vi /usr/local/nagios/etc/objects/windows.cfg
=================================
define host{
use windows-server
host_name winserver alias
My Windows Server
address 192.168.1.2
}
修改hostname和address,很重要!!
然后下面的很多定义,都可以不用改,想知道每个定义的意思,去看看官方的文档!!
下面的定义全部修改hostname 都改为自己的!一定要一样!
接下来保存!退出!!
======================
然后重新启动nagios
看看你的web图形是不是变化了!它会自动连接!
如果这个时候出错!尝试去telnet win服务器的ip 12489端口!!
自己排除原因!!
====================
转载请注明出处!
www.6xuan.com
www.aiyomama.cn
www.aiyonet.com




