使用“Ganglia”为Linux服务器的网格和集群设置实时监控

自从系统管理员负责管理服务器和一组机器以来,像监控应用程序这样的工具是他们最好的朋友。 你可能会很熟悉一样的工具Nagios的的zabbixIcingaCentreon。 虽然这些是监测的重量级,设置和充分利用其功能可能对新用户有些困难。

在这篇文章中,我们将向您介绍神经节 ,一个监测系统,易于扩展,并允许查看各种Linux服务器和实时集群(加图)系统指标。

在Linux中安装Gangila监控

神经节 ,您可以设置为更好地组织网格 (位置)和集群 (服务器组)。

因此,您可以创建由远程环境中的所有计算机组成的网格,然后根据其他条件将这些计算机分组为较小的集合。

此外,神经节的Web界面为移动设备优化,并允许您将数据导出连接.csv.json格式。

我们的测试环境将包括一个中央的CentOS 7服务器(IP地址192.168.0.29),我们将安装神经节 ,和一个Ubuntu 14.04的机器(192.168.0.32),我们想通过神经节的Web界面来监控框。

在本指南中,我们将参考的CentOS 7系统作为主节点,并Ubuntu的盒子作为监控设备。

安装和配置Ganglia

要在主节点安装监控实用程序,请按照下列步骤操作:

1.启用EPEL软件库 ,然后从那里安装神经节和相关工具:

# yum update && yum install epel-release
# yum install ganglia rrdtool ganglia-gmetad ganglia-gmond ganglia-web 

在上面的步骤中安装的软件包以及ganglia,应用程序本身,执行以下功能:

  1. rrdtool ,在轮询数据库,是用来储存和使用图形随着时间的推移显示数据的变化的工具。
  2. ganglia-gmetad是由您要监控的主机收集监测数据的守护进程。 在这些主机和主节点还需要安装节-的gmond(监控守护程序本身):
  3. ganglia-web提供了web前端,我们将查看有关监控的系统的历史记录图表和数据。

2.设置身份验证神经节 Web界面( 在/ usr /股/节 )。 我们将使用基本身份验证被Apache提供。

如果你想探索更先进的安全机制,指的是授权和验证 Apache的文档的部分。

为了实现这一目标,创建一个用户名 ,并指定一个密码来访问Apache的保护的资源。 在这个例子中,我们将创建一个用户名叫做adminganglia并指派我们的选择,这将是(可以自由选择其他目录和/或文件名保存在/etc/httpd/auth.basic的密码-只要有Apache读取这些资源的权限,你会很好):

# htpasswd -c /etc/httpd/auth.basic adminganglia

在继续之前,输入adminganglia的密码两次。

3.修改/etc/httpd/conf.d/ganglia.conf如下:

Alias /ganglia /usr/share/ganglia
<Location /ganglia>
AuthType basic
AuthName "Ganglia web UI"
AuthBasicProvider file
AuthUserFile "/etc/httpd/auth.basic"
Require user adminganglia
</Location>

4.编辑/etc/ganglia/gmetad.conf:

首先,使用gridname指令,然后为您设置的网格使用描述性名称:

gridname "Home office"

然后,使用DATA_SOURCE随后为群集(服务器组),以秒轮询间隔和主及监视节点的IP地址的描述性名称:

data_source "Labs" 60 192.168.0.29:8649 # Master node
data_source "Labs" 60 192.168.0.32 # Monitored node

5.编辑/etc/ganglia/gmond.conf。

一)确保簇块如下所示:

cluster {
name = "Labs" # The name in the data_source directive in gmetad.conf
owner = "unspecified"
latlong = "unspecified"
url = "unspecified"
}

b)udp_send_chanel块,注释掉mcast_join指令:

udp_send_channel   {
#mcast_join = 239.2.11.71
host = localhost
port = 8649
ttl = 1
}

C)最后,注释掉udp_recv_channelmcast_join和绑定指令:

udp_recv_channel {
#mcast_join = 239.2.11.71 ## comment out
port = 8649
#bind = 239.2.11.71 ## comment out
}

保存更改并退出。

6.打开端口8649 / UDP,并允许PHP脚本(通过Apache运行)连接到使用必要的SELinux开关网络:

# firewall-cmd --add-port=8649/udp
# firewall-cmd --add-port=8649/udp --permanent
# setsebool -P httpd_can_network_connect 1

7.重启Apache,gmetad和的gmond。 此外,请确保启动时启用它们:

# systemctl restart httpd gmetad gmond
# systemctl enable httpd gmetad httpd

此时,你应该能够打开神经节Web界面在http://192.168.0.29/ganglia并与来自#第2步的凭据登录。

Gangila Web界面

8.Ubuntu的东道主,我们将只安装节显示器神经节-的gmondCentOS的等价的:

$ sudo aptitude update && aptitude install ganglia-monitor

9.编辑在所监视的框中/etc/ganglia/gmond.conf文件。 这应该是相同的,不同的是在群集 ,udp_send_channel的注释行主节点中的同一文件,并且udp_recv_channel应该启用:

cluster {
name = "Labs" # The name in the data_source directive in gmetad.conf
owner = "unspecified"
latlong = "unspecified"
url = "unspecified"
}
udp_send_channel   {
mcast_join = 239.2.11.71
host = localhost
port = 8649
ttl = 1
}
udp_recv_channel {
mcast_join = 239.2.11.71 ## comment out
port = 8649
bind = 239.2.11.71 ## comment out
}

然后,重新启动服务:

$ sudo service ganglia-monitor restart

10.刷新网页界面,你应该能够查看家庭办公网格内的两台主机/ 实验室集群统计数据和图表(使用下拉菜单旁边到家庭办公电网选择一个集群, 实验室在我们的例子):

Ganglia家庭办公室网格报告

使用菜单选项卡(上面突出显示),您可以单独和分组访问大量有关每个服务器的有趣信息。 您甚至可以使用“比较主机”选项卡来并行比较群集中所有服务器的统计信息。

只需使用正则表达式选择一组服务器,您就可以快速比较它们的性能:

Ganglia主机服务器信息

的特点之一,我个人觉得最吸引人的是移动友好的汇总,您可以访问使用移动标签。 选择您感兴趣的群集,然后选择单个主机:

Ganglia移动友好摘要视图

概要

在这篇文章中,我们已经介绍神经节 ,对电网和服务器群集功能强大的,可扩展的监控解决方案。 随意安装,探讨的地方,就像你喜欢玩的神经节(顺便说一句,你甚至可以尝试在神经节中的项目提供了一个演示的官方网站

当你在这里,你还会发现几个知名的公司在IT世界或不使用Ganglia。 除了我们在本文中分享的内容之外,还有很多很好的理由,使用方便和图表以及统计数据(这是很好的表面名字,不是吗?)可能在顶部。

但不要只是接受我们的话,尝试一下自己,如果你有任何问题,不要犹豫,使用下面的评论表格下降我们。

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏