我是靠谱客的博主 有魅力衬衫,这篇文章主要介绍Centos7部署ganglia监控,现在分享给大家,希望可以做个参考。

简介

Ganglia是UC Berkeley发起的一个开源集群监视项目,设计用于测量数以千计的节点,Ganglia的核心包含gmond、gmetad以及一个Web前端。主要是用来监控系统性能,如:cpu 、mem、硬盘利用率, I/O负载、网络流量情况等,通过曲线很容易见到每个节点的工作状态,对合理调整、分配系统资源,提高系统整体性能起到重要作用
工作原理
gmetad可以部署在集群内任一台节点或者通过网络连接到集群的独立主机,它通过单播路由的方式与gmond通信,收集区域内节点的状态信息,并以XML数据的形式,保存在数据库中,由RRDTool工具处理数据,并生成相应的的图形显示,以Web方式直观的提供给客户端,gmond带来的系统负载非常少,这使得它成为在集群中各台机器中只运行一段代码,并不会影响用户性能,但是当大量小消息同时出现时,会发生网络 “抖动”影响节点性能,可以通过使节点时钟保持一致,来避免这个问题

前期准备

准备三台Centos7虚拟机,配置IP地址和hostname,同步系统时间,关闭防火墙和selinux,修改IP地址和hostname映射

iphostname
192.168.29.147monitor
192.168.29.134node

从官网下载confuse-2.7.tar.gz、ganglia-3.7.2.tar.gz、ganglia-web-3.7.2.tar.gz源码包
安装epel源

复制代码
1
2
3
4
[root@monitor ~]# yum install epel-release -y [root@node ~]# yum install epel-release -y

安装基础包

复制代码
1
2
3
4
[root@monitor ~]# yum install wget lrzsz vim lynx lsof unzip -y [root@node ~]# yum install wget lrzsz vim lynx lsof unzip -y

安装依赖

复制代码
1
2
3
4
[root@monitor ~]# 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 libart_lgpl-devel pcre-devel libtool rrdtool rrdtool-devel [root@node ~]# 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 libart_lgpl-devel pcre-devel libtool rrdtool rrdtool-devel

部署基础服务

复制代码
1
2
[root@monitor ~]# yum install httpd httpd-devel php rsync -y

部署ganglia监控本机

安装confuse

复制代码
1
2
3
4
5
[root@monitor ~]# tar -zvxf confuse-2.7.tar.gz [root@monitor ~]# cd confuse-2.7 [root@monitor ~]# ./configure --prefix=/usr/local/ganglia-tools/confuse CFLAGS=-fPIC --disable-nls --libdir=/usr/local/ganglia-tools/confuse/lib64 [root@monitor ~]# make && make install

安装ganglia

复制代码
1
2
3
4
5
6
[root@monitor ~]# tar zxf ganglia-3.7.2.tar.gz [root@monitor ~]# cd ganglia-3.7.2 [root@monitor ~]# ./configure --prefix=/usr/local/ganglia --enable-gexec --enable-status --with-gmetad --with-libconfuse=/usr/local/ganglia-tools/confuse [root@monitor ~]# make && make install [root@monitor ~]# mkdir -p /usr/local/ganglia/var/run

修改配置文件

复制代码
1
2
3
[root@monitor ~]# vi /usr/local/ganglia/etc/gmetad.conf data_source "my cluster" 192.168.29.147:8649

安装可视化界面

复制代码
1
2
3
4
5
6
7
8
9
[root@monitor ~]# tar -zxvf ganglia-web-3.7.2.tar.gz [root@monitor ~]# mv ganglia-web-3.7.2 /var/www/html/ganglia [root@monitor ~]# cd /var/www/html/ganglia/ [root@monitor ~]# useradd -M -s /sbin/nologin www-data [root@monitor ~]# make install [root@monitor ~]# chown apache:apache -R /var/lib/ganglia-web/ [root@monitor ~]# mkdir /var/lib/ganglia/rrds -p [root@monitor ~]# chown -R nobody:nobody /var/lib/ganglia/rrds

启动服务

复制代码
1
2
3
4
5
6
7
8
9
10
[root@monitor ~]# systemctl start httpd.service [root@monitor ~]# systemctl start gmetad.service [root@monitor ~]# systemctl start gmond.service [root@monitor ~]# netstat -tnlp |grep gmetad tcp 0 0 0.0.0.0:8651 0.0.0.0:* LISTEN 16874/gmetad tcp 0 0 0.0.0.0:8652 0.0.0.0:* LISTEN 16874/gmetad [root@monitor ~]# netstat -tnlp |grep gmond tcp 0 0 0.0.0.0:8649 0.0.0.0:* LISTEN 17217/gmond

访问http://192.168.29.147/ganglia
在这里插入图片描述

部署监控node

node结点安装confuse

复制代码
1
2
3
4
5
[root@node ~]# tar -zxvf confuse-2.7.tar.gz [root@node ~]# cd confuse-2.7/ [root@node ~]# ./configure --prefix=/usr/local/ganglia-tools/confuse CFLAGS=-fPIC --disable-nls --libdir=/usr/local/ganglia-tools/confuse/lib64 [root@node ~]# make && make install

node结点安装ganglia

复制代码
1
2
3
4
5
6
7
8
9
10
11
[root@node ~]# tar -zxvf ganglia-3.7.2.tar.gz [root@node ~]# cd ganglia-3.7.2/ [root@node ~]# ./configure --prefix=/usr/local/ganglia --enable-gexec --enable-status --with-libconfuse=/usr/local/ganglia-tools/confuse [root@node ~]# make && make install [root@node ~]# mkdir -p /usr/local/ganglia/var/run #启动服务 [root@node ~]#systemctl start gmond.service [root@node ~]# netstat -tnlp |grep 8649 tcp 0 0 0.0.0.0:8649 0.0.0.0:* LISTEN 14797/gmond

修改monitor配置文件

复制代码
1
2
3
[root@monitor ~]# vi /usr/local/ganglia/etc/gmetad.conf data_source "my cluster" 192.168.29.147:8649 192.168.29.134:8649

重启服务

复制代码
1
2
[root@monitor ~]# systemctl restart gmetad.service

访问http://192.168.29.147/ganglia
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

扩展监控项nginx

开源扩展监控脚本可从https://github.com/ganglia/gmond_python_modules获取
部署nginx服务

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[root@monitor ~]# yum install nginx -y #修改配置文件 [root@monitor ~]# vi /etc/nginx/conf.d/default.conf server { listen 8000; server_name localhost; location / { root /usr/share/nginx/html; index index.html index.htm; } location /nginx_status { stub_status on; access_log off; allow all; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } #启动服务 [root@monitor ~]# systemctl start nginx

编写监控配置文件

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
[root@monitor ~]# mv /gmond_python_modules-master/nginx_status/conf.d/nginx_status.pyconf /usr/local/ganglia/etc/conf.d/ [root@monitor ~]# /usr/local/ganglia/etc/conf.d/nginx_status.pyconf modules { module { name = 'nginx_status' language = 'python' param status_url { value = 'http://192.168.29.147:8000/nginx_status' } param nginx_bin { value = '/usr/sbin/nginx' } param refresh_rate { value = '15' } } }

部署监控收集文件和绘图文件

复制代码
1
2
3
4
[root@monitor ~]# mkdir /usr/local/ganglia/lib64/ganglia/python_modules [root@monitor ~]# mv /gmond_python_modules-master/nginx_status/python_modules/nginx_status.py /usr/local/ganglia/lib64/ganglia/python_modules/ [root@monitor ~]# mv /gmond_python_modules-master/nginx_status/graph.d/* /usr/share/ganglia-webfrontend/graph.d/

重启服务

复制代码
1
2
[root@monitor ~]# systemctl restart gmetad.service gmond.service

查看图像
在这里插入图片描述

最后

以上就是有魅力衬衫最近收集整理的关于Centos7部署ganglia监控的全部内容,更多相关Centos7部署ganglia监控内容请搜索靠谱客的其他文章。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部