我是靠谱客的博主 缓慢心锁,最近开发中收集的这篇文章主要介绍【昊鼎王五】如何在centos7上安装ganglia?引子:1.环境准备2.编译安装3.结果检查,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

【昊鼎王五】如何在centos7上安装ganglia?

引子:

本篇是接着上一篇《【昊鼎王五】如何在centos7上安装ganglia之写在前面的话?》的专题的继续。当前已经知道了ganglia的框架结构,接下来就是安装ganglia服务端。咱们说干就干,直奔主题吧。

1.环境准备

1.1防火墙设置

具体请见《昊鼎王五:如何一分钟查看并关闭CentOS7的防火墙?》

1.2卸载系统默认安装的Apache软件包

[root@localhost ~]# rpm -qa httpd*
[root@localhost ~]# rpm -e --nodeps 包名

有多个httpd*,用脚本删除for name in `rpm -qa httpd*`;do rpm -e --nodeps $name;done

1.3时区设置

[root@localhost ~]timedatectl
[root@localhost ~]timedatectl list-timezones  #该命令列出了所有的时区
[root@localhost ~]timedatectl set-timezone Asia/Shanghai #该命令把时区设置为上海

1.4时间同步

[root@localhost ~]# ntpdate time.nist.gov #如果没有yum安装此命令
[root@localhost ~]# /usr/sbin/ntpdate time.nist.gov
[root@localhost ~]# crontab -e
*/10**** /usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1

1.5安装依赖包

[root@localhost ~]# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
[root@localhost ~]# yum install wget lrzsz vim lynx lsof netstat-tools unzip -y

2.编译安装

2.1安装ganglia服务端

2.1.1安装gmetad

命令如下:

[root@localhost ~]# yum -y install apr-devel apr-util check-devel cairo-devel pango-devel libxml2-devel rpm-build glib2-devel dbus-devel freetype-devel fontconfig-devel gcc gcc-c++ expat-devel python-devel libXrender-devel
[root@localhost ~]# yum install -y libart_lgpl-devel pcre-devel libtool
[root@localhost ~]# yum install  -y rrdtool rrdtool-devel
[root@localhost ~]# mkdir /tools
[root@localhost ~]# cd  /tools/
[root@localhost ~]# wget http://www.mirrorservice.org/sites/download.savannah.gnu.org/releases/confuse/confuse-2.7.tar.gz
[root@localhost ~]# tar zxvf confuse-2.7.tar.gz
[root@localhost ~]# cd confuse-2.7
[root@localhost ~]# ./configure  --prefix=/usr/local/ganglia-tools/confuse CFLAGS=-fPIC --disable-nls --libdir=/usr/local/ganglia-tools/confuse/lib64
[root@localhost ~]# make && make install
[root@localhost ~]# cd /tools/
[root@localhost ~]# wget https://sourceforge.net/projects/ganglia/files/ganglia%20monitoring%20core/3.7.2/ganglia-3.7.2.tar.gz
[root@localhost ~]# tar zxf ganglia-3.7.2.tar.gz
[root@localhost ~]# cd ganglia-3.7.2
[root@localhost ~]# ./configure --prefix=/usr/local/ganglia --enable-gexec --enable-status --with-gmetad --with-libconfuse=/usr/local/ganglia-tools/confuse  #enable-gexec是gmond节点
[root@localhost ~]# make && make install
[root@localhost ~]# cp gmetad/gmetad.init /etc/init.d/gmetad
[root@localhost ~]# ln -s /usr/local/ganglia/sbin/gmetad /usr/sbin/gmetad

2.1.2安装gweb

命令如下:

[root@localhost x86_64]# yum install httpd httpd-devel php -y
[root@localhost x86_64]# yum -y install rsync
[root@localhost x86_64]# cd /tools/
[root@localhost tools]# wget https://sourceforge.net/projects/ganglia/files/ganglia-web/3.7.2/ganglia-web-3.7.2.tar.gz
[root@localhost tools]# tar zxvf /tools/ganglia-web-3.7.2.tar.gz -C /var/www/html/
[root@localhost tools]# cd /var/www/html/
[root@localhost html]# mv ganglia-web-3.7.2 ganglia
[root@localhost html]# cd /var/www/html/ganglia/
[root@localhost ganglia]# useradd -M -s /sbin/nologin www-data
[root@localhost ganglia]# make install  #执行这步,会创建相关的目录
[root@localhost ganglia]# chown apache:apache -R /var/lib/ganglia-web/

2.1.3修改配置

2.1.3.1修改启动脚本

[root@localhost ganglia]# vi /etc/init.d/gmetad
GMETAD=/usr/sbin/gmetad  #这句话可以自行更改gmetad的命令,当然也能向我们前面做了软连接
start() {
    [ -f /usr/local/ganglia/etc/gmetad.conf  ] || exit 6  #这里将配置文件改成现在的位置,不然启动没反应

2.1.3.2创建rrds目录

[root@localhost ganglia]# mkdir /var/lib/ganglia/rrds -p
[root@localhost ganglia]# chown -R nobody:nobody  /var/lib/ganglia/rrds

2.1.3.3修改gmetad配置文件

因为我们这里就先让它当一个单纯的gweb节点和gmetad节点,不给其启动gmond服务,假设它没有再哪个多播集群里。

[root@localhost ganglia]# vi /usr/local/ganglia/etc/gmetad.conf
data_source "my cluster" 192.168.146.134:8649   #这也是我们以后经常修改的地方,""里面是组名称  后面是去哪个IP的那个端口去采集gmond数据

2.1.3.4启动服务

[root@localhost ganglia]# mkdir -p /usr/local/ganglia/var/run
[root@localhost ganglia]# /etc/init.d/gmetad restart
[root@localhost ganglia]# systemctl restart httpd
[root@localhost tools]# netstat -luntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:8651            0.0.0.0:*               LISTEN      16547/gmetad        
tcp        0      0 0.0.0.0:8652            0.0.0.0:*               LISTEN      16547/gmetad        
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1433/sshd           
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1741/master         
tcp6       0      0 :::80                   :::*                    LISTEN      16344/httpd         
tcp6       0      0 :::22                   :::*                    LISTEN      1433/sshd           
tcp6       0      0 ::1:25                  :::*                    LISTEN      1741/master         
udp        0      0 0.0.0.0:47154           0.0.0.0:*                           1242/dhclient       
udp        0      0 0.0.0.0:68              0.0.0.0:*                           1242/dhclient       
udp6       0      0 :::2514                 :::*                                1242/dhclient

2.2安装ganglia客户端

被控端命令如下:

[root@localhost ~]# yum -y install apr-devel apr-util check-devel cairo-devel pango-devel libxml2-devel rpm-build glib2-devel dbus-devel freetype-devel fontconfig-devel gcc gcc-c++ expat-devel python-devel libXrender-devel
[root@localhost ~]# yum install -y libart_lgpl-devel pcre-devel libtool
[root@localhost ~]# mkdir /tools
[root@localhost ~]# cd  /tools/
[root@localhost tools]# wget http://www.mirrorservice.org/sites/download.savannah.gnu.org/releases/confuse/confuse-2.7.tar.gz
[root@localhost tools]# tar zxvf confuse-2.7.tar.gz
[root@localhost tools]# cd confuse-2.7
[root@localhost confuse-2.7]# ./configure  --prefix=/usr/local/ganglia-tools/confuse CFLAGS=-fPIC --disable-nls --libdir=/usr/local/ganglia-tools/confuse/lib64
[root@localhost confuse-2.7]# make && make install
[root@localhost confuse-2.7]# cd /tools/
[root@localhost tools]# wget https://sourceforge.net/projects/ganglia/files/ganglia%20monitoring%20core/3.7.2/ganglia-3.7.2.tar.gz
[root@localhost tools]# tar zxvf ganglia-3.7.2.tar.gz
[root@localhost tools]# cd ganglia-3.7.2
[root@localhost ganglia-3.7.2]# ./configure --prefix=/usr/local/ganglia --enable-gexec --enable-status  --with-libconfuse=/usr/local/ganglia-tools/confuse  #enable-gexec是gmond节点
[root@localhost ganglia-3.7.2]# make && make install
[root@localhost ganglia-3.7.2]# /usr/local/ganglia/sbin/gmond -t >/usr/local/ganglia/etc/gmond.conf  #生成gmond配置文件
[root@localhost ganglia-3.7.2]# cp /tools/ganglia-3.7.2/gmond/gmond.init /etc/init.d/gmond
[root@localhost ganglia-3.7.2]# mkdir -p /usr/local/ganglia/var/run
[root@localhost ganglia-3.7.2]# /etc/init.d/gmond restart
[root@localhost ganglia-3.7.2]# netstat -luntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      1056/php-fpm: maste
tcp        0      0 0.0.0.0:8649            0.0.0.0:*               LISTEN      15476/gmond         
tcp        0      0 0.0.0.0:2222            0.0.0.0:*               LISTEN      1061/sshd           
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1061/sshd           
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1683/master         
tcp6       0      0 :::50088                :::*                    LISTEN      1375/httpd          
tcp6       0      0 :::3306                 :::*                    LISTEN      1410/mysqld         
tcp6       0      0 :::2222                 :::*                    LISTEN      1061/sshd           
tcp6       0      0 :::22                   :::*                    LISTEN      1061/sshd           
tcp6       0      0 ::1:25                  :::*                    LISTEN      1683/master         
tcp6       0      0 :::50080                :::*                    LISTEN      1375/httpd          
udp        0      0 0.0.0.0:50614           0.0.0.0:*                           855/dhclient        
udp        0      0 239.2.11.71:8649        0.0.0.0:*                           15476/gmond         
udp        0      0 0.0.0.0:68              0.0.0.0:*                           855/dhclient        
udp6       0      0 :::6727                 :::*                                855/dhclient

3.结果检查

3.1web访问

http://192.168.127.133/ganglia/
在这里插入图片描述

3.2文件检查

3.2.1gmond节点的目录结构

[root@localhost ganglia]# tree -L 3
.
├── bin
│   ├── ganglia-config
│   ├── gmetric
│   └── gstat
├── etc
│   ├── conf.d
│   │   └── modpython.conf
│   └── gmetad.conf
├── include
│   ├── ganglia_gexec.h
│   ├── ganglia.h
│   ├── gm_file.h
│   ├── gm_metric.h
│   ├── gm_mmn.h
│   ├── gm_msg.h
│   ├── gm_protocol.h
│   └── gm_value.h
├── lib64
│   ├── ganglia
│   │   ├── modcpu.so
│   │   ├── moddisk.so
│   │   ├── modgstatus.so
│   │   ├── modload.so
│   │   ├── modmem.so
│   │   ├── modmulticpu.so
│   │   ├── modnet.so
│   │   ├── modproc.so
│   │   ├── modpython.so
│   │   └── modsys.so
│   ├── libganglia.a
│   ├── libganglia.la
│   ├── libganglia.so -> libganglia.so.0.0.0
│   ├── libganglia.so.0 -> libganglia.so.0.0.0
│   └── libganglia.so.0.0.0
├── sbin
│   ├── gmetad
│   └── gmond
├── share
│   └── man
│       ├── man1
│       └── man5
└── var
    └── run
        └── gmetad.pid
13 directories, 31 files

3.2.2gmond配置文件详解

[root@localhost ganglia]# /usr/local/ganglia/sbin/gmond -t  #查看gmond的默认配置
配置文件由{}括起来的几个section组成。section名和属性不区分大小写。
globals {  #section:globals. globals在配置中只出现一次。
  daemonize = yes  #当值为true(yes|true|on)时,gmond将在后台分散运行。设置为false由守护进程管理器运行gmond。
  setuid = yes          #这是gmond将user属性指定的特定用户的UID作为有效UID;值为false时,gmond将不会改变其有效用户。
  user = nobody     #用户名
  debug_level = 0  #值为0,gmond正常运行,大于0,gmond前台运行并输出调试信息。debug_level值越大,输出越详细。
  max_udp_msg_len = 1472  #gmond发送包所能包含的最大长度。一般不改变此值。
  mute = no    #设置为no,gmond就是可以发送数据。设置为yes,就是单收,但是仍然会相应诸如gmetad的外部轮询器。
  deaf = no    #当值为true时,gmond将不能接收数据。设置no就是可以接收数据。
  allow_extra_data = yes  #当值为false时,gmond将不会发送XML的EXTRA_ELEMENT和EXTRA_DATA部分。这是是发送。
  host_dmax = 86400   #设置为0,gmond不会从队列中删除不在报告的主机。这里的意思是在86400秒内,接收不到某台主机的数据,gmond将删除。
  host_tmax = 20    #当gmond等到20秒*4的时间内,接收不到某台主机的任何消息,gmond就认为该主机已经崩溃。
  cleanup_threshold = 300   #gmond清除过期数据的最小时间间隔为300秒。
  gexec = no   #当值为true时,gmond将允许主机运行gexec任务。这种方式需要允许gexecd并安装合适的验证码。
  send_metadata_interval = 0   #这是设置gmond两次发送元数据包的时间间隔。单位是秒。默认设置为0,表示gmond只有在启动和收集到其他远程允许的gmond节点请求时才会发送元数据包。但是如果单播环境下必须设置重发间隔。
# override_hostname = "mywebserver.domain.com"” #这里是gweb界面要显示的名称,可以是IP或者字符串,默认是注释状态。默认情况下,gmond在显示主机名时将使用反向DNS解析。
}

好了,聪明如你,知道了如何在centos7上安装ganglia,是不是很欢喜 _

还有其他问题的可以在评论区留言或者扫码加博主获取资源或者提问。
在这里插入图片描述

最后

以上就是缓慢心锁为你收集整理的【昊鼎王五】如何在centos7上安装ganglia?引子:1.环境准备2.编译安装3.结果检查的全部内容,希望文章能够帮你解决【昊鼎王五】如何在centos7上安装ganglia?引子:1.环境准备2.编译安装3.结果检查所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(31)

评论列表共有 0 条评论

立即
投稿
返回
顶部