微信号:infoqchina

介绍:有内容的技术社区媒体

LogStash,使日志管理更简单

2013-08-13 17:16 InfoQ

James Turnbull,通过对日志管理项目情境中的Logstash实施细节的介绍,给了读者信服的理由去使用Logstash进行集中化的日志管理。 《Logstash》一书通过一个双面案例(two side case)从不同方面进行介绍,其低准入门槛适合小企业使用,其扩展能力使其也能满足大企业的需求。今年二月,James在Hangops会议上谈到本书,“它主要面向那些以前没有见过LogStash的人,如系统管理员、开发人员、DevOps以及运维人员。我希望此书读者对Unix或Linux有一定了解。”他继续说道,“另外,本书假定用户无任何关于LogStash的先验知识(Prior Knowledge)。”


日志管理简化过程中的问题


James本人具有系统管理员和安全的相关背景。他先阐述了计算环境是如何使日志管理进化成为无法扩展的方式。


他介绍到,通常日志管理是是逐渐崩溃的——当日志对于人们最重要的时候,也就是出现问题的时候,这个渐进的过程就开始了。在这时,新管理员将通过一些传统工具对日志进行检查,如cat、tail、sed、awk、perl以及grep。这种做法有助于培养在常用工具方面的优秀技能,但它的适用范围仅限于少量的主机和日志文件类型。考虑到现实中的可扩展性问题,团队也会逐步进化,使用如rsyslog和syslog-ng这样的工具进行集中化的日志管理。


James介绍到,当用户通过这种方式着手处理扩展性问题时,其实并没有真正解决日志管理的问题——因为现在的日志事件仅仅考虑不同类型、不同格式以及不同时区,其数量就已经相当可观,并且基本上都缺乏合适的情境以方便理解它们。团队最后通过日志管理相关技术改造他们的计算环境,从而处理大量存储、搜索、过滤等等。不幸的是,最终,这种方式的问题凸显出来:不仅成本较高,而且造成了大量的浪费。和传统系统管理员使用的工具一样,LogStash通过降低进入门槛,节省了大量时间,但其架构完全能够扩展以满足大型网络部署的要求。


LogStash架构概述


LogStash架构专为收集、分析和存储日志所设计。此外,LogStash所实现的主要交叉用例之一是对所管理的日志事件进行查看/搜索。


James建议通过开源项目Kibana对事件进行搜索操作。本月早些时候,Jordan Sissel,LogStash的创作者,在Twitter上发布了一条微博,内容为“LogStash每日构建的最新版本中附带了Kibana3:java -jar logstash.jar kibana”,James和Jordan都提到了Kibana,因为它提供了用户友好的搜索界面,并与Elasticstorage,即LogStash的搜索引擎进行了集成。


除了查看日志外,它自身的组件架构支持通过代理对不同服务器的日志流进行管理,并最终传送至存储中。James带领读者们,以LogStash开箱即用的配置为基础,对默认配置中的各个组件进行探索。LogStash默认配置中使用的Redis是一个开源Key/Value数据库,用于在索引前队列化日志。它同时还使用Elasticsearch存储日志,并作为查看系统的后端。下图摘自第3章,展示了架构中各种组件类型,包括Shipper、Broker、Indexer以及Viewer。



在这本书中,James深入介绍了LogStash实例中的三个主要功能:事件输入、事件数据过滤以及事件输出。LogStash的这三个功能是根据配置信息执行的,这些信息存储在简单易懂的“.conf”文件中。 “.conf”文件中有不同的配置节对应LogStash所使用的三种不同类型的插件 输入(input)、过滤器(filter)以及输出(output)。每个LogStash实例都是根据它在整体架构中的角色需求进行定制的。


更多请阅读全文。


作者简介:


James Turnbull是6本有关开源软件的技术书籍作者,并且是开源社区的长期成员。 James编写了第一本(以及第二本)关于Puppet的书籍,并为Puppet Labs运营运维和专业服务。他常在OSCON、Linux.conf.au、FOSDEM、OpenSourceBridge、DevOpsDays和其他一些会议上发表演讲。 他是Linux Australia前任总裁,曾是Linux Victoria前委员会成员,负责2008年的Linux.conf.au大会,并担任Linux.conf.au和OSCON.Y的委员会职位。


***********************************

本文来自InfoQ微信公众账号:infoqchina

1、回复“今日新闻”,查看今天更新的新闻;

2、回复“今日英文”,查看今天英文站的更新;

3、回复“文章 +关键词”,搜索关键词相关内容;

4、回复“QCon”,了解QCon大会相关信息;

5、回复“活动”,了解最近InfoQ组织的线下沙龙;

6、回复“架构师”,获取《架构师》下载地址;

7、回复“投稿”,了解投稿流程。

***********************************

 
InfoQ 更多文章 Facebook如何实现PB级别数据库自动化备份 学术派Google软件工程师Matt Welsh谈移动开发趋势 Spotify为什么要使用一些“无聊”的技术? 妹纸们放假了,汉纸们做啥? 大多数重构可以避免
猜您喜欢 Android开发之SQLite详解 蓦然回首万事空 ————空指针漫谈 Rancher容器网络-floating ip解决方案 如何设置一个严格30分钟过期的Session 注册表灵活利用+手动关闭危险端口