CN109739825B - 管理日志的方法、装置和存储介质 - Google Patents
管理日志的方法、装置和存储介质 Download PDFInfo
- Publication number
- CN109739825B CN109739825B CN201811634278.9A CN201811634278A CN109739825B CN 109739825 B CN109739825 B CN 109739825B CN 201811634278 A CN201811634278 A CN 201811634278A CN 109739825 B CN109739825 B CN 109739825B
- Authority
- CN
- China
- Prior art keywords
- logs
- items
- label
- tag
- user
- 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
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种管理日志的方法、装置和存储介质。该方法包括:采集步骤,采集多个容器的多个日志和与所述多个日志分别一一对应的多个第一标签,每个第一标签包含多个标签项;过滤步骤,对所述多个日志中的每个日志的所述第一标签项进行过滤,得到所述多个日志和与所述多个日志分别一一对应的多个第二标签,每个第二标签包含所述多个标签项中的部分标签项;自定义步骤,根据自定义标签项,从所述多个日志中取出所述第二标签包含所述自定义标签项的部分日志。
Description
技术领域
本发明涉及管理日志的方法、装置和存储介质。
背景技术
Kubernetes(k8s)是一种容器管理系统,越来越多的应用将通过Kubernetes以容器的方式在开发、测试和生产环境中运行。Kubernetes让管理大规模的容器变得容易,但是它也有很陡峭的学习曲线。为了解决Kubernetes的管理问题,目前有很多的产品和服务推出:AWS、Azure、Google、UCloud、阿里云、腾讯云等主流公有云提供的是基于Kubernetes的容器服务。
无论你采用何种方式管理基于Kubernetes的容器集群,一个基础的需求是:当出现问题的时候,要有有效的容器日志分析功能,帮助快速定位问题的根源,发现数据价值,提高工作效率。面对像Kubernetes这样的基础架构,整个容器集群上面运行着指数级增长的容器应用,容器日志必须要做集中处理和打标签才能有效分析。
目前,针对Kubernetes的日志收集有许多种开源方案,Kubernetes官方提供了一个Elasticsearch附加组件来实现容器集群的日志管理。另外,还有一种基于Filebeat来自动收集Kubernetes管理的容器的日志的分析系统,通过运行在节点上的Filebeat收集日志,并汇总到统一的Redis集群中。
然而,上述的日志解决方案都是基于单用户需求的,并没有考虑到Kubernetes可以是面向多个不同用户的,如果用户想自定义日志服务,做日志数据挖掘、监测日志,或者使用不同的可视化日志工具,那么上述的日志解决方案都不能满足用户的需求。同时上述日志解决方案都没有做日志监测,没有通知Kubernetes管理员的机制,这将给Kubernetes系统的稳定性带来风险。
发明内容
本发明提供一种管理日志的方法,该方法包括:
采集步骤,采集多个容器的多个日志和与所述多个日志分别一一对应的多个第一标签,每个第一标签包含多个标签项;
过滤步骤,对所述多个日志中的每个日志的所述第一标签项进行过滤,得到所述多个日志和与所述多个日志分别一一对应的多个第二标签,每个第二标签包含所述多个标签项中的部分标签项;
自定义步骤,根据自定义标签项,从所述多个日志中取出所述第二标签包含所述自定义标签项的部分日志。
其中,所述多个标签项包括管理所述多个容器的系统的一个以上的系统标签项以及用户添加的一个以上的用户标签项。
其中,所述部分标签项是所述用户关心的标签项,包括所述一个以上的用户标签项和所述一个以上的系统标签项中的部分系统标签项。
其中,所述过滤步骤进一步包括:根据所述第二标签中的预定标签项,对所述多个日志进行分类,得到分类后的多个日志。
其中,所述方法进一步包括:存储步骤,存储所述分类后的多个日志。
其中,所述方法进一步包括:监测步骤,对存储的所述分类后的多个日志进行监测,当监测到预定出错条件时,发出预警。
本发明还提供一种管理日志的装置,该装置包括多个容器并且包括:
一个以上的采集单元,采集所述多个容器的多个日志和与所述多个日志分别一一对应的多个第一标签,每个第一标签包含多个标签项;
过滤单元,对所述多个日志中的每个日志的所述第一标签项进行过滤,得到所述多个日志和与所述多个日志分别一一对应的多个第二标签,每个第二标签包含所述多个标签项中的部分标签项;
自定义单元,根据自定义标签项,从所述多个日志中取出所述第二标签包含所述自定义标签项的部分日志。
其中,所述多个标签项包括管理所述多个容器的系统的一个以上的系统标签项以及用户添加的一个以上的用户标签项。
其中,所述部分标签项是所述用户关心的标签项,包括所述一个以上的用户标签项和所述一个以上的系统标签项中的部分系统标签项。
其中,所述过滤单元根据所述第二标签中的预定标签项,对所述多个日志进行分类,得到分类后的多个日志。
其中,所述装置进一步包括:存储单元,存储所述分类后的所述多个日志。
其中,所述装置进一步包括:监测单元,对存储的所述分类后的所述多个日志进行监测,当监测到预定出错条件时,发出预警。
其中,所述一个以上的采集单元中每个采集单元采集与其处于同一物理机中的容器的日志和标签。
本发明还提供一种非易失性存储介质,在所述非易失性存储介质上存储有管理日志的程序,所述程序被计算机执行以实现管理日志的方法,该程序包括:
采集指令,采集多个容器的多个日志和与所述多个日志分别一一对应的多个第一标签,每个第一标签包含多个标签项;
过滤指令,对所述多个日志中的每个日志的所述多个标签项进行过滤,得到所述多个日志和与所述多个日志分别一一对应的多个第二标签,每个第二标签包含所述多个标签项中的部分标签项;
自定义指令,根据自定义标签项,从所述多个日志中取出所述部分标签项包含所述自定义标签项的部分日志。
通过本发明,不同的用户可以通过自定义的方式获取自定义日志服务,同时还可以确保系统的稳定性。
附图说明
图1是根据本发明第一实施例的管理日志的装置的结构图;
图2是根据本发明第一实施例的管理日志的方法的流程图;
图3是根据本发明第二实施例的管理日志的装置的结构图;
图4是根据本发明第二实施例的管理日志的方法的流程图。
具体实施方式
下面结合附图,对本发明的实施例进行详细说明。
第一实施例
图1是根据本发明第一实施例的管理日志的装置1a的结构图。如图1所示,该装置1a包括多个容器101a、101b、101c、一个以上的采集单元102a、102b、过滤单元103和自定义单元104。为了示例,图1中只显示了容器101a、101b、101c和采集单元102a、102b,但是容器和采集单元的个数可以是任意个,而不受限制。
本例中,容器101a、101b和采集单元102a位于同一台物理机(例如,图未视的物理机a)中,容器101c和采集单元102b位于同一台物理机(例如,图未视的物理机b)中。
图2是根据本发明第一实施例的管理日志的方法的流程图,下面结合图1和图2具体说明本发明的第一实施例。
在采集步骤S21,采集单元102a、102b采集容器101a、101b、101c的3个日志loga、logb、logc和与3个日志分别一一对应的3个第一标签Ma、Mb、Mc,每个第一标签包含多个标签项。
其中,每个采集单元采集与其在同一物理机上的容器的日志和标签。例如,采集单元102a采集与其在同一物理机上的容器101a的日志loga、第一标签Ma以及容器102b的日志logb、第一标签Mb;采集单元102b采集与其在同一物理机上的容器101c的日志logc、第一标签Mc。
其中,每个第一标签包含多个标签项,多个标签项包括管理容器101a、101b、101c的系统的一个以上的系统标签项以及用户添加的一个以上的用户标签项。该系统例如是现有的k8s系统,一个以上的系统标签项例如是命名空间(namespace)、时间等等,一个以上的用户标签项例如是应用名称等等。
其中,该装置1a还包括应用程序接口服务器(APIserver)107,在APIserver107上存储有与每个容器的标识符(ID)对应的第一标签。采集单元102a采集容器101a的日志loga、IDa以及容器102b的日志logb、IDb,采集单元102b采集容器101c的日志logc、IDc。采集单元102a将IDa、IDb发送给APIserver 107,并从APIserver 107获取与IDa、IDb分别对应的第一标签Ma、Mb。类似地,采集单元102b将IDc发送给APIserver 107,并从APIserver 107获取与IDc对应的第一标签Mc。
在过滤步骤S22,过滤单元103对3个日志loga、logb、logc中的每个日志的第一标签Ma、Mb、Mc进行过滤,得到3个日志loga、logb、logc和与这3个日志分别一一对应的3个第二标签Ma’、Mb’、Mc’,每个第二标签包含上述多个标签项中的部分标签项。
其中,部分标签项是用户关心的标签项,包括一个以上的用户标签项和一个以上的系统标签项中的部分系统标签项。这里,用户关心的标签项可以是满足用户预设条件的标签项,例如,用户关心的标签项包括命名空间(系统标签项之一)以及用户添加的所有用户标签项。也就是说,3个第二标签Ma’、Mb’、Mc’中的每个第二标签包含命名空间以及所有用户标签项。
在过滤步骤S22中,过滤单元103将所有采集单元102a、102b采集的3个日志loga、logb、logc及其各自的3个第一标签Ma、Mb、Mc汇聚在一起,并对3个第一标签Ma、Mb、Mc进行过滤,得到3个日志loga、logb、logc以及各自的3个第二标签Ma’、Mb’、Mc’。
接着,在自定义步骤S23,自定义单元104根据自定义标签项,从3个日志中取出第二标签包含该预定标签项的部分日志。
该自定义标签项例如可以被用户预先输入并存储在自定义单元104中,例如,该自定义标签项是应用名称A,用户想要取出带有第二标签中包含应用名称A的日志。例如,loga的第二标签Ma’中包含应用名称A,那么就可以从3个日志loga、logb、logc中取出部分日志loga。
这里,不同的用户可以根据自己的需求来自定义该自定义标签项,使得不同的用户可以获取自己想要的一些日志。经过步骤S23取出的部分日志可以被发送给各自的用户,用于后续处理,例如日志分析、日志数据挖掘等等。
通过本发明,用户可以通过自定义的方式获取自定义日志服务,从而进行日志数据挖掘、日志分析等等。
第二实施例
图3是根据本发明第二实施例的管理日志的装置1b的结构图,该装置1b包括图1中的装置1a中的容器101a、101b、101c、采集单元102a、102b、过滤单元103和自定义单元104,还包括存储单元105和监测单元106。
图4是根据本发明第二实施例的管理日志的方法的流程图,下面结合图3和图4具体说明本发明的第二实施例。
在采集步骤S21,与第一实施例相同,采集单元102a采集与其在同一物理机上的容器101a的日志loga、第一标签Ma以及容器102b的日志logb、第一标签Mb;采集单元102b采集与其在同一物理机上的容器101c的日志logc、第一标签Mc。
其中,该装置1b也包括图1a中的应用程序接口服务器(APIserver)107,在APIserver107上存储有与每个容器的标识符(ID)对应的第一标签。采集单元102a采集容器101a的日志loga、IDa以及容器102b的日志logb、IDb,采集单元102b采集容器101c的日志logc、IDc。采集单元102a将IDa、IDb发送给APIserver 107,并从APIserver107获取与IDa、IDb分别对应的第一标签Ma、Mb。类似地,采集单元102b将IDc发送给APIserver 107,并从APIserver 107获取与IDc对应的第一标签Mc。
在过滤步骤S22,与第一实施例相同,过滤单元103将所有采集单元102a、102b采集的3个日志loga、logb、logc及其各自的3个第一标签Ma、Mb、Mc汇聚在一起,并对3个第一标签Ma、Mb、Mc进行过滤,得到3个日志loga、logb、logc以及各自的3个第二标签Ma’、Mb’、Mc’。
另外,在第二实施例中,过滤单元103还根据第二标签Ma’、Mb’、Mc’中的预定标签项,对3个日志进行分类,得到分类后的3个日志。
例如,预定标签项是第二标签包含的部分标签项中的命名空间,根据命名空间对3个日志进行分类。例如,loga的命名空间为NS1,logb和logc的命名空间为NS2,得到分类后的3个日志,如表1所示。
表1
命名空间 | 日志 |
NS1 | loga |
NS2 | Logb,logc |
在存储步骤S24,存储单元105存储分类后的3个日志。也就是说,根据表1,可以按照命名空间对3个日志进行分类存储,便于后续分类查看、搜索等等。
接着,在监测步骤S25,监测单元对存储的分类后的3个日志进行监测,当监测到预定出错条件时,发出预警。
其中,预定出错条件例如是日志中的某个标签项中出现了error。例如,当监测到loga中的时间标签项中出现了error,那么监测单元106就发出预警,并提示管理容器的系统(例如k8s系统)的管理员,从而确保该系统的稳定性。
另外,在步骤S23,与第一实施例相同,自定义单元104根据自定义标签项,从3个日志中取出第二标签包含该自定义标签项的部分日志。例如,该自定义标签项是应用名称A,用户想要取出带有第二标签中包含应用名称A的日志。例如,loga的第二标签Ma’中包含应用名称A,那么就可以从3个日志loga、logb、logc中取出部分日志loga。如此,不同的用户可以根据自己的需求自定义该自定义标签项,使得不同的用户可以获取自己想要的一些日志。
利用本发明,用户不仅可以通过自定义的方式获取自定义日志服务,还可以确保管理容器的系统的稳定性。
较佳的,该装置1b还包括图未视的显示单元,用于显示存储单元105中存储的分类后的多个日志。该显示单元可以是液晶显示器等等,而不受限制。
本发明还提供一种非易失性存储介质,在所述非易失性存储介质上存储有管理日志的程序,所述程序被计算机执行以实现管理日志的方法,该程序包括:
采集指令,采集多个容器的多个日志和与所述多个日志分别一一对应的多个第一标签,每个第一标签包含多个标签项;
过滤指令,对所述多个日志中的每个日志的所述多个标签项进行过滤,得到所述多个日志和与所述多个日志分别一一对应的多个第二标签,每个第二标签包含所述多个标签项中的部分标签项;
自定义指令,根据自定义标签项,从所述多个日志中取出所述部分标签项包含自定义标签项的部分日志。
虽然经过对本发明结合具体实施例进行描述,对于本领域的技术技术人员而言,根据上文的叙述后作出的许多替代、修改与变化将是显而易见。因此,当这样的替代、修改和变化落入附后的权利要求的精神和范围之内时,应该被包括在本发明中。
Claims (14)
1.一种管理日志的方法,其特征在于,所述方法包括:
采集步骤,采集多个容器的多个日志和与所述多个日志分别一一对应的多个第一标签,每个第一标签包含多个标签项;
过滤步骤,对所述多个日志中的每个日志的所述第一标签进行过滤,得到所述多个日志和与所述多个日志分别一一对应的多个第二标签,每个第二标签包含所述多个标签项中的部分标签项;
自定义步骤,根据自定义标签项,从所述多个日志中取出所述第二标签包含所述自定义标签项的部分日志。
2.如权利要求1所述的方法,其特征在于,所述多个标签项包括管理所述多个容器的系统的一个以上的系统标签项以及用户添加的一个以上的用户标签项。
3.如权利要求2所述的方法,其特征在于,所述部分标签项是所述用户关心的标签项,包括所述一个以上的用户标签项和所述一个以上的系统标签项中的部分系统标签项。
4.如权利要求1-3中任一项所述的方法,其特征在于,所述过滤步骤进一步包括:根据所述第二标签中的预定标签项,对所述多个日志进行分类,得到分类后的多个日志。
5.如权利要求4所述的方法,其特征在于,所述方法进一步包括:
存储步骤,存储所述分类后的多个日志。
6.如权利要求5所述的方法,其特征在于,所述方法进一步包括:
监测步骤,对存储的所述分类后的多个日志进行监测,当监测到预定出错条件时,发出预警。
7.一种管理日志的装置,其特征在于,所述装置包括多个容器并且包括:
一个以上的采集单元,采集所述多个容器的多个日志和与所述多个日志分别一一对应的多个第一标签,每个第一标签包含多个标签项;
过滤单元,对所述多个日志中的每个日志的所述第一标签进行过滤,得到所述多个日志和与所述多个日志分别一一对应的多个第二标签,每个第二标签包含所述多个标签项中的部分标签项;
自定义单元,根据自定义标签项,从所述多个日志中取出所述第二标签包含所述自定义标签项的部分日志。
8.如权利要求7所述的装置,其特征在于,所述多个标签项包括管理所述多个容器的系统的一个以上的系统标签项以及用户添加的一个以上的用户标签项。
9.如权利要求8所述的装置,其特征在于,所述部分标签项是所述用户关心的标签项,包括所述一个以上的用户标签项和所述一个以上的系统标签项中的部分系统标签项。
10.如权利要求7-9中任一项所述的装置,其特征在于,所述过滤单元根据所述第二标签中的预定标签项,对所述多个日志进行分类,得到分类后的多个日志。
11.如权利要求10所述的装置,其特征在于,所述装置进一步包括:
存储单元,存储所述分类后的所述多个日志。
12.如权利要求11所述的装置,其特征在于,所述装置进一步包括:
监测单元,对存储的所述分类后的所述多个日志进行监测,当监测到预定出错条件时,发出预警。
13.如权利要求7所述的装置,其特征在于,所述一个以上的采集单元中每个采集单元采集与其处于同一物理机中的容器的日志和标签。
14.一种非易失性存储介质,在所述非易失性存储介质上存储有管理日志的程序,所述程序被计算机执行以实现管理日志的方法,其特征在于,所述程序包括:
采集指令,采集多个容器的多个日志和与所述多个日志分别一一对应的多个第一标签,每个第一标签包含多个标签项;
过滤指令,对所述多个日志中的每个日志的所述多个标签项进行过滤,得到所述多个日志和与所述多个日志分别一一对应的多个第二标签,每个第二标签包含所述多个标签项中的部分标签项;
自定义指令,根据自定义标签项,从所述多个日志中取出所述部分标签项包含所述自定义标签项的部分日志。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811634278.9A CN109739825B (zh) | 2018-12-29 | 2018-12-29 | 管理日志的方法、装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811634278.9A CN109739825B (zh) | 2018-12-29 | 2018-12-29 | 管理日志的方法、装置和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109739825A CN109739825A (zh) | 2019-05-10 |
CN109739825B true CN109739825B (zh) | 2021-04-30 |
Family
ID=66362221
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811634278.9A Active CN109739825B (zh) | 2018-12-29 | 2018-12-29 | 管理日志的方法、装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109739825B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110311817B (zh) * | 2019-06-28 | 2021-09-28 | 四川长虹电器股份有限公司 | 用于Kubernetes集群的容器日志处理系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102567146A (zh) * | 2011-12-29 | 2012-07-11 | 北京握奇数据系统有限公司 | 一种实现日志备份的方法及其装置、智能卡 |
CN106201602A (zh) * | 2016-06-30 | 2016-12-07 | 北京奇虎科技有限公司 | 一种标签提供方法、获取方法、服务器及电子设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103744890B (zh) * | 2013-12-23 | 2017-02-01 | 清华大学 | 日志分离方法及装置 |
US20150347562A1 (en) * | 2014-06-02 | 2015-12-03 | Qualcomm Incorporated | Deriving user characteristics from users' log files |
CN106649044A (zh) * | 2016-12-28 | 2017-05-10 | 深圳市深信服电子科技有限公司 | 一种基于容器云系统的日志处理方法、装置及其系统 |
CN108847968B (zh) * | 2018-06-04 | 2021-06-01 | 国网浙江省电力有限公司 | 监控事故、异常事件辨识及多维分析方法 |
-
2018
- 2018-12-29 CN CN201811634278.9A patent/CN109739825B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102567146A (zh) * | 2011-12-29 | 2012-07-11 | 北京握奇数据系统有限公司 | 一种实现日志备份的方法及其装置、智能卡 |
CN106201602A (zh) * | 2016-06-30 | 2016-12-07 | 北京奇虎科技有限公司 | 一种标签提供方法、获取方法、服务器及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN109739825A (zh) | 2019-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110855473B (zh) | 一种监控方法、装置、服务器及存储介质 | |
CN104407964B (zh) | 一种基于数据中心的集中监控系统及方法 | |
CN1992636B (zh) | 一种处理告警信息的系统及方法 | |
CN102340415B (zh) | 一种服务器集群系统的监控方法和一种服务器集群系统 | |
CN109861878B (zh) | kafka集群的topic数据的监控方法及相关设备 | |
CN111309567B (zh) | 数据处理方法、装置、数据库系统、电子设备及存储介质 | |
CN108521339B (zh) | 一种基于集群日志的反馈式节点故障处理方法及系统 | |
CN112965874B (zh) | 一种可配置的监控告警方法及系统 | |
CN107958337A (zh) | 一种信息资源可视化移动管理系统 | |
EP3432520B1 (en) | Efficient storage and querying of time series metrics | |
CN106940677A (zh) | 一种应用日志数据告警方法及装置 | |
CN111190888A (zh) | 一种管理图数据库集群的方法和装置 | |
CN103942210A (zh) | 海量日志信息的处理方法、装置与系统 | |
CN112269718B (zh) | 一种业务系统故障分析方法及装置 | |
CN108737170A (zh) | 一种批量日志异常数据告警方法及装置 | |
CN102937984B (zh) | 一种收集数据的系统、客户端和方法 | |
CN110209518A (zh) | 一种多数据源日志数据集中收集存储方法及装置 | |
CN107239502B (zh) | 基于salt的数据库错误日志监控系统 | |
US9922116B2 (en) | Managing big data for services | |
CN108390782A (zh) | 一种集中式应用系统性能问题综合分析方法 | |
CN114048090A (zh) | 基于k8s的容器云平台监控的方法、设备及存储介质 | |
CN109698766A (zh) | 通信电源故障分析的方法及系统 | |
CN113032252A (zh) | 埋点数据的收集方法、装置、客户端设备和存储介质 | |
CN109739825B (zh) | 管理日志的方法、装置和存储介质 | |
CN114221997A (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 |