安装步骤:
- apt-get install libexpat1-dev libapr1-dev libconfuse-dev perl cgilib -y
OS:ubuntu11.04
php: 5.3.8
Ganglia:3.2.0
Ganglia:3.2.0
采用apt安装完成gmetad和gmond
- apt-get install ganglia-monitor -y
- apt-get install gmetad -y
安装nginx和php (nginx的安装这个地方就略过)
- apt-get install libxml2 libssl-dev libcurl4-openssl-dev libmcrypt-dev libmysqlclient-dev libjpeg-dev libpng-dev libz-dev libfreetype6-dev -y
PHP编译参数:
- ./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
可能有报错信息:
- WARNING: php_bin /usr/local/php/bin/php appears to have a suffix /bin/php, but config variable php_suffix does not match
- running: phpize
- Cannot find config.m4.
- 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
- ./configure --with-php-config=/usr/local/php/bin/php-config
- 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服务器,就需要修改配置,屏蔽掉这行,再加上一行
- host= 192.168.0.11 # 接受数据的server,可以配置多个host
- udp_recv_channel {
- #mcast_join = 239.2.11.71 #采用单播,这行也需要屏蔽
- port = 8649
- #bind = 239.2.11.71 #采用单播,这行也需要屏蔽
- }
如果采用多播的方式,那就不用修改配置文件,但是如果你有多个cluster的话,那分别在独立的cluster里面,就必须有server之间的区别。
mcast_join = 239.2.11.71 # 对于这个配置,不同的cluster需要保持在不同的网段里面,这样在前端页面才能把cluster分开显示,不然都会绑定到一个cluster里面
- cluster {
- name = "back_Service" # 不同的cluster需要保持不一样的名字
- owner = "back_Service"
- latlong = "unspecified"
- url = "unspecified"
- }