Ganglia 监控系统部署

1147阅读 0评论2012-02-07 Jejory
分类:

安装步骤:

  1. apt-get install libexpat1-dev libapr1-dev libconfuse-dev perl cgilib -y
OS:ubuntu11.04
php: 5.3.8
Ganglia:3.2.0

采用apt安装完成gmetad和gmond

  1. apt-get install ganglia-monitor -y
  2. apt-get install gmetad -y

安装nginx和php (nginx的安装这个地方就略过)

  1. apt-get install libxml2 libssl-dev libcurl4-openssl-dev libmcrypt-dev libmysqlclient-dev libjpeg-dev libpng-dev libz-dev libfreetype6-dev -y
PHP编译参数:
  1. ./configure --prefix=/usr/local/php --with-iconv-dir=/usr/local --with-zlib --with-libxml-dir --enable-xml --disable-debug --disable-rpath --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fpm --enable-mbstring --with-mcrypt --with-openssl --with-gd --with-mhash --disable-ipv6 --enable-gd-native-ttf --enable-sockets --with-xmlrpc --enable-zip --enable-fpm

安装json插件(主要是解决无法显示web页面图片的问题)

访问php安装目录下面ext文件,执行:/usr/local/php/bin/pecl install json
可能有报错信息:

  1. WARNING: php_bin /usr/local/php/bin/php appears to have a suffix /bin/php, but config variable php_suffix does not match
  2. running: phpize
  3. Cannot find config.m4.
  4. Make sure that you run '/usr/local/php/bin/phpize' in the top level source directory of the module

不管上面的报错,安装apt-get install autoconf

进入json文件夹

执行:/usr/local/php/bin/phpize 

  1. ./configure --with-php-config=/usr/local/php/bin/php-config
  2. make && make install

配置ganglia

ganglia架构采用分布式进行数据传输,传输方式有单播和多播的区别

默认ganglia配置是采用多播的架构

Server端:

gmetad.conf配置如下:
data_source "j2ee_lvs" 10.168.0.12 
配置文件里面主要是定义data_source,j2ee_lvs是一个cluster的名字,10.168.0.12是这个cluster中的一个node的IP,如果单用多播,可以不用写所有的server IP地址,因为多播是将数据分布在所有的节点上面,如果采用单播,就必须把统计数据的nodeIP写上去,可以写多个IP,如果有一个IP失效,server可以从其他IP获取到数据
gridname "Haatalk" 
定义多cluster的名字,也就是ganglia server的名字,对高级的名字。
setuid_username "ganglia" 
这个是运行gmetad的用户名,这样需要保证/var/lib/ganglia/下面的文件属性是属于ganglia的,这样才能将统计的数据写入进去和读取出来,

client端:

gmond.conf配置文件里面有如下配置:
mcast_join = 239.2.11.71  # 表示采用多播的方式进行数据通信
如果你要采用单播的方式,也就是说你数据的发送是制定到某一台或者是多台server服务器,就需要修改配置,屏蔽掉这行,再加上一行

  1. host= 192.168.0.11 # 接受数据的server,可以配置多个host
  2. udp_recv_channel {
  3. #mcast_join = 239.2.11.71 #采用单播,这行也需要屏蔽
  4. port = 8649
  5. #bind = 239.2.11.71 #采用单播,这行也需要屏蔽
  6. }

如果采用多播的方式,那就不用修改配置文件,但是如果你有多个cluster的话,那分别在独立的cluster里面,就必须有server之间的区别。

mcast_join = 239.2.11.71  # 对于这个配置,不同的cluster需要保持在不同的网段里面,这样在前端页面才能把cluster分开显示,不然都会绑定到一个cluster里面

  1. cluster {
  2. name = "back_Service" # 不同的cluster需要保持不一样的名字
  3. owner = "back_Service"
  4. latlong = "unspecified"
  5. url = "unspecified"
  6. }

上一篇:close_trace命令释放误删trace文件
下一篇:Linux chkconfig命令