文章目录
前言
伴随着计算机技术的不断发展,对于系统服务稳定性的要求显得尤为重要,集群的监控必不可少。而一种集群监控系统,其特征在于包括:多个控制服务器、多个计算服务器、外网交换机及内网交换机,其中,各控制服务器通过外网交换机与用户的电脑进行互联;各控制服务器与各计算服务器通过内网交换机进行互联;各控制服务器中安装和部署相同的web站点内容。
一、背景技术
服务器集群由若干服务器组成,每个服务器是一台硬件配置(如cpu、内存、硬盘等)很高的计算机,通常安装linux操作系统。服务器集群从逻辑上可被看成一个计算性能很高、内存和硬盘存储容量很大的巨型计算机,被广泛用于银行、企事业单位等各类部门,甚至还可用于构建当前的云平台。
服务器集群分为控制服务器和计算服务器。控制服务器用于管理各个计算服务器,计算服务器负责处理具体的业务。一个服务器集群应至少包含两套网络:外部网络允许其他计算机来访问集群的控制服务器;内部网络用于集群内部的各个服务器之间的访问。一般地,管理员可以通过一台计算机由外部网络登录控制服务器,然后再通过内部网络登录计算服务器;管理员通常不能由外部网络直接登录计算服务器。另外,根据业务需要,控制服务器也可以当作计算服务器。
服务器集群通常用于一些重要业务,因此对服务器集群中的各个服务器的运行参数进行监控就变得十分重要。譬如,一个银行的某个服务器中的一些程序突然崩溃停止运行了,此种状况就应该被及时监控到。基于web对集群进行监控是当前常用的一种方式,基本方法是在控制服务器上设置一个web网站,然后由用户通过浏览器来查看集群中各个服务器的运行参数,这些运行参数通常保存在一个数据库中。然而,当前的web监控系统还存在以下几点不足。
1.浏览器网页的及时响应问题
一个服务器集群可能包含成百上千的服务器,每个服务器需要监测很多参数。当用户点击浏览器网页上的一个菜单或按钮时,web网站应能迅速响应用户的web请求,展示各个服务器的运行参数。然而,当前很多web监控系统对用户的响应很慢,对一个大规模集群的监控时间要花费几秒甚至几十秒以上。一种折中的方式是对网页进行分页显示,每页只显示部分服务器的状态,这种方式能缩短网页响应时间,但不能通过一个网页及时地查看整个系统中所有服务器的状态。
2.web服务器的负载均衡和高可用问题
web网站通常安装在控制服务器上,此时控制服务器也称之为web服务器。
负载均衡问题:当前的web监控系统大都采用1个web服务器,大量web请求会导致web服务器响应慢,甚至造成瘫痪。
高可用问题:由于人为因素或者硬件故障,任何一个服务器都存在异常甚至宕机的可能。当web服务器不能正常工作时,就不能通过浏览器对整个服务器集群进行正确地监控。
3.数据库的负载均衡和高可用问题
集群中每个服务器的运行参数通常保存在数据库中。
负载均衡问题:当前的web监控系统大都采用1个数据库,大量的数据存储会导致数据库响应慢,甚至造成瘫痪。
高可用问题:安装数据库的服务器不可避免地存在异常甚至宕机的情形,造成整个监控系统不起作用。
二、ISERVER API描述
1.clusterLoad
clusterLoad 为集群负载监控资源,通过它可以对集群状态进行监控 ,包括集群内各个子节点的运行状况与并发请求访问量 。通过子节点的监控,可以查看集群体系中各个子节点的当前并发访问量,也可以查看各个子节点平均的访问量。而服务器监控的内容包括指定服务组件的访问量、指定服务实例的访问量。
GET:获取集群系统并发请求信息,包括集群内各个子节点的运行状况与并发请求访问量等。
HEAD:检查 clusterLoad 资源是否存在,或权限是否可以访问 clusterLoad 资源。
2.请求参数及响应结构
1.对 clusterLoad 资源执行 GET 请求,可以在 URI 中包含相关参数,参数如下所示:
名称 | 类型 | 含义 |
---|---|---|
componentName | String | 服务组件名称,该参数可以单独使用。 |
interfaceName | String | 服务接口名称,该参数不等单独使用,必须和 componentName 参数一起使用。 |
2.对 clusterLoad 资源执行 GET 请求,返回的是整个集群系统并发请求详细信息,其中单个子节点的表述结构如下:
字段 | 类型 | 说明 |
---|---|---|
averageTime | int | 服务器平均响应时间,单位为秒。 |
currentCount | int | 服务器当前并发数。 |
historicalAccessCounts | int[] | 记录了从当前时刻起,前 5 分钟内服务器的并发数。 |
interval | int | 服务访问统计时间间隔,默认为 1 秒。 |
ip | String | 服务器的 ip 地址。 |
memberId | String | 子节点的 ID 。 |
port | int | 服务器的端口号。 |
三、集群监控的查看
1.
运行iserver后打开localhost:8090/iserver,并进入服务管理(manager)页面2.
依次打开监控与统计”、“集群服务器性能”选项卡,进入集群负载监控页面(http://localhost:8090/iserver/manager/serverstatus/clusterload)可以查看各个子节点当前的实时并发访问状况,可以根据您的需求选择:
3.
“服务组件显示”,监控与当前服务组件相关的所有服务实例的并发访问量;
“按服务实例显示”,监控当前服务实例的并发访问量。
总结
SuperMap iServer 支持对集群状态进行监控,包括集群内各个子节点的运行状况与并发请求访问量。通过子节点的监控,可以查看集群体系中各个子节点的当前并发访问量,也可以查看各个子节点平均的访问量。而服务器监控的内容包括指定服务组件的访问量、指定服务实例的访问量。
集群的配置、使用、加入,还请移步博客:https://blog.csdn.net/supermapsupport/article/details/126345638