分布式监控系统ganglia的详细配置

简介:

分布式监控系统ganglia
1.简介:
ganglia是一款为HPC(高性能计算)集群而设计的可扩展的分布式监控系统,它可以监控和显示集群中cpu,内存,磁盘利用率,i/o负载,网络流量等情况
优点:良好的扩展性,负载开销低,支持高并发。广泛支持各种操作系统和cpu架构,支持虚拟机

2.组成:
gmond:用于收集本节点的信息并发送到其他节点,同时也接收其他节点发送过来的数据,默认端口为8649
gmetad:运行在一个数据汇聚节点,定期检查每个节点的gmond进程,并从哪里获取数据,然后将数据 存储在本地rrd引擎中
webfrontend:基于web的图形化监控界面,和gmetad安装在一个节点上,读取数据,并通过rrdtool生成图表

3.工作原理
node:单台服务器
cluster:一个服务器集群
grid:表示一个网格,由多个集群组成

4.数据走向:
gmond:收集本地的监控数据,发送到其他机器上。他们之间用udp协议通信,文件格式为xdl,传输方式支持单播点对点和多播传送
gmetad:周期性的到gmond节点或gmetad节点上获取数据。用tcp协议通信,文件格式为xml
gmetad:将获取到的数据更新到rrds数据库中
通过web界面,从gmetad取数据,并且读取rrds数据库,生成图片显示出来

5.工作模式:单播和多播,默认采用多播
单播:监控节点发送本机数据到指定的一台或几台机器上,单播可以跨越不同的网段
多播:监控节点发送本机数据到同意网段内的所有机器上,同时也接收同一网段内所有机器发过来的监控数据。

环境:centos6.5

ganglia_gmetad 192.168.32.200  ganglia_gmond:192.168.32.202
6.ganglia的安装
yum安装
安装第三方源:epel
ganglia安装飞卫两个部分:gmetad(管理端)和gmond(客户端)
yum -y install ganglia-gmetad
yum -y install ganglia-gmond

源码安装
安装依赖
服务器的安装
yum -y install expat expat-devel pcre pcre-devel zlib cairo-devel libxml2-devel devel libxml2-develpango-devel pango libpng-devel libpng freetype
 freetype-devel libart-lgpl-devel apr-devel
 yum -y install pango-devel
 yum -y install perl-ExtUtils-MakeMaker
 安装apr,confuse,rrdtool
 tar zxvf apr-1.4.6.tar.gz
 cd apr-1.4.6
 ./configure
 make && make install
 
 tar zxvf confuse-2.7.tar.gz 
 cd confuse-2.7
 ./configure CFLAGS=-fPIC --disable-nls
 make && make install
 tar zxvf rrdtool-1.4.7.tar.gz 
  ./configure --disable-tcl --prefix=/usr/local/rrdtool
  cd rrdtool-1.4.7
  make && make install
  
  tar zxvf ganglia-3.4.0.tar.gz 
  cd ganglia-3.4.0
 ./configure --prefix=/usr/local/ganglia --with-static-modules --enable-gexec --enable-status --with-gmetad --with-python=/usr --with-librrd=/usr/local/rrdtool/ 
 --with-libexpat=/usr/ --with-libconfuse=/usr/local/ --with-libpcre=/usr/local/
 make && make install
 
 cp gmetad.conf /usr/local/ganglia/etc/
 cp gmetad.init /etc/init.d/gmetad
  cd /etc/init.d/
  vim gmetad 
  GMETAD=/usr/local/ganglia/sbin/gmetad
  chkconfig --add gmetad
  service gmetad start
  ip route add 239.2.11.71 dev eth1
  
[root@ganglia_gmetad gmetad]# /etc/init.d/gmetad status
gmetad 已死,但是 subsys 被锁
解决办法
[root@ganglia_gmetad gmetad]# mkdir -p /var/lib/ganglia/rrds
[root@ganglia_gmetad gmetad]# chown nobody:nobody /var/lib/ganglia/rrds/
[root@ganglia_gmetad gmetad]# /etc/init.d/gmetad start
Starting GANGLIA gmetad: [确定]
netstat -tunpl
tcp        0      0 0.0.0.0:8651                0.0.0.0:*                   LISTEN      43524/gmetad        
tcp        0      0 0.0.0.0:8652                0.0.0.0:*                   LISTEN      43524/gmetad

安装ganglia的web

yum -y  install  php-fpm
vim /etc/httpd/conf/httpd.conf
AddType application/x-httpd-php .php .phtml
DirectoryIndex index.html index.php
/etc/php-fpm  start
/etc/init.d/httpd  start

tar zxvf ganglia-web-3.5.7.tar.gz 
mv ganglia-web-3.5.7/conf_default.php /var/www/html/ganglia/
cd /var/www/html/ganglia/
cp conf_default.php conf.php  
mkdir /var/www/html/ganglia/dwoo/cache
mkdir /var/www/html/ganglia/dwoo/compiled 
chmod 777 /var/www/html/ganglia/dwoo/cache
chmod 777 /var/www/html/ganglia/dwoo/compiled
vim conf.php
$conf['gweb_confdir'] = "/var/www/html/ganglia";    #ganglia的web目录
$conf['gmetad_root'] = "/usr/local/ganglia";        #ganglia的安装目录
$conf['rrds'] = "/var/lib/ganglia/rrds";            #rrd数据库路径
$conf['dwoo_compiled_dir'] = "${conf['gweb_confdir']}/dwoo/compiled";   #需要777权限
$conf['dwoo_cache_dir'] = "${conf['gweb_confdir']}/dwoo/cache";         #需要777权限
$conf['rrdtool'] = "/usr/local/rrdtool/bin/rrdtool";                    #rrdtool路径
$conf['graphdir']= $conf['gweb_root'] . '/graph.d';                     #生成图形模板目录
$conf['ganglia_ip'] = "127.0.0.1";           #gmetad服务器的地址
$conf['ganglia_port'] = 8652;           #gmetad服务器的交互式提供监控数据端口发布


 浏览器访问http://192.168.32.200/ganglia/
 
 
客户端配置
安装依赖
yum -y install expat expat-devel pcre pcre-devel zlib cairo-devel libxml2-devel devel libxml2-develpango-devel pango libpng-devel libpng freetype
 freetype-devel libart-lgpl-devel apr-devel
 yum -y install pango-devel
 yum -y install perl-ExtUtils-MakeMaker
 安装apr,confuse,rrdtool
 tar zxvf apr-1.4.6.tar.gz
 cd apr-1.4.6
 ./configure
 make && make install
 
 tar zxvf confuse-2.7.tar.gz 
 cd confuse-2.7
 ./configure CFLAGS=-fPIC --disable-nls
 make && make install
 tar zxvf rrdtool-1.4.7.tar.gz 
  cd rrdtool-1.4.7
   ./configure --disable-tcl --prefix=/usr/local/rrdtool
  make && make install
  
  tar zxvf ganglia-3.4.0.tar.gz 
  cd ganglia-3.4.0
  ./configure --prefix=/usr/local/gnaglia --enable-gexec --enable-status --with-python=/usr/ \
> --with-libapr=/usr/local/apr/bin/apr-1-config --with-libconfuse=/usr/local/ --with-gmetad-libexpat=/usr/ --with-libpcre=/usr/

  cd gmond/
   ./gmond -t >/usr/local/gnaglia/etc/gmond.conf
   cp gmond.init /etc/init.d/gmond
   vim /etc/init.d/gmond 
   /usr/local/gnaglia/sbin/gmond
   chkconfig --add gmond
    /etc/init.d/gmond start
 ip route add 239.2.11.71 dev eth1
    netstat -tunpl          
tcp        0      0 0.0.0.0:8649                0.0.0.0:*                   LISTEN      54754/gmond            
udp        0      0 239.2.11.71:8649            0.0.0.0:*                               54754/gmond  

gmetad配置
vim /usr/local/ganglia/etc/gmetad.comf
data_source "cluster" 192.168.32.202   #后面可以跟主机名
其他的配置都是默认的
/etc/init.d/gmetad restart

gmond配置
cd /usr/local/gnaglia/etc
vim gmond.conf
cluster {
  name = "cluster"
  owner = "unspecified"
  latlong = "unspecified"
  url = "unspecified"
}
 mcast_join = 239.2.11.71
  port = 8650
  ttl = 1
  udp_recv_channel {
  mcast_join = 239.2.11.71
  port = 8650
  bind = 239.2.11.71
  retry_bind = true
}
tcp_accept_channel {
  port = 8650
}
/etc/init.d/gmond  restart

 


本文转自 shouhou2581314 51CTO博客,原文链接:http://blog.51cto.com/thedream/1610313,如需转载请自行联系原作者

相关文章
|
2月前
|
机器学习/深度学习 监控 算法
分布式光伏储能系统的优化配置方法(Matlab代码实现)
分布式光伏储能系统的优化配置方法(Matlab代码实现)
134 1
|
6月前
|
Kubernetes 大数据 调度
Airflow vs Argo Workflows:分布式任务调度系统的“华山论剑”
本文对比了Apache Airflow与Argo Workflows两大分布式任务调度系统。两者均支持复杂的DAG任务编排、社区支持及任务调度功能,且具备优秀的用户界面。Airflow以Python为核心语言,适合数据科学家使用,拥有丰富的Operator库和云服务集成能力;而Argo Workflows基于Kubernetes设计,支持YAML和Python双语定义工作流,具备轻量化、高性能并发调度的优势,并通过Kubernetes的RBAC机制实现多用户隔离。在大数据和AI场景中,Airflow擅长结合云厂商服务,Argo则更适配Kubernetes生态下的深度集成。
856 34
|
1月前
|
编解码 运维 算法
【分布式能源选址与定容】光伏、储能双层优化配置接入配电网研究(Matlab代码实现)
【分布式能源选址与定容】光伏、储能双层优化配置接入配电网研究(Matlab代码实现)
152 12
|
2月前
|
存储 算法 安全
“卧槽,系统又崩了!”——别慌,这也许是你看过最通俗易懂的分布式入门
本文深入解析分布式系统核心机制:数据分片与冗余副本实现扩展与高可用,租约、多数派及Gossip协议保障一致性与容错。探讨节点故障、网络延迟等挑战,揭示CFT/BFT容错原理,剖析规模与性能关系,为构建可靠分布式系统提供理论支撑。
217 2
|
2月前
|
机器学习/深度学习 算法 安全
新型电力系统下多分布式电源接入配电网承载力评估方法研究(Matlab代码实现)
新型电力系统下多分布式电源接入配电网承载力评估方法研究(Matlab代码实现)
121 3
|
7月前
|
安全 网络安全 数据库
YashanDB分布式节点间SSL连接配置
本文介绍YashanDB分布式节点间SSL连接配置方法,确保通信安全。需统一为整个集群配置SSL,使用相同根证书签名的服务器证书,否则可能导致连接失败或数据库无法启动。文章详细说明了使用OpenSSL生成根证书、服务器私钥、证书及DH文件的步骤,并指导如何将证书分发至各节点。最后,通过配置数据库参数(如`din_ssl_enable`)并重启集群完成设置。注意,证书过期需重新生成以保障安全性。
|
4月前
|
数据采集 缓存 NoSQL
分布式新闻数据采集系统的同步效率优化实战
本文介绍了一个针对高频新闻站点的分布式爬虫系统优化方案。通过引入异步任务机制、本地缓存池、Redis pipeline 批量写入及身份池策略,系统采集效率提升近两倍,数据同步延迟显著降低,实现了分钟级热点追踪能力,为实时舆情监控与分析提供了高效、稳定的数据支持。
162 1
分布式新闻数据采集系统的同步效率优化实战
|
数据库
如何在Seata框架中配置分布式事务的隔离级别?
总的来说,配置分布式事务的隔离级别是实现分布式事务管理的重要环节之一,需要认真对待和仔细调整,以满足业务的需求和性能要求。你还可以进一步深入研究和实践 Seata 框架的配置和使用,以更好地应对各种分布式事务场景的挑战。
400 63
|
9月前
|
SQL 数据建模 BI
【YashanDB 知识库】用 yasldr 配置 Bulkload 模式作单线程迁移 300G 的业务数据到分布式数据库,迁移任务频繁出错
问题描述 详细版本:YashanDB Server Enterprise Edition Release 23.2.4.100 x86_64 6db1237 影响范围: 离线数据迁移场景,影响业务数据入库。 外场将部分 NewCIS 的报表业务放到分布式数据库,验证 SQL 性能水平。 操作系统环境配置: 125G 内存 32C CPU 2T 的 HDD 磁盘 问题出现的步骤/操作: 1、部署崖山分布式数据库 1mm 1cn 3dn 单线启动 yasldr 数据迁移任务,设置 32 线程的 bulk load 模式 2、观察 yasldr.log 是否出现如下错