要学的东西还有很多呢,慢慢来~!

环境:

操作系统: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 设置邮件、短信报警相关推荐

  1. CentOS6.x设置邮件短信报警

    CentOS6.x设置邮件短信报警 1.把监控脚本先写出来 提取IP地址 [root@localhost ~]# ifconfig | grep "inet addr" #抓取ip ...

  2. nagios整合ganglia实现hadoop、Hbase监控及手机短信报警

    预计该博文篇幅较长,这里不再废话,对ganglia不太了解的去问谷老师,直接看环境: hadoop1.updb.com    192.168.0.101 hadoop2.updb.com    192 ...

  3. CactiEZ 中文版V10.1安装使用以及139邮箱短信报警设置

    说明:CactiEZ中文版V10.1是基于CentOS 6.0系统,整合Cacti等相关软件,重新编译而成的一个操作系统! 说明:CactiEZ中文版V10.1是基于CentOS 6.0系统,整合Ca ...

  4. nagios-3种报警方式–声音–email/邮件—短信

    应用nagios3的原因就是因为它的强大性和易扩张性,首先我们来研究nagios3的3种报警配额 1. nagios3声音报警 2. nagios3邮件报警 3. nagios3短信报警 ###### ...

  5. nagios监控服务短信报警开发及部署细节

    网站监控的及时报警方式主要就是短信报警了:1)邮箱转短信报警. 2)微信,MSN,QQ转手机信息提醒. 3)短信网关报警(本文推荐) 4)短信猫报警. 5)飞信报警. 6)手机邮件客户端直接收邮件提示 ...

  6. 5.Nagios使用飞信短信报警

    为什么80%的码农都做不了架构师?>>>    Nagios使用飞信短信报警 以下内容摘自官方文档:http://bbs.it-adv.net/viewthread.php?tid= ...

  7. zwacs短信报警智能工业云监控系统

    zwacs短信报警智能工业云监控系统 --zwacs众为自动化 产品概述 随着物联网进化加速,工业设备智能监测的要求越来越高.如何更智能.更低成本实现远程监控是我们解决的首要问题.如:农业大棚监控.医 ...

  8. 使用linux shell+sendmail+139邮箱实现定时短信报警

    最近想做个linux的系统监控,比如当磁盘空间到达一定时,进行短信报警,但又 暂时不想买设备,又不是SP,之前用过飞信API,但发现飞信老改API,麻烦,后来发现 139邮箱只要注册了,就可以实现只要 ...

  9. 13.zabbix学习笔记:zabbix监控之短信报警

    zabbix学习笔记:zabbix监控之短信报警 zabbix的报警方式有多种,除了常见的邮件报警外,特殊情况下还需要设置短信报警和微信报警等额外方式.本篇文章向大家介绍短信报警. 短信报警设置 短信 ...

最新文章

  1. [转载]极速狂飚 Windows 2003系统25招加速大法
  2. 结构对齐--__packed与#pragma pack
  3. mmap直接操作底层,相当于驱动
  4. python 服务端性能_python 学习笔记---Locust 测试服务端性能
  5. 安装配置libmemcached
  6. 2021牛客暑期多校训练营2 L-WeChat Walk(分块)
  7. UA Web挑战会议:针对初创公司的SpringIO
  8. java参数校验:ValidatorUtils校验框架工具类的使用
  9. 如何在Ubuntu 14.04上安装MySQL
  10. 正则表达式之初入江湖
  11. 怎么做应力应变曲线_常用的应力测试方法及其在船舶系统零部件中的应用
  12. sql语句多条件查询语句拼接
  13. sql order by 用法
  14. 关闭计算机界面,windows7 关机一直停留在“正在关机”界面的解决方法
  15. iPhone手机 -- 如何找到开发者选项
  16. 多项式除以多项式例题讲解_多项式乘以多项式训练题.doc
  17. css3简单实现页面中出现雪花飘落效果
  18. AIGC在营销图片生成技术综述
  19. nested exception is org.apache.ibatis.binding.BindingException: Parameter ‘email‘ not found. Availab
  20. jmeter配置原件

热门文章

  1. LeetCode 1876. 长度为三且各字符不同的子字符串
  2. LeetCode 1806. 还原排列的最少操作步数(模拟)
  3. LeetCode 638. 大礼包(无限背包DP)
  4. LeetCode 987. 二叉树的垂序遍历(递归/循环)
  5. 回溯应用-- 0-1背包问题
  6. vant toast 指定挂载到指定位置_docker卷挂载技术
  7. 小小算法题(CCF)
  8. 卖萌屋学术站开放注册啦!寻募种子用户,超多特权放出!
  9. NeurIPS 2020 所有RL papers全扫荡
  10. 【Spring Cloud中文社区】正式启动