1 Logstash简介
1.1 Logstash是什么?
Logstash是一个开源数据收集引擎,具有实时管道功能。Logstash可以动态地将来自不同数据源的数据统一起来,并将数据标准化到你所选择的目的地
2013 年,Logstash 被 Elasticsearch 公司收购,ELK stack 正式成为官方用语
1.2 Logstash的作用
Logstash是一个开源数据收集引擎,具有实时管道功能。
1.3 Logstash的输入源
能够以连续的流式传输方式,轻松地从日志、指标、Web 应用、数据存储以及各种AWS服务采集数据。
1.4 Logstash的输入—日志和指标
处理所有类型的日志数据
很容易摄取大量的web日志(如Apache)和应用程序日志(如Java的log4j)
捕获许多其他日志格式,如syslog、网络和防火墙日志等等
从Ganglia、collectd、NetFlow、JMX收集指标,和许多其他基础设施,以及TCP和UDP上的应用程序平台
1.5 Logstash的输入—网络
将HTTP求转换为事件
使用像Twitter这样的web服务防火墙进行社交情绪分析
对GitHub、HipChat、JIRA和无数其他应用程序的Webhook支持
支持许多监控用例
根据需要通过轮询HTTP端点创建事件
普遍地从web应用程序接口捕获健康、性能、指标和其他类型的数据
更适合于轮询控制而不是接收的场景
1.6 Logstash的输入—数据和流
更好地理解来自任何关系数据库或具有JDBC接口的NoSQL存储的数据
统一不同的数据流,如Apache Kafka、RabbitMQ和Amazon SQS
Logstash是一个常见的事件收集主干,用于从移动设备发送数据到智能住宅、连接的车辆、医疗传感器和许多其他行业特定的应用程序
1.7 Logstash的过滤功能
过滤器是Logstash管道中的中间处理设备,常用过滤器包括:
grok:解析和构造任意文本,Grok是目前Logstash中解析非结构化日志数据到结构化和可查询数据的最佳方式,使用内置的120种模式
mutate:对事件字段执行一般的转换,你可以重命名、删除、替换和修改事件中的字段。
drop:完全删除事件,例如debug事件
clone:复制事件,可能添加或删除字段
geoip:添加关于IP地址地理位置的信息
1.8 Logstash多种输出
将数据路由到最重要的地方,通过存储、分析和对数据执行特定的操作:
分析:Elasticsearch、数据存储,如MongoDB。
归档:HDFS、S3。
监控:Nagios、Ganglia、Zabbix、Graphite、Datadog、CloudWatch。
提醒:使用Elasticsearch Watcher、Email、IRC、SNS。
1.9 Logstash的管道
Logstash事件处理管道有三个阶段:输入→过滤器→输出
1.10 Logstash的角色
Logstash 社区通常习惯用shipper,broker 和 indexer 来描述数据流中不同进程各自的角色。
关注公众号:领取精彩视频课程&海量免费语音课程