当前位置: 首页 > 科技观察

使用Ganglia实时监控Linux网格和集群服务器_0

时间:2023-03-21 19:50:12 科技观察

自从系统管理员接管服务器和主机管理以来,应用程序监控等工具对他们有很大帮助。其中比较著名的有Nagios、Zabbix、Icinga和Centreon。这些都是重量级的监控工具,新手管理员可能很难设置和使用高级功能。本文向您介绍Ganglia,一个易于扩展的监控系统。使用它可以实时查看Linux服务器和集群中的各种性能指标(图形显示)。Ganglia允许您更好地组织集群(按服务器组)和网格(按地理位置)的服务器。这样,我们可以创建一个包含所有远程主机的网格,然后根据其他标准将这些机器分组到更小的集合中。此外,Ganglia的网页针对移动设备进行了优化,还允许您以csv和.json格式导出数据。我们的测试环境包括一台安装了Ganglia的CentOS7主节点服务器(IP地址192.168.0.29),以及一台Ubuntu14.04主机(192.168.0.32)作为被监控端。我们将通过Ganglia的网页监控这台Ubuntu主机。下面的例子可以给大家提供参考,CentOS7作为主节点,Ubuntu作为监控对象。安装配置Ganglia请按照以下步骤在主节点服务器上安装监控工具。1.启用EPEL仓库,然后安装Ganglia及相关工具:#yumupdate&&yuminstallepel-release#yuminstalglangliarrdtoolganglia-gmetadganglia-gmondganglia-web上述步骤中,部分应用会安装Ganglia,其功能如下:rrdtool、Round-Robin数据库,这是一个随时间推移存储数据并以图形方式显示数据的工具;ganglia-gmetad是一个收集监控主机数据的守护进程。被监控主机和主节点主机都必须安装Ganglia-gmond(监控守护进程本身);ganglia-web提供了一个Web前端,用于显示监控系统的历史数据和图形。2、使用Apache提供的基本认证功能,为Gangliaweb界面(/usr/share/ganglia)配置身份认证。如果您想了解有关高级安全机制的更多信息,请参阅Apache文档的授权和身份验证部分。为了实现这个目标,我们需要创建一个用户名并设置一个密码来访问受Apache保护的资源。在这个例子中,我们将首先创建一个名为adminganglia的用户名,然后为其分配一个密码,该密码将存储在/etc/httpd/auth.basic中(随意选择另一个目录和/或文件名,只要Apache有对此有读取权限。)#htpasswd-c/etc/httpd/auth.basicadminanglia为adminganglia输入两次密码以完成密码设置。3.修改配置文件/etc/httpd/conf.d/ganglia.conf:Alias/ganglia/usr/share/gangliaAuthTypebasicAuthName"GangliawebUI"AuthBasicProviderfileAuthUserFile"/etc/httpd/auth.basic"Requireuseradminganglia4.编辑/etc/ganglia/gmetad.conf:首先,使用gridname命令为网格设置一个描述性名称。gridname"Homeoffice"然后,使用data_source命令,后面是集群名称(服务器组),轮询间隔(秒),master节点主机和被监控节点的IP地址:data_source"Labs"60192.168.0.29:8649#masternodedata_source"Labs"60192.168.0.32#Monitorednode5.编辑/etc/ganglia/gmond.conf。a)确保集群配置如下所示。cluster中data_source指令的名称{name="Labs"#gmetad.confowner="unspecified"latlong="unspecified"url="unspecified"}b)在udp_send_chanel中,注释掉mcast_join:udp_send_channel{#mcast_join=239.2.11.71host=localhostport=8649ttl=1}c)在udp_recv_channel中,注释掉mcast_join和bind部分:udp_recv_channel{#mcast_join=239.2.11.71##commentoutport=8649#bind=239.2.11.71##commentout}保存退出。6.开放8649/udp端口,使用SELinux确保php脚本(通过Apache运行)可以连接网络:#firewall-cmd--add-port=8649/udp#firewall-cmd--add-port=8649/udp--permanent#setsebool-Phttpd_can_network_connect17,重新启动Apache、gmetad、gmond,并确保它们启用了“启动时启动”。#systemctlrestarthttpdgmetadgmond#systemctlenablehttpdgmetadhttpd此时,我们现在可以打开Ganglia的网页http://192.168.0.29/ganglia并使用步骤2中设置的凭据登录。[][5]Gangila网页8.在Ubuntu主机上,只需安装Ganglia-monitor,它相当于CentOS上的ganglia-gmond:$sudoaptitudeupdate&&aptitudeinstallganglia-monitor9。编辑被监控主机的/etc/ganglia/gmond.conf文件。它与主节点主机上的文件相同,除了注释掉的集群、udp_send_channel、udp_recv_channel不应在此处注释:cluster{name="Labs"#Thenameinthedata_sourcedirectiveingmetad.confowner="unspecified"latlong="unspecified"url="unspecified"}udp_send_channel{mcast_join=239.2.11.71host=localhostport=8649ttl=1}udp_recv_channel{mcast_join=239.2.11.71##commentoutport=8649bind=239.2.11.71##commentout}然后重启服务。$sudoserviceganglia-monitorrestart10。刷新页面,会看到Homeofficegrid/Labs集群中两台主机的各种统计和图形展示(使用下拉菜单选择集群,本例为Labs):HomeofficeinGangliaGridReporting使用菜单按钮(如上所示),您可以获得每个服务器和集群的信息。您还可以使用“比较主机”选项卡来比较集群中所有服务器的状态。您可以使用正则表达式来选择一组服务器并立即查看它们的比较情况:我最喜欢的Ganglia服务器信息功能之一是适合移动设备的摘要界面,可通过移动选项访问。选择您感兴趣的集群,然后选择一个主机。Ganglia移动端总结截图总结本文为大家介绍的Ganglia是一款功能强大、可扩展的监控工具,主要用于监控集群和网格。可以随意安装,方便组合各种功能(甚至可以试试官网提供的demo)。此时,您可能会发现许多知名的IT和非IT企业都在使用Ganglia。除了我们在文章中提到的那些,还有很多理由这样做,其中易用性、统计数据的图形表示(名字旁边有一张面部照片更清楚,不是吗)可能是最重要的。但是请不要拘泥于这篇文章,试着自己做。如果您有任何问题,请给我留言。