CN111708685B - 一种分布式服务器的日志采集监控方法及系统 - Google Patents
一种分布式服务器的日志采集监控方法及系统 Download PDFInfo
- Publication number
- CN111708685B CN111708685B CN202010421123.8A CN202010421123A CN111708685B CN 111708685 B CN111708685 B CN 111708685B CN 202010421123 A CN202010421123 A CN 202010421123A CN 111708685 B CN111708685 B CN 111708685B
- Authority
- CN
- China
- Prior art keywords
- log
- server
- log data
- site
- redis
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种分布式服务器的日志采集监控方法,所述方法为:步骤S1、对各个服务器的站点日志进行分别采集,采集后的日志数据分别存储在各自服务器的目录上,且每个服务器都有对应的服务器IP;步骤S2、通过接口的方式,接收各个服务器采集的日志数据并存储在消息队里中,再逐个从消息队列中读取日志数据,并按服务器IP和日志时间来做区分,存储在redis里;步骤S3、把收集到的日志数据,从redis里读取出来,通过可视化页面展示出来;步骤S4、通过定时查询redis的zset有序集合中的日志计数器,当日志计数器超过设定的数量大小,则通过短信或者邮箱的形式通知站点负责人;提高了工作效率。
Description
技术领域
本发明涉及计算机通讯技术领域,特别是一种分布式服务器的日志采集监控方法及系统。
背景技术
随着网页业务量的增大,网站的访问量相应的增加,为了满足更大的规模,网站会采用分布式部署,一个站点部署在多台服务器上。在分布式部署之前,单台服务器的日志存储在服务器的某个文件目录中,但随着服务器的增多,同一个站点的日志查找将变得越来越困难。因为当有问题的日志出现时,不知道问题会在哪台服务器发生,存在着定位难的问题,得从多台服务器上浏览日志,查找慢,访问不直观,这无疑是个低效的工作方式。
发明内容
为克服上述问题,本发明的目的是提供一种分布式服务器的日志采集监控方法,能快速定位到出问题的服务器上,提高工作效率。
本发明采用以下方案实现:一种分布式服务器的日志采集监控方法,所述方法包括如下步骤:
步骤S1、对各个服务器的站点日志进行分别采集,采集后的日志数据分别存储在各自服务器的目录上,且每个服务器都有对应的服务器IP;
步骤S2、通过接口的方式,接收各个服务器采集的日志数据并存储在消息队里中,再逐个从消息队列中读取日志数据,并按服务器IP和日志时间来做区分,存储在redis里;
步骤S3、把收集到的日志数据,从redis里读取出来,通过可视化页面展示出来;
步骤S4、通过定时查询redis的zset有序集合中的日志计数器,当日志计数器超过设定的数量大小,则通过短信或者邮箱的形式通知站点负责人。
进一步的,所述步骤S1进一步具体为:分布式站点会部署在多台服务器上,服务器IP用来区分日志发生在哪台服务器,对各个服务器的站点日志进行分别采集,采集到的日志数据包括日志时间、日志内容、日志等级,采集后的日志数据分别存储在各自服务器的目录上,通过post请求方式进行传输,传输时记录时间戳ticket,签名校验sign,服务器IP,站点标识moduleKey,其中,采集间隔:循环逐级采集日志文件目录,直到文件采集结束,定时每分钟查看是否有最新的日志产生。
进一步的,所述步骤S2进一步具体为:通过接口的方式接收传输参数:时间戳ticket,签名校验sign,服务器IP,站点标点moduleKey;对签名进行验签,即校验签名是否合法,验签方式为:sign=(ticket+IP+moduleKey)Md5;对时间戳进行校验,即校验时间戳ticket是否误差在设定时间内,超过则视为无效采集;把收集的日志数据放入消息队里中,再另起线程,逐一从消息队列里读取日志数据,按照设定的存储方式存到redis里;所述存储方式为:日志数据存储于redis的zset有序集合中,按照站点标识moduleKey:服务器IP:年:月:日:小时,作为key进行存储;所述zset有序集合设置有日志计数器,存储日志数据的时候,也额外累加存储站点的日志数量,按服务器和日期维度将日志数据存到redis的zset有序集合中,用于之后的日志监控预警,zset有序集合有score数值和value值属性,利用socre存储累加的日志数量即作为日志计数器进行统计,用value存储记录的日期维度。
进一步的,所述日期维度格式为:站点标识moduleKey_小时,其中,监控粒度小则按小时累计,监控粒度大则按天累计。
进一步的,所述可视化页面展示方式:先确定分布式服务器上哪些天有日志数据,即通过reids命令EXISTS来确定是否存在key来得出此服务器上哪些时段有日志数据;根据存储方式中的key,能确定对应的服务器和存储的时间段;定位到时间段上是否有日志数据后,再根据站点标识moduleKey、服务器IP、日期,来筛选日志数据,从而按服务器和时间段的方式进行展示。
进一步的,所述步骤S4进一步具体为:通过定时查询redis的zset有序集合中的日志计数器,定时循环监控redis的zset有序集合中的socre,socre数值超过设定的数量大小,则获得对应的value值,根据value值的日期维度即能得到出问题的站点,并通知站点的负责人;另外,站点发布在多台服务器上,在日志内容存在问题后,能通过value值和key快速定位到出问题的服务器上。
本发明还提供了一种分布式服务器的日志采集监控系统,所述系统包括分布式日志采集模块、日志收集模块、日志展示模块、以及日志监控预警模块;
所述分布式日志采集模块,用于对各个服务器的站点日志进行分别采集,采集后的日志数据分别存储在各自服务器的目录上,且每个服务器都有对应的服务器IP;
所述日志收集模块,用于通过接口的方式,接收各个服务器采集的日志数据并存储在消息队里中,再逐个从消息队列中读取日志数据,并按服务器IP和日志时间来做区分,存储在redis里;
所述日志展示模块,用于把收集到的日志数据,从redis里读取出来,通过可视化页面展示出来;
所述日志监控预警模块,用于通过定时查询redis的zset有序集合中的日志计数器,当日志计数器超过设定的数量大小,则通过短信或者邮箱的形式通知站点负责人。
进一步的,所述分布式日志采集模块进一步具体为:分布式站点会部署在多台服务器上,服务器IP用来区分日志发生在哪台服务器,对各个服务器的站点日志进行分别采集,采集到的日志数据包括日志时间、日志内容、日志等级,采集后的日志数据分别存储在各自服务器的目录上,通过post请求方式进行传输,传输时记录时间戳ticket,签名校验sign,服务器IP,站点标识moduleKey,其中,采集间隔:循环逐级采集日志文件目录,直到文件采集结束,定时每分钟查看是否有最新的日志产生。
进一步的,所述日志收集模块进一步具体为:通过接口的方式接收传输参数:时间戳ticket,签名校验sign,服务器IP,站点标点moduleKey;对签名进行验签,即校验签名是否合法,验签方式为:sign=(ticket+IP+moduleKey)Md5;对时间戳进行校验,即校验时间戳ticket是否误差在设定时间内,超过则视为无效采集;把收集的日志数据放入消息队里中,再另起线程,逐一从消息队列里读取日志数据,按照设定的存储方式存到redis里;所述存储方式为:日志数据存储于redis的zset有序集合中,按照站点标识moduleKey:服务器IP:年:月:日:小时,作为key进行存储;所述zset有序集合设置有日志计数器,存储日志数据的时候,也额外累加存储站点的日志数量,按服务器和日期维度将日志数据存到redis的zset有序集合中,用于之后的日志监控预警,zset有序集合有score数值和value值属性,利用socre存储累加的日志数量即作为日志计数器进行统计,用value存储记录的日期维度。
进一步的,所述日期维度格式为:站点标识moduleKey_小时,其中,监控粒度小则按小时累计,监控粒度大则按天累计。
进一步的,所述可视化页面展示方式:先确定分布式服务器上哪些天有日志数据,即通过reids命令EXISTS来确定是否存在key来得出此服务器上哪些时段有日志数据;根据存储方式中的key,能确定对应的服务器和存储的时间段;定位到时间段上是否有日志数据后,再根据站点标识moduleKey、服务器IP、日期,来筛选日志数据,从而按服务器和时间段的方式进行展示。
进一步的,所述日志监控预警模块进一步具体为:通过定时查询redis的zset有序集合中的日志计数器,定时循环监控redis的zset有序集合中的socre,socre数值超过设定的数量大小,则获得对应的value值,根据value值的日期维度即能得到出问题的站点,并通知站点的负责人;另外,站点发布在多台服务器上,在日志内容存在问题后,能通过value值和key快速定位到出问题的服务器上。
本发明的有益效果在于:1、本发明能进行统一的日志采集,日志监控,日志展示,日志数量监控,很进行很好地管理。2、系统设计完整,流程统一,只要将服务器接入即可享受系统的功能。3、本发明的站点发布在多台服务器上,在日志内容存在问题后,能通过value值和key快速定位到出问题的服务器上,提高了工作效率。
附图说明
图1是本发明的方法流程示意图。
图2是本发明的系统原理框图。
图3是本发明系统一实施例中日志数据在redis里存储方式的示意图。
图4是本发明系统一实施例中zset有序集合中score数值和value值属性的示意图。
具体实施方式
下面结合附图对本发明做进一步说明。
请参阅图1所示,本发明的一种分布式服务器的日志采集监控方法,所述方法包括如下步骤:
步骤S1、对各个服务器的站点日志进行分别采集,采集后的日志数据分别存储在各自服务器的目录上,且每个服务器都有对应的服务器IP;这样各自的业务就不需要去更改日志存储的方式。
步骤S2、通过接口的方式,接收各个服务器采集的日志数据并存储在消息队里中,再逐个从消息队列中读取日志数据,并按服务器IP和日志时间来做区分,存储在redis里;
步骤S3、把收集到的日志数据,从redis里读取出来,通过可视化页面展示出来;支持按天、按站点、按服务器查询。
步骤S4、通过定时查询redis的zset有序集合中的日志计数器,当日志计数器超过设定的数量大小,则通过短信或者邮箱的形式通知站点负责人。也是为了预警问题,如果日志频繁记录,代表站点出了某些问题,会通过短信或者邮箱的形式通知站点负责人。
其中,所述步骤S1进一步具体为:分布式站点会部署在多台服务器上,服务器IP用来区分日志发生在哪台服务器,对各个服务器的站点日志进行分别采集,采集到的日志数据包括日志时间、日志内容、日志等级,采集后的日志数据分别存储在各自服务器的目录上,通过post请求方式进行传输,传输时记录时间戳ticket,签名校验sign,服务器IP,站点标识moduleKey,其中,采集间隔:循环逐级采集日志文件目录,直到文件采集结束,定时每分钟查看是否有最新的日志产生。
所述步骤S2进一步具体为:通过接口的方式接收传输参数:时间戳ticket,签名校验sign,服务器IP,站点标点moduleKey;对签名进行验签,即校验签名是否合法,验签方式为:sign=(ticket+IP+moduleKey)Md5;对时间戳进行校验,即校验时间戳ticket是否误差在设定时间内,超过则视为无效采集;把收集的日志数据放入消息队里中,再另起线程,逐一从消息队列里读取日志数据,按照设定的存储方式存到redis里;所述存储方式为:日志数据存储于redis的zset有序集合中,按照站点标识moduleKey:服务器IP:年:月:日:小时,作为key进行存储;举例moduleKey=zhifu.99.com,服务器IP=10.90.22.239,日志时间=2020-05-14 12:32:48,缓存key=zhifu.99.com:10.90.22.239:2020:05:14:12;所述zset有序集合设置有日志计数器,存储日志数据的时候,也额外累加存储站点的日志数量,按服务器和日期维度将日志数据存到redis的zset有序集合中,用于之后的日志监控预警,zset有序集合有score数值和value值属性,利用socre存储累加的日志数量即作为日志计数器进行统计,用value存储记录的日期维度。所述日期维度格式为:站点标识moduleKey_小时(如:zhifu.99.com_21),其中,监控粒度小则按小时累计,监控粒度大则按天累计。
所述可视化页面展示方式:先确定分布式服务器上哪些天有日志数据,即通过reids命令EXISTS来确定是否存在key来得出此服务器上哪些时段有日志数据;根据存储方式中的key,能确定对应的服务器和存储的时间段;定位到时间段上是否有日志数据后,再根据站点标识moduleKey、服务器IP、日期,来筛选日志数据,从而按服务器和时间段的方式进行展示。
所述步骤S4进一步具体为:通过定时查询redis的zset有序集合中的日志计数器,定时循环监控redis的zset有序集合中的socre,socre数值超过设定的数量大小,则获得对应的value值,根据value值的日期维度即能得到出问题的站点,并通知站点的负责人;另外,站点发布在多台服务器上,在日志内容存在问题后,能通过value值和key快速定位到出问题的服务器上。
下面结合一具体实施例对本发明作进一步说明:
请参阅图2所示,本发明还提供了一种分布式服务器的日志采集监控系统,所述系统包括分布式日志采集模块、日志收集模块、日志展示模块、以及日志监控预警模块;
所述分布式日志采集模块,用于对各个服务器的站点日志进行分别采集,采集后的日志数据分别存储在各自服务器的目录上,且每个服务器都有对应的服务器IP;
所述日志收集模块,用于通过接口的方式,接收各个服务器采集的日志数据并存储在消息队里中,再逐个从消息队列中读取日志数据,并按服务器IP和日志时间来做区分,存储在redis里;如果接入的系统是一个新站点,那可以不通过日志采集模块,直接调用日志收集模块,收集日志。
所述日志展示模块,用于把收集到的日志数据,从redis里读取出来,通过可视化页面展示出来;
所述日志监控预警模块,用于通过定时查询redis的zset有序集合中的日志计数器,当日志计数器超过设定的数量大小,则通过短信或者邮箱的形式通知站点负责人。
所述分布式日志采集模块进一步具体为:分布式站点会部署在多台服务器上,服务器IP用来区分日志发生在哪台服务器,对各个服务器的站点日志进行分别采集,采集到的日志数据包括日志时间、日志内容、日志等级,采集后的日志数据分别存储在各自服务器的目录上,通过post请求方式进行传输,传输时记录时间戳ticket,签名校验sign,服务器IP,站点标识moduleKey,其中,采集间隔:循环逐级采集日志文件目录,直到文件采集结束,定时每分钟查看是否有最新的日志产生。
所述日志收集模块进一步具体为:通过接口的方式接收传输参数:时间戳ticket,签名校验sign,服务器IP,站点标点moduleKey;对签名进行验签,即校验签名是否合法,验签方式为:sign=(ticket+IP+moduleKey)Md5;对时间戳进行校验,即校验时间戳ticket是否误差在设定时间内,超过则视为无效采集;把收集的日志数据放入消息队里中,再另起线程,逐一从消息队列里读取日志数据,按照设定的存储方式存到redis里;所述存储方式为:日志数据存储于redis的zset有序集合中,按照站点标识moduleKey:服务器IP:年:月:日:小时,作为key进行存储;所述zset有序集合设置有日志计数器,存储日志数据的时候,也额外累加存储站点的日志数量,按服务器和日期维度将日志数据存到redis的zset有序集合中,用于之后的日志监控预警,zset有序集合有score数值和value值属性,利用socre存储累加的日志数量即作为日志计数器进行统计,用value存储记录的日期维度。所述日期维度格式为:站点标识moduleKey_小时,其中,监控粒度小则按小时累计,监控粒度大则按天累计。
在本发明中,所述可视化页面展示方式:先确定分布式服务器上哪些天有日志数据,即通过reids命令EXISTS来确定是否存在key来得出此服务器上哪些时段有日志数据;根据存储方式中的key,能确定对应的服务器和存储的时间段;定位到时间段上是否有日志数据后,再根据站点标识moduleKey、服务器IP、日期,来筛选日志数据,从而按服务器和时间段的方式进行展示。
所述日志监控预警模块进一步具体为:通过定时查询redis的zset有序集合中的日志计数器,定时循环监控redis的zset有序集合中的socre,socre数值超过设定的数量大小,则获得对应的value值,根据value值的日期维度即能得到出问题的站点,并通知站点的负责人;另外,站点发布在多台服务器上,在日志内容存在问题后,能通过value值和key快速定位到出问题的服务器上。
下面结合一具体实施例对本发明作进一步说明:
所述系统包括分布式日志采集模块、日志收集模块、日志展示模块、以及日志监控预警模块;
一:分布式日志采集模块
作用:制作采集程序,运行在服务器上,采集各个服务器上的日志文件目录,把采集的日志数据,通过post请求方式,传输到日志收集模块上。
1)采集内容:日志时间、日志内容、日志等级。
2)传输记录日志信息:时间戳ticket,签名校验sign,服务器IP(分布式站点会部署在多台服务器上,服务器IP用来区分日志发生在哪台服务器上),站点标识moduleKey(站点标识是根据站点来定的,用于区分不同站点的日志),采集到的日志时间、日志内容、日志等级,通过Post请求传输到日志收集模块上。
3)采集间隔:循环逐级采集日志文件目录,直到文件采集结束,定时每分钟查看是否有最新的日志产生。
二:日志收集模块
作用:该模块是一个接口站点,用于接收收集日志数据,按照设定的规则存储在redis中。
1)接收参数:时间戳ticket,签名校验sign,服务器IP,站点标识moduleKey,采集到的日志时间、日志内容、日志等级。
2)验签:校验签名是否合法,验签规则:sign=(ticket+IP+moduleKey)Md5。
3)校验时间戳:校验时间戳ticket是否误差5分钟内,超过则视为非法。
4)消息队列:把收集的日志放入消息队里中,再另起线程,逐一从消息队列里读取日志数据,按照设定的存储规则,存到redis里。
5)存储规则:日志数据存储于redis的zset集合中,按照moduleKey:分布式服务器IP:年:月:日:小时,作为key存储。举例moduleKey=zhifu.99.com,服务器IP=10.90.22.239,日志时间=2020-05-14 12:32:48,缓存key=zhifu.99.com:10.90.22.239:2020:05:14:12。如图3所示,展示了zhifu.99.com站点下2台服务器的日志数据在redis里的存储方式。
6)计数器:存储日志数据的时候,也额外累加存储站点的日志数量,按站点和日期维度存到redis的zset有序集合中,用于之后的日志监控预警模块,zset有序集合有score数值和value值,可以用socre存储累加的日志数量,用value存储记录的维度。例如可以这么组织维度value,zhifu.99.com_09或者zhifu.99.com_21。如果监控粒度小就按小时累计,大一些可以按天累计。
三:日志展示模块
作用:把日志模块收集到的日志,从redis里读取出来,通过可视化界面展示。
1)首先要先确定分布式服务器上哪些天有数据,系统可以通过reids命令EXISTS来确定是否存在key来得出此服务器上哪些时段有数据。根据日志收集模块数据的存储规则可以知道,key规则是moduleKey:分布式服务器IP:年:月:日:小时。例如服务器10.90.22.239上在2020-05-14 12点这小时有数据,那key=zhifu.99.com:10.90.22.239:2020:05:14:12就会存在。同理假设11点的时候没有日志数据,那zhifu.99.com:10.90.22.239:2020:05:14:11这个key就不存在。
2)知道怎么定位时段上是否有日志后,可以根据站点moduleKey和分布式服务器IP,再加上知道一天有24小时,那就循环判断24小时里哪些时段有日志数据,那只要在这些时段上排查问题即可。
3)通过站点标识moduleKey、服务器IP、日期,来筛选数据。
四:日志监控预警模块
作用:通过定时查询zset里的日志计数器,超过一定的数量大小的score,就通过短信或者邮箱通知负责人,当然短信和邮箱是提前设定好的。
1)定时循环监控redis的zset有序集合中的socre,超过一定大小的取出,得到value,根据维度value:zhifu.99.com_12,就可以知道要通知zhifu.99.com站点的负责人了。
2)例如,根据如图4所示,知道zhifu.99.com站点在10点-12点的日志数情况,假设设定的阈值是300,那超过300就会对zhifu.99.com进行责任人通知。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (8)
1.一种分布式服务器的日志采集监控方法,其特征在于:所述方法包括如下步骤:
步骤S1、对各个服务器的站点日志进行分别采集,采集后的日志数据分别存储在各自服务器的目录上,且每个服务器都有对应的服务器IP;
步骤S2、通过接口的方式,接收各个服务器采集的日志数据并存储在消息队里中,再逐个从消息队列中读取日志数据,并按服务器IP和日志时间来做区分,存储在redis里;
步骤S3、把收集到的日志数据,从redis里读取出来,通过可视化页面展示出来;
步骤S4、通过定时查询redis的zset有序集合中的日志计数器,当日志计数器超过设定的数量大小,则通过短信或者邮箱的形式通知站点负责人;
所述步骤S1进一步具体为:分布式站点会部署在多台服务器上,服务器IP用来区分日志发生在哪台服务器,对各个服务器的站点日志进行分别采集,采集到的日志数据包括日志时间、日志内容、日志等级,采集后的日志数据分别存储在各自服务器的目录上,通过post请求方式进行传输,传输时记录时间戳ticket,签名校验sign,服务器IP,站点标识moduleKey,其中,采集间隔:循环逐级采集日志文件目录,直到文件采集结束,定时每分钟查看是否有最新的日志产生;
所述步骤S2进一步具体为:通过接口的方式接收传输参数:时间戳ticket,签名校验sign,服务器IP,站点标点moduleKey;对签名进行验签,即校验签名是否合法,验签方式为:sign=(ticket+IP+moduleKey)Md5;对时间戳进行校验,即校验时间戳ticket是否误差在设定时间内,超过则视为无效采集;把收集的日志数据放入消息队里中,再另起线程,逐一从消息队列里读取日志数据,按照设定的存储方式存到redis里;所述存储方式为:日志数据存储于redis的zset有序集合中,按照站点标识moduleKey:服务器IP:年:月:日:小时,作为key进行存储;所述zset有序集合设置有日志计数器,存储日志数据的时候,也额外累加存储站点的日志数量,按服务器和日期维度将日志数据存到redis的zset有序集合中,用于之后的日志监控预警,zset有序集合有score数值和value值属性,利用socre存储累加的日志数量即作为日志计数器进行统计,用value存储记录的日期维度。
2.根据权利要求1所述的一种分布式服务器的日志采集监控方法,其特征在于:所述日期维度格式为:站点标识moduleKey_小时,其中,监控粒度小则按小时累计,监控粒度大则按天累计。
3.根据权利要求1所述的一种分布式服务器的日志采集监控方法,其特征在于:所述可视化页面展示方式:先确定分布式服务器上哪些天有日志数据,即通过reids命令EXISTS来确定是否存在key来得出此服务器上哪些时段有日志数据;根据存储方式中的key,能确定对应的服务器和存储的时间段;定位到时间段上是否有日志数据后,再根据站点标识moduleKey、服务器IP、日期,来筛选日志数据,从而按服务器和时间段的方式进行展示。
4.根据权利要求1所述的一种分布式服务器的日志采集监控方法,其特征在于:所述步骤S4进一步具体为:通过定时查询redis的zset有序集合中的日志计数器,定时循环监控redis的zset有序集合中的socre,socre数值超过设定的数量大小,则获得对应的value值,根据value值的日期维度即能得到出问题的站点,并通知站点的负责人;另外,站点发布在多台服务器上,在日志内容存在问题后,能通过value值和key快速定位到出问题的服务器上。
5.一种分布式服务器的日志采集监控系统,其特征在于:所述系统包括分布式日志采集模块、日志收集模块、日志展示模块、以及日志监控预警模块;
所述分布式日志采集模块,用于对各个服务器的站点日志进行分别采集,采集后的日志数据分别存储在各自服务器的目录上,且每个服务器都有对应的服务器IP;
所述日志收集模块,用于通过接口的方式,接收各个服务器采集的日志数据并存储在消息队里中,再逐个从消息队列中读取日志数据,并按服务器IP和日志时间来做区分,存储在redis里;
所述日志展示模块,用于把收集到的日志数据,从redis里读取出来,通过可视化页面展示出来;
所述日志监控预警模块,用于通过定时查询redis的zset有序集合中的日志计数器,当日志计数器超过设定的数量大小,则通过短信或者邮箱的形式通知站点负责人;所述分布式日志采集模块进一步具体为:分布式站点会部署在多台服务器上,服务器IP用来区分日志发生在哪台服务器,对各个服务器的站点日志进行分别采集,采集到的日志数据包括日志时间、日志内容、日志等级,采集后的日志数据分别存储在各自服务器的目录上,通过post请求方式进行传输,传输时记录时间戳ticket,签名校验sign,服务器IP,站点标识moduleKey,其中,采集间隔:循环逐级采集日志文件目录,直到文件采集结束,定时每分钟查看是否有最新的日志产生;
所述日志收集模块进一步具体为:通过接口的方式接收传输参数:时间戳ticket,签名校验sign,服务器IP,站点标点moduleKey;对签名进行验签,即校验签名是否合法,验签方式为:sign=(ticket+IP+moduleKey)Md5;对时间戳进行校验,即校验时间戳ticket是否误差在设定时间内,超过则视为无效采集;把收集的日志数据放入消息队里中,再另起线程,逐一从消息队列里读取日志数据,按照设定的存储方式存到redis里;所述存储方式为:日志数据存储于redis的zset有序集合中,按照站点标识moduleKey:服务器IP:年:月:日:小时,作为key进行存储;所述zset有序集合设置有日志计数器,存储日志数据的时候,也额外累加存储站点的日志数量,按服务器和日期维度将日志数据存到redis的zset有序集合中,用于之后的日志监控预警,zset有序集合有score数值和value值属性,利用socre存储累加的日志数量即作为日志计数器进行统计,用value存储记录的日期维度。
6.根据权利要求5所述的一种分布式服务器的日志采集监控系统,其特征在于:所述日期维度格式为:站点标识moduleKey_小时,其中,监控粒度小则按小时累计,监控粒度大则按天累计。
7.根据权利要求5所述的一种分布式服务器的日志采集监控系统,其特征在于:所述可视化页面展示方式:先确定分布式服务器上哪些天有日志数据,即通过reids命令EXISTS来确定是否存在key来得出此服务器上哪些时段有日志数据;根据存储方式中的key,能确定对应的服务器和存储的时间段;定位到时间段上是否有日志数据后,再根据站点标识moduleKey、服务器IP、日期,来筛选日志数据,从而按服务器和时间段的方式进行展示。
8.根据权利要求5所述的一种分布式服务器的日志采集监控系统,其特征在于:所述日志监控预警模块进一步具体为:通过定时查询redis的zset有序集合中的日志计数器,定时循环监控redis的zset有序集合中的socre,socre数值超过设定的数量大小,则获得对应的value值,根据value值的日期维度即能得到出问题的站点,并通知站点的负责人;另外,站点发布在多台服务器上,在日志内容存在问题后,能通过value值和key快速定位到出问题的服务器上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010421123.8A CN111708685B (zh) | 2020-05-18 | 2020-05-18 | 一种分布式服务器的日志采集监控方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010421123.8A CN111708685B (zh) | 2020-05-18 | 2020-05-18 | 一种分布式服务器的日志采集监控方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111708685A CN111708685A (zh) | 2020-09-25 |
CN111708685B true CN111708685B (zh) | 2022-08-09 |
Family
ID=72537781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010421123.8A Active CN111708685B (zh) | 2020-05-18 | 2020-05-18 | 一种分布式服务器的日志采集监控方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111708685B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112988798B (zh) * | 2021-03-29 | 2023-05-23 | 成都卫士通信息产业股份有限公司 | 一种日志处理方法、装置、设备及介质 |
CN112764940B (zh) * | 2021-04-12 | 2021-07-30 | 北京一流科技有限公司 | 多级分布式数据处理部署系统及其方法 |
CN113254465B (zh) * | 2021-05-25 | 2022-11-01 | 四川虹魔方网络科技有限公司 | 缓存最终一致性更新方法 |
CN117150105B (zh) * | 2023-10-27 | 2023-12-26 | 四川银亿科技有限公司 | 一种基于网页的数据采集方法及采集平台 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106452819A (zh) * | 2015-08-13 | 2017-02-22 | 腾讯科技(深圳)有限公司 | 数据采集系统及数据采集方法 |
CN109308329A (zh) * | 2018-09-27 | 2019-02-05 | 深圳供电局有限公司 | 一种基于云平台的日志收集方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8868601B2 (en) * | 2009-08-17 | 2014-10-21 | International Business Machines Corporation | Distributed file system logging |
-
2020
- 2020-05-18 CN CN202010421123.8A patent/CN111708685B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106452819A (zh) * | 2015-08-13 | 2017-02-22 | 腾讯科技(深圳)有限公司 | 数据采集系统及数据采集方法 |
CN109308329A (zh) * | 2018-09-27 | 2019-02-05 | 深圳供电局有限公司 | 一种基于云平台的日志收集方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111708685A (zh) | 2020-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111708685B (zh) | 一种分布式服务器的日志采集监控方法及系统 | |
US5668944A (en) | Method and system for providing performance diagnosis of a computer system | |
CN101331459B (zh) | 对应用程序产生的日志数据进行远程监视的方法和设备 | |
CN102801785B (zh) | 一种对广告投放引擎进行监控的系统及方法 | |
CN109391629B (zh) | 轨道交通综合监控系统数据处理方法 | |
CN111538563A (zh) | 一种对Kubernetes的事件分析方法及装置 | |
CA2744076A1 (en) | Providing customized information to a user based on identifying a trend | |
CN102597966B (zh) | 运行管理装置以及运行管理方法 | |
CN106326280B (zh) | 数据处理方法、装置及系统 | |
CN104574219A (zh) | 电网业务信息系统运行工况的监测预警方法及系统 | |
CN112491622A (zh) | 定位业务系统故障根因的方法和系统 | |
CN114201540A (zh) | 工业多源数据采集及存储系统 | |
CN114417200B (zh) | 网络数据的采集方法、装置及电子设备 | |
CN114595129A (zh) | 一种可配置的多维度数据监控方法、装置及存储介质 | |
CN106534162A (zh) | 一种基于远程管理通讯协议的服务器温度监控系统及方法 | |
CN114253806A (zh) | 一种接入层日志收集分析预警系统 | |
CN112632387B (zh) | 一种基于大数据的政策信息个性化定制推送系统 | |
US5559726A (en) | Method and system for detecting whether a parameter is set appropriately in a computer system | |
CN111143155A (zh) | 一种应用于通信行业实现告警同步和清除机制的方法 | |
CN112667149B (zh) | 一种数据热度感知方法、装置、设备及介质 | |
CN111611508B (zh) | 一种用户实际访问网址的识别方法及装置 | |
CN110941536B (zh) | 监控方法及系统、第一服务器集群 | |
CN114629786A (zh) | 日志实时分析方法、装置、存储介质及系统 | |
CN113852199B (zh) | 一种多维度的配电自动化巡检系统 | |
CN113722196A (zh) | 一种基于去中心化的用户行为信息分析系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |