初识日志管理系统

团队

介绍

我们是光大科技智能云计算部智能化平台团队Devops项目组,专注于金融传统行业研发效能的提升和快速交付。通过自动化技术的应用,以及敏捷协同管理工具链的研发,助力金融传统行业Devops落地。团队拥有Devops领域经验丰富的研发工程师和专家,将不定期分享敏捷领域的原创文章,共同探索Devops落地最佳实践。

初识日志管理系统

一.日志管理系统概述

日志是整个金融 IT 信息系统中非常重要的信息和数据,它对信息安全整个过程中关键记录信息的监控统计,特别针对安全事故分析、追踪,日志起到了关键性作用。但是金融IT行业的日志分析面临着很多共性的问题:

?日志存储分散,数百GB甚至TB的日志数据分散存放在数百台服务器上,数据分布不均匀,难以统一管理。

?日志种类多,排查某个问题,要针对多种不同格式的日志,使用awd,sed,sort,grep等命令一次次重定向日志文件,这对运维人员是个压力很大的挑战,而且效率低下。

?日志系统没有实现实时告警,一旦发生故障,无法及时发现,也伴随着解决故障会消耗很多时间。

?日志之间缺少关联性,由于业务系统多,日志增长量大,系统时间的复杂性强,很多相关的日志之间难以实现关联分析,日志的价值无法及时得到挖掘。

?日志体系建设不健全,企业日志面临主机操作风险,敏感信息泄露等安全隐患。

基于以上种种痛点可以看出,金融IT企业建设一个大规模,中心化的日志管理系统是非常有必要的,本文接下来篇幅主要带大家一块通过开源日志产品认识下业内日志管理系统产品形态。

初识日志管理系统

二.开源日志管理系统

目前业内开源日志管理系统较多,本文简要介绍了ELK Stack、Graylog两种产品形态供大家参考。

 ELK Stack

目前,最著名的开源日志管理解决方案应该是ELK Stack,之所以称为Stack,是因为它不是一个软件包,而是由同一个团队开发的开源工具组合:

Elasticsearch、Logstash、Kibana、Beats及周边工具。

注:Beats是elastic公司开源的一款采集系统监控数据的代理agent,是在被监控服务器上以客户端形式运行的数据收集器的统称,可以直接把数据发送给Elasticsearch或者通过Logstash发送给Elasticsearch,然后进行后续的数据分析活动。

初识日志管理系统

图来源:https://www.elastic.co/cn/elastic-stack/

优点:

1) 强大的搜索功能,elasticsearch可以以分布式搜索的方式快速检索,而且支持DSL的语法来进行搜索,简单的说,就是通过类似配置的语言,快速筛选数据。

2) 完美的展示功能,可以展示非常详细的图表信息,而且可以定制展示内容,将数据可视化发挥的淋漓尽致。

3)分布式功能,能够解决大型集群运维工作很多问题,包括监控、预警、日志收集解析等。

缺点:

1)ELK是三个独立的系统,没有统一的部署、管理工具,用户需要分别部署及管理这三套系统,运维管理不方便。

2)ELK的告警功能需要额外花费用、精力去定制。

3)ELK用户认证及权限管理方面是市场一大痛点,导致多部门协作权限划分不当。

 Graylog

Graylog是一个开源的日志聚合、分析、审计、展现和预警工具,基于Scala语言开发。功能上和ELK类似,但又比ELK要简单,依靠着更加简洁,高效,部署使用简单的优势很快受到许多人的青睐。

下图可以看出Graylog大体上包括以下三部分:

Elasticsearch:日志内容的实际存储地,提供搜索等功能。部署es服务器的内存越大已经磁盘速度越高,es提供搜索的性能也就越高。

MongoDB:用于存储基本的元信息以及配置信息,没有太高的硬件需求。

Graylog:日志API的提供者,面向浏览器以及应用程序,cpu密集型任务。

图来源:https://docs.graylog.org/

优点:

1) 一体化方案,安装方便,不像ELK有3个独立系统间的集成问题。

2) 采集原始日志,并可以事后再添加字段,比如http_status_code,response_time等。

3) 个性化定制开发(带来很大的自由度)采集日志的脚本,并用curl/nc发送到Graylog Server,发送格式是自定义的GELF,Flunted和Logstash都有相应的输出GELF消息的插件。实际上只需要用inotifywait监控日志的modify事件,并把日志的新增行用curl/netcat发送到Graylog Server就可。

4)搜索语法简单,比如:source:mongo AND response_time_ms:>5000,避免直接输入elasticsearch搜索JSON语法

5) 搜索条件可以导出为elasticsearch的搜索json文本,方便直接开发调用elasticsearch rest api的搜索脚本。

缺点:

1) 网上的参考资料较少,产品比较“年轻”,很多都需要看官方文档摸索。

综合对比

平台/

功能

ELK Stack

Graylog

软件组成

Elasticsearch、Logstash、Kibana、Beats,都需要独立安装集成,技术栈较多、部署、开发运维麻烦。

一体化方案,安装方便

平台要高可用

和应用解耦,无侵入

要支持多租户隔离

资料支撑

官方文档、视频、社区生态更为完善(业内行标级软件、各大公司都有应用企业版,包括光大银行)。

相对较少,也有自己的社区和官方文档,逐渐完善中(Graylog项目是由Lennart Koopmann于2009年左右启动的,目前业内反响比较不错,更好的ui体验,更强的检索功能)。

虽然两种解决方案在功能上非常相似,但仍有一些差异需要考虑。

两者之间最重要的区别在于,从一开始,Graylog就定位为强大的日志解决方案,而ELK则是大数据解决方案。Graylog可以通过网络协议直接从应用程序接收结构化日志和标准syslog。相反,ELK是使用Logstash分析已收集的纯文本日志的解决方案,然后解析并将它们传递给ElasticSearch。

在ELK中,Kibana扮演仪表盘的角色并显示从Logstash收到的数据。Graylog在这点上更方便,因为它提供了单一应用程序解决方案(不包括ElasticSearch作为灵活的数据存储),具有几乎相同的功能。因此,部署所需的时间更短。此外,与ELK相比,Graylog开箱即用,且具有出色的权限系统,而Kibana则不具备此功能。

因此比较推荐尝试Graylog ,能满足大部分业务需求,相对ELK而言更简洁更高效些。

作者:马龙飞

AUTHOR

往期

回顾

IT设备部署及上架

基于P2P的分布式网络存储服务

走进MPLS VPN

全业务链故障演练平台

EBCloud

微信公众号

EBCloud

赶快来

关注我们吧!

原创文章,作者:EBCloud,如若转载,请注明出处:https://www.sudun.com/ask/32686.html

Like (0)
EBCloud的头像EBCloud
Previous 2024年4月2日 下午3:29
Next 2024年4月2日 下午3:29

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注