基于服务网格实现的日志服务自动化部署的方法转让专利

申请号 : CN202011178906.4

文献号 : CN112468314B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李海滨

申请人 : 贵州新致普惠信息技术有限公司

摘要 :

本发明提供了一种基于服务网格实现的日志服务自动化部署的方法,该基于服务网格实现的日志服务自动化部署的方法包括以下步骤:响应于DNS查询服务的请求,Consul服务管理软件集群的服务端维护服务网格集群的信息,并提供DNS查询服务;客户端部署ELK应用,监控指定端口的访问状态;以及当监控的端口的访问状态为可访问状态时,客户端执行服务发现操作以及执行服务IP地址注册操作,将发现的相应的服务注册到对应的域名下,其中,ELK应用的各个组件被部署到不同的服务器,并且返回的IP地址的列表为随机排列地设置。

权利要求 :

1.一种基于服务网格实现的日志服务自动化部署的方法,其特征在于,所述基于服务网格实现的日志服务自动化部署的方法包括以下步骤:响应于DNS查询服务的请求,Consul服务管理软件集群的服务端维护服务网格集群的信息,并提供DNS查询服务;

客户端获取修改的IP地址,提取端口信息作为指定端口,执行对于访问状态的监控;

当监控到指定端口的访问状态为可访问状态时,对应服务的存在状态被判断为存在;

客户端执行注册操作,将修改后的IP地址注册到对应的域名下;

客户端部署ELK应用,监控指定端口的访问状态;以及

当监控的端口的访问状态为可访问状态时,客户端执行服务发现操作以及执行服务IP地址注册操作,将发现的相应的服务注册到对应的域名下,其中,ELK应用的各个组件被部署到不同的服务器,并且返回的IP地址的列表为随机排列地设置;

其中,ELK应用包括Elastic Search、Logstash和Kibana三个服务组件的一种或者多种,当Elastic  Search服务被判断为存在状态时,对应的IP地址被注册到elasticsearch.service.consul的域名下,当Logstash服务被判断为存在状态时,对应的IP地址被注册到logstash.service.consul的域名下,当Kibana服务被判断为存在状态时,对应的IP地址被注册到kibana.service.consul的域名下;

其中,当监控到不同的节点时,仅执行IP地址的修改。

2.一种基于服务网格实现的日志服务自动化部署的系统,其特征在于,所述基于服务网格实现的日志服务自动化部署的系统被配置为包括Consul服务管理软件集群的服务端和Consul服务管理软件集群的客户端,其中所述服务端包括多个服务端服务器,所述客户端包括多个的客户端服务器,其中所述服务端维护服务网格集群的信息,并提供DNS查询服务,其中所述客户端部署ELK应用,监控指定端口的访问状态,当访问状态的监控状态结果为可访问状态时,所述客户端发现相应的服务,将服务IP地址注册到对应的域名下;

其中监控到不同的节点时,仅执行IP地址的修改,其中ELK的各组件被部署到不同的服务器上,所述客户端监控并发现相应的服务,注册到对应的域名下,其中返回的IP地址列表信息是随机排列地设置;其中ELK应用包括Elastic Search、Logstash和Kibana三个服务组件的一种或者多种;当Elastic Search服务被判断为存在状态时,对应的IP地址被注册到elasticsearch.service.consul的域名下,当Logstash服务被判断为存在状态时,对应的IP地址被注册到logstash.service.consul的域名下,当Kibana服务被判断为存在状态时,对应的IP地址被注册到kibana.service.consul的域名下;

其中所述基于服务网格实现的日志服务自动化部署的系统在ELK集群中应用了服务网格之后,ELK各组件根据实际需求进行扩缩、迁移操作,所述客户端不执行配置文件中的服务器列表的更改,从而实现了负载均衡,部分节点故障不影响整个集群对外继续提供服务。

说明书 :

基于服务网格实现的日志服务自动化部署的方法

技术领域

[0001] 本发明涉及计算机领域,尤其涉及一种基于服务网格实现的日志服务自动化部署的方法以及应用了基于服务网格实现的日志服务自动化部署的方法的系统。

背景技术

[0002] 在大规模ELK服务部署的场景中,如何让相关节点或相关服务互相知道对方的存在,一直是运维侧急需解决和改进的问题。传统的人工处理过程中,一旦某个服务的信息变
更,例如增加或减少了节点,更换了IP地址或监听端口、节点故障宕机等,需要修改多个相
关依赖此服务的应用配置,并手动重启生效。

发明内容

[0003] 本发明的目的在于提供一种基于服务网格实现的日志服务自动化部署的方法以及系统,能够利用服务网格的优点,在大规模ELK服务组件的服务部署的场景中,实现其中
任何一个服务的连接信息变更,都不影响其它服务对该连接信息变更的服务的访问,减少
了运维工作量,提高了服务的稳定性。
[0004] 为了实现上述至少一个发明目的,本发明提供了一种基于服务网格实现的日志服务自动化部署的方法,所述基于服务网格实现的日志服务自动化部署的方法包括以下步
骤:
[0005] 响应于DNS查询服务的请求,Consul服务管理软件集群的服务端维护服务网格集群的信息,并提供DNS查询服务;
[0006] 客户端部署ELK应用,监控指定端口的访问状态;以及
[0007] 当监控的端口的访问状态为可访问状态时,客户端执行服务发现操作以及执行服务IP地址注册操作,将发现的相应的服务注册到对应的域名下,
[0008] 其中,ELK应用的各个组件被部署到不同的服务器,并且返回的IP地址的列表为随机排列地设置。
[0009] 在一些实施例中,其中ELK应用包括Elastic Search、Logstash和Kibana三个服务组件的一种或者多种。
[0010] 在一些实施例中,其中所述基于服务网格实现的日志服务自动化部署的方法还包括以下步骤:
[0011] 客户端获取修改的IP地址,提取端口信息作为指定端口,执行对于访问状态的监控;
[0012] 当监控到指定端口的访问状态为可访问状态时,对应服务的存在状态被判断为存在;
[0013] 以及
[0014] 客户端执行注册操作,将修改后的IP地址注册到对应的域名下。
[0015] 在一些实施例中,其中当Elastic Search服务被判断为存在状态时,对应的IP地址被注册到elasticsearch.service.consul的域名下。
[0016] 在一些实施例中,其中当Logstash服务被判断为存在状态时,对应的IP地址被注册到logstash.service.consul的域名下。
[0017] 在一些实施例中,其中当Kibana服务被判断为存在状态时,对应的IP地址被注册到kibana.service.consul的域名下。
[0018] 在一些实施例中,其中监控到不同的节点时,仅执行IP地址的修改。
[0019] 根据本发明的另一方面,还提供一种基于服务网格实现的日志服务自动化部署的系统,所述基于服务网格实现的日志服务自动化部署的系统被配置为包括Consul服务管理
软件集群的服务端和Consul服务管理软件集群的客户端,其中所述服务端包括多个服务端
服务器,所述客户端包括多个的客户端服务器,其中所述服务端维护服务网格集群的信息,
并提供DNS查询服务,其中所述客户端部署ELK应用,监控指定端口的访问状态,当访问状态
的监控状态结果为可访问状态时,所述客户端发现相应的服务,将服务IP地址注册到对应
的域名下。
[0020] 在一些实施例中,其中ELK应用包括Elastic Search、Logstash和Kibana三个服务组件的一种或者多种。
[0021] 在一些实施例中,其中不同的节点执行IP地址的修改,其中ELK的各组件被部署到不同的服务器上,所述客户端监控并发现相应的服务,注册到对应的域名下,其中返回的IP
地址列表信息是随机排列地设置。

附图说明

[0022] 图1是服务网格的结构示意图。
[0023] 图2是根据本发明的一个优选实施例的一种基于服务网格实现的日志服务自动化部署的方法中,在服务器上部署Consul服务管理软件集群的架构图。
[0024] 图3是根据本发明的上述优选实施例的所述基于服务网格实现的日志服务自动化部署的方法中Consul服务管理软件客户端添加配置的内容图展示。
[0025] 图4是根据本发明的一个实施例的一种基于服务网格实现的日志服务自动化部署的系统的结构架构图。

具体实施方式

[0026] 以下描述用于揭露本发明以使本领域技术人员能够实现本发明。以下描述中的优选实施例只作为举例,本领域技术人员可以想到其他显而易见的变型。在以下描述中界定
的本发明的基本原理可以应用于其他实施方案、变形方案、改进方案、等同方案以及没有背
离本发明的精神和范围的其他技术方案。
[0027] 本领域技术人员应理解的是,在本发明的揭露中,术语“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系是基于附图所示的方位或位置关系,其仅是为了便于描述本发明和简化描述,而不是指
示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此上述术
语不能理解为对本发明的限制。
[0028] 可以理解的是,术语“一”应理解为“至少一”或“一个或多个”,即在一个实施例中,一个元件的数量可以为一个,而在另外的实施例中,该元件的数量可以为多个,术语“一”不能理解为对数量的限制。
[0029] 本发明提供了一种基于服务网格实现的日志服务自动化部署的方法以及系统,所述基于服务网格实现的日志服务自动化部署的系统应用了所述基于服务网格实现的日志
服务自动化部署的方法。本发明的所述基于服务网格实现的日志服务自动化部署的方法以
及所述基于服务网格实现的日志服务自动化部署的系统能够利用服务网格的优点,在大规
模ELK服务组件的服务部署的场景中,实现其中任何一个服务的连接信息变更,都不影响其
它服务对该连接信息变更的服务的访问,减少了运维工作量,提高了服务的稳定性。其中,
ELK是Elastic Search(ES)、Logstash和Kibana三个服务组件的并称。ELK是日志采集、处理
的应用服务集成。
[0030] 如图1所示为“服务网格”(Service Mesh)的结构示意图,服务网格是伴随“微服务架构”而诞生的一种应用服务。非侵入式(Sidecar)地实现各微服务之间的路由通讯。而
Consul软件是服务网格的的代表软件之一,能实现服务主动注册、被动注册,DNS解析,Key/
Value存储等功能。
[0031] 如图2至图3所示为基于本发明的优选实施例的一种基于服务网格实现的日志服务自动化部署的方法。如图2展示了在服务器上部署Consul服务管理软件集群的架构图,其
中,服务端负责维护整个服务网格集群的信息,并对外提供DNS查询服务。客户端用于部署
ELK应用,负责监控指定端口,发现并注册服务IP地址。也就是说,在具体的实施中,图2中右
侧的服务端包括多个服务端服务器,服务端被配置为维护全部服务网格集群的信息,并响
应于DNS查询请求,提供对应的DNS查询服务。图2中左侧的客户端包括多个客户端服务器,
客户端被配置为部署ELK应用,监控指定端口,发现并注册服务IP地址。
[0032] 图3是在具体的实施例中,Consul服务管理软件客户端添加配置的内容图展示。其中不同的节点只需要修改IP地址,从而实现服务发现功能,包括以下步骤:
[0033] 部署ELK应用,监控指定端口的访问状态;
[0034] 当本机9200端口为可访问状态时,ES服务被判断为存在于本机;
[0035] C o n s u l 客 户 端 执 行 注 册 操 作 ,将 本 机 I P 地 址 注 册 到elasticsearch.service.consul的域名下;
[0036] 当本机9600端口为可访问状态时,Logstash服务被判断为存在于本机;
[0037] Consul客户端执行注册操作,将本机IP地址注册到logstash.service.consul的域名下;
[0038] 当本机5601端口为可访问状态时,Kibana服务被判断为存在于本机;
[0039] Consul客户端执行注册操作,将本机IP地址注册到kibana.service.consul的域名下。
[0040] 其中,还包括步骤:
[0041] 服务端响应于DNS查询服务请求,提供DNS查询服务;
[0042] 客户端获取修改的IP地址,提取端口信息作为指定端口,执行访问状态的监控;
[0043] 当指定端口的访问状态为可访问时,对应服务存在状态被判断为存在;
[0044] 客户端执行注册操作,将修改后的IP地址注册到对应的域名下。
[0045] 如图4所示为基于本发明的实施例的一种基于服务网格实现的日志服务自动化部署的系统,应用了本发明的所述基于服务网格实现的日志服务自动化部署的方法。也就是
说,本发明的所述基于服务网格实现的日志服务自动化部署的方法均能够被应用于所述基
于服务网格实现的日志服务自动化部署的系统中。ELK各组件根据实际需求部署到不同的
服务器上,Consul监控并发现相应的服务,注册到对应的域名下。访问服务只需要访问其域
名就可以,并且Consul返回的IP列表是随机排列的,因此附带实现了负载均衡的功能。
[0046] 因此,本发明的所述基于服务网格实现的日志服务自动化部署的系统在ELK集群中应用了服务网格之后,ELK各组件可以根据实际需求进行扩缩、迁移等操作,客户端对此
无感知,无需更改配置文件中的服务器列表。并且实现了负载均衡,部分节点故障不影响整
个集群对外继续提供服务。
[0047] 本领域的技术人员应理解,上述描述及附图中所示的本发明的实施例只作为举例而并不限制本发明。本发明的目的已经完整并有效地实现。本发明的功能及结构原理已在
实施例中展示和说明,在没有背离所述原理下,本发明的实施方式可以有任何变形或修改。