由于linux下的office和win下有所区别,我只能把linux下的.dot文件打包成pdf,粘贴发送标出来,但有些图片还是没办法发表,要是有朋友感兴趣的话,可加我qq 215687833具体的文档可供参考,皆来自本人整理,扯犊子的请绕行。

ganglia 是分布式的监控系统,有两个 Daemon, 分别是:客户端 Ganglia Monitoring
Daemon (gmond)和服务端 Ganglia Meta Daemon (gmetad),还有 Ganglia PHP Web
Frontend(基于 web 的动态访问方式)组成
是一个 Linux 下图形化监控系统运行性能的软件,界面美观、丰富,功能强大
http://ganglia.sourceforge.net/ 软件下载
环境:RHEL6 x86­64 disable selinux and iptables
2 台主机的解析分别为
192.168.2.79    node2.example.com
192.168.2.81    node3.example.com
ganglia 多播的配置。
配置在 192.168.2.79    node2.example.com
下载软件包:
ganglia­3.6.0.tar.gz
ganglia­web­3.5.10.tar.gz
libconfuse­2.6­3.el6.x86_64.rpm
libconfuse­devel­2.6­3.el6.x86_64.rpm
rrdtool­devel­1.3.8­6.el6.x86_64.rpm
yum install ­y rpm­build 将 tar 包打压成 rpm 包。
[root@node2 ~]# rpmbuild ­tb ganglia­3.6.0.tar.gz  打压的过程中所需要的依赖包。
error: Failed build dependencies:
libart_lgpl­devel is needed by ganglia­3.6.0­1.x86_64
gcc­c++ is needed by ganglia­3.6.0­1.x86_64
python­devel is needed by ganglia­3.6.0­1.x86_64
libconfuse­devel is needed by ganglia­3.6.0­1.x86_64
pcre­devel is needed by ganglia­3.6.0­1.x86_64
expat­devel is needed by ganglia­3.6.0­1.x86_64
rrdtool­devel is needed by ganglia­3.6.0­1.x86_64
apr­devel > 1 is needed by ganglia­3.6.0­1.x86_64
安装依赖关系。
# yum install ­y libart_lgpl­devel gcc­c++ python­devel pcre­devel expat­devel rrdtool­devel apr­devel
安装完成后再次打压。
[root@node2 ~]# rpmbuild ­tb ganglia­3.6.0.tar.gz
 error: Failed build dependencies:
libconfuse­devel is needed by ganglia­3.6.0­1.x86_64
rrdtool­devel is needed by ganglia­3.6.0­1.x86_64
发现还需要依赖关系,安装以下依赖包。
[root@node2 ~]# yum localinstall libconfuse­devel­2.6­3.el6.x86_64.rpm rrdtool­devel­1.3.8­
6.el6.x86_64.rpm
发现安装 上面 2 个包,又产生一个依赖包,还需要安装依赖 包。
[root@node2 ~]# yum localinstall libconfuse­devel­2.6­3.el6.x86_64.rpm rrdtool­devel­1.3.8­
6.el6.x86_64.rpm libconfuse­2.6­3.el6.x86_64.rpm
再次将 tar 包打压成 rpm 包,ok
[root@node2 ~]# rpmbuild ­tb ganglia­3.6.0.tar.gz
将 tar­web tar 包也打压成 rpm 包。
[root@node2 ~]# rpmbuild ­tb ganglia­web­3.5.10.tar.gz
切换到下面的目录,ganglia 打压的 包放在这下面。
/root/rpmbuild/RPMS/x86_64
[root@node2 x86_64]# ls
ganglia­devel­3.6.0­1.x86_64.rpm
ganglia­gmetad­3.6.0­1.x86_64.rpm
ganglia­gmond­3.6.0­1.x86_64.rpm
ganglia­gmond­modules­python­3.6.0­1.x86_64.rpm
libganglia­3.6.0­1.x86_64.rpm
[root@node2 x86_64]# rpm ­ivh *
Preparing...                ########################################### [100%]
   1:libganglia             ########################################### [ 20%]
   2:ganglia­gmond          ########################################### [ 40%]
   3:ganglia­gmond­modules­p########################################### [ 60%]
   4:ganglia­devel          ########################################### [ 80%]
   5:ganglia­gmetad         ########################################### [100%]
/root/rpmbuild/RPMS/noarch  ganglia­web 打压的包放在这下面。
[root@node2 noarch]# yum localinstall ganglia­web­3.5.10­1.noarch.rpm ­y
ganglia 的主配置文件都放在/etc/ganglia 目录下。
[root@node2 ganglia]# vim gmetad.conf 修改服务的配置文件。
data_source "my cluster" localhost 改个组名为 my cluster
[root@node2 ganglia]# vim gmond.conf
cluster {
  name = "my cluster"
  owner = "unspecified"
  latlong = "unspecified"
  url = "unspecified"
启动 ganglia 的服务端/客户端:
/etc/init.d/gmond start
/etc/init.d/gmetad start
在浏览器中输入: http://192.168.2.79/ganglia/
这下面放的是通过广播监控到的 ganglia 服务的信息。
/var/lib/ganglia/rrds/my cluster
[root@node2 my cluster]# ls
192.168.2.125  192.168.2.138  192.168.2.56  node2.example.com
192.168.2.133  192.168.2.207  192.168.2.71  __SummaryInfo__
192.168.2.134  192.168.2.220  192.168.2.85
下面配置另一台主机的 ganglia 客户端服务。
首先切换到当下目录,将 ganglia 包拷贝到远程主机。
/root/rpmbuild/RPMS/x86_64
scp ganglia­gmond­* libganglia­3.6.0­1.x86_64.rpm 192.168.2.81:/root/ 顺便也把 libconfuse­2.6­
3.el6.x86_64.rpm 也拷贝过去,会用到依赖关系。
安装客户端的软件包。
配置在 192.168.2.81    node3.example.com
[root@node3 ~]# yum localinstall ganglia­gmond­* libganglia­3.6.0­1.x86_64.rpm libconfuse­2.6­
3.el6.x86_64.rpm
一样 ganglia 的主配置文件也放在/etc/ganglia 目录下。
[root@node3 ganglia]# vim  gmond.conf 编辑客户端的配置文件。
cluster {
  name = "my cluster"
  owner = "unspecified"
  latlong = "unspecified"
  url = "unspecified"
}
要是有多台客户端的主机,组一样都使用
cluster {
  name = "my cluster"
  owner = "unspecified"
  latlong = "unspecified"
  url = "unspecified"
}
重启服务:
# /etc/init.d/gmond start
在主配置的/var/lib/ganglia/rrds 目录下可以看到 ganglia 所监控到的主机信息。
单播 ganglia 的配置:
配置在 192.168.2.79 这台主机上。
单播的原理就是各自监控各自的,大家的组/端口都不一样,每个人起得组名字,端口都不一样。
首先把上面的 ganglia 服务给停了。
[root@node2 ganglia]# vim gmetad.conf 编辑服务端的配置
组名我改为 linux007  监控的主机为 192.168.2.79 和 192.168.2.81 端口为 8007
data_source "linux007" 192.168.2.79:8007        192.168.2.81:8007
[root@node2 ganglia]# vim gmond.conf 客户端主要修改以下几行
 send_metadata_interval = 30 /*secs */ 发送的更新为 30 秒
cluster {
  name = "linux007"  客户端的组名也为 linux007
  owner = "unspecified"
  latlong = "unspecified"
  url = "unspecified"
}
mcast_join = 239.2.11.71
  port = 8007
  ttl = 1
udp_recv_channel {
  mcast_join = 239.2.11.71
  port = 8007  端口也为 8007
  bind = 239.2.11.71
retry_bind = true
tcp_accept_channel {
  port = 8007  tcp 的端口为 8007
  # If you want to gzip XML output
  gzip_output = no
}
重启服务:
/etc/init.d/gmond restart
/etc/init.d/gmetad restart
另一台客户端的配置;
192.168.2.81 node3 这台主机:
[root@node3 ganglia]# vim  gmond.conf  客户端的配置文件修改以下几行。
send_metadata_interval = 30 /*secs */
cluster {
  name = "linux007"
  owner = "unspecified"
  latlong = "unspecified"
  url = "unspecified"
}
mcast_join = 239.2.11.71
  port = 8007
  ttl = 1
udp_recv_channel {
  mcast_join = 239.2.11.71
  port = 8007
  bind = 239.2.11.71
  retry_bind = true
tcp_accept_channel {
  port = 8007
  # If you want to gzip XML output
  gzip_output = no
}
重启服务:
# /etc/init.d/gmond restart
在服务端的/var/lib/ganglia/rrds/linux007 目录下,会看到一下文件或目录。
node2.example.com  node3.example.com  __SummaryInfo__
在浏览器中会看到:linux007 的信息
[root@node2 contrib]# cp check_ganglia.py /usr/local/nagios/libexec/
[root@node2 contrib]# cd /usr/local/nagios/libexec/
[root@node2 libexec]# ./check_ganglia.py
Usage: check_ganglia ­h|­­host= ­m|­­metric= ­w|­­warning= ­c|­­critical= [­s|­­server=] [­p|­­port=]
­h 可以写主机名,也可以写 ip,这怎么写,你在/var/lib/ganglia/rrds/linux007/看到的信息是一样
的。
[root@node2 libexec]# vim check_ganglia.py
ganglia_port = 8007
这下面的明显是不对的,我们写的是 20%警告,10%危险,先面的输出是危险,磁盘剩余空间
83.04,很明显是不对的。
[root@node2 libexec]# ./check_ganglia.py ­h node3.example.com ­m disk_free_percent_rootfs ­w 20
­c 10
CHECKGANGLIA CRITICAL: disk_free_percent_rootfs is 83.04
修改脚本 check_ganglia.py,使其符合我们的要求输出。
[root@node2 libexec]# vim check_ganglia.py
if critical > warning:
  if value >= critical:
    print "CHECKGANGLIA CRITICAL: %s is %.2f" % (metric, value)
    sys.exit(2)
  elif value >= warning:
    print "CHECKGANGLIA WARNING: %s is %.2f" % (metric, value)
    sys.exit(1)
  else:
    print "CHECKGANGLIA OK: %s is %.2f" % (metric, value)
    sys.exit(0)
else:
  if critical >= value:
    print "CHECKGANGLIA CRITICAL: %s is %.2f" % (metric, value)
    sys.exit(2)
  elif warning >= value:
    print "CHECKGANGLIA WARNING: %s is %.2f" % (metric, value)
    sys.exit(1)
  else:
    print "CHECKGANGLIA OK: %s is %.2f" % (metric, value)
    sys.exit(0)
  
再次输出发现完全符合要求:
[root@node2 libexec]# ./check_ganglia.py ­h node3.example.com ­m disk_free_percent_rootfs ­w 20
­c 10
CHECKGANGLIA OK: disk_free_percent_rootfs is 83.04
ganglia 擅长监控多台服务,nagios 擅长警告,现在把他们结合起来。
首先 nagios 没有 ganglia 的命令,我们添加 nagios 命令。
# cd /usr/local/nagios/etc/objects/
[root@node2 objects]# vim commands.cfg 要是上面的验证是 ip 则 HOSTADDRESS,我是域
名则
define command{
        command_name    check_ganglia
        command_line    $USER1$/check_ganglia.py ­h $HOSTNAME$ ­m $ARG1$ ­w $ARG2$ ­c
$ARG3$
        }
                          
[root@node2 objects]# vim templates.cfg
define service {
use generic­service
name ganglia­service
hostgroup_name ganglia­servers
service_groups ganglia­metrics
register        0
}
[root@node2 objects]# vim hosts.cfg
define hostgroup {
hostgroup_name ganglia­servers
alias ganglia­servers
members node3.example.com
}
[root@node2 objects]# vim services.cfg
define servicegroup {
servicegroup_name       ganglia­metrics
alias   Ganglia Metrics
}
define service {
use     ganglia­service
service_description     根分区
check_command   check_ganglia!disk_free_percent_rootfs!20!10
}
define service {
use     ganglia­service
service_description     系统负载
check_command   check_ganglia!load_one!4!5
}
重启服务后校验语发是否错误:
[root@node2 etc]# /usr/local/nagios/bin/nagios ­v /usr/local/nagios/etc/nagios.cfg
校验成后重启服务:
# /etc/init.d/nagios restart
在浏览器输入 http://192.168.2.79/nagios/  点击 servers 会看到下面:
下面额外的添加一台客户端 node4 192.168.2.82,为其添加服务主机,使用 ganglia+nagios 监控:
scp ganglia­gmond­* libconfuse­2.6­3.el6.x86_64.rpm libganglia­3.6.0­1.x86_64.rpm
192.168.2.82:/root/
安装这些软件包:
rpm    ­ivh *
把客户端的配置文件也给 node4 拷贝一份。
# scp gmond.conf 192.168.2.82:/etc/ganglia/
# /etc/init.d/gmond restart
在 node2 也就是服务端的/var/lib/ganglia/rrds/linux007 的目录下回收到 node4 这台主机的信息.
192.168.2.82  node2.example.com  node3.example.com  __SummaryInfo__
切换到 node2 这台主机,也就是 ganglia 和 nagios 这台主机的目录下。
/usr/local/nagios/etc/objects
[root@node2 objects]# vim hosts.cfg 额外添加的主机只需以,隔开;添加主机名
define host{
        use                     linux­server
        host_name               node4.example.com
        alias                   node4
        address                 192.168.2.82
        }
define hostgroup {
hostgroup_name ganglia­servers
alias ganglia­servers
members node3.example.com,node4.example.com
}
[root@node2 objects]# vim services.cfg 额外添加的服务,所有的主机都可以收到。
define service {
use     ganglia­service
service_description     内存空间
check_command   check_ganglia!mem_free!100!50
}
重启服务:
# /etc/init.d/gmond restart
# /etc/init.d/gmetad restart
# /etc/init.d/nagios restart
在浏览器中输入:http://192.168.2.79/nagios/    得到下图:

转载于:https://www.cnblogs.com/linux-super-meng/p/3859221.html

ganglia+nagiosrhel6.5相关推荐

  1. ganglia 监控mysql_Ganglia监控MySQL

    1.下载MySQL监控脚本:gmetric-mysql.sh 具体下载目录在 /2014年资料/4月/25日/Ganglia监控MySQL 2.修改脚本中的msyql用户名和密码 3.该脚本54和58 ...

  2. ganglia访问时出现“You don‘t have permission to access /ganglia/ on this server“

    sudo chmod 777 /var/lib/ganglia 没有用 修改配置文件/etc/httpd/conf.d/ganglia.conf # # Ganglia monitoring syst ...

  3. 实战Nagios+Ganglia发送警告信息,短信,微信等

    实验环境: 物理主机    redhat7.0 内核版本 3.10.0-123.el7.x86_64     虚拟机    redhat6.5 内核版本 2.6.32-431.el6.x86_64   ...

  4. ganglia安装与配置

    ganglia安装与配置 实验: Redhat 5.4 + ganglia 3.2.0 1. 装备工作 1.1在所有的网站上查找最新的软件包 Ganglia 下载地址 http://sourcefor ...

  5. Red Hat Enterprise Linux Server release 6.3下ganglia监控系统的搭建

    ganglia 是分布式的监控系统,有两个Daemon, 分别是:客户端Ganglia Monitoring Daemon (gmond)和服务端Ganglia Meta Daemon (gmetad ...

  6. 用 Ganglia 监控基于 Biginsights 的 HBase 集群性能

    2019独角兽企业重金招聘Python工程师标准>>> BigInsights 和 HBase 简介 InfoSphere BigInsights 是 IBM 集成和开发的一个大数据 ...

  7. Ganglia 应用实践

    GAnglia是一个开源的软件,主要用于集群监控,它可以实现实时采集集群中每个节点的信息,采集的数据存放在组播中(官方推荐组播地址239.2.11.71),这样防止出现因有节点宕机影响到其他正常节点. ...

  8. Ganglia 调试技巧

    Gmond # 检查Gmond服务是否正在运行,发出如下命令:ps aux | grep gmond         输出:         root      8046  0.0  0.0 1032 ...

  9. Ganglia监控安装配置

    172.17.20.123 node1 gmetad.gmond.web 172.17.20.124 node2 gmond 1.服务器安装好epel源后,安装ganglia yum install ...

最新文章

  1. 你哪来这么多事(二):学生信息查找
  2. 卷积神经网络数学原理解析
  3. Vue 子父组件通信小问题
  4. php多表数据排除,thinkphp中多表查询中防止数据重复的sql语句(必看)
  5. blog搬家通知---------------------------------------
  6. C#垃圾回收学习总结
  7. POST的表单数据参数过多问题
  8. oracle linux 配置本地yum,oracle linux配置本地光盘yum源
  9. 计算机的就业指导论文,计算机就业指导期刊文章参考文献 计算机就业指导专著类参考文献有哪些...
  10. Effective objective-C 读书笔记 (第一部分)
  11. 升级php7_PHP 5.6 已结束安全支持,你升级到 PHP 7 系列了吗?
  12. filezilla 共享多个目录_Linux下搭建NFS文件共享服务器
  13. int f()与int f(void)的区别
  14. 哇,原来CPDA数据分析师证书的好处这么多
  15. 表格中复制粘贴到其他位置的数据会携带引号等不可见字符,该怎么处理?
  16. 处于停机等非正常状态_汽轮机运行最重要的启动与停机阶段,你得了解这些实际经验...
  17. openwrt strongswan IPSec IKEV2
  18. jQuery菜鸟学习实例
  19. 关于网络性能的一些指标
  20. uni-app的介绍

热门文章

  1. php 自动签到源码,我也来发个自动签到脚本,PHP版
  2. grasshop 犀牛5.0下载_新安|原创剑尊下载新版本 2020最新安卓版剑尊下载地址整理...
  3. 为什么读博士以及有什么意义
  4. 模型学习 - VAE(变分自编码)专题
  5. hdu5375(格雷码问题+简单DP)
  6. 2017年10月05日普及组 比萨
  7. HDU 6741 MUV LUV UNLIMITED (博弈论)
  8. ios开发循环网络请求_谈谈 iOS 网络层设计(SSJNetWork封装缓冲,log日志,自动取消网络请求)...
  9. unity可以用python编写吗_基于python的Cා代码生成器(用于服务并应用于unity),一个,c,为了,并且,Unity...
  10. 均值滤波器3*3模板_均值滤波器