快速认识ELK中的L - Logstash
快速认识ELK中的L - Logstash
简介
Logstash 是一个开源的数据采集引擎。
Logstash 就像是一个管子,左面接数据源接收数据,右面接存储目的地,管子中间有过滤器,对接收到的数据进行过滤,只存储符合要求的数据。
例如
左面可以对接 日志文件、Reids、Kafka ……
右面可以对接 Elasticsearch、Kafka、MongoDB……
所以 Logstash 的核心构成就是 input
、filter
、output
。
Logstash 可以整合那么多技术,与每个技术进行对接时,是不是都需要我们自己写代码呢?
Logstash 已经准备了200多个插件,接入这些主流技术时,只需要简单配置一下就行了,在不满足需求时,也可以自己进行扩展。
下面就实际体验一下Logstash,看看如何对接 Elasticsearch、Redis。
安装
Logstash 不需要安装,只要已经安装好了JAVA环境,下载解压后就可以用。
下载
https://www.elastic.co/downloads/logstash
解压
tar zxvf logstash-5.0.2.tar.gz
运行
进入解压目录,执行bin目录下的logstash命令
cd logstash-5.0.2
bin/logstash -e 'input { stdin { } } output { stdout {} }'
这个命令是在启动时指定了一个简单的配置:input 和 output 都是标准的输入输出 - 屏幕
启动过程需要一小段时间,等待一下,启动完成后,会显示信息“Successfully started Logstash ... ”
然后输入一个字符串试试,例如
hello world
就会得到一条反馈
2016-12-07T08:38:18.711Z MacbookPro.local hello world
这样我们就完成了一个最简单的体验。
输出到Elasticsearch
上个例子中把output指向了屏幕,现在试试输出到 elasticsearch
使用下面的命令启动logstash
bin/logstash -e 'input { stdin { } } output { elasticsearch { } }'
input 还是屏幕,output 指向了 elasticsearch,其中没有任何参数,就是使用默认参数,连接到本地的9200端口,如果是其他地址,可以通过参数 host
指定。
启动后,会自动在 elasticsearch 中创建索引,查看一下 es 的所有索引
curl 'localhost:9200/_cat/indices?v'
会看到一个 logstash
开头的索引
然后在 logstash 中随意输入字符串测试一下,这时就没有反馈信息了
到 elasticsearch 中查看一下
curl -XGET 'localhost:9200/logstash-2016.12.03/_search?pretty' -d'
{
"query": { "match_all": {} },
"size": 100
}'
会显示出刚刚输入的字符串。
从Redis读取数据
下面把input改为redis,output还使用屏幕,便于查看
新建配置文件 conf/redis.conf
input {
redis {
data_type => "pattern_channel"
key => "logstash-*"
host => "localhost"
port => 32768
}
}
output {
stdout { codec => rubydebug }
}
input 中配置了redis的连接信息和key的匹配规则
output 中的 codec 用来对输出信息进行美化
启动
bin/logstash -f conf/redis.conf
启动完成后,等待redis的数据
然后在redis中输入命令
PUBLISH logstash-demo "hello world"
在logstash的控制台中就可以看到接收到的信息:
{
"@timestamp" => 2016-12-07T09:37:51.533Z,
"@version" => "1",
"message" => "hello world",
"tags" => [
[0] "_jsonparsefailure"
]
}
小结
上面我们体验了3个示例:
1)最简单的屏幕输入屏幕输出
2)屏幕输入,输出到elasticsearch
3)Redis输入,屏幕输出
可以感受到logstash的简单便利和使用方法。
ELK是一套很强大的组合,以后再深入介绍,希望本文能让您明白了logstash的使用思路。
快速认识ELK中的L - Logstash的更多相关文章
- 使用Docker快速搭建ELK环境
今天由于Win系统的笔记本没带回家,其次Docker在非Linux系统下都需要安装额外的软件去镜像才行 所以感觉没有差别,先直接用Mac搭建一遍呢, 本篇部分命令和配置内容为摘抄 Mac下使用Dock ...
- 快速搭建ELK日志分析系统
一.ELK搭建篇 官网地址:https://www.elastic.co/cn/ 官网权威指南:https://www.elastic.co/guide/cn/elasticsearch/guide/ ...
- 使用Docker快速部署ELK分析Nginx日志实践(二)
Kibana汉化使用中文界面实践 一.背景 笔者在上一篇文章使用Docker快速部署ELK分析Nginx日志实践当中有提到如何快速搭建ELK分析Nginx日志,但是这只是第一步,后面还有很多仪表盘需要 ...
- .NetCore快速搭建ELK分布式日志中心
懒人必备:.NetCore快速搭建ELK分布式日志中心 该篇内容由个人博客点击跳转同步更新!转载请注明出处! 前言 ELK是什么 它是一个分布式日志解决方案,是Logstash.Elastaics ...
- 使用Docker快速部署ELK分析Nginx日志实践
原文:使用Docker快速部署ELK分析Nginx日志实践 一.背景 笔者所在项目组的项目由多个子项目所组成,每一个子项目都存在一定的日志,有时候想排查一些问题,需要到各个地方去查看,极为不方便,此前 ...
- ELK技术栈之-Logstash详解
ELK技术栈之-Logstash详解 前言 在第九章节中,我们已经安装好Logstash组件了,并且启动实例测试它的数据输入和输出,但是用的是最简单的控制台标准输入和标准输出,那这节我们就来深入的 ...
- [.NET] 《Effective C#》快速笔记 - C# 中的动态编程
<Effective C#>快速笔记 - C# 中的动态编程 静态类型和动态类型各有所长,静态类型能够让编译器帮你找出更多的错误,因为编译器能够在编译时进行大部分的检查工作.C# 是一种静 ...
- elk 日志分析系统Logstash+ElasticSearch+Kibana4
elk 日志分析系统 Logstash+ElasticSearch+Kibana4 logstash 管理日志和事件的工具 ElasticSearch 搜索 Kibana4 功能强大的数据显示clie ...
- 【linux】【ELK】搭建Elasticsearch+Logstash+Kibana+Filebeat日志收集系统
前言 ELK是Elasticsearch.Logstash.Kibana的简称,这三者是核心套件,但并非全部. Elasticsearch是实时全文搜索和分析引擎,提供搜集.分析.存储数据三大功能:是 ...
随机推荐
- Bag Problem
Bag Problem Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/131072 K (Java/Others) Total ...
- C#中通过三边长判断三角形类型(三角形测试用例)
对于<编程之美>P292上关于三角形测试用例的问题,题目是这样的: 输入三角形的三条边长,判断是否能构成一个三角形(不考虑退化三角形,即面积为零的三角形),是什么样的三角形(直角.锐角.钝 ...
- [转]人人网首页拖拽上传详解(HTML5 Drag&Drop、FileReader API、formdata)
人人网首页拖拽上传详解(HTML5 Drag&Drop.FileReader API.formdata) 2011年12月11日 | 彬Go 上一篇:给力的 Google HTML5 训练营( ...
- 一次编译Android源码实验
注意,本文只供参考,是老文章 1.必要的软件环境 sudo apt-get install build-essential sudo apt-get install make sudo apt-get ...
- MySQL PLSQL Demo - 005.IF THEN ELSEIF THEN ELSE END IF
drop procedure if exists p_hello_world; create procedure p_hello_world(in v_id int) begin ) then sel ...
- [转载]单元测试之道(使用NUnit)
首先来看下面几个场景你是否熟悉 1.你正在开发一个系统,你不断地编码-编译-调试-编码-编译-调试……终于,你负责的功能模块从上到下全部完成且编译通过!你长出一口气,怀着激动而又忐忑的心情点击界面上的 ...
- C语言实现数组快速排序(含对算法的详细解释)
/* 说明: 代码参考过网上代码,但分析为个人原创,本贴重在说明快速排序算法的思想和运行过程. */ 代码部分: #include<stdio.h> #include<stdlib. ...
- C++ const 的全面总结[转]
C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,本人根据各方面查到的资料进行总结如下,期望对朋友们有所帮助. Const 是C++中常用的类型修饰符,常类型是指使用类 ...
- @RequestMapping测试各种访问方式
这里访问WEB-INF目录下的页面,这个还不知道有没有类似struts2那样的通配符来可以访问不同的action,不同的method,不同 的页面,用户则很爽,有的话求告知,而且我还有一个问题就是配置 ...
- Vmware10.0 安装系统以及使用笔记
1.安装教程参考 大致分为:vmware10.0安装-------建立虚拟机---------设置虚拟机---------启动虚拟机(IOS安装)---------安装系统---------安装vmt ...