周德荣
摘 要:日志数据是IT基础设施运行情况的真实反映,是IT运维管理与网络安全分析的基础.本文介绍了高校校园网日志主要来源,分析了构建日志分析平台的关键技术,提出了基于ELK开源软件构建高校校园网日志平台,给出了高校校园网日志平台设计方案.该方案以高校校园網为研究对象,实现校园网原始日志采集、日志存储、日志可视化分析功能,具有实时性好、可扩展性强、成本低等优点.
关键词:日志采集;日志存储;日志可视化;Logstash
中图分类号:TP393.09 文献标识码:A 文章编号:1673-260X(2019)10-0045-03
随着互联网的不断发展,网络安全问题日趋严峻.校园网作是教学、科研和信息化管理的重要基础平台,具有网络规模大、用户数量多、网络设备种类多、网络环境开放等特点,校园网面临着越来越多的安全问题,校园网安全对于高校发展至关重要.
目前,校园网运维与管理主要通过投入资金购买网络管理平台、防火墙、IDS、IPS等软硬件设备来实现,但总体效果不佳,其重要原因是忽视了日志在校园网管理中的作用.校园网中的软硬件系统运行过程中会产生大量的日志,日志具有不同类型、不同格式,其记录了系统运行、使用者和攻击者的行为,能直观反映校园网整体运行情况.为了迅速发现校园网中的异常,有效监控、分析和处理校园网运行中的异常情况,只有将各种设备、软件系统进行综合分析,建立专门日志信息采集平台,对其信息进行分析和处理,才能有效解决校园网运行中遇到的问题.
传统的日志处理和分析方案具有以下不足:日志数据采集方式单一,主要针对单一日志来源、日志数据处理类型以结构数据为主,对非结构数据处理功能很弱;对日志数据进行实时计算分析的能力较差;日志数据的可视化分析功能较弱.针对上述特点,提出基于ELK开源软件设计一个海量日志分析系统.ELK是Logstash、Elasticstorage、Kibana软件组合简称,ELK专为收集、存储和分析数据设计.Logstash是用于收集数据的核心软件,Elasticstorage数据存储和搜索引擎,通过Kibana完成数据可视化分析.采用ELK构建日志系统具有成本低、可扩展性好、能实现快速开发等优点.综上所述,基于ELK开源软件构建高校校园网日志平台是很有必要的.
1 校园网日志来源
高校校园网主要由网络基础设施和网络服务及应用组成.网络系统的异构性、设备的多样性、软件环境的复杂性,各类基础设施设备及软件都会产生日志.校园网中日志来源主要有以下三类:
1.1 网络设备日志
网络设备主要是指路由设备、交换设备、防火墙、入侵监测系统、具有网络功能的其他设备等.网络设备日志系统对网络管理非常重要,通过查看网络设备的日志,能迅速了解设备运行情况,及时发现并诊断发生的异常.
1.2 系统日志
Windows和Linux是目前主流的两类操作系统,它们的安全运行是校园网提供服务的基础.两类操作系统对应不同的系统日志,Windows系统日志是windows操作系统的各组件在运行过程中产生的事件,主要包括系统登录、各种驱动程序运行出现的重大问题、操作系统的各组件运行时出现的异常,系统日志通过Windows事件查看器或第三方工具读取.Linux系统日志主要由登录时间日志、进程统计日志和错误日志构成,日志记录为文本文件形式,能通过系统工具进行读取.
1.3 应用服务日志
应用服务日志是指操作系统中运行的各类应用系统产生重要事件的记录.校园网主要提供Web服务、FTP服务、域名服务、数据库服务等,对应应用系统有Apache、FTP、BIND、DHCP、IIS、Oracle数据库管理系统等,每种应用软件在运行过程中会产生大量与运行行为密切相关日志信息.
2 关键技术
2.1 日志采集技术
日志来源具有多样性、复杂性,有必要对校园网IT环境日志进行采集.校园网中网络设备及软件系统通常具有日志记录系统,能实现重要日志的记录.日志采集主要有单机部署和分布式部署两种,为了日志集中管理推荐采用分布式日志采集.
日志协议主要有Syslog协议、SNMP协议、Windows日志系统、特殊专用协议,根据日志源环境不同,采用不同的日志协议.网络管理中采集日志数据方式包括文本方式采集、Syslog方式采集、SNMP Trap方式采集等.
Logstash是一款专为收集、分析数据设计的开源软件,Logstash具有数据的搜集、分析、过滤功能,支持多种形式的数据输出.Logstash基于C/S架构,Logstash客户端部署到日志源设备中,设置监听日志文件后日志数据增量发送到指定地址;服务端负责完成对客户端的发送过来数据进行过滤、修改等处理,同时将处理后的结果数据发送给存储系统.
2.2 日志存储技术
日志存储方式由日志留存策略决定.作为日志管理者,通常根据日志数据的存储类型、大小、成本、检索速度及存档和销毁时间等需求制定日志留存策略.日志存储方式首要考虑留存时间与空间要求,目前主要有文件方式存储、数据库方式存储、Hadoop存储、Elasticsearch存储等方式存储日志,每种方式各有优缺点,为了便于高效存储和分析采用Elasticsearch方式存储日志.
Elasticsearch是一个基于Lucene的开源搜索引擎,具有稳定、可靠、快速等优点,对于构建大规模日志存储与分析系统,采用Elasticsearch集群.Elasticsearch集能实现分布式实时文件存储,将每一个字段存入索引,使其可以被检索到;具有良好的水平扩展能力,以处理PB级别的结构化或非结构化数据;集群节点有数据节点、主节点、负载平衡节点.同时,Elasticsearch支持插件机制,包括分词插件、同步插件、Hadoop插件、可视化插件等,能够对日志进行完整分析处理.Elasticsearch中存储日志时可分别对未经过计算的原始日志和经过日志分析处理后的结果日志进行存储.
2.3 日志可视化技术
数据可视化功能是分析数据时最直观最有效的方法,用户直观地得到日志分析和计算之后生成的结果.数据可视化技术通过将原始数据进行分析、图形化,达到清晰有效地进行数据显示、查询和维护.Kibana是一个开源数据可视化平台,Kibana通过Web方式根据索引配置查找和交互Elasticsearch中的数据,使用各种图表对日志数据进行分析及可视化展示.
2.4 Redis技术
由于日志平台具有数据量大、实时性要求高的特点,为保证日志平台系统性能,采用内存数据库是作为数据存储缓存技术.Redis是开源的基于内存、键值对目前主流的存储数据库之一.Redis内存数据库性能优异、速度快、扩展性好,通过将Redis内存数据库设在日志存储数据库前端,用以完成采集日志数据缓存.Redis提供发布/订阅消息队列模式,日志采集模块负责向队列中推送数据,而存储模块连续从消息队列中获取日志数据进行计算,消息队列在生产者和消费者之间有效地起到了缓存的作用,使得数据的生产和消费达到异步的效果.
3 系统设计
3.1 需求分析
对国内外研究现状进行分析和总结,结合高校校园网环境实际,日志分析平台的功能应具有以下功能.(1)能够及时、准确地采集校园网中网络设备、软件基础设施及应用系统等产生的各类日志数据;(2)能够及时对采集到的海量日志数据进行存储,同时保证日志数据存储高并发性、高可用性要求;(3)能够对日志数据进行统计分析及可视化展示.
3.2 总体设计
针对日志分析平台需求分析,系统目标为设计实现一个对校园网海量日志进行采集、存储、处理和展示的日志分析平台,系统主要功能是日志采集、日志存储、日志可视化分析展示.根据系统功能性需求,对系统模块架构进行划分,日志分析平台的架构如图1所示:
根据日志分析平台功能需求,日志分析平台从日志采集、日志存储、日志可视化分析展示三个模块构建核心流程,系统从logstash分布式日志采集模块开始,首先对采集的日志经过预处理、格式化和过滤,然后将原始日志要存储的日志推送到Redis消息队列,分布式存储模块Elasticsearch从Redis队列中取得数据并进行存储,最后通過Kibana可视化模块对Elasticsearch中存储的原始日志进可视化分析与展示.
3.3 核心模块设计
3.3.1 分布式日志采集模块
该模块完成校园网中原始日志数据的采集,将收集到每条日志进行预处理,最后将日志进行输出到指定位置.以Logstash开源软件为核心,日志采集功能由多个采集节点组成,构建基于logstash的集群保障高可用性.集群中每个Logstash节点采集数据原理如图2所示:
Input输入完成对各类日志数据进行采集定义,日志可以是来自文件或syslog报文等,通过定义输入源及格式,实现日志自动识别和处理日志轮转.Filtert处理主要完成对输入日志数据进行过滤,标识出需要的字段并进行处理.Output用于完成对已过滤日志数据输出的定义,输出可是以文件、数据库、消息队列、Elasticsearch等.Input、Filter、Output三个功能在Logstash是以插件方式实现,部署Logstash时,通过配置相应插件来完成对输入源日志输入信息、过滤规则及输出进行定义,实现校园网中各类日志采集功能.
3.3.2 分布式日志存储模块
日志存储模块是整个系统的基础,由于日志数据的海量性,对数据存储稳定性、容错性、高性能、高可扩展性要求高,采用Elasticsearch作为存储技术对采集的原始日志进行存储、建立索引.Elasticsearch实现数据存储时,采用多副片方式存储日志数据,能实现多用户文档搜索功能.Elasticsearch可扩展性高,支持大模型集群,节点数量扩展容易,扩展后索引库能自动再平衡,以保证集群的负载均衡.
为保证日志平台存储性能,构成存储集群,ES集群有5个节点组成,1个master节点,4个Data节点.Master节点用于协调查询检索请求和索引操作请求,将请求分配给Data节点.Data节点用于存储索引数据和完成数据处理操作.
3.3.3 日志可视分析模块
该模块实现对存储于ES集群的日志数据分析、计算和聚合处理,对处理后的日志进行可视化分析与展示,以达到使用日志结果服务校园网管理与运维.
基于日志数据存储于Elasticsearch,采用Kibana完成原始日志数据的可视化和查询功能,当任何结构化和非结构化日志数据存储到Elasticsearch索引后,Kibana使用Elasticsearch强大的搜索和分析功能,结合Kibana定制的仪表盘,实现原始日志数据分析和展示,到达实时监控系统中原始日志的状态变化.
3.4 系统物理架构
根据日志平台功能需求分析,结合采集的校园网日志占用空间大,平台主要由校园网IT环境、日志采集集群、ES日志存储集群构成,系统物理结构如图3所示.校园网IT环境为产生日志的基础软硬件设施,是校园网日志主要来源;日志采集集群由多台服务器构成,基于Logstash软件构建日志采集集群;ES集群为多台服务器组成,通过部署Elasticsearch软件,构建主节点和数据结节点组成的数据存储集群,完成日志数据存储;日志可视化查询在单台服务器部署Kibana软件,完成对ES集群中存储的日志数据进行可视化分析与展示.
4 结语
校园网日志数据对网络管理运维至关重要,本文提出了基于ELK开源软件构建高校校园网日志平台,分析了日志来源,对日志采集技术、日志存储技术、日志可视化分析及消息队列技术进行详细介绍,结合校园网实际,对高校日志平台设计方案进行了深入讨论,对建设日志分析平台有一定参考价值.
参考文献:
〔1〕杨品林.高校校园网的信息安全策略研究[J].信息安全与技术,2015,6(04):31-33.
〔2〕姚军,简于涵,刘晖.日志管理与分析权威指南[M].北京:机械工业出版社,2014.
〔3〕李晨光.UNIX/Linux网络日志分析与流量监控[M].北京:机械工业出版社,2015.
〔4〕张春生,郭长杰,尹兆涛.基于大数据技术的IT基础设施日志分析系统设计与实现[J].微型电脑应用,2016,32(06):49-52.
〔5〕李祥池.基于ELK和Spark Streaming的日志分析系统设计与实现[J].电子科学技术,2015,02(06):674-678.
〔6〕于兆良,张文涛,葛慧,等.基于Hadoop平台的日志分析模型[J].计算机工程与设计,2016,37(02):338-344.