CN106412061A - 一种基于Linux的日志文件夹远程传输系统 - Google Patents
一种基于Linux的日志文件夹远程传输系统 Download PDFInfo
- Publication number
- CN106412061A CN106412061A CN201610859896.8A CN201610859896A CN106412061A CN 106412061 A CN106412061 A CN 106412061A CN 201610859896 A CN201610859896 A CN 201610859896A CN 106412061 A CN106412061 A CN 106412061A
- Authority
- CN
- China
- Prior art keywords
- log
- file
- task
- rsyslog
- folder
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
Abstract
本发明涉及一种基于Linux的日志文件夹远程传输系统,该系统设置于一Linux主机中,包括:日志文件夹监控管理器,用于管理日志文件夹监控任务;Crontab模块,用于保存日志文件夹监控任务,按设定任务调度计划触发日志文件夹监控任务;监控任务处理器,在日志文件夹监控任务触发时响应,用于根据日志文件夹监控任务监控目标文件夹的变化;日志文件配置管理器,根据目标文件夹的变化对与目标文件夹对应的rsyslog配置文件进行管理;Rsyslog模块,用于将经日志文件配置管理器管理后的目标文件夹下日志文件中的日志发送到远程日志服务器中。与现有技术相比,本发明具有灵活方便快速地实现本地日志文件批量上传、减少日志采集以及维护成本等优点。
Description
技术领域
本发明属于计算机日志信息处理领域,涉及一种使用rsyslog传输日志文件夹下的日志到远端日志服务器的系统,尤其是涉及一种基于Linux的日志文件夹远程传输系统。
背景技术
企业信息系统中会包含多种设备和应用,各种复杂的网络设备和应用系统每天都会产生大量的日志。企业内部一般会建立统一的日志收集、管理和分析系统。统一的日志管理和分析首先需要汇聚日志,一般汇聚日志是各个网络设备和应用系统将自身产生的日志发送到指定的日志服务器上。如何收集不同的网络设备和应用系统产生的各种日志成为企业目前不得不面对的一个重要问题。
目前大多数网络设备和应用系统的运行环境都是类UNIX操作系统的,而系统日志Syslog协议是一个工业标准协议(RFC3164),是在一个IP网络中转发系统日志信息的标准。Syslog协议允许一个设备通过网络把日志信息传递给日志信息接受者,通常为日志服务器。但是Syslog协议在网络安全的数据加密、正确性、传输认证、系统程序等方面存在不可忽视的漏洞,所以Rsyslog协议应用而生。Rsyslog协议解决了Syslog协议的相关漏洞,目前主流的Linux系统默认的日志协议为Rsyslog协议。所以企业内部一般使用Rsyslog工具来收集各种网络设备和应用系统的日志。
由于网络安全以及功能性限制,很多网络设备和应用系统产生的日志无法直接发送到远程服务器,需要将日志保存为本地文件。对于如何采集各个终端系统中的本地文件日志,目前解决方案有两种:一种是在需要采集日志的主机上部署日志采集的第三方客户端,第二种是使用主机系统默认自带的日志工具Rsyslog来收集日志。对于部署日志采集的第三方客户端这种方式,由于部署的第三方客户端可能会抢占系统资源、导致网络安全不可控以及系统安全不好隔离等原因,对现有系统的侵入性较强,所以此种方式在对侵入性敏感的运行环境系统中使用有很大的局限性。由于Rsyslog协议工具是系统默认自带的,所以不存在对当前系统的侵入性问题。同时,Rsyslog工具可以作为采集的客户端,支持监控本地日志文件并通过网络发送到远程日志服务器上,所以使用Rsyslog工具采集本地文件日志成为日志管理员收集日志的重要选项。
但是使用Rsyslog采集本地文件的日志存在以下不足之处:
一、不支持批量采集本地日志文件或文件夹。管理员需要每次针对单个日志文件生成相应的rsyslog配置文件。当产生的日志位于多个文件夹中的多个日志文件时,一方面很难管理需要上传的日志文件,另一方面对于日志管理员来说是很大的负担。
二、一般系统生成的日志会根据一定的策略进行切分或归类,如每天的日志生成以日期名作为文件名的日志文件,或者同一个文件夹下可能包含多种类型的日志,如何对日志文件夹下的日志文件进行过滤从而只上传指定的某些日志文件是另外一个需要解决的问题。
三、Rsyslog无法在指定的时间点文件夹上传新增的日志。例如,按日期切分的日志,管理员希望在每周末的凌晨收集本周的日志。
四、Rsyslog上传的日志没有日志类型和日志标签,导致在日志服务器处很不好处理此类日志。
因此,有必要对现有的日志信息处理方法进行改进。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于Linux的日志文件夹远程传输系统,可以指定需要传输的日志文件、远程的日志采集服务器和端口,同时提供按频率和定时触发等配置策略,可以灵活方便快速地解决Linux系统上批量上传本地日志文件到远程日志服务器的问题,极大地减少日志采集以及维护的成本。
本发明的目的可以通过以下技术方案来实现:
一种基于Linux的日志文件夹远程传输系统,该系统设置于一Linux主机中,包括:
日志文件夹监控管理器,用于管理日志文件夹监控任务,包括对日志文件夹监控任务的新建、删除和查询;
Crontab模块,用于保存所述日志文件夹监控任务,按设定任务调度计划触发所述日志文件夹监控任务;
监控任务处理器,在所述日志文件夹监控任务触发时响应,用于根据所述日志文件夹监控任务监控目标文件夹的变化;
日志文件配置管理器,根据所述监控任务处理器获得的目标文件夹的变化对与目标文件夹对应的rsyslog配置文件进行管理,包括对rsyslog配置文件的添加和删除;
Rsyslog模块,用于根据所述日志文件夹监控任务将经日志文件配置管理器管理后的目标文件夹下日志文件中的日志发送到远程日志服务器中。
所述日志文件夹监控管理器包括:
监控任务新建模块,用于获取任务参数并根据所述任务参数创建日志文件夹监控任务,所述任务参数包括目标文件夹绝对路径、任务调度计划、日志类型和日志标签;
监控任务查询模块,用于根据正在运行任务查询指令或任务id指令查询Crontab模块中相应的日志文件夹监控任务并显示;
监控任务删除模块,用于根据所有任务删除指令或任务id指令删除Crontab模块中相应的日志文件夹监控任务。
所述目标文件夹绝对路径包括精确路径、Linux通配符路径或层级通配符路径。
所述任务调度计划包括设定时间间隔调度或定时调度。
所述监控任务新建模块根据任务参数创建日志文件夹监控任务时,使用MD5生成任务id,将任务调度计划转化为符合crontab语法的时间策略,并将所创建的日志文件夹监控任务加入至Crontab模块中。
所述监控任务处理器包括:
rsyslog配置文件字典获取模块,用于根据日志文件夹监控任务调用日志文件配置管理器,获取归属当前日志文件夹监控任务的所有日志文件的rsyslog配置文件字典,记为D1;
MD5值字典获取模块,用于根据日志文件夹监控任务获取出需要监控的目标文件夹下的所有日志文件的绝对路径,并根据每个日志文件的绝对路径生成MD5值字典,记为D2;
rsyslog配置文件添加控制模块,用于对D2和D1做差集,得到字典D21,即D21=D2-D1,对字典D21中的每条日志文件信息调用日志文件配置管理器添加对应的rsyslog配置文件;
rsyslog配置文件删除控制模块,用于对D1和D2做差集,得到字典D12,即D12=D1-D2,对字典D12中的每条日志文件信息调用日志文件配置管理器删除对应的rsyslog配置文件。
所述rsyslog配置文件字典中的键存储的是rsyslog配置文件对应的监控文件的绝对路径生成的MD5值,值是对应的rsyslog配置文件的绝对路径。
所述MD5值字典中的键为日志文件对应的MD5值,值为对应的日志文件的绝对路径。
所述日志文件配置管理器包括:
rsyslog配置文件新建模块,用于根据日志文件的绝对路径新建与该日志文件对应的rsyslog配置文件;
rsyslog配置文件删除模块,用于根据MD5值指令或任务id指令删除相应的rsyslog配置文件,所述任务id包括单个任务id或多个任务id;
rsyslog配置文件获取模块,用于根据日志文件的绝对路径获取对应的rsyslog配置文件。
所述Rsyslog配置文件、日志文件以及日志文件监控任务相互映射关联。
与现有技术相比,本发明可以达到如下有益效果:
1、使用Crontab监控文件夹下的日志文件,并通过Rsyslog发送到远端的日志服务器,无需针对管理员针对单个日志文件设置Rsyslog配置文件。
2、当监控的日志文件夹的日志内容发生变化时,可以增量发送变化的内容到远端日志服务器,大大减少日志传输量。
3、可以按时间频率、指定时间点、指定时间段设置监控任务,这样可以按指定的频率、指定时间点或指定时间段内发送日志文件到远程的日志服务器,解决需要按频率、按时间点、时间段来传输日志的问题。
4、指定监控和发送的日志文件的路径支持通配符,可以灵活的过滤出文件夹下需要监控和传输的日志文件,解决根据过滤只传输用户希望的日志文件问题。
5、用户可以设置要发送的日志文件夹中日志的类型和标签,这样文件夹下所有日志文件的日志发送到远程服务器时候都会附加用户设定的日志类型和标签,便于日志服务器识别和处理日志。
附图说明
图1为本发明的结构示意图;
图2为本发明日志文件平监控任务的新建流程示意图;
图3为本发明监控任务处理流程示意图;
图4为本发明日志文件的rsyslog配置文件的新建流程示意图。
具体实施方式
以下对本发明中的实施方式进行清晰、完整的描述,显然所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域的技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明的保护范围。
本发明实现了一种使用crontab来监控日志文件夹,并使用Rsyslog将日志文件夹下日志文件中的日志发送到远程日志服务器的系统。由于本发明是基于Rsyslog读取单个日志文件并上传到远程日志服务器的基础实现的,首先介绍下Rsyslog的整体架构、配置文件的管理和实现单个日志文件并传输到远程日志服务器的方法,便于对后续本发明实现的Rsyslog传输日志文件夹有更好的理解。
1)Rsyslog整体架构
Rsyslog整体架构由日志的输入、过滤和输出三部分组成,对应为input、filter和output三类插件。input插件负责输入日志,filter插件用来过滤日志,output插件用来输出日志。Input插件中的imfile插件支持读取本地的某个日志文件,output插件中的omtcp或omudp支持使用tcp或udp协议将读取的日志发送到远程的日志服务器。
2)Rsyslog配置文件管理
Rsyslog以配置文件的形式来管理所有插件,默认配置文件为/etc/rsyslog.conf,其他配置文件可以存放在/etc/rsyslog.d目录下。rsyslog启动时会首先加载/etc/rsyslog.conf,然后加载/etc/rsyslog.d目录下的所有配置。/etc/rsyslog.d目录下的配置文件会重载/etc/rsyslog.conf配置文件中的功能。Rsyslog支持以一定的语法来定制化需要使用的插件,通常按功能需要将需要配置的功能写入到一个配置文件中并放在/etc/rsyslog.d目录下,这样便于维护,同时对于其它的功能不产生影响。例如需要读取两个日志文件A和B并发送到远程服务器,可以在/etc/rsyslog.d目录下创建日志文件A和B对应的Rsyslog配置文件A.conf和B.conf。
3)单个日志文件的读取和传输
对于单个日志文件的读取使用Rsyslog的imfile插件模块。Imfile插件需要指定读取的日志文件的绝对路径,输出使用omtcp插件以TCP协议传输日志。在/etc/rsyslog.d下新建此文件对应的配置文件,将插件功能写入到对应的配置文件中,重启Rsyslog即可实现读取某个日志文件并传输到远程服务器的功能。
如图1所示,本发明提供的基于Linux的日志文件夹远程传输系统设置于一Linux主机中,包括日志文件夹监控管理器1、Crontab模块2、监控任务处理器3、日志文件配置管理器4和Rsyslog模块5,其中,日志文件夹监控管理器1用于管理日志文件夹监控任务,包括对日志文件夹监控任务的新建、删除和查询;Crontab模块2用于保存日志文件夹监控任务,按设定任务调度计划触发日志文件夹监控任务;监控任务处理器3在日志文件夹监控任务触发时响应,用于根据日志文件夹监控任务监控目标文件夹的变化;日志文件配置管理器4根据监控任务处理器3获得的目标文件夹的变化对与目标文件夹对应的rsyslog配置文件进行管理,包括对rsyslog配置文件的添加和删除;Rsyslog模块5用于根据日志文件夹监控任务将经日志文件配置管理器4管理后的目标文件夹下日志文件中的日志发送到远程日志服务器中。
1、日志文件夹监控管理器
日志文件夹监控管理器1包括监控任务新建模块、监控任务查询模块和监控任务删除模块,监控任务新建模块,用于获取任务参数并根据任务参数创建日志文件夹监控任务,任务参数包括目标文件夹绝对路径、任务调度计划、日志类型和日志标签;监控任务查询模块,用于根据正在运行任务查询指令或任务id指令查询Crontab模块中相应的日志文件夹监控任务并显示;监控任务删除模块,用于根据所有任务删除指令或任务id指令删除Crontab模块中相应的日志文件夹监控任务。
1.1新建监控任务
用户调用日志文件夹监控任务管理装置,输入需要监控的目标文件夹的绝对路径、任务调度计划、日志类型和日志标签来创建一个监控任务。监控任务支持的功能包括:
1)目标文件夹的绝对路径
●支持递归监控目标文件夹下的所有子文件夹,如/usr/local/2016/下有以日志命令的文件夹08-30和08-31两个子文件夹,这两个子文件夹下各有两个日志文件access.log和error.log,则设置目标文件夹参数为/usr/local/2016会监控/usr/local/2016下所有子文件的日志文件。
●支持Linux通配符,如需要监控文件夹/usr/local/下所有的error开头的日志文件,可以设置为/usr/local/error*。
●支持文件路径的层级通配符,如文件夹路径为/usr/local/2016*/apache*,此文件夹路径会监控/usr/local路径下所有以2016开头的子文件夹中以apache开头的日志文件。
2)任务调度计划
任务调度计划定义了一个日志文件夹监控任务何时触发监控,支持的策略包括:
a.每隔一个时间间隔调用监控任务,时间间隔可以指定为秒、分、小时、天、星期、月和年。
b.定时调用监控任务,定时调用监控任务会在用户指定的某个时间点或时间段调用监控任务。
c.支持crontab的时间语法,可以灵活设置各种调度时间计划。
3)日志类型
日志类型用来表明当前监控的文件下的日志的类型,一个监控任务对应一个日志类型。发送日志文件的日志时候会自动在日志生成模板上附加上日志类型,便于远程日志服务器根据不同的日志类型对日志进行相应的处理。
4)日志标签
可以设置日志标签来给要监控的文件夹下的日志设置标签,当传输监控文件夹下的日志到远程日志服务器时,会自动给每条日志附加上日志标签,便于远程日志服务器进行相应的归类、聚合等操作。日志标签参数以逗号分隔,可以设置多个日志标签,也可以不设置日志标签。
如图2所示,新建监控任务的流程如下:
1)用户调用日志文件夹监控任务管理器,并输入参数:监控的目标文件夹的绝对路径dirPath、任务调度计划schedule、日志类型logType和日志标签logTag。
2)在目标文件夹存在且已有日志文件夹监控任务中不存在相同的目标文件夹时,日志文件夹监控任务管理器根据dirPath+schedule+logType+logTag使用MD5生成任务jobId。
3)日志文件夹监控任务管理器解析任务调度计划schedule参数,将schedule参数转换为对应的crontab的语法的时间策略。
4)日志文件夹监控任务管理器在Linux的crontab中添加一条新的任务,crontab中的监控任务格式如下:
schedule文件夹监控处理命令dirPath参数logType参数logTag参数#jobId。
1.2查询监控任务
通过日志文件夹监控任务管理器查询当前所有正在运行的日志文件夹监控任务或根据任务id查询某个监控任务。
查询所有监控任务的处理流程:
1)监控任务管理器扫描crontab下的所有任务。
2)对步骤1中返回的每条任务内容通过正则表达式过滤掉不符合本系统监控任务格式的其他任务,得到是由本发明的监控任务管理器生成的日志文件夹监控任务内容。
3)对步骤2中过滤出的监控任务解析其schedule、dirPath、logType、logTag和jobId,并返回。
根据任务id查询某个监控任务处理流程:
1)监控任务管理器直根据任务id扫描crontab下的所有任务,过滤出包含任务id的指定行的任务内容
2)对步骤2中过滤出的监控任务解析其schedule、dirPath、logType、logTag和jobId,并返回
1.3删除监控任务
日志文件夹监控任务管理器支持删除所有监控任务和根据任务id删除指定的某个任务。
删除所有监控任务的处理流程:
1)监控任务管理器扫描crontab下的所有任务。
2)对步骤1中返回的每条任务内容通过正则表达式过滤掉不是本发明的监控系统产生的任务。
3)删除步骤2中过滤出的监控任务
4)删除/etc/rsyslog.d下由日志文件配置管理装置生成的所有配置文件。
根据任务id删除监控任务处理流程:
1)监控任务管理器直根据任务id扫描crontab下的所有任务,过滤出包含任务id的指定行的任务内容。
2)删除步骤1中过滤出的该任务id的监控任务。
3)通知日志文件配置管理装置删除/etc/rsyslog.d目录下任务id为该任务id的所有配置文件。
2、监控任务处理器
监控任务处理器3主要负责监控日志文件夹的变化,并通知日志文件配置管理装置对/etc/rsyslog.d目录下的配置文件进行相应的新建、删除操作,包括rsyslog配置文件字典获取模块、MD5值字典获取模块、rsyslog配置文件添加控制模块和rsyslog配置文件删除控制模块。
每次监控任务的触发,都会调用日志文件夹的监控处理,如图3所示,日志文件夹的监控处理流程如下:
1)根据监控任务id,调用日志文件配置管理装置,获取归属当前监控任务的所有日志文件的rsyslog配置文件字典,假设该集合为D1,该字典D1中的键存储的是rsyslog配置文件对应的监控文件的绝对路径生成的MD5值,值是对应的rsyslog配置文件的绝对路径。
2)根据监控任务传递的目标文件夹的绝对路径,调用系统命令ls,获取出需要监控的文件夹下的所有日志子文件的绝对路径,并根据每个日志文件的绝对路径生成MD5值字典,假设该字典为D2。字典D2的键为日志文件对应的MD5值,字典的值为对应的日志文件的绝对路径。
3)做操作D2和D1做差集,得到字典D21,即D21=D2-D1,则字典D21即为监控的目标文件夹中新增的日志文件。在D21非空集时,对字典D21中的每条日志文件信息调用日志文件配置管理装置来添加一条rsyslog配置文件。
4)做操作D1和D2做差集,得到字典D12,即D12=D1-D2,则字典D12即为监控的目标文件夹中已删除的日志文件的信息。在D12非空集时,对D12中每条信息,调用日志文件配置管理装置来删除对应的rsyslog配置文件。
3、日志文件配置管理器
日志文件配置管理器4的功能包括新建、删除、获取日志文件对应的配置文件、根据监控任务id删除对应配置文件以及删除所有的配置文件。日志文件配置管理器4包括rsyslog配置文件新建模块、rsyslog配置文件删除模块和rsyslog配置文件获取模块。
3.1Rsyslog配置文件与日志文件和监控的对应策略
每个监控任务监控的文件夹下的日志文件都会在/etc/rsylog.d目录下对应的有一个配置文件,此配置文件用来监控、读取对应的日志文件中的日志并发送到远端的日志服务器。当监控的日志文件中新增了日志,Rsyslog能够发现日志文件的变化,并增量日志文件中新增的日志发送到远程日志服务器。当监控的日志文件被删除时,对应的Rsyslog配置文件也需要被删除。当某个监控任务被删除时,也需要删除该监控任务监控的日志文件对应的Rsyslog配置文件。
为了满足以上的功能,需要日志文件的Rsyslog配置文件建立与日志文件以及监控任务的映射关系。本发明通过配置文件名来实现此种关联映射,定义Rsyslog配置文件的文件名格式为:jobId_fileMD5.conf,jobId为监控任务id,fileMD5为对应的日志文件的MD5值。
3.2新建Rsyslog配置文件
如图4所示,新建日志文件对应的Rsyslog配置文件的流程如下:
1)根据日志文件的绝对路径生成MD5值。
2)/etc/rsyslog.d下的配置文件名中是否有包含该MD5值的文件,如果有,说明已经此日志文件已经被监控,则直接返回。
3)如果步骤2中,没有文件名中包含MD5值的文件,则在/etc/rsyslog.d目录下新建配置文件,配置文件名为jobId_fileMD5.conf。
4)向jobId_fileMD5.conf中写入如下配置项,以实现日志文件的增加上传、发送的日志带有日志类型和日志标签的内容,如下:
$InputFileName${FILEPATH}
$InputFileTag${TAGNAME}
$InputFileStateFile stat-${CUR_TIMESTAMP}-${TAGNAME}
$InputFileSeverity info
$InputFilePersistStateInterval 20000
$RepeatedMsgReduction off
\$InputRunFileMonitor
\$InputFilePollInterval 3
\$template AnyrobotFormat_${APPNAME},\"<%pri%>%protocol-version%%ti mestamp:::date-rfc3339%%HOSTNAME%%app-name%%procid%%msgid%[${AUTH_TOKEN}@${Anyrobot_DISTRIBUTION_ID}tag=\\\"${TAG}\\\"]%msg%\n\"
If$programname=='${APPNAME}'then@@${SYSLOG_SERVER_HOST}:${SYSLOG_SERVER_PORT};AnyrobotFormat_${APPNAME}
if$programname=='${APPNAME}'then~
3.3删除Rsyslog配置文件
删除Rsyslog配置文件分三种:
a)根据日志文件的MD5值删除配置文件
直接查找/etc/rsyslog.d目录中文件名中包含有该MD5的配置文件,然后直接删除。
b)根据任务id删除配置文件
直接查找/etc/rsyslog.d目录中文件名包含该任务id的配置文件,然后直接删除。
c)删除监控任务的所有的配置文件
获取所有的监控任务的id,然后依次删除对应的监控任务下的配置文件。
3.4获取日志对应的配置文件
由于日志文件的Rsyslog配置文件名中包含了日志文件绝对路径上的MD5值,所以要获取一个日志文件的配置文件直接根据其绝对路径的MD5值即可获取到对应的配置文件。
本发明的实施需要一台Linux主机,该主机上除了安装Rsyslog和Crontab外,还需要安装由三个Linux Shell脚本:task_manager.sh、task_process.sh和config_manage.sh,分别对应日志文件夹监控管理器、监控任务处理器和日志文件配置管理器。task_manager.sh用来创建文件夹监控任务,实施时只需要调用task_manager.sh根据输入参数来创建相应的任务即可。创建监控任务task_manager.s的调用方式如下:
./manage_monitor_task.sh-a--hour hour--minute minute--day_of_weekday_of_week--day_of_month day_of_month--month month-h host-p port--filepath/path/to/your/logfile--logType type_of_your_log--tag"custom_attributes_of_your_log
各个参数功能如下:
-a:添加一个监控任务
--hour:按小时频率调用监控任务
--minute:按分钟频率调用监控任务
--day_of_week:指定调用为每个星期的某一天
--day_of_month:指定调用的每月的日期
--month month:指定调用的月份
-h:远程主机ip
-p:远程主机接受日志的端口
--filepath:监控的文件夹的绝对路径
--logType:日志类型。可以设置多个标签,以逗号分隔
--tag:日志标签
下面是具体实施案例:
实施案例一按时间间隔定期监控日志文件夹,并将其下所有日志文件上传到远程日志服务器
案例环境:存在apache日志文件夹A,需要将文件夹A下的所有日志文件上传到IP为192.168.84.90、端口为5000的日志汇聚服务器上,并且设置日志类型为apache,标签设置为access和error,同时监控任务触发周期设置为每一小时。
实施方案:
1.如果仅要按每5分钟触发监控任务,则配置时间触发策略为:--minute 5,完整调用命令如下:
./manage_monitor_task.sh-a--minute 5-h 192.168.84.90-p 5000--filepath/A/*--logType apache--tag access,error
2.如果要按每2小时的时间间隔定期监控日志文件夹,则配置时间触发策略为:--hour 2,完整调用命令如下:
./manage_monitor_task.sh-a--hour 2-h 192.168.84.90-p 5000--filepath/A/*--logType apache--tag access,error
实施案例二按指定日期点监控日志文件夹,并将其下所有日志文件上传到远程日志服务器
案例背景:用户的日志存放在日志文件夹A下,用户需要指定的时间点来触发监控文件夹的任务,来收集新增的日志,其它背景条件和实施案例一中相同。
实施方案:
1.如果用户需要在每周日晚上的20:00收集文件夹A下新增的日志,则设置文件夹监控的时间触发策略为:--hour 20:00-day_of_week 7,完整调用命令如下:
./manage_monitor_task.sh-a---hour 20:00-day_of_week 7-h192.168.84.90-p5000--filepath/A/*--logType apache--tag access,error
2.如果用户需要在每月5号的晚上21:00到23:00,每半小时触发一下监控任务,则设置监控的时间触发策略为:--hour 21:00-23:00--day_of_month 5,完整调用命令如下:
./manage_monitor_task.sh-a--hour 21:00-23:00--day_of_month 5-h192.168.84.90-p 5000--filepath/A/*--logType apache--tag access,error
实施案例三根据日志文件名过滤监控文件中日志文件并上传远程日志服务器
案例背景:系统生成的日志根据时间生成相应的日志文件,例如日志文件存放在文件夹A,文件夹A下有根据日期生成的日志文件:2016-07-01.log,2016-07-02.log,2016-08-02.log、2016-08-04.log、2016-08-03.log五个日志文件。其他相关背景和实施例一中相同。
实施方案:
1.如果仅需要监控和上传8月份产生的日志文件,则配置监控的目的文件夹路径为:/A/2016-08*.log,完整命令如下:
./manage_monitor_task.sh-a--hour 1-h 192.168.84.90-p 5000--filepath/A/2016-08*.log--logType apache--tag access,error
2.如果仅需监控和上传每个月2号产生的日志文件,则配置监控的文件夹路径为:/A/2016-*-02.log,完整命令如下:
./manage_monitor_task.sh-a--hour 1-h 192.168.84.90-p 5000--filepath/A/2016-*-02.log--logType apache--tag access,error。
Claims (10)
1.一种基于Linux的日志文件夹远程传输系统,其特征在于,该系统设置于一Linux主机中,包括:
日志文件夹监控管理器,用于管理日志文件夹监控任务,包括对日志文件夹监控任务的新建、删除和查询;
Crontab模块,用于保存所述日志文件夹监控任务,按设定任务调度计划触发所述日志文件夹监控任务;
监控任务处理器,在所述日志文件夹监控任务触发时响应,用于根据所述日志文件夹监控任务监控目标文件夹的变化;
日志文件配置管理器,根据所述监控任务处理器获得的目标文件夹的变化对与目标文件夹对应的rsyslog配置文件进行管理,包括对rsyslog配置文件的添加和删除;
Rsyslog模块,用于根据所述日志文件夹监控任务将经日志文件配置管理器管理后的目标文件夹下日志文件中的日志发送到远程日志服务器中。
2.根据权利要求1所述的基于Linux的日志文件夹远程传输系统,其特征在于,所述日志文件夹监控管理器包括:
监控任务新建模块,用于获取任务参数并根据所述任务参数创建日志文件夹监控任务,所述任务参数包括目标文件夹绝对路径、任务调度计划、日志类型和日志标签;
监控任务查询模块,用于根据正在运行任务查询指令或任务id指令查询Crontab模块中相应的日志文件夹监控任务并显示;
监控任务删除模块,用于根据所有任务删除指令或任务id指令删除Crontab模块中相应的日志文件夹监控任务。
3.根据权利要求2所述的基于Linux的日志文件夹远程传输系统,其特征在于,所述目标文件夹绝对路径包括精确路径、Linux通配符路径或层级通配符路径。
4.根据权利要求2所述的基于Linux的日志文件夹远程传输系统,其特征在于,所述任务调度计划包括设定时间间隔调度或定时调度。
5.根据权利要求2所述的基于Linux的日志文件夹远程传输系统,其特征在于,所述监控任务新建模块根据任务参数创建日志文件夹监控任务时,使用MD5生成任务id,将任务调度计划转化为符合crontab语法的时间策略,并将所创建的日志文件夹监控任务加入至Crontab模块中。
6.根据权利要求1所述的基于Linux的日志文件夹远程传输系统,其特征在于,所述监控任务处理器包括:
rsyslog配置文件字典获取模块,用于根据日志文件夹监控任务调用日志文件配置管理器,获取归属当前日志文件夹监控任务的所有日志文件的rsyslog配置文件字典,记为D1;
MD5值字典获取模块,用于根据日志文件夹监控任务获取出需要监控的目标文件夹下的所有日志文件的绝对路径,并根据每个日志文件的绝对路径生成MD5值字典,记为D2;
rsyslog配置文件添加控制模块,用于对D2和D1做差集,得到字典D21,即D21=D2-D1,对字典D21中的每条日志文件信息调用日志文件配置管理器添加对应的rsyslog配置文件;
rsyslog配置文件删除控制模块,用于对D1和D2做差集,得到字典D12,即D12=D1-D2,对字典D12中的每条日志文件信息调用日志文件配置管理器删除对应的rsyslog配置文件。
7.根据权利要求6所述的基于Linux的日志文件夹远程传输系统,其特征在于,所述rsyslog配置文件字典中的键存储的是rsyslog配置文件对应的监控文件的绝对路径生成的MD5值,值是对应的rsyslog配置文件的绝对路径。
8.根据权利要求6所述的基于Linux的日志文件夹远程传输系统,其特征在于,所述MD5值字典中的键为日志文件对应的MD5值,值为对应的日志文件的绝对路径。
9.根据权利要求1所述的基于Linux的日志文件夹远程传输系统,其特征在于,所述日志文件配置管理器包括:
rsyslog配置文件新建模块,用于根据日志文件的绝对路径新建与该日志文件对应的rsyslog配置文件;
rsyslog配置文件删除模块,用于根据MD5值指令或任务id指令删除相应的rsyslog配置文件,所述任务id包括单个任务id或多个任务id;
rsyslog配置文件获取模块,用于根据日志文件的绝对路径获取对应的rsyslog配置文件。
10.根据权利要求1或9所述的基于Linux的日志文件夹远程传输系统,其特征在于,所述Rsyslog配置文件、日志文件以及日志文件监控任务相互映射关联。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610859896.8A CN106412061A (zh) | 2016-09-28 | 2016-09-28 | 一种基于Linux的日志文件夹远程传输系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610859896.8A CN106412061A (zh) | 2016-09-28 | 2016-09-28 | 一种基于Linux的日志文件夹远程传输系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106412061A true CN106412061A (zh) | 2017-02-15 |
Family
ID=58015607
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610859896.8A Pending CN106412061A (zh) | 2016-09-28 | 2016-09-28 | 一种基于Linux的日志文件夹远程传输系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106412061A (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107832352A (zh) * | 2017-10-23 | 2018-03-23 | 中国银行股份有限公司 | 日志自动处理方法、装置、存储介质及设备 |
CN108153654A (zh) * | 2017-12-01 | 2018-06-12 | 北京奇艺世纪科技有限公司 | 一种日志收集方法及装置 |
CN108170585A (zh) * | 2017-12-26 | 2018-06-15 | 广东欧珀移动通信有限公司 | 日志处理方法、装置、终端设备及存储介质 |
CN109086098A (zh) * | 2018-07-23 | 2018-12-25 | 郑州云海信息技术有限公司 | 一种日志文件清理方法及相关装置 |
CN109151075A (zh) * | 2018-10-30 | 2019-01-04 | 迈普通信技术股份有限公司 | 日志处理方法、装置及电子设备 |
CN109558385A (zh) * | 2018-11-16 | 2019-04-02 | 郑州云海信息技术有限公司 | 一种基于Linux系统的日志文件管理装置 |
CN109684063A (zh) * | 2018-12-26 | 2019-04-26 | 亚信科技(中国)有限公司 | 一种任务调度方法和装置 |
CN110780857A (zh) * | 2019-10-23 | 2020-02-11 | 杭州涂鸦信息技术有限公司 | 一种统一日志组件 |
CN110971485A (zh) * | 2019-11-19 | 2020-04-07 | 网联清算有限公司 | 业务指标的监控系统及方法 |
CN111488314A (zh) * | 2020-03-30 | 2020-08-04 | 北京中电华大电子设计有限责任公司 | 一种基于Python的仿真日志分析方法 |
CN111581171A (zh) * | 2020-04-30 | 2020-08-25 | 中国工商银行股份有限公司 | 日志处理方法、装置、计算设备和介质 |
CN111625416A (zh) * | 2020-05-09 | 2020-09-04 | 云南大学 | 一种基于云os的日志回收及故障警报系统 |
CN112052229A (zh) * | 2020-08-31 | 2020-12-08 | 许继集团有限公司 | 辅助设备集中监控系统的图形同步方法及图形同步系统 |
CN113139181A (zh) * | 2021-04-30 | 2021-07-20 | 成都卫士通信息产业股份有限公司 | 一种安全审计方法、装置、设备及可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5128878A (en) * | 1990-11-28 | 1992-07-07 | Micron Technology, Inc. | Remote plotting of integrated circuit layout in a network computer-aided design system |
US7065657B1 (en) * | 1999-08-30 | 2006-06-20 | Symantec Corporation | Extensible intrusion detection system |
CN101242616A (zh) * | 2007-11-22 | 2008-08-13 | 中国移动通信集团山东有限公司 | 局数据智能化制作方法及局数据智能化制作系统 |
CN101261595A (zh) * | 2007-03-09 | 2008-09-10 | 上海宝信软件股份有限公司 | Unix环境下的系统恢复方法 |
CN104065521A (zh) * | 2014-07-18 | 2014-09-24 | 国家电网公司 | 一种电力网络设备日志和配置文件的采集、分析和发布系统及其方法 |
CN105915373A (zh) * | 2016-04-08 | 2016-08-31 | 张家港江苏科技大学产业技术研究院 | 基于云计算的企业交易管理平台的混合式监控系统 |
-
2016
- 2016-09-28 CN CN201610859896.8A patent/CN106412061A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5128878A (en) * | 1990-11-28 | 1992-07-07 | Micron Technology, Inc. | Remote plotting of integrated circuit layout in a network computer-aided design system |
US7065657B1 (en) * | 1999-08-30 | 2006-06-20 | Symantec Corporation | Extensible intrusion detection system |
CN101261595A (zh) * | 2007-03-09 | 2008-09-10 | 上海宝信软件股份有限公司 | Unix环境下的系统恢复方法 |
CN101242616A (zh) * | 2007-11-22 | 2008-08-13 | 中国移动通信集团山东有限公司 | 局数据智能化制作方法及局数据智能化制作系统 |
CN104065521A (zh) * | 2014-07-18 | 2014-09-24 | 国家电网公司 | 一种电力网络设备日志和配置文件的采集、分析和发布系统及其方法 |
CN105915373A (zh) * | 2016-04-08 | 2016-08-31 | 张家港江苏科技大学产业技术研究院 | 基于云计算的企业交易管理平台的混合式监控系统 |
Non-Patent Citations (1)
Title |
---|
唐浩: "Internet代理日志文件大小的自动判别和清除", 《OA办公自动化国际学术研讨会》 * |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107832352A (zh) * | 2017-10-23 | 2018-03-23 | 中国银行股份有限公司 | 日志自动处理方法、装置、存储介质及设备 |
CN107832352B (zh) * | 2017-10-23 | 2022-01-04 | 中国银行股份有限公司 | 日志自动处理方法、装置、存储介质及设备 |
CN108153654A (zh) * | 2017-12-01 | 2018-06-12 | 北京奇艺世纪科技有限公司 | 一种日志收集方法及装置 |
CN108153654B (zh) * | 2017-12-01 | 2021-01-22 | 北京奇艺世纪科技有限公司 | 一种日志收集方法及装置 |
CN108170585A (zh) * | 2017-12-26 | 2018-06-15 | 广东欧珀移动通信有限公司 | 日志处理方法、装置、终端设备及存储介质 |
CN109086098A (zh) * | 2018-07-23 | 2018-12-25 | 郑州云海信息技术有限公司 | 一种日志文件清理方法及相关装置 |
CN109151075B (zh) * | 2018-10-30 | 2021-07-20 | 迈普通信技术股份有限公司 | 日志处理方法、装置及电子设备 |
CN109151075A (zh) * | 2018-10-30 | 2019-01-04 | 迈普通信技术股份有限公司 | 日志处理方法、装置及电子设备 |
CN109558385B (zh) * | 2018-11-16 | 2021-10-29 | 郑州云海信息技术有限公司 | 一种基于Linux系统的日志文件管理装置 |
CN109558385A (zh) * | 2018-11-16 | 2019-04-02 | 郑州云海信息技术有限公司 | 一种基于Linux系统的日志文件管理装置 |
CN109684063B (zh) * | 2018-12-26 | 2021-03-26 | 亚信科技(中国)有限公司 | 一种任务调度方法和装置 |
CN109684063A (zh) * | 2018-12-26 | 2019-04-26 | 亚信科技(中国)有限公司 | 一种任务调度方法和装置 |
CN110780857A (zh) * | 2019-10-23 | 2020-02-11 | 杭州涂鸦信息技术有限公司 | 一种统一日志组件 |
CN110780857B (zh) * | 2019-10-23 | 2024-01-30 | 杭州涂鸦信息技术有限公司 | 一种统一日志组件 |
CN110971485A (zh) * | 2019-11-19 | 2020-04-07 | 网联清算有限公司 | 业务指标的监控系统及方法 |
CN111488314B (zh) * | 2020-03-30 | 2023-06-30 | 北京中电华大电子设计有限责任公司 | 一种基于Python的仿真日志分析方法 |
CN111488314A (zh) * | 2020-03-30 | 2020-08-04 | 北京中电华大电子设计有限责任公司 | 一种基于Python的仿真日志分析方法 |
CN111581171A (zh) * | 2020-04-30 | 2020-08-25 | 中国工商银行股份有限公司 | 日志处理方法、装置、计算设备和介质 |
CN111625416A (zh) * | 2020-05-09 | 2020-09-04 | 云南大学 | 一种基于云os的日志回收及故障警报系统 |
CN112052229A (zh) * | 2020-08-31 | 2020-12-08 | 许继集团有限公司 | 辅助设备集中监控系统的图形同步方法及图形同步系统 |
CN113139181A (zh) * | 2021-04-30 | 2021-07-20 | 成都卫士通信息产业股份有限公司 | 一种安全审计方法、装置、设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106412061A (zh) | 一种基于Linux的日志文件夹远程传输系统 | |
US11042474B2 (en) | Scheduled tests for endpoint agents | |
US10841365B2 (en) | Mapping application dependencies in a computer network | |
EP2661014B1 (en) | Polling sub-system and polling method for communication network system and communication apparatus | |
CN103152352B (zh) | 一种基于云计算环境的全信息安全取证监听方法和系统 | |
CN110493348A (zh) | 一种基于物联网的智能监控报警系统 | |
CN109379217B (zh) | 一种城域网异厂家业务编排器 | |
CN103001806B (zh) | 用于it系统的分布式运维监控系统 | |
CN109698787A (zh) | 一种在物联网关中实现边缘控制的方法 | |
CN103546343B (zh) | 网络流量分析系统的网络流量展示方法和系统 | |
CN102480749A (zh) | 一种远程采集主机进程信息的方法、装置和系统 | |
KR100865015B1 (ko) | 실시간 통합 관리정보 데이터 변환 및 모니터링 장치 및 그방법 | |
CN107864056A (zh) | 一种分布式事件采集探针、分布式事件高速采集系统及方法 | |
CN102820993A (zh) | 网络资源监控系统和网络资源监控方法 | |
CN110995859A (zh) | 一种基于泛在物联网的变电站智能支撑平台系统 | |
CN107179977B (zh) | 基于mpm模型的数据库全自动监控系统 | |
CN103248512A (zh) | 通信网络中应用层拓扑结构的生成方法和系统 | |
CN106453541A (zh) | 一种数据同步的方法、服务器以及数据同步系统 | |
CN102238023A (zh) | 一种生成网络管理系统的告警数据的方法及装置 | |
CN114302103A (zh) | 一种智能监控运维系统 | |
CN114244676A (zh) | 一种智能it综合网关系统 | |
CN115460051A (zh) | 一种基于行业物联网场景的设备联动模型配置方法 | |
WO2021021267A1 (en) | Scheduled tests for endpoint agents | |
CN105117280A (zh) | 虚拟机迁移装置和方法 | |
CN114089711B (zh) | 工业设备控制管理方法、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
AD01 | Patent right deemed abandoned | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20191220 |