1 / 26

Da 话 xi 游 之 HPC

Da 话 xi 游 之 HPC. ganglia 监控利器. 分布式文件系统监控技术 ———ganglia. INTRODUCTION. 单一主机之监控. 分布式监控系统. Ganglia. INTRODUCTION. Why monitoring?. 系统状态之监控 解决系统之问题 系统升级时之依据 ……. How monitoring?. 单一主机之监控 分布式监控系统. 单一主机之监控. 要监控那些信息?. 系统. CPU Loading ? 记忆体使用量 硬盘空间 网络 …….

iris-campos
Download Presentation

Da 话 xi 游 之 HPC

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Da 话 xi 游 之 HPC ganglia 监控利器

  2. 分布式文件系统监控技术 ———ganglia

  3. INTRODUCTION • 单一主机之监控 • 分布式监控系统 • Ganglia

  4. INTRODUCTION • Why monitoring? • 系统状态之监控 • 解决系统之问题 • 系统升级时之依据 • …… • How monitoring? • 单一主机之监控 • 分布式监控系统

  5. 单一主机之监控 • 要监控那些信息? • 系统 • CPU Loading? • 记忆体使用量 • 硬盘空间 • 网络 • …… • 硬件状况 • 电压 • 温度 • ……

  6. 单一主机之监控 • 咨询的来源? • /proc pseudo file-system • 系统核心(kernel)资料 • 可供kernel组能调校的参数 • Basic OS commands • ps, free, top, df, dh, …… • Log files • /var/log ……

  7. 单一主机之监控 • CPU资讯? • /proc/cpuinfo • /proc/loadavg • 系统平均负载 • uptime

  8. 单一主机之监控 • 记忆体资讯? • /proc/meminfo • free • 硬盘使用状态 • df -h • 磁盘空间资讯 • du • 目录

  9. 单一主机之监控 • 硬件监控 • LM sensor • sensors-detect • sensor s • IPMI • OpenIPMI • OpenIPMI-tools

  10. 单一主机之监控 • 如可处理资讯? • 自行编写Shell Scripts • 使用现有的工具 • MRTG • RRDTool

  11. 分布式监控系统 • 构成元件 • 在集群节点上的守护进程 • 能提供从节点收集集群状态信息的服务 • 有基于GUI的前端来提供系统动态初始化 • 最有效的集群文件系统是Ganglia、Supermon和Hawkeye.

  12. Ganglia Ganglia一种可扩展的分布式监控系统,用来对Grid和Cluster上面的节点进行监控,利用它提供的web界面可以看到每个节点状态,并且可以输出图形化的表示。 • Ganglia Monitoring Daemon(gmond) • Ganglia Meta Daemon(gmetad) • Ganglia PHP Web Frontend

  13. 用来对Grid和Cluster上面的节点进行监控 • Multicast-based Listen/An6nounce protocol • Depends on open standards • XML • XDR compact portable data transport • RRDTool - Round Robin Database • APR – Apache Portable Runtime • Apache HTTPD Server • PHP based web interface • http://ganglia.sourceforge.net or http://www.ganglia.info

  14. Ganglia Architecture

  15. Ganglia Monitoring Daemon(gmond) gmond运行于所有需要被监视的节点上,负责收集本节点的CPU负载,内存用量,磁盘空间等系统信息。- 这些信息被称作"metric"- Linux的系统信息收集功能代码在这里:ganglia/srclib/libmetrics/linux/gmond监听8649端口 (电话键盘上UNIX所对应的数字),响应来自gmetad的请求,发送XML格式的系统信息。- (try it) telnet localhost 8649 (将能看到XML格式的系统信息输出)现在看来,gmond和snmp似乎没什么不同。gmond同时还进行多播,收集集群其他节点的状态,同时发布自己的状态信息。- 多播地址是 239.2.11.71:8649gmond给gmetad发送的XML系统信息中包括了其所收集的其他节点状态信息。- 这样集群中一个节点死掉也不影响gmetad从其他节点获得信息。

  16. Ganglia Meta Daemon(gmetad) 因为gmond无法永久存储状态信息,而且只能收集一个集群的信息,所以需要一个gmetad。gmetad监听8651和8652端口,向管理客户端(比如web)提供系统信息。8651和8652提供的信息差不多,只是一个是交互式的,一个是直接输出所有的XML格式系统信息。- (try it) telnet localhost 8651- (try it) telnet localhost 8652 gmetad访问gmond所监听的8649端口,获得集群系统信息。 gmetad可以指定多个数据源,可以是gmond或其他gmetad。- 正因为如此,gmetad才可以获得更高的可用性。- 集群中的一个数据源死了,还可以访问其他数据源。 gmetad本身并不产生新的数据,只是对收集来的数据进行加工,然后提供给管理客户端。gmetad把数据存储成RRD格式的数据库文件,供管理客户端使用。- 数据库文件在这里:/var/lib/ganglia/rrds/

  17. ganglia安装 Ganglia依赖以下包: zlib-1.2.2-4libpng-1.2.1-6freetype-2-2.1.7-2libart_lgpl-2.3.16-1perl

  18. 1 server端的安装 A. 安装ganglia的依赖包: apr-1.2.8.tar.gz; apr-util-1.2.8.tar.gz; confuse-2.6.tar.gz; expat-2.0.1.tar.gz 安装gmetad之前需要先安装RRDTool,默认的安装路径:/usr/local/rrdtool-<VERSION> tar zxvf rrdtool-*.tar.gz cd rrdtool-*./configure --prefix=/usr  #使用/usr会减少很多麻烦,头文件会放到/usr/include,库文件放到/usr/libmake; make install

  19. B. gmetad的安装gmetad不是默认安装的,安装时需要加参数 --with-gmetad 。即rrdtool库及其头文件必须存在,默认的路径是/usr/include/rrd.h和 /usr/lib/librrd.a,如果在安装rrdtool时安在了不同的路径下,这里需要指明它们的路径。 tar –zxvf ganglia-3.0.3.tar.gz cd ganglia-*./configure --prefix=/usr/local/ganglia CFLAGS="-I/rrd/header/path" \ CPPFLAGS="- I/rrd/header/path" LDFLAGS="-L/rrd/library/path" --with-gmetad (./configure CFLAGS="-I/usr/local/rrdtool-1.0.50/include" CPPFLAGS="-I/usr/local/rrdtool-1.0.50/include" LDFLAGS="-L/usr/local/rrdtool-1.0.50/lib" --with-gmetad --enable-gexec)make; make install

  20. 将gmetad.init文件拷贝到 /etc/init.d/: cd ganglia-3.0.3/gmetadcp gmetad.init /etc/init.d/gmetad将配置文件拷贝到/etc目录下:cp gmetad.conf /etc/gmetad.confchkconfig gmetad onchkconfig --list gmetadGMETAD 0:off 1:off 2:on 3:on 4:on 5:on 6:off  创建rrd数据存储的文件夹, 修改属性拥有者为: "nobody": mkdir /var/lib/ganglia/rrds chown nobody:nobody /var/lib/ganglia/rrds 启动gmetad:service gmetad startStarting GANGLIA gmetad: [ OK ]验证gmetad正常工作:telnet localhost 8651就可以得到监控的各个主机的状态。

  21. 修改gmetad.conf的配置# data_source "another source" 1.3.4.7:8655 1.3.4.8data_source "SERVER" 10 node1 node2data_source是最重要的参量,在GMOND的Cluser name配置必须与data_source的相同,这个参量被设置为群的名字,被监测以便能监测那群状态。如果有二个或更多监测对象,当有一对象不能被监测,将读取data_source 配置的下一个对象 data_source "taskcenter" 1.2.3.4 #所要监控的客户端 可以写多个 setuid_username "root" #可改为其他安全用户 # default: "/var/lib/ganglia/rrds" #定义该客户端的数据保存的路径 # rrd_rootdir "/some/other/place" rrd_rootdir "/var/lib/ganglia/rrds" 

  22. 2 client端gmond的安装和配置安装ganglia:tar zxvf ganglia-3.0.3.tar.gzcd ganglia-3.0.3./configure --prefix=/usr/local/gangliamake; make installcd ganglia-3.0.3/gmondgmond –t > /etc/gmond.confcp gmond.init /etc/init.d/gmondchkconfig  gmond onchkconfig --list gmondgmond 0:off 1:off 2:on 3:on 4:on 5:on 6:offservice gmond startStarting GANGLIA gmond: [ OK ]

  23. 验证gmond正常工作:telnet localhost 8649就可以获取机群内运行gmond的主机的信息配置gmond.conf:/etc/gmond.conf:globals { setuid = no user = nobody cleanup_threshold = 300 /*secs */ } 配置完成后重新启动gmond.

  24. 3)安装web前端 cp -a ganglia-3.0.3/web /var/www/html/ganglia 确定web server支持PHP4 对apache来说,php模块mod_php的状态应该是enabled,貌似默认就是的^_^ 配制文件是/var/www/html/ganglia/conf.php

  25. Thanks! Rocks cluter QQ群:130653201

More Related