热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:ganglia分布式监控部署

本文由编程笔记#小编为大家整理,主要介绍了ganglia分布式监控部署相关的知识,希望对你有一定的参考价值。一.介绍    
本文由编程笔记#小编为大家整理,主要介绍了ganglia分布式监控部署相关的知识,希望对你有一定的参考价值。


一.介绍
        Ganglia是由UC Berkeley发起的一个开源监控项目,设计用于监控数以千几的节点。每台服务器都运行一个收集和发送监控数据名为gmond的守护进程。它将从操作系统和指定主机中收集。接收所有监控数据的主机可以显示这些数据并且可以将这些数据的精简表单传递到层次结构中。正因为有这种层次架构模式,使ganglia可以实现良好的扩展。Gmond带来的系统负载非常小,这使得它成为集群中各个服务器上运行一段代码而不会影响用户性能。

        Ganglia主要用来监控系统性能的软件,通过曲线很容易见到每个节点的工作状态,对合理调整,分配系统资源,提高系统整体性能起到重要作用,支持浏览器方式访问,但不能监控节点硬件技术指标。Ganglia是分布式的监控系统。

Ganglia的组件:
    Ganglia包括如下程序,它们之间通过xml格式传递监控数据。
        服务端ganglia meta daemon(gmetad):负责收集各个cluster的数据,并更新到rrd数据库中
        客户端ganglia monitoring daemon(gmond):收集本机的监控数据,发送到其他服务器上,收集其他服务器的监控数据,供gmetad读取。
基于web的动态访问方式ganglia PHP web Frontend:一个基于web的监控界面,需要和gmetad安装在同一个节点上,从gmetad取数据,并且读取rrd数据库,生成图片显示。

Ganglia工作模式:
        Ganglia收集数据可以工作在单播或多播模式下,默认为多播模式
单播:发送自己收集到的监控数据到特定的一台或几台服务器上,可以跨网段。
多播:发送自己收集到的监控数据到同一网段所有的服务器上,同时收集同一网段的所有服务器发送过来的监控数据。因为是以广播包的形式发送,因此需要在同一网段内,但同一网段内,又可以定义不同的发送通道。

技术分享图片

二。ganglia的安装和配置:

    1.直接使用epelyum源进行安装即可,或者编译安装

        1.1 安装所需软件包:



yum install  -y rrdtool rrdtool-devel apr-devel expat-devel dejavu-lgc-sans-mono-fonts dejavu-sans-mono-fonts glibc glibc-common apr apr-devel apr-util expat expat-devel  pcre pcre-devel  zlib zlib-devel

 


        1.2 安装confuse   



wget http://ftp.twaren.net/Unix/NonGNU//confuse/confuse-2.7.tar.gz
tar
-zxf confuse-2.7.tar.gz
cd confuse
-2.7
.
/configure CFLAGS=-fPIC --disable-nls
make
&& make install

 


        1.3 设置python 模块的环境变量



echo "/usr/local/lib" /etc/ld.so.conf
ldconfig
ldconfig
-v |grep "python"

 


 

        1.4 安装ganglia 服务端 gmetad    


 

wget http://jaist.dl.sourceforge.net/project/ganglia/ganglia%20monitoring%20core/3.7.1/ganglia-3.7.1.tar.gz
tar zxf ganglia
-3.7.1.tar.gz
cd ganglia
-3.7.1
.
/configure --prefix=/usr/local/ganglia --with-gmetad --enable-gexec
make
make install

 

        1.5 安装ganglia的agent端



wget http://jaist.dl.sourceforge.net/project/ganglia/ganglia%20monitoring%20core/3.7.1/ganglia-3.7.1.tar.gz
tar zxf ganglia
-3.7.1.tar.gz
cd ganglia
-3.7.1
.
/configure --prefix=/usr/local/ganglia  --enable-gexec
make
make install

 


 

        1.6 安装ganglia-web 前端展示

2. 配置ganglia gmetad端

        2.1 复制服务控制脚本

            cp -fr ganglia/gmetad/gmetad.init /etc/init.d/gmetad

        并修改脚本下面内容

            GMETAD=/usr/local/ganglia/sbin/gmetad

        2.2 修改gmetad的配置文件更改下面参数:(参数的具体含义请参考gmetad.conf配置文件解释)                



data_source "my cluster" 10.10.211.6
setuid_username
"nobody"
xml_port
8651
interactive_port
8652
rrd_rootdir “
/var/lib/ganglia/rrds”
case_sensitive_hostnames 0

 


            创建rrd_rootdir文件,并授权nobody



mkdir /var/lib/ganglia/rrds
chown
-R nobody.nobody /var/lib/ganglia/rrds

 


        2.3 启动gmetad 服务,检查服务端口和进程        



[[email protected] ~]#/etc/init.d/gmetad start
Starting GANGLIA gmetad:                                   [确定]
[[email protected]
~]#netstat -lnpt | grep gmetad
tcp        0      0 0.0.0.0:8651                0.0.0.0:*                   LISTEN      4529/gmetad
tcp        0      0
0.0.0.0:8652                0.0.0.0:*                   LISTEN      4529/gmetad
[[email protected]
~]#ps -ef | grep gmetad
nobody    4529     1  0 23:38 ?        00:00:00 /usr/local/ganglia/sbin/gmetad
root      
4545 20744  0 23:38 pts/3    00:00:00 grep gmetad

 


3.配置ganglia gmond 端



globals {
 daemonize
= yes        #以后台的方式运行
 setuid = yes
 user
= nobody          #运行gmond的用户
 debug_level = 0        #调试级别
 max_udp_msg_len = 1472
 mute
= no            #哑巴,本节点将不会再广播任何自己收集到的数据到网络上
 deaf = no             #聋子,本节点将不再接收任何其他节点广播的数据包
 allow_extra_data = yes
 host_dmax
= 0 /*secs */
 cleanup_threshold
= 300 /*secs */
 gexec
= no             #是否使用gexec
 send_metadata_interval = 0
}


cluster {
 name
= "Cluster1"     #本节点属于哪个cluster
 owner = "junfeng"     #谁是该节点的所有者
 latlOng= "unspecified"   #在地球上的坐标,经度、纬度?
 url = "unspecified"
}

host {
 location
= "unspecified"  
}

udp_send_channel {      
#udp包的发送通道
 mcast_join = 239.2.11.71   #多播,工作在239.2.11.71通道下。如果使用单播模式,则要写host = host1,单播模式下也可以配置多个udp_send_channel
 port = 8649            #监听端口
 ttl = 1
}

udp_recv_channel {          
#接收udp包配置
 mcast_join = 239.2.11.71   #同样工作在239.2.11.71通道下
 port = 8649                #监听端口
 bind = 239.2.11.71         #绑定
}


tcp_accept_channel {
 port
= 8649               #通过tcp协议监听的端口,远端可以通过链接8649端口得到监控数据
}

 


4.配置gmond web

  gmond-web 是用php写的,所以需要web+php进行解析

    4.1 下载软件包

             wget http://heanet.dl.sourceforge.net/project/ganglia/ganglia-web/3.5.10/ganglia-web-3.5.10.tar.gz

    4.2 配置

            


 

 

 

 




来自为知笔记(Wiz)




推荐阅读
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • Centos下安装memcached+memcached教程
    本文介绍了在Centos下安装memcached和使用memcached的教程,详细解释了memcached的工作原理,包括缓存数据和对象、减少数据库读取次数、提高网站速度等。同时,还对memcached的快速和高效率进行了解释,与传统的文件型数据库相比,memcached作为一个内存型数据库,具有更高的读取速度。 ... [详细]
  • 负载均衡_Nginx反向代理动静分离负载均衡及rewrite隐藏路径详解(Nginx Apache MySQL Redis)–第二部分
    nginx反向代理、动静分离、负载均衡及rewrite隐藏路径详解 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
  • 本文介绍了操作系统的定义和功能,包括操作系统的本质、用户界面以及系统调用的分类。同时还介绍了进程和线程的区别,包括进程和线程的定义和作用。 ... [详细]
  • 【重识云原生】第四章云网络4.8.3.2节——Open vSwitch工作原理详解
    2OpenvSwitch架构2.1OVS整体架构ovs-vswitchd:守护程序,实现交换功能,和Linux内核兼容模块一起,实现基于流的交换flow-basedswitchin ... [详细]
  • 面试经验分享:华为面试四轮电话面试、一轮笔试、一轮主管视频面试、一轮hr视频面试
    最近有朋友去华为面试,面试经历包括四轮电话面试、一轮笔试、一轮主管视频面试、一轮hr视频面试。80%的人都在第一轮电话面试中失败,因为缺乏基础知识。面试问题涉及 ... [详细]
  • 本文详细介绍了在Linux虚拟化部署中进行VLAN配置的方法。首先要确认Linux系统内核是否已经支持VLAN功能,然后配置物理网卡、子网卡和虚拟VLAN网卡的关系。接着介绍了在Linux配置VLAN Trunk的步骤,包括将物理网卡添加到VLAN、检查添加的VLAN虚拟网卡信息以及重启网络服务等。最后,通过验证连通性来确认配置是否成功。 ... [详细]
author-avatar
小樣兒靠邊詀_853
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有