自从系统管理员负责管理服务器和一组机器以来,像监控应用程序这样的工具是他们最好的朋友。 你可能会很熟悉一样的工具Nagios的 , 的zabbix , Icinga和Centreon。 虽然这些是监测的重量级,设置和充分利用其功能可能对新用户有些困难。
在这篇文章中,我们将向您介绍神经节 ,一个监测系统,易于扩展,并允许查看各种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,应用程序本身,执行以下功能:
-
rrdtool
,在轮询数据库,是用来储存和使用图形随着时间的推移显示数据的变化的工具。 -
ganglia-gmetad
是由您要监控的主机收集监测数据的守护进程。 在这些主机和主节点还需要安装节-的gmond(监控守护程序本身): -
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_channel块mcast_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的东道主,我们将只安装节显示器 , 神经节-的的gmond在CentOS的等价的:
$ 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。 除了我们在本文中分享的内容之外,还有很多很好的理由,使用方便和图表以及统计数据(这是很好的表面名字,不是吗?)可能在顶部。
但不要只是接受我们的话,尝试一下自己,如果你有任何问题,不要犹豫,使用下面的评论表格下降我们。