CN109274556A - 一种web日志的收集分析系统 - Google Patents
一种web日志的收集分析系统 Download PDFInfo
- Publication number
- CN109274556A CN109274556A CN201811336176.9A CN201811336176A CN109274556A CN 109274556 A CN109274556 A CN 109274556A CN 201811336176 A CN201811336176 A CN 201811336176A CN 109274556 A CN109274556 A CN 109274556A
- Authority
- CN
- China
- Prior art keywords
- log
- kafka
- module
- analysis
- collection
- 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/06—Generation of reports
- H04L43/067—Generation of reports using time frame reporting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45575—Starting, stopping, suspending or resuming virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了本发明的一种web日志的收集分析系统,可将web应用的日志收集起来,该系统运行在Linux,利用Nginx的日志转发功能,将web应用的日志发送至Linux的rsyslog,再通过转发模块将日志转发至kafka存储,分析模块直接读取kafka的日志,加以分析。运行过程中,每个模块都可独立运行,转发模块及分析模块还可启动多进程同时rsyslog+kafka的高速读写,极大地保证了日志的转储效率,除此之外,模块独立运行还使该系统后续可添加更多的分析模块,以挖掘日志的深层价值。
Description
技术领域
本发明涉及网络安全技术领域,尤其涉及一种web日志的收集分析系统。
背景技术
任何一个生产系统在运行过程中都会产生大量的日志,日志往往隐藏了很多有价值的信息。在没有分析方法之前,这些日志存储一段时间后就会被清理。随着技术的发展和分析能力的提高,日志的价值被重新重视起来。web日志的作用主要体现在通过对这些web日志的深度挖掘,对站点用户访问Web服务器过程中产生的日志数据进行分析处理,从而发现Web用户的访问模式和兴趣爱好等,这些信息对站点建设潜在有用的可理解的未知信息和知识,用于分析站点的被访问情况,辅助站点管理和决策支持等。而在分析这些日志之前,则需要将分散在各个生产系统中的日志收集起来。
发明内容
为了有效利用网络流量,为针对用户访问行为后续分析奠定基础,开发了一种web访问日志的收集分析系统,该系统可将web应用的日志收集起来,该系统运行在Linux,利用Nginx的日志转发功能,将web应用的日志发送至Linux的rsyslog,再通过转发模块将日志转发至kafka存储,分析模块直接读取kafka的日志,加以分析。运行过程中,每个模块都可独立运行,转发模块及分析模块还可启动多进程同时rsyslog+kafka的高速读写,极大地保证了日志的转储效率。除此之外,模块独立运行还使该系统后续可添加更多的分析模块,以挖掘日志的深层价值。
本发明通过以下技术方案来实现上述目的:
一种web日志的收集分析系统,包括:
日志生成模块,所述日志生成模块由nginx完成,nginx服务端处理用户请求,记录访问日志,通过lua实现nginx日志转发至syslog服务器;
日志转发模块,所述日志转发模块由python实现;
日志存储模块,所述日志存储模块由zookeeper和kafka实现组成,Zookeeper是一个高性能分布式应用协调服务,kafka对消息保存时根据Topic进行归类,发送消息者成为Producer,消息接受者成为Consumer,此外kafka集群有多个kafka实例组成,每个实例(server)成为broker,无论是kafka集群,还是producer和consumer都依赖于zookeeper来保证系统可用性集群保存一些meta信息;
日志分析模块,所述日志分析模块可随本系统使用者持续扩展开发、添加功能。
作为进一步优化,所述日志转发模块本质即为kafka的生产者,通过多种对比,选用confulent-kafka作为连接Kafka的库,极大地提高了写入kafka的效率。
作为进一步优化,所述日志分析模块的本质即为kafka消费者,可持续扩展的基础源于kafka的消费者可有多个,且可有多个消费者组,同一组内的消费者无法读取kafka同一topic下的同一条日志,但可以同时消费同一topic下的不同日志,提高消费速率。
作为进一步优化,所述日志分析模块由python分析程序+redis或其他数据库组成。
作为进一步优化,所述日志分析模块利用confulent-kafka连接kafka,读取日志,根据日志时间戳,提取时间,进行计数,然后将结果定时入库redis或其他数据库。
作为进一步优化,前述任一模块均运行在docker容器中,且转发模块及日志分析模块均可启动多个容器,同时分布式的架构使得本系统还可使用docker swarm部署在多台服务器上。
本发明的有益效果在于:
本发明的一种web日志的收集分析系统,可将web应用的日志收集起来,该系统运行在Linux,利用Nginx的日志转发功能,将web应用的日志发送至Linux的rsyslog,再通过转发模块将日志转发至kafka存储,分析模块直接读取kafka的日志,加以分析。运行过程中,每个模块都可独立运行,转发模块及分析模块还可启动多进程同时rsyslog+kafka的高速读写,极大地保证了日志的转储效率。除此之外,模块独立运行还使该系统后续可添加更多的分析模块,以挖掘日志的深层价值。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要实用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本实施例的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种web日志的收集分析系统的结构示意图。
图2为本发明提供的一种web日志的收集分析系统的构架示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。
如图1-2所示,本发明的一种web日志的收集分析系统,包括:
日志生成模块由nginx完成,nginx服务端处理用户请求,记录访问日志,通过lua实现nginx日志转发至syslog服务器;
日志转发模块由python实现,该模块本质即为kafka的生产者,通过多种对比,选用confulent-kafka作为连接Kafka的库,极大地提高了写入kafka的效率;
日志存储模块由zookeeper和kafka实现组成,Zookeeper是一个高性能分布式应用协调服务,kafka对消息保存时根据Topic进行归类,发送消息者成为Producer,消息接受者成为Consumer,此外kafka集群有多个kafka实例组成,每个实例(server)成为broker。无论是kafka集群,还是producer和consumer都依赖于zookeeper来保证系统可用性集群保存一些meta信息;
日志分析模块可随本系统使用者持续扩展开发、添加功能,日志分析模块的本质即为kafka消费者,可持续扩展的基础源于kafka的消费者可有多个,且可有多个消费者组。同一组内的消费者无法读取kafka同一topic下的同一条日志,但可以同时消费同一topic下的不同日志,提高消费速率。因此,对于一个分析程序来说,可启动多个客户端同时消费(即一个消费组内多个消费者),单并不会重复消费,对于多个分析程序来说(即多个消费组),可设置为不同消费者组,保证不同功能的消费程序同时读取到相同日志,同时进行不同维度的分析;
日志分析模块由python分析程序+redis或其他数据库组成。以每小时访问次数统计功能为例,利用confulent-kafka连接kafka,读取日志,根据日志时间戳,提取时间,进行计数,然后将结果定时入库redis或其他数据库。
为了减小程序对操作系统的影响,且方便系统移植、部署、模块添加及扩展、本系统各模块均运行在docker容器中,且转发模块及日志分析模块均可启动多个容器,提高转发效率及分析效率,同时分布式的架构使得本系统还可使用docker swarm部署在多台服务器上。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明的思想,其同样应当视为本发明所公开的内容。
Claims (6)
1.一种web日志的收集分析系统,其特征在于,包括:
日志生成模块,所述日志生成模块由nginx完成,nginx服务端处理用户请求,记录访问日志,通过lua实现nginx日志转发至syslog服务器;
日志转发模块,所述日志转发模块由python实现;
日志存储模块,所述日志存储模块由zookeeper和kafka实现组成,Zookeeper是一个高性能分布式应用协调服务,kafka对消息保存时根据Topic进行归类,发送消息者成为Producer,消息接受者成为Consumer,此外kafka集群有多个kafka实例组成,每个实例成为broker,无论是kafka集群,还是producer和consumer都依赖于zookeeper来保证系统可用性集群保存一些meta信息;
日志分析模块,所述日志分析模块可随本系统使用者持续扩展开发、添加功能。
2.根据权利要求1所述的一种web日志的收集分析系统,其特征在于,所述日志转发模块本质即为kafka的生产者,通过多种对比,选用confulent-kafka作为连接Kafka的库,极大地提高了写入kafka的效率。
3.根据权利要求1所述的一种web日志的收集分析系统,其特征在于,所述日志分析模块的本质即为kafka消费者,可持续扩展的基础源于kafka的消费者可有多个,且可有多个消费者组,同一组内的消费者无法读取kafka同一topic下的同一条日志,但可以同时消费同一topic下的不同日志,提高消费速率。
4.根据权利要求1所述的一种web日志的收集分析系统,其特征在于,所述日志分析模块由python分析程序+redis或其他数据库组成。
5.根据权利要求4所述的一种web日志的收集分析系统,其特征在于,所述日志分析模块利用confulent-kafka连接kafka,读取日志,根据日志时间戳,提取时间,进行计数,然后将结果定时入库redis或其他数据库。
6.根据权利要求1-5任一项所述的一种web日志的收集分析系统,其特征在于,所述任一模块均运行在docker容器中,且转发模块及日志分析模块均可启动多个容器,同时分布式的架构使得本系统还可使用docker swarm部署在多台服务器上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811336176.9A CN109274556A (zh) | 2018-11-09 | 2018-11-09 | 一种web日志的收集分析系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811336176.9A CN109274556A (zh) | 2018-11-09 | 2018-11-09 | 一种web日志的收集分析系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109274556A true CN109274556A (zh) | 2019-01-25 |
Family
ID=65192598
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811336176.9A Pending CN109274556A (zh) | 2018-11-09 | 2018-11-09 | 一种web日志的收集分析系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109274556A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110109660A (zh) * | 2019-05-07 | 2019-08-09 | 杭州艾塔科技有限公司 | 一种监测短信触达效果的系统及方法 |
CN111211938A (zh) * | 2019-12-30 | 2020-05-29 | 北京百迈客生物科技有限公司 | 生物信息软件监控系统及方法 |
CN111597157A (zh) * | 2020-04-08 | 2020-08-28 | 浙江工业大学 | 一种改进日志处理系统架构的方法 |
CN112449750A (zh) * | 2019-06-28 | 2021-03-05 | 京东方科技集团股份有限公司 | 日志数据收集方法、日志数据收集装置、存储介质和日志数据收集系统 |
CN113032355A (zh) * | 2021-04-06 | 2021-06-25 | 上海英方软件股份有限公司 | 一种Web应用批量收集日志的方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070211760A1 (en) * | 2006-03-09 | 2007-09-13 | Huawei Technologies Co., Ltd. | Method for Transferring Network Event Protocol Messages |
CN105868075A (zh) * | 2016-03-31 | 2016-08-17 | 浪潮通信信息系统有限公司 | 一种实时监控分析大量日志的系统及方法 |
CN107229556A (zh) * | 2017-06-09 | 2017-10-03 | 环球智达科技(北京)有限公司 | 基于elastic组件的日志分析系统 |
CN107660283A (zh) * | 2015-04-03 | 2018-02-02 | 甲骨文国际公司 | 用于在日志分析系统中实现日志解析器的方法和系统 |
-
2018
- 2018-11-09 CN CN201811336176.9A patent/CN109274556A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070211760A1 (en) * | 2006-03-09 | 2007-09-13 | Huawei Technologies Co., Ltd. | Method for Transferring Network Event Protocol Messages |
CN107660283A (zh) * | 2015-04-03 | 2018-02-02 | 甲骨文国际公司 | 用于在日志分析系统中实现日志解析器的方法和系统 |
CN105868075A (zh) * | 2016-03-31 | 2016-08-17 | 浪潮通信信息系统有限公司 | 一种实时监控分析大量日志的系统及方法 |
CN107229556A (zh) * | 2017-06-09 | 2017-10-03 | 环球智达科技(北京)有限公司 | 基于elastic组件的日志分析系统 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110109660A (zh) * | 2019-05-07 | 2019-08-09 | 杭州艾塔科技有限公司 | 一种监测短信触达效果的系统及方法 |
CN112449750A (zh) * | 2019-06-28 | 2021-03-05 | 京东方科技集团股份有限公司 | 日志数据收集方法、日志数据收集装置、存储介质和日志数据收集系统 |
US11755452B2 (en) | 2019-06-28 | 2023-09-12 | Boe Technology Group Co., Ltd. | Log data collection method based on log data generated by container in application container environment, log data collection device, storage medium, and log data collection system |
CN111211938A (zh) * | 2019-12-30 | 2020-05-29 | 北京百迈客生物科技有限公司 | 生物信息软件监控系统及方法 |
CN111597157A (zh) * | 2020-04-08 | 2020-08-28 | 浙江工业大学 | 一种改进日志处理系统架构的方法 |
CN113032355A (zh) * | 2021-04-06 | 2021-06-25 | 上海英方软件股份有限公司 | 一种Web应用批量收集日志的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109274556A (zh) | 一种web日志的收集分析系统 | |
CN110650128B (zh) | 一种检测以太坊数字货币盗取攻击的系统及方法 | |
Das et al. | Big data analytics: A framework for unstructured data analysis | |
CN102609460B (zh) | 微博客数据采集方法及系统 | |
CN109491859A (zh) | 针对Kubernetes集群中容器日志的收集方法 | |
CN102902752B (zh) | 一种日志监控方法及系统 | |
CN111432295A (zh) | 一种基于分布式技术的用电信息采集主站系统 | |
CN103838867A (zh) | 日志处理方法和装置 | |
CN109918349A (zh) | 日志处理方法、装置、存储介质和电子装置 | |
CN102629904A (zh) | 一种网络水军的探测与判定方法 | |
Takemura et al. | Tweet classification based on their lifetime duration | |
CN112347165B (zh) | 日志处理方法、装置及服务器和计算机可读存储介质 | |
CN110704400A (zh) | 实时数据同步方法以及装置、服务器 | |
CN103699611A (zh) | 一种基于动态摘要技术的微博流信息提取方法 | |
CN108268569A (zh) | 基于大数据技术的水资源监测数据采集与分析系统及方法 | |
CN110175152A (zh) | 一种日志查询方法、中转服务器集群及日志查询系统 | |
CN109413131A (zh) | 一种日志解析的方法及装置 | |
CN103036910A (zh) | 一种用户Web访问行为控制方法及装置 | |
CN110688383A (zh) | 数据采集方法及系统 | |
US9680788B2 (en) | Method, apparatus, and system for automatically prompting user to sign up for microblog | |
CN114297290A (zh) | 一种电力营销数据共享应用平台 | |
US20150256502A1 (en) | Method and system for processing social network information | |
CN109977090A (zh) | 一种向hdfs写入数据的方法及终端 | |
CN113158069A (zh) | 基于大数据的互动话题场景分析方法、服务器及介质 | |
CN110851758B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190125 |