nagios 整合 ganglia 设置邮件、短信报警
要学的东西还有很多呢,慢慢来~!
环境:
操作系统:ubuntu 10.10
软件:ganglia-monitor 3.1.7-1,gmetad 3.7.1-1,nagios 3.2.1-2
步骤:
1.下载安装nagios:
sudo apt-get install nagios3 nagios-plugins
输入要发送报告的邮箱
输入密码(用户名默认为:nagiosadmin)
2.把nagios的http文件链接到apache所在目录,并重启apache
sudo ln -s /usr/share/nagios3/htdocs /var/www/nagios
sudo service apache2 restart
现在,就可以通过http://localhost/nagios来访问nagios了,查看service的时候会要求输入用户名和密码,就是之前设置的
3.下载插件脚本
1)check_ganglia.py 试验发现只适合单播、单个数据源的
去http://ganglia.sourceforge.net/downloads.php?component=ganglia-webfrontend&version=3.1.7下载ganglia的源文件
解压后在contrib目录中找到check_ganglia.py并复制到/usr/lib/nagios/plugins/目录(该目录在/etc/nagios3/resource.cfg脚本中被定义为USER1)
这个python脚本是通过ganglia收集到的数据发出不同等级的警报,nagios显示这些警报信息或者根据设置通过邮件、短信发送警报信息给指定用户
2)check_ganglia_metric.php 这个好像是最原生态的,都适合
下载地址:http://vuksan.com/linux/ganglia/check_ganglia_metric.phps
这是check_ganglia的php脚本,直接调用gmetad取得的信息,因此可以获得other clusters and Grids的信息。把它复制到$USER1$目录下。
调用方法:check_ganglia_metric.php hostName metric_name less|more value
4.在/etc/nagios3/conf.d添加一个名为ganglia-services.cfg的配置文件,添加如下设置:
#定义servicegroup方便host使用多个service
define servicegroup {
servicegroup_name ganglia-metrics
alias Ganglia Metrics
}
#定义host,address似乎可以不用,因为check_ganglia.py脚本只通过host_name就可获取数据
#host_name可以从ganglia中看到
define host{
use generic-host ; Name of host template to use
host_name Just_Test
alias test-host
}
#定义hostgroup,members中可以指定属于该组的成员,定义service的时候可以指定只有某组才能使用该service
define hostgroup {
hostgroup_name my-host-servers
alias test-group
members * ;可以指定多个host属于当前组,用逗号分隔
}
#定义check_ganglia.py的command,执行检测脚本
#define command {
# command_name check_ganglia
# command_line $USER1$/check_ganglia.py -h $HOSTNAME$ -m $ARG1$ -w $ARG2$ -c $ARG3$
#}
#定义command,执行check_ganglia_metric.php检测脚本
define command{
command_name check_ganglia
command_line $USER1$/check_ganglia_metric.php $HOSTNAME$ $ARG1$ $ARG2$ $ARG3$
}
#定义一个service集合,共享配置(似乎是这个意思)
define service {
use generic-service
name ganglia-service
hostgroup_name my-host-servers ;定义那个组需要当前服务
service_groups ganglia-metrics
notifications_enabled 1 ;是否发送通知,1为发送,0为不发送
}
#定义具体service,check_command中的值:首先是command名,然后是用!分隔的参数,分别对应$ARG1$,$ARG2$。。。
#check_ganglia.py的检测命令
define service {
use ganglia-service
service_description load_one ;服务名称
check_command check_ganglia!load_one!4!5 ;调用之前定义的command
}
#check_ganglia_metric.php的检测命令
define service {
use ganglia-service
service_description 内存空闲
check_command check_ganglia!mem_free!less!10240
}
#发送邮件的command
define command {
command_name notify-by-email
command_line /usr/bin/printf "%b" "***** Nagios 3.2.1*****\nNotification Type: $NOTIFICATIONTYPE$\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\nDate/Time: $LONGDATETIME$\nAdditionalInfo: $SERVICEOUTPUT$" | /usr/local/bin/sendEmail -f sender@qq.com -t $CONTACTEMAIL$ -s smtp.qq.com -u "**$NOTIFICATIONTYPE$ alert - $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" -xu sender@qq.com -xp password
}
5.修改contacts_nagios2.cfg
修改被通知的Email以及xx_notification_commands:
service_notification_commands notify-by-email
host_notification_commands notify-by-email
email 138xxxxxxxx@139.com
使用139的邮箱,让接收短信的人去139邮箱那开通下短信通知(同时设置长短信打开),这样就可以免费接到报警短信了。之前配飞信的时候遇到太多问题,而且听说用飞信还要验证码,只好转139邮箱了,似乎163也有邮件到达通知。
6.安装sendEmail,发邮件通知(可以直接复制已经安装的程序/usr/local/bin/sendEmail):
wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.55.tar.gz
tar -zxvf sendEmail-v1.55.tar.gz
cd sendEmail-v1.55
cp sendEmail /usr/local/bin
chmod 0755 /usr/local/bin/sendEmail
测试sendEmail(我试的时候,只有qqmail能发送成功,163、sina什么的都不行,不知道为什么):
sendEmail -f sender@qq.com -t receiver@qq.com -s smtp.qq.com -u "test" -xu sender@qq.com -xp your-password -m "hello world!"
-f表示发送者的邮箱
-t表示接收者的邮箱
-s表示SMTP服务器的域名或者ip
-u表示邮件的主题
-xu表示SMTP验证的用户名
-xp表示SMTP验证的密码
-m表示邮件的内容
*结束语
至此,已经能通过nagios收到报警信息了,间歇性地花了一周事件才搞定。。慢慢来吧
转载于:https://www.cnblogs.com/Nstd/archive/2012/11/08/2760180.html
nagios 整合 ganglia 设置邮件、短信报警相关推荐
- CentOS6.x设置邮件短信报警
CentOS6.x设置邮件短信报警 1.把监控脚本先写出来 提取IP地址 [root@localhost ~]# ifconfig | grep "inet addr" #抓取ip ...
- nagios整合ganglia实现hadoop、Hbase监控及手机短信报警
预计该博文篇幅较长,这里不再废话,对ganglia不太了解的去问谷老师,直接看环境: hadoop1.updb.com 192.168.0.101 hadoop2.updb.com 192 ...
- CactiEZ 中文版V10.1安装使用以及139邮箱短信报警设置
说明:CactiEZ中文版V10.1是基于CentOS 6.0系统,整合Cacti等相关软件,重新编译而成的一个操作系统! 说明:CactiEZ中文版V10.1是基于CentOS 6.0系统,整合Ca ...
- nagios-3种报警方式–声音–email/邮件—短信
应用nagios3的原因就是因为它的强大性和易扩张性,首先我们来研究nagios3的3种报警配额 1. nagios3声音报警 2. nagios3邮件报警 3. nagios3短信报警 ###### ...
- nagios监控服务短信报警开发及部署细节
网站监控的及时报警方式主要就是短信报警了:1)邮箱转短信报警. 2)微信,MSN,QQ转手机信息提醒. 3)短信网关报警(本文推荐) 4)短信猫报警. 5)飞信报警. 6)手机邮件客户端直接收邮件提示 ...
- 5.Nagios使用飞信短信报警
为什么80%的码农都做不了架构师?>>> Nagios使用飞信短信报警 以下内容摘自官方文档:http://bbs.it-adv.net/viewthread.php?tid= ...
- zwacs短信报警智能工业云监控系统
zwacs短信报警智能工业云监控系统 --zwacs众为自动化 产品概述 随着物联网进化加速,工业设备智能监测的要求越来越高.如何更智能.更低成本实现远程监控是我们解决的首要问题.如:农业大棚监控.医 ...
- 使用linux shell+sendmail+139邮箱实现定时短信报警
最近想做个linux的系统监控,比如当磁盘空间到达一定时,进行短信报警,但又 暂时不想买设备,又不是SP,之前用过飞信API,但发现飞信老改API,麻烦,后来发现 139邮箱只要注册了,就可以实现只要 ...
- 13.zabbix学习笔记:zabbix监控之短信报警
zabbix学习笔记:zabbix监控之短信报警 zabbix的报警方式有多种,除了常见的邮件报警外,特殊情况下还需要设置短信报警和微信报警等额外方式.本篇文章向大家介绍短信报警. 短信报警设置 短信 ...
最新文章
- [转载]极速狂飚 Windows 2003系统25招加速大法
- 结构对齐--__packed与#pragma pack
- mmap直接操作底层,相当于驱动
- python 服务端性能_python 学习笔记---Locust 测试服务端性能
- 安装配置libmemcached
- 2021牛客暑期多校训练营2 L-WeChat Walk(分块)
- UA Web挑战会议:针对初创公司的SpringIO
- java参数校验:ValidatorUtils校验框架工具类的使用
- 如何在Ubuntu 14.04上安装MySQL
- 正则表达式之初入江湖
- 怎么做应力应变曲线_常用的应力测试方法及其在船舶系统零部件中的应用
- sql语句多条件查询语句拼接
- sql order by 用法
- 关闭计算机界面,windows7 关机一直停留在“正在关机”界面的解决方法
- iPhone手机 -- 如何找到开发者选项
- 多项式除以多项式例题讲解_多项式乘以多项式训练题.doc
- css3简单实现页面中出现雪花飘落效果
- AIGC在营销图片生成技术综述
- nested exception is org.apache.ibatis.binding.BindingException: Parameter ‘email‘ not found. Availab
- jmeter配置原件