ELK技术栈—Logstash—基础介绍
原文作者:
原文地址:
1、概述
官网介绍:Logstash is an open source data collection engine with real-time pipelining capabilities。简单来说logstash就是一根具备实时数据传输能力的管道,负责将数据信息从管道的输入端传输到管道的输出端;与此同时这根管道还可以让你根据自己的需求在中间加上滤网,Logstash提供里很多功能强大的滤网以满足你的各种应用场景。Logstash常用于日志关系系统中做日志采集设备,最常用于ELK(elasticsearch + logstash + kibane)中作为日志收集器使用;
从 Logstash 的名字就能看出,它主要负责跟日志相关的各类操作,在此之前,我们先来看看日志管理的三个境界吧
- 境界一 『昨夜西风凋碧树。独上高楼,望尽天涯路』,在各台服务器上用传统的 linux 工具(如 cat, tail, sed, awk, grep 等)对日志进行简单的分析和处理,基本上可以认为是命令级别的操作,成本很低,速度很快,但难以复用,也只能完成基本的操作。
- 境界二 『衣带渐宽终不悔,为伊消得人憔悴』,服务器多了之后,分散管理的成本变得越来越多,所以会利用 rsyslog 这样的工具,把各台机器上的日志汇总到某一台指定的服务器上,进行集中化管理。这样带来的问题是日志量剧增,小作坊式的管理基本难以满足需求。
- 境界三 『众里寻他千百度,蓦然回首,那人却在灯火阑珊处』,随着日志量的增大,我们从日志中获取去所需信息,并找到各类关联事件的难度会逐渐加大,这个时候,就是 Logstash 登场的时候了
Logstash 的主要优势:一个是在支持各类插件的前提下提供统一的管道进行日志处理(就是 input-filter-output 这一套),二个是灵活且性能不错。
- 在几分钟内建立数据流管道
- 具有水平可扩展及韧性且具有自适应缓冲
- 不可知的数据源
- 具有200多个集成和处理器的插件生态系统
- 使用 Elastic Stack 监视和管理部署
2、数据类别:
它可以摄入日志、文件、指标或者网路真实数据。经过 Logstash 的处理,变为可以使用的 Web Apps 可以消耗的数据,也可以存储于数据中心,或变为其它的流式数据。
最流行的数据源如下:
- Logstash 可以很方便地和Beats一起合作,这也是被推荐的方法
- Logstash 也可以和那些著名的云厂商的服务一起合作处理它们的数据
- 它也可以和最为同样的信息消息队列,比如 redis 或 kafka 一起协作
- Logstash 也可以使用 JDBC 来访问 RDMS 数据
- 它也可以和 IoT 设备一起处理它们的数据
- Logstash 不仅仅可以把数据传送到 Elasticsearch,而且它还可以把数据发送至很多其它的目的地,并作为它们的输入源做进一步的
3、架构
Logstash 是由 JRuby 编写的,使用基于消息的简单架构,在 JVM 上运行。理念非常简单,如果说 MapReduce 框架分为 Mapper 和 Reducer 两大模块,处理流水线有三个主要角色完成:inputs –> filters –> outputs:
- Collect: 数据输入。对应 input ,必须有,负责产生事件(Inputs generate events),常用:File、syslog、redis、beats(如:Filebeats)
- Enrich: 数据处理。对应 filter ,可选,负责数据处理与转换(filters modify them),常用:grok、mutate、drop、clone、geoip
- Transport: 数据输出。对应 output,必须,负责数据输出(outputs ship them elsewhere),常用:elasticsearch、file、graphite、statsd
虽然模块仅仅比 MapReduce 框架多了一个,但是无三不成几,通过不同的拓扑结构,可以完成各类数据处理应用。不过这里我们主要还是以日志汇总处理系统的思路来进行介绍,一个典型的架构为:
4、安装
1)下载上传
首先下载logstash,上传到服务器,下载地址:https://www.elastic.co/guide/en/logstash/current/index.htmllogstash是用JRuby语言开发的,所以要安装JDK
2)解压
tar -zxvf logstash-2.3.1.tar.gz -C /bigdata/
3)编辑配置文件
vi logstash.conf
input {file {type => "gamelog"path => "/log/*/*.log"discover_interval => 10start_position => "beginning" }
}output {elasticsearch {index => "gamelog-%{+YYYY.MM.dd}"hosts => ["172.16.0.14:9200", "172.16.0.15:9200", "172.16.0.16:9200"]}
}
4)启动logstack
bin/logstash -f logstash.conf
ELK技术栈—Logstash—基础介绍相关推荐
- ELK技术栈-Logstash的详细使用
本文作者:罗海鹏,叩丁狼高级讲师.原创文章,转载请注明出处. 前言 在第九章节中,我们已经安装好Logstash组件了,并且启动实例测试它的数据输入和输出,但是用的是最简单的控制台标准输入和标准输出, ...
- ELK技术栈—Logstash—Input插件
原文作者:归来朝歌 原文地址:logstash之Input插件 1.stdin标准输入和stdout标准输出 Logsrtash含有两个非常重要的基础插件,input与output:首先执行命令: b ...
- ELK技术栈—Kibana
原文作者:少年阿峣_从零单排 原文地址:Kibana介绍.安装和使用 目录 1.介绍 2.优势 3.安装 4.使用 5. X-pack插件 6.Kibana+X-Pack介绍使用 1.介绍 Kiban ...
- 云计算大数据:ELK技术栈介绍
一. ELK工作栈简介 1. 简介 ELK Stack 是 Elasticsearch.Logstash.Kibana 三个开源软件的组合.在实时数据检索和分析场合,三者通常是配合共用,而且又都先后归 ...
- 利用ELK技术栈收集nginx日志
之前的一篇文章已经介绍如何使用nginx写入post的数据入日志,详细见链接: nginx的post命令记录body到日志中 接下来使用filebeat.logstash.elasticsearch把 ...
- Java技术栈---语言基础
基础语法 面向对象 接口 容器 异常 泛型 反射 注解 I/O
- 2018/2/11 ELK技术栈之ElasticSearch学习笔记二
终于有时间记录一下最近学习的知识了,其实除了写下的这些还有很多很多,但懒得一一写下了: ElasticSearch添加修改删除原理: ElasticSearch的倒排索引和文档一旦生成就不允许修改(其 ...
- ELK技术栈(四) elasticsearch 数据聚合 数据同步
目录 一.数据聚合 1.Bucket聚合 2.Metries聚合 3.自动补全 二.数据同步 1.同步通知 2.异步通知 3.binlog监听 4.小结 5.案例:基于MQ实现数据同步 一.数据聚合 ...
- 学习笔记:SpringCloud 微服务技术栈_实用篇①_基础知识
若文章内容或图片失效,请留言反馈.部分素材来自网络,若不小心影响到您的利益,请联系博主删除. 前言 学习视频链接 SpringCloud + RabbitMQ + Docker + Redis + 搜 ...
最新文章
- AngularJs $cacheFactory 缓存服务
- dataframe 按条件删行_根据列值删除Pandas中的DataFrame行
- hdu4814 模拟(黄金分割进制转换)
- GDCM:gdcm::Rescaler的测试程序
- SAP CRM WebClient UI how to disable excel export
- php laravel 返回统一格式,封装的统一的Laravel响应类,返回数据类
- Unity插件扩展中组件常用的几个方法
- 20171125-第六次例会
- 关于在Servlet的路径问题
- Cent Os下安装软件之---源码安装
- backgroud背景色样式兼容ie8 rgba()用法
- 企业公众号如何申请开通模板消息功能?
- 抖音视频如何去除水印
- 为什么会有这么多中间表?
- 举个栗子!Tableau技巧(6):妙用Index函数来改变数据排序
- Windows 默认以管理员身份运行批处理bat文件
- 电邮里面是图片怎么下载_这是最有效的采访后谢谢您的电子邮件
- 脑科学研究中基于图论的复杂脑网络分析方法
- 南京师范大学计算机技术研究生就业,重磅!2017年南京师范大学毕业研究生就业质量报告新鲜出炉...
- SEO新手不知道每天做什么,看了你就知道