CN109510732A - 一种实现网络设备自动化日志过滤方法及其*** - Google Patents
一种实现网络设备自动化日志过滤方法及其*** Download PDFInfo
- Publication number
- CN109510732A CN109510732A CN201810683635.4A CN201810683635A CN109510732A CN 109510732 A CN109510732 A CN 109510732A CN 201810683635 A CN201810683635 A CN 201810683635A CN 109510732 A CN109510732 A CN 109510732A
- Authority
- CN
- China
- Prior art keywords
- journal file
- filtered
- filename
- ansi
- network equipment
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/028—Capturing of monitoring data by filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/069—Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0245—Filtering by information in the payload
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种实现网络设备自动化日志过滤方法及其***,方法包括如下步骤:1)获取日志文件的文件名;2)通过正则匹配,获取日志文件名与其后缀,在文件名后添加”_”形成新的文件名,与后缀拼接,形成新的文件名;3)对ANSI ESC序列进行过滤;4)对无效十六进制字符进行过滤;5)将过滤后的日志文件写入新创建的日志文件中。本发明无须对开发的项目进行修改,即可对出现乱码的日志文件进行过滤,在不覆盖原有日志文件的前提下生成新的不含乱码的日志文件副本,提高了开发效率。
Description
技术领域
本发明属于网络通信技术领域,具体涉及一种实现网络设备自动化日志过滤方法及其***。
背景技术
在网络设备中,最常用的日志记录方法就是网络设备读取交互操作中的交互信息,通过文件写入重定向操作,将日志信息写入到日志文本中。在一般情况下,这种方法无疑是高效的,所看即所得,但是在网络设备中,这种日志记录方法将导致日志内容出现乱码。在网络设备中查看日志文本无任何异常,但在文本查看器中查看日志,便会发现大量乱码,这给开发人员进行开发带来了很多不便。
在网络设备的开发过程中,日志是必不可少的一部分,因为网络设备无法在本地调试,一旦出现问题,极大程度上需要依赖于日志文件,而日志文件的可读性也尤为重要,日志文件中出现的乱码会给开发人员带来极大的阻碍。
Python是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。Python的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。
正则表达式是对字符串和特殊字符操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则表达式是一种文本模式,模式描述在搜索文本时要匹配的一个或多个字符串。
发明内容
针对现有技术存在的不足,本发明目的是提供一种实现网络设备自动化日志过滤方法及其***,该过滤方法会对日志文件进行二次过滤,不仅可以过滤掉无效的十六进制ASCII字符,还能过滤掉控制屏幕输出格式的ANSI ESC序列,在人力和效率准确率上有着显著效果。
为了实现上述目的,本发明是通过如下的技术方案来实现:
本发明的一种实现网络设备自动化日志过滤方法,包括以下步骤:
1)获取日志文件的文件名;
2)通过正则匹配,获取日志文件名与其后缀,在文件名后添加”_”形成新的文件名,与后缀拼接,形成新的文件名;
3)对ANSI ESC序列进行过滤;
4)对无效十六进制字符进行过滤;
5)将过滤后的日志文件写入新创建的日志文件中。
步骤1)中,自动化日志过滤方法提供了调用接口,开发人员将需要过滤的日志文件的文件名作为参数传入,便可对日志文件进行过滤操作。
步骤2)中,新的文件名形成方法如下:
调用接口传入的是带后缀名的完整文件名,为了在不覆盖原日志文件的基础上将过滤信息写入新的日志文件中,需要对文件名进行解析,得到去除后缀名之后的文件名,基于该文件名去创建日志文件副本。
步骤3)中,对ANSI ESC序列进行过滤的方法如下:
ANSI ESC序列是用于控制输出格式的序列,ANSI ESC序列在日志文件中会变成乱码,通过正则表达式,匹配全部ANSI ESC序列,对日志文件中的ANSI ESC序列进行过滤。
步骤4)中,对无效十六进制字符进行过滤的方法如下:
首先需要找出哪些十六进制字符为无效的,然后对它们进行过滤。
步骤5)中,将过滤后的日志文件写入新创建的日志文件中具体方法如下:
为了节省内存,日志文件的读写同时进行,每读一行,先进行过滤,再将其写入日志文件副本中。
本发明的一种实现网络设备自动化日志过滤***,包括
输入模块,提供调用接口,用于获取日志文件的文件名,并将其转换为新日志文件的文件名,供输出模块使用;
过滤模块,用于对出现乱码的日志文件进行过滤,即首先对控制屏幕格式的ANSIESC序列进行过滤,通过正则表达式,匹配全部ANSI ESC序列,实现对日志文件中的ANSIESC序列的过滤,其次,对无效的十六进制字符进行过滤,通过遍历所有的十六进制字符,找出其中哪些是无效的,然后对它们进行过滤;;
和输出模块,用于将过滤后的日志文件内容写入新的日志文件中。
本发明在需要进行日志文件过滤时,网络设备可以使用日志过滤***进行日志过滤,首先获取日志文件的文件名,生成日志文件副本,对日志文件进行两次过滤,先过滤掉用于控制屏幕输出格式的ANSI ESC序列,再过滤掉无效的十六进制字符,最后将过滤后的日志写入日志副本文件中。基于上述描述可知,通过日志过滤***,无须对开发的项目进行修改,即可对出现乱码的日志文件进行过滤,在不覆盖原有日志文件的前提下生成新的不含乱码的日志文件副本,提高了开发效率。
附图说明
图1为本发明的一种实现网络设备自动化日志过滤方法工作流程图;
图2为本发明的一种实现网络设备自动化日志过滤***框图。
具体实施方式
为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施方式,进一步阐述本发明。
针对日志文件中出现的乱码,可以实现自动化地过滤,并在不覆盖原有日志文件的基础上,将过滤后的日志文件写入新的日志文件中。对于日志文件中的多余空格,可以实现智能过滤。通过正则表达式对乱码进行匹配,使用python实现的软件***为开发人员提供调用接口,在不改变开发项目结构的基础上实现乱码的过滤。
参见图1,该实施例可以应用于一切具有日志过滤需求的网络设备(例如,防火墙、路由器、交换机等设备)上,该日志过滤方法包括如下步骤:
步骤1:获取日志文件的文件名。
在一实施例中,由于多个日志文件存在乱码,因此基于日志文件文件名对日志文件进行过滤,增加过滤方法的普适性,日志过滤方法在接收到传入的日志文件名后,便会自动进行过滤。
步骤2:通过正则匹配,获取日志文件名与其后缀,在文件名后添加”_”形成新的文件名,与后缀拼接,形成新的文件名。
在一实施例中,为了考虑日志文件的安全性,过滤方法不会覆盖原日志文件,而是创建一个新的日志文件。例如,需要进行过滤的日志为“test.log”,那么,对于过滤后的日志内容则会存储到“test_.log”日志文件中。
步骤3:对ANSI ESC序列进行过滤。
主要对两种类型的乱码进行过滤,一种是ANSI ESC序列,一种是无效的十六进制字符。ANSI ESC序列以两个特定的字符作为开头(ESC转义字符和左方括号),ESC转义字符属于无效的十六进制字符,因此不能先对无效的十六进制字符进行过滤,不然会破坏ANSIESC序列结构,导致过滤不完全。
在一实施例中,通过正则匹配对日志文件进行过滤。首先分析潜在的ANSI ESC序列,然后分析ANSI ESC序列的特定语法,使用正则匹配对其进行过滤。例如对于ESC[PnD这样的ANSI ESC序列,ESC、[与D为固定字符,Pn为特定的列,为可变字符,因此使用’\x1b\[\d+D’正则匹配对其过滤。
步骤4:对无效十六进制字符进行过滤。
在一实施例中,日志过滤方法可以对无效的十六进制字符进行过滤。首先筛选出对于日志文件无效的十六进制字符,然后对于无效的十六进制字符,在日志文件中进行过滤。
在一实施例中,针对与乱码伴生出现的无效空格,日志过滤方法可以对其进行有效地过滤,而不影响日志文件的阅读,这一点在英文日志中尤为重要。对于日志文件中出现的乱码,在过滤的同时过滤掉其前面的若干空格,实现对无效空格的过滤。
步骤5:将过滤后的日志文件写入新创建的日志文件中。
在一示例性场景中,开发人员查看日志文件时,发现日志文件中存在乱码,两种方案可供开发人员选择。一种是,手动执行日志过滤方法,指定日志文件文件名,对日志文件进行过滤;第二种方案是,对项目进行修改,在日志文件输出完毕后调用日志过滤方法,实现日志文件的过滤。推荐使用第二种方法,因为第二种方法会在每次日志输出完毕后自动对日志文件进行过滤。
由上述实施例可知,在需要进行日志文件过滤时,网络设备可以使用日志过滤***进行日志过滤,首先获取日志文件的文件名,生成日志文件副本,对日志文件进行两次过滤,先过滤掉用于控制屏幕输出格式的ANSI ESC序列,再过滤掉无效的十六进制字符,最后将过滤后的日志写入日志副本文件中。基于上述描述可知,通过日志过滤***,无须对开发的项目进行修改,即可对出现乱码的日志文件进行过滤,在不覆盖原有日志文件的前提下生成新的不含乱码的日志文件副本,提高了开发效率。
与前述日志过滤方法的实施例相对应,本发明还提供了日志过滤***的实施例。
本发明日志过滤***的实施例可以应用于一切具有日志过滤需求的网络设备(例如,防火墙、路由器、交换机等设备)上。网络设备通过本日志过滤***可以方便地对日志文件进行过滤。
参见图2,该日志过滤***包括:输入模块、过滤模块、输出模块。
其中,输入模块,提供调用接口处,用于获取日志文件的文件名,并将其转换为新日志文件的文件名,供输出模块使用。
过滤模块,用于对出现乱码的日志文件进行过滤,即首先对控制屏幕格式的ANSIESC序列进行过滤,通过正则表达式,匹配全部ANSI ESC序列,实现对日志文件中的ANSIESC序列的过滤,其次,对无效的十六进制字符进行过滤,通过遍历所有的十六进制字符,找出其中哪些是无效的,然后对它们进行过滤;
输出模块,用于将过滤后的日志文件内容写入新的日志文件中。
上述模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
Claims (7)
1.一种实现网络设备自动化日志过滤方法,其特征在于,包括以下步骤:
1)获取日志文件的文件名;
2)通过正则匹配,获取日志文件名与其后缀,在文件名后添加”_”形成新的文件名,与后缀拼接,形成新的文件名;
3)对ANSI ESC序列进行过滤;
4)对无效十六进制字符进行过滤;
5)将过滤后的日志文件写入新创建的日志文件中。
2.根据权利要求1所述的实现网络设备自动化日志过滤方法,其特征在于,步骤1)中,自动化日志过滤方法提供了调用接口,开发人员将需要过滤的日志文件的文件名作为参数传入,便可对日志文件进行过滤操作。
3.根据权利要求1所述的实现网络设备自动化日志过滤方法,其特征在于,步骤2)中,新的文件名形成方法如下:
调用接口传入的是带后缀名的完整文件名,为了在不覆盖原日志文件的基础上将过滤信息写入新的日志文件中,需要对文件名进行解析,得到去除后缀名之后的文件名,基于该文件名去创建日志文件副本。
4.根据权利要求1所述的实现网络设备自动化日志过滤方法,其特征在于,步骤3)中,对ANSI ESC序列进行过滤的方法如下:
ANSI ESC序列是用于控制输出格式的序列,ANSI ESC序列在日志文件中会变成乱码,通过正则表达式,匹配全部ANSI ESC序列,对日志文件中的ANSI ESC序列进行过滤。
5.根据权利要求1所述的实现网络设备自动化日志过滤方法,其特征在于,步骤4)中,对无效十六进制字符进行过滤的方法如下:
首先需要找出哪些十六进制字符为无效的,然后对它们进行过滤。
6.根据权利要求1所述的实现网络设备自动化日志过滤方法,其特征在于,步骤5)中,将过滤后的日志文件写入新创建的日志文件中具体方法如下:
为了节省内存,日志文件的读写同时进行,每读一行,先进行过滤,再将其写入日志文件副本中。
7.一种实现网络设备自动化日志过滤***,其特征在于,包括
输入模块,提供调用接口,用于获取日志文件的文件名,并将其转换为新日志文件的文件名,供输出模块使用;
过滤模块,用于对出现乱码的日志文件进行过滤,即首先对控制屏幕格式的ANSI ESC序列进行过滤,通过正则表达式,匹配全部ANSI ESC序列,实现对日志文件中的ANSI ESC序列的过滤,其次,对无效的十六进制字符进行过滤,通过遍历所有的十六进制字符,找出其中哪些是无效的,然后对它们进行过滤;
和输出模块,用于将过滤后的日志文件内容写入新的日志文件中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810683635.4A CN109510732A (zh) | 2018-06-28 | 2018-06-28 | 一种实现网络设备自动化日志过滤方法及其*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810683635.4A CN109510732A (zh) | 2018-06-28 | 2018-06-28 | 一种实现网络设备自动化日志过滤方法及其*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109510732A true CN109510732A (zh) | 2019-03-22 |
Family
ID=65745513
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810683635.4A Pending CN109510732A (zh) | 2018-06-28 | 2018-06-28 | 一种实现网络设备自动化日志过滤方法及其*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109510732A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011126603A1 (en) * | 2010-04-08 | 2011-10-13 | Netscout Systems, Inc. | Real-time adaptive processing of network data packets for analysis |
CN104391881A (zh) * | 2014-10-30 | 2015-03-04 | 杭州安恒信息技术有限公司 | 一种基于分词算法的日志解析方法及*** |
CN104410532A (zh) * | 2014-12-12 | 2015-03-11 | 携程计算机技术(上海)有限公司 | 服务器及其日志过滤方法 |
CN106570057A (zh) * | 2016-09-29 | 2017-04-19 | 上海爱数信息技术股份有限公司 | 一种计算机日志的自动整合过滤方法及*** |
-
2018
- 2018-06-28 CN CN201810683635.4A patent/CN109510732A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011126603A1 (en) * | 2010-04-08 | 2011-10-13 | Netscout Systems, Inc. | Real-time adaptive processing of network data packets for analysis |
CN104391881A (zh) * | 2014-10-30 | 2015-03-04 | 杭州安恒信息技术有限公司 | 一种基于分词算法的日志解析方法及*** |
CN104410532A (zh) * | 2014-12-12 | 2015-03-11 | 携程计算机技术(上海)有限公司 | 服务器及其日志过滤方法 |
CN106570057A (zh) * | 2016-09-29 | 2017-04-19 | 上海爱数信息技术股份有限公司 | 一种计算机日志的自动整合过滤方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109062874A (zh) | 财政数据的获取方法、终端设备及介质 | |
Cociorva et al. | Validation of tandem mass spectrometry database search results using DTASelect | |
US20120166480A1 (en) | Xpath-based selection assistance of gui elements during manual test script authoring for xml-based applications | |
CN103544298B (zh) | 组件的日志分析方法和分析装置 | |
CN109635120A (zh) | 知识图谱的构建方法、装置和存储介质 | |
CN104391881A (zh) | 一种基于分词算法的日志解析方法及*** | |
CN103970533A (zh) | 屏幕录制的信息记录方法及装置 | |
CN102521316A (zh) | 用于日志分析的模式匹配框架 | |
US11989161B2 (en) | Generating readable, compressed event trace logs from raw event trace logs | |
CN103177022A (zh) | 一种恶意文件搜索方法及装置 | |
CN108229481A (zh) | 屏幕内容分析方法、装置、计算设备及存储介质 | |
CN104462504A (zh) | 基于搜索中提供推理过程数据的方法和装置 | |
CN111797111A (zh) | 一种基于es搜索引擎的动态组合查询方法 | |
CN109902070B (zh) | 一种面向WiFi日志数据的解析存储搜索方法 | |
CN108133017A (zh) | 一种多数据源采集配置方法及装置 | |
CN112069305B (zh) | 数据筛选方法、装置及电子设备 | |
CN109510732A (zh) | 一种实现网络设备自动化日志过滤方法及其*** | |
CN112988781A (zh) | 数据查询方法、装置、电子设备及计算机可读存储介质 | |
CN113741864B (zh) | 基于自然语言处理的语义化服务接口自动设计方法与*** | |
US20160267388A1 (en) | Inferring a context-sensitive business rule from a legacy business system | |
CN109062880A (zh) | 电子书文件的制作方法、电子设备、服务器、存储介质 | |
US8037092B2 (en) | System and method for merging manual parameters with predefined parameters | |
US7333971B2 (en) | Helpset build system and method | |
CN110347567B (zh) | 一种基于协议匹配的二进制数据日志分析方法和*** | |
CN109597624A (zh) | 一种sql格式化的方法 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190322 |