基于salt的海量mongodb慢日志管理系统技术方案

技术编号:16327270 阅读:34 留言:0更新日期:2017-09-29 19:07
本发明专利技术公开了一种基于salt的海量mongodb慢日志管理系统,包括salt管理端、mongodb节点和分布式存储;salt管理端用于注册和注销salt客户端,发送指令到salt客户端;mongodb节点是部署mongodb服务的服务器,每个mongodb节点均需要部署salt客户端;salt客户端接收salt管理端的指令,完成相应的操作,返回结果给salt管理端;mongodb节点包括慢日志管理模块;分布式存储是指存储海量小文件的分布式文件系统,包括存储慢日志模块。本发明专利技术系统采用分布式存储,可以支持大规模mongodb慢日志存储;采用自动化方式管理慢日志,维护成本很低;解析mongodb慢日志,可以轻松查看效率低下的慢查询,大大提升性能调优效果。采用平台方式展示慢日志解析文件,更加直观,可视化效果更好。

【技术实现步骤摘要】
基于salt的海量mongodb慢日志管理系统
本专利技术属于mongodb数据库慢日志管理和性能调优领域,主要应用于互联网行业海量存储和性能调优场景。
技术介绍
随着互联网行业蓬勃发展,业务对数据库的需求更加多样化,其中,mongodb数据库作为非关系型数据库,在盛传环境应用越来越广泛。对于大规模mongodb集群,管理海量的慢日志显得越来越重要。现有的管理慢日志系统的缺点:(1)维护成本高:需要较多的人工维护mongodb日志管理工作,效率低下。(2)功能简单:无法解析mongodb慢日志和展示慢日志,无法查看历史信息。(3)缺乏自动化:自动化程度低下,需要大量的人力操作。
技术实现思路
本专利技术的目的在于针对现有技术的不足,提供一种基于salt的海量mongodb慢日志管理系统,可以管理大规模mongodb慢日志,并且可以解析慢日志,为性能调优提供参考依据。本专利技术的目的是通过以下技术方案来实现的:一种基于salt的海量mongodb慢日志管理系统,包括salt管理端、mongodb节点和分布式存储;salt管理端是管理salt客户端的服务器,用于注册和注销salt客户端,发送指令到salt客户端;salt管理端包括salt管理模块、元信息管理模块、采集慢日志模块和解析慢日志模块;mongodb节点是部署mongodb服务的服务器,每个mongodb节点均需要部署salt客户端;salt客户端接收salt管理端的指令,完成相应的操作,返回结果给salt管理端;mongodb节点包括慢日志管理模块;分布式存储是指存储海量小文件的分布式文件系统,包括存储慢日志模块。进一步地,所述salt管理模块包括:在所有mongodb节点部署salt客户端,salt管理端部署在单独的一台服务器上。该模块定期调用salt管理端接口,检查所有的mongodb节点上的salt客户端是否注册到salt管理端,如未注册,调用salt管理端接口,注册所述salt客户端;如注册失败,则发送通知给管理员。可选择注销某个mongodb节点的salt客户端。所有的mongodb节点对应的salt客户端全部注册到salt管理端后,salt管理端就可以发送指令和文件给salt客户端,完成特定的操作。在salt管理端,定期检测salt客户端是否通达,如不通,发送通知给管理员。进一步地,所述元信息管理模块包括:salt管理端定期调用元信息管理模块,及时获取最新的元信息。所述元信息包括mongodb节点主机名、mongodb节点IP、mongodb端口和mongodb慢日志文件名。首先,salt管理端获取所有的mongodb节点主机名;然后,针对每个mongodb节点,salt管理端通过发送指令给salt客户端,获取每个mongodb节点上所有的mongodb进程信息,通过mongodb进程信息,可以解析得到mongodb配置文件名,通过所述mongodb配置文件名,可以获取mongodb端口和mongodb慢日志文件名。同时,根据mongodb节点主机名获取到mongodb节点IP。所述mongodb节点主机名、mongodb节点IP、mongodb端口和mongodb慢日志文件名保存在元信息表中。存储慢日志模块运行结束后,慢日志文件名和存储路径保存在慢日志元信息表中。进一步地,所述慢日志管理模块包括:需要传入的参数:mongodb节点主机名mongodb慢日志文件名慢日志管理模块定期切割慢日志文件和清理无用慢日志文件。在salt管理端,采用定时任务形式,定期切割所有mongodb节点上的mongodb慢日志文件:针对每个所述mongodb节点,根据所述mongodb慢日志文件名,执行归档操作,将mongodb慢日志文件内容打印到一个以日期为后缀的文件里,记为归档文件;同时,清空mongodb慢日志文件内容。所述日期是当天的日期。对于3天前的归档文件,定期删除。在salt管理端,定期清理3天前的mongodb慢日志文件和慢日志解析文件。进一步地,所述采集慢日志模块包括:需要传入如下两个参数:mongodb节点主机名、归档mongdb慢日志文件名。慢日志管理模块执行结束后,salt管理端发送操作指令到mongodb节点上salt客户端,采集mongodb节点上的归档mongodb慢日志文件,这样,归档mongodb慢日志文件传输到salt管理端指定目录。进一步地,所述解析慢日志模块包括:需要传入的参数:归档mongodb慢日志文件名分析归档mongodb慢日志文件内容,得到慢日志统计信息,保存在相应的慢日志解析文件。salt管理端在调用采集慢日志模块结束之后,所有的归档mongodb慢日志文件存放在salt管理端指定目录中,此时,定时任务调用慢日志解析脚本,解析每个归档mongodb慢日志文件,分别得到相应的慢日志解析文件。进一步地,所述存储慢日志模块包括:需要传入的参数:归档mongodb慢日志文件名、归档mongodb慢日志解析文件名在salt管理端,通过调用分布式存储接口,上传所述归档mongodb慢日志文件和慢日志解析文件到分布式存储,然后返回mongodb慢日志文件和慢日志解析文件的存储路径,分别记为慢日志存储路径和慢日志解析文件存储路径。然后调用元信息管理模块,把慢日志文件名,慢日志存储路径,慢日志解析文件和慢日志解析文件存储路径记录到慢日志元信息表中。进一步地,该系统还包括慢日志管理平台,用于在web页面展示慢日志的详细信息,方便查看mongodb数据库存在的性能问题和及时进行调优;包括展示慢日志模块,存储慢日志模块执行结束后,慢日志管理平台调用慢日志元信息表展示所述慢日志解析文件,便于直观查看mongodb存在的性能问题,为性能调优提供准确参考。本专利技术提出的基于salt的海量mongodb慢日志管理系统,优点如下:(1)支持海量存储:本专利技术采用分布式存储,可以支持大规模mongodb慢日志存储。(2)维护成本低:采用自动化方式管理慢日志,维护成本很低(3)便于性能调优:解析mongodb慢日志,可以轻松查看效率低下的慢查询,大大提升性能调优效果。(4)可视化展示:采用平台方式展示慢日志解析文件,更加直观,可视化效果更好。附图说明图1是本专利技术基于salt的海量mongodb慢日志管理系统总体架构图。图2是本专利技术各个模块相互调用的流程图。具体实施方式图1是本专利技术基于salt的海量mongodb慢日志管理系统总体架构图。总体包括四部分:salt管理端、mongodb节点、分布式存储和慢日志管理平台。salt管理端首先获取所有mongodb节点的mongodb慢日志元信息,然后采集慢日志并进行解析,把慢日志文件和慢日志解析文件存储在分布式存储中,在慢日志管理平台中展示mongodb慢日志解析文件内容。图2是本专利技术各个模块相互调用的流程图。首先,salt管理模块通过salt客户端获取所有mongodb节点上mongodb服务元信息,并注册到元信息管理模块;通过salt客户端定期切割慢日志文件,采集慢日志模块采集所述慢日志并发送所述慢日志到salt管理端;解析慢日志模块在salt管理端解析所述慢日志得到解析文件,然后存储慢日志模块发送所本文档来自技高网...
基于salt的海量mongodb慢日志管理系统

【技术保护点】
一种基于salt的海量mongodb慢日志管理系统,其特征在于,包括salt管理端、mongodb节点和分布式存储;salt管理端是管理salt客户端的服务器,用于注册和注销salt客户端,发送指令到salt客户端;salt管理端包括salt管理模块、元信息管理模块、采集慢日志模块和解析慢日志模块;mongodb节点是部署mongodb服务的服务器,每个mongodb节点均需要部署salt客户端;salt客户端接收salt管理端的指令,完成相应的操作,返回结果给salt管理端;mongodb节点包括慢日志管理模块;分布式存储是指存储海量小文件的分布式文件系统,包括存储慢日志模块。

【技术特征摘要】
1.一种基于salt的海量mongodb慢日志管理系统,其特征在于,包括salt管理端、mongodb节点和分布式存储;salt管理端是管理salt客户端的服务器,用于注册和注销salt客户端,发送指令到salt客户端;salt管理端包括salt管理模块、元信息管理模块、采集慢日志模块和解析慢日志模块;mongodb节点是部署mongodb服务的服务器,每个mongodb节点均需要部署salt客户端;salt客户端接收salt管理端的指令,完成相应的操作,返回结果给salt管理端;mongodb节点包括慢日志管理模块;分布式存储是指存储海量小文件的分布式文件系统,包括存储慢日志模块。2.根据权利要求1所述的一种基于salt的海量mongodb慢日志管理系统,其特征在于,所述salt管理模块包括:在所有mongodb节点部署salt客户端,salt管理端部署在单独的一台服务器上。该模块定期调用salt管理端接口,检查所有的mongodb节点上的salt客户端是否注册到salt管理端,如未注册,调用salt管理端接口,注册所述salt客户端;如注册失败,则发送通知给管理员。可选择注销某个mongodb节点的salt客户端。所有的mongodb节点对应的salt客户端全部注册到salt管理端后,salt管理端就可以发送指令和文件给salt客户端,完成特定的操作。在salt管理端,定期检测salt客户端是否通达,如不通,发送通知给管理员。3.根据权利要求1所述的一种基于salt的海量mongodb慢日志管理系统,其特征在于,所述元信息管理模块包括:salt管理端定期调用元信息管理模块,及时获取最新的元信息。所述元信息包括mongodb节点主机名、mongodb节点IP、mongodb端口和mongodb慢日志文件名。首先,salt管理端获取所有的mongodb节点主机名;然后,针对每个mongodb节点,salt管理端通过发送指令给salt客户端,获取每个mongodb节点上所有的mongodb进程信息,通过mongodb进程信息,可以解析得到mongodb配置文件名,通过所述mongodb配置文件名,可以获取mongodb端口和mongodb慢日志文件名。同时,根据mongodb节点主机名获取到mongodb节点IP。所述mongodb节点主机名、mongodb节点IP、mongodb端口和mongodb慢日志文件名保存在元信息表中。存储慢日志模块运行结束后,慢日志文件名和存储路径保存在慢日志元信息表中。4.根据权利要求1所述的一种基于salt的海量mongodb慢日志管理系统,其特征在于,所述慢日志管理模块包括:需要传入的参数:mongodb...

【专利技术属性】
技术研发人员:顾伟涛
申请(专利权)人:杭州铭师堂教育科技发展有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1