设为首页 收藏本站
查看: 1236|回复: 0

1005 linux系统报警软件nagios与飞信结合

[复制链接]

尚未签到

发表于 2019-1-17 09:17:51 | 显示全部楼层 |阅读模式
1005 linux内容概要:
nagios安装飞信机器人并实现短信报警

关于Nagios相关可参考以下站点:

Nagios官方网站           http://www.nagios.org

安装软件之前先要安装操作系统(这里以CentOS 5.2为例),搭建lamp环境(可以参考http://shawonline.blog.运维网.com/304978/162882其中至php安装结束部分)。

系统监控报警软件nagios
前面已经介绍过cacti的安装与配置,这里是把nagioscacti安装在同一台服务器上的,使用同样的环境设置。
1.1 nagios快速安装
各平台的快速安装指南 http://nagios.sourceforge.net/docs/3_0/quickstart.html
useradd nagios ;echo "nagios" |passwd nagios --stdin
groupadd nagcmd
usermod -a -G nagcmd nagios
usermod -a -G nagcmd apache

mkdir ~/src
cd ~/src
wget http://osdn.dl.sourceforge.net/sourceforge/nagios/nagios-3.0.3.tar.gz
wget http://osdn.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.12.tar.gz

tar -xzvf nagios-3.0.3.tar.gz
cd nagios-3.0.3
./configure --with-command-group=nagcmd --with-httpd-conf=/usr/local/apache2/conf/extra/ --enable-embedded-perl
make all
make install
make install-init
make install-config
make install-commandmode
make install-webconf

cd ~/src
tar -xzvf nagios-plugins-1.4.12.tar.gz
cd nagios-plugins-1.4.12
./configure --with-nagios-user=nagios --with-nagios-group=nagios
make ;make install

chkconfig --add nagios
chkconfig --level 3 nagios on

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
/usr/local/apache2/bin/htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
由于我们是使用编译方式安装的apache,所以在httpd.conf最后添加一行:
Include /usr/local/apache2/conf/extra/nagios.conf

service nagios start
service httpd restart

测试:
http://localhost/nagios
如果点击3-D Status Map 提示下载statuswrl.cgi,可以安装Cortona来解决。
Cortona的在线安装地址为:http://www.cortona3d.com/install/iexplore.php

1.2 nrpe安装与配置
1.2.1 监控端:
安装nrpe-2.8
cd ~/src
tar -xzvf nrpe-2.8.tar.gz
cd nrpe-2.8
./configure
make all
make install-plugin
如果不作为被监控端可以不运行以下两行:
make install-daemon
make install-daemon-config

vi /usr/local/nagios/etc/objects/commands.cfg添加如下几行:
define command{
  command_name  nrpe
  command_line  $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
  }

1.2.2 linux被监控端:
useradd nagios ;echo "nagios" |passwd nagios --stdin

tar -xzvf nagios-plugins-1.4.13.tar.gz
cd nagios-plugins-1.4.13
./configure --with-nagios-user=nagios --with-nagios-group=nagios
make ;make install
chown nagios.nagios /usr/local/nagios/
chown -R nagios.nagios /usr/local/nagios/libexec/

cd ..
tar -xzvf nrpe-2.8.tar.gz
cd nrpe-2.8
./configure
make all
make install-daemon
make install-daemon-config

vi /usr/local/nagios/etc/nrpe.cfg
server_address=192.168.3.1         #被监控网卡IP
allowed_hosts=192.168.3.119    #充许监控服务器IP地址,多个IP","分隔

启动nrpe
/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d

netstat -atn |grep 5666
tail /var/log/messages

echo "/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d" >> /etc/rc.d/rc.local

重启nrpe
kill -9 `pidof nrpe` &&/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d

以下是我的/usr/local/nagios/etc/nrpe.cfg文件:
pid_file=/var/run/nrpe.pid
server_port=5666
nrpe_user=nagios
nrpe_group=nagios
allowed_hosts=127.0.0.1,192.168.0.119
dont_blame_nrpe=0
debug=0
command_timeout=60
connection_timeout=300
command[check_load]=/usr/local/nagios/libexec/check_load -w 20,18,15 -c 30,25,20
command[check_hda1]=/usr/local/nagios/libexec/check_disk -w 20 -c 10 -p /dev/sda1
command[check_hda2]=/usr/local/nagios/libexec/check_disk -w 20 -c 10 -p /dev/sda2
command[check_hda3]=/usr/local/nagios/libexec/check_disk -w 20 -c 10 -p /dev/sda3
command[check_hda4]=/usr/local/nagios/libexec/check_disk -w 20 -c 10 -p /dev/sda4
command[check_hda5]=/usr/local/nagios/libexec/check_disk -w 20 -c 10 -p /dev/sda5
command[check_hda6]=/usr/local/nagios/libexec/check_disk -w 20 -c 10 -p /dev/sda6
command[check_hda7]=/usr/local/nagios/libexec/check_disk -w 20 -c 10 -p /dev/sda7
command[check_hda8]=/usr/local/nagios/libexec/check_disk -w 20 -c 10 -p /dev/sda8

如果还有其他服务器需要安装nrpe linux被监控端程序,首先需要创建nagios用户:
useradd nagios ;echo "nagios" |passwd nagios –stdin,其次需要将已安装nrpe服务器的/usr/local/nagios文件夹打包,并解压到目标服务器即可。


1.2.3 windows被监控端:
安装NSClient++-Win32-0.3.1.msi
开始-运行-services.msc-NSClientpp (Nagios) 0.3.1.14 2008-03-12 w32属性-登录-勾选允许服务与桌面交互(这样在服务开启后桌面右下角就会出现控制图标)
修改C:\NSClient++\NSC.ini
重启服务

在监控端测试nrpe
/usr/local/nagios/libexec/check_nrpe -H 192.168.3.104
NRPE v2.8
/usr/local/nagios/libexec/check_nt -H 192.168.3.36
I (0.3.1.13 yyyy-mm-dd) seem to be doing fine...

1.3 安装飞信机器人并实现短信报警
nagios监控端的详细配置这里不作介绍,我们主要来测试飞信报警的功能。
1.3.1 安装飞信机器人
下载FetionRobot
http://www.it-adv.net
安装FetionRobot
tar -xzvf library_linux.tar.tar
cp libACE-5.6.8.so /usr/lib
cp libACE_SSL-5.6.8.so /usr/lib
cp libcrypto.so.0.9.8 /usr/lib
cp libssl.so.0.9.8 /usr/lib

tar -xzvf fetion20090327018-linux.tar.tar
mv install /usr/local/nagios/fetion
chown –R nagios.nagios /usr/local/nagios/fetion

1.3.2 测试飞信机器人
/usr/local/nagios/fetion/fetion –h会列出详细帮助信息
可以用下面一行命令进行测试:
/usr/local/nagios/fetion/fetion --mobile=15812345678 --pwd=FetionPWD --msg-utf8="信息内容" --msg-type=1 --to=15812345678,15912345678
当然,你得先开通你的飞信服务呵!

1.3.3 使nagios可以发送报警信息
修改/usr/local/nagios/etc/objects/commands.cfg,在文件开始部分添加如下几行:
# 'notify-host-by-fetion' command definition
define command{
        command_name    notify-host-by-fetion
        command_line    /usr/local/nagios/fetion/fetion --mobile=15812345678 --pwd=FetionPWD --msg-utf8="*$NOTIFICATIONTYPE
$:$HOSTADDRESS$ is $HOSTSTATE$ at $SHORTDATETIME$*" --msg-type=1 --to=15812345678,15912345678
        }

# 'notify-service-by-fetion' command definition
define command{
        command_name    notify-service-by-fetion
        command_line    /usr/local/nagios/fetion/fetion --mobile=15812345678 --pwd=FetionPWD --msg-utf8="$NOTIFICATIONTYPE$
:*$HOSTADDRESS$/$SERVICEDESC$ is $SERVICESTATE$ at $SHORTDATETIME$*" --msg-type=1 --to=15812345678,15912345678
        }

另外,我们不知道这个版本的飞信机器人哪天会突然出问题(我就遇到过这样的问题),所以写个每天定时使用飞信机器人发送nagios进程号的信息。
vi /usr/local/nagios/fetion/test_everyD
#!/bin/bash
msg=`service nagios status`
/usr/local/nagios/fetion/fetion --mobile=15812345678 --pwd=FetionPWD --msg-utf8="*$msg \n$(date +%D\ %H:%M)*" --msg-type=1 --to=15812345678,15912345678
chown nagios.nagios /usr/local/nagios/fetion/fetion
chmod 644 /usr/local/nagios/fetion/fetion

echo '00 21 * * * nagios /usr/local/nagios/fetion/test_everyD' >>/etc/crontab

至此我们就可以在各被监控机的配置文件里定义报警阀值,由nagios监控机监测并发出报警信息。

By Shaw




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-664236-1-1.html 上篇帖子: nagios 监控(四) pnp+rrdtools 图形分析 下篇帖子: nagios艰辛的实践
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表