Logstash之Logstash inputs(file和redis插件)、Logstash outputs(elasticsearch 和redis插件)和Filter plugins

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介:

Logstash啊,根据input来监控数据,根据output来使用数据!!!

 

 

 

 

 

 

 

手把手带你看官方文档(Logstash inputs和Logstash outputs)

https://www.elastic.co/guide/index.html

 

 

 

https://www.elastic.co/guide/en/logstash/index.html

 

 

 

 

https://www.elastic.co/guide/en/logstash/2.4/index.html

 

 

 

 

 

 

 

 

  

  关于 Logstash inputs、Logstash outputs和Filter plugins,很多很多,自行去官网看,我这里不多赘述。仅仅拿下面来示范:

 

 

 

 

Logstash 的input

file input

  最常用的input插件是file。

https://www.elastic.co/guide/en/logstash/2.4/plugins-inputs-file.html

复制代码
[hadoop@HadoopMaster logstash-2.4.1]$ pwd
/home/hadoop/app/logstash-2.4.1
[hadoop@HadoopMaster logstash-2.4.1]$ ll
total 164
drwxrwxr-x. 2 hadoop hadoop   4096 Mar 27 03:58 bin
-rw-rw-r--. 1 hadoop hadoop 102879 Nov 14 10:04 CHANGELOG.md
-rw-rw-r--. 1 hadoop hadoop   2249 Nov 14 10:04 CONTRIBUTORS
-rw-rw-r--. 1 hadoop hadoop   5084 Nov 14 10:07 Gemfile
-rw-rw-r--. 1 hadoop hadoop  23015 Nov 14 10:04 Gemfile.jruby-1.9.lock
drwxrwxr-x. 4 hadoop hadoop   4096 Mar 27 03:58 lib
-rw-rw-r--. 1 hadoop hadoop    589 Nov 14 10:04 LICENSE
-rw-rw-r--. 1 hadoop hadoop     46 Mar 27 05:30 logstash-simple.conf
-rw-rw-r--. 1 hadoop hadoop    149 Nov 14 10:04 NOTICE.TXT
drwxrwxr-x. 4 hadoop hadoop   4096 Mar 27 03:58 vendor
[hadoop@HadoopMaster logstash-2.4.1]$ vim file_stdout.conf
复制代码

 

  这个,是可以自定义的。我这里是

  path => "/home/hadoop/app.log"
或者
path => [ "/home/hadoop/app", "/home/hadoop/*.log" ]

 

 

 

 

复制代码
input {
    file {
        path => "/home/hadoop/app.log"
    }
}
filter {
    
}
output {
    stdout {}
}
复制代码

  我这里是, 监控/home/hadoop/app.log这个文件的变化。

 

 

 

复制代码
[hadoop@HadoopMaster logstash-2.4.1]$ pwd
/home/hadoop/app/logstash-2.4.1
[hadoop@HadoopMaster logstash-2.4.1]$ ll
total 168
drwxrwxr-x. 2 hadoop hadoop   4096 Mar 27 03:58 bin
-rw-rw-r--. 1 hadoop hadoop 102879 Nov 14 10:04 CHANGELOG.md
-rw-rw-r--. 1 hadoop hadoop   2249 Nov 14 10:04 CONTRIBUTORS
-rw-rw-r--. 1 hadoop hadoop    107 Mar 27 05:55 file_stdout.conf
-rw-rw-r--. 1 hadoop hadoop   5084 Nov 14 10:07 Gemfile
-rw-rw-r--. 1 hadoop hadoop  23015 Nov 14 10:04 Gemfile.jruby-1.9.lock
drwxrwxr-x. 4 hadoop hadoop   4096 Mar 27 03:58 lib
-rw-rw-r--. 1 hadoop hadoop    589 Nov 14 10:04 LICENSE
-rw-rw-r--. 1 hadoop hadoop     46 Mar 27 05:30 logstash-simple.conf
-rw-rw-r--. 1 hadoop hadoop    149 Nov 14 10:04 NOTICE.TXT
drwxrwxr-x. 4 hadoop hadoop   4096 Mar 27 03:58 vendor
[hadoop@HadoopMaster logstash-2.4.1]$ bin/logstash -f file_stdout.conf 
Settings: Default pipeline workers: 1
Pipeline main started
复制代码

 

 

 

 

  重新打开,另外一个HadoopMaster界面。

 

复制代码
[hadoop@HadoopMaster ~]$ pwd
/home/hadoop
[hadoop@HadoopMaster ~]$ ll
total 48
drwxrwxr-x. 12 hadoop hadoop 4096 Mar 27 03:59 app
-rw-rw-r--.  1 hadoop hadoop   18 Mar 26 19:59 app.log
drwxrwxr-x.  7 hadoop hadoop 4096 Mar 25 06:34 data
drwxr-xr-x.  2 hadoop hadoop 4096 Oct 31 17:19 Desktop
drwxr-xr-x.  2 hadoop hadoop 4096 Oct 31 17:19 Documents
drwxr-xr-x.  2 hadoop hadoop 4096 Oct 31 17:19 Downloads
drwxr-xr-x.  2 hadoop hadoop 4096 Oct 31 17:19 Music
drwxr-xr-x.  2 hadoop hadoop 4096 Mar 26 20:35 mybeat
drwxr-xr-x.  2 hadoop hadoop 4096 Oct 31 17:19 Pictures
drwxr-xr-x.  2 hadoop hadoop 4096 Oct 31 17:19 Public
drwxr-xr-x.  2 hadoop hadoop 4096 Oct 31 17:19 Templates
drwxr-xr-x.  2 hadoop hadoop 4096 Oct 31 17:19 Videos
[hadoop@HadoopMaster ~]$ echo bbbbbbb >> app.log 
[hadoop@HadoopMaster ~]$ 
复制代码

 

 

 

 

 

复制代码
[hadoop@HadoopMaster logstash-2.4.1]$ pwd
/home/hadoop/app/logstash-2.4.1
[hadoop@HadoopMaster logstash-2.4.1]$ ll
total 168
drwxrwxr-x. 2 hadoop hadoop   4096 Mar 27 03:58 bin
-rw-rw-r--. 1 hadoop hadoop 102879 Nov 14 10:04 CHANGELOG.md
-rw-rw-r--. 1 hadoop hadoop   2249 Nov 14 10:04 CONTRIBUTORS
-rw-rw-r--. 1 hadoop hadoop    107 Mar 27 05:55 file_stdout.conf
-rw-rw-r--. 1 hadoop hadoop   5084 Nov 14 10:07 Gemfile
-rw-rw-r--. 1 hadoop hadoop  23015 Nov 14 10:04 Gemfile.jruby-1.9.lock
drwxrwxr-x. 4 hadoop hadoop   4096 Mar 27 03:58 lib
-rw-rw-r--. 1 hadoop hadoop    589 Nov 14 10:04 LICENSE
-rw-rw-r--. 1 hadoop hadoop     46 Mar 27 05:30 logstash-simple.conf
-rw-rw-r--. 1 hadoop hadoop    149 Nov 14 10:04 NOTICE.TXT
drwxrwxr-x. 4 hadoop hadoop   4096 Mar 27 03:58 vendor
[hadoop@HadoopMaster logstash-2.4.1]$ bin/logstash -f file_stdout.conf 
Settings: Default pipeline workers: 1
Pipeline main started
2017-03-26T22:24:35.897Z HadoopMaster bbbbbbb
复制代码

 

 

 

 

 

 

 

 

 

  其实,这个文件,.sincedb_8f3299d0a5bdb7df6154f681fc150341也会记录。

 

 

 注意:

   第一次读取新文件,不会有.sincedb等这些,默认根据这个start_position去读,若start_position是end,则读最后。若start_position是begin,则读最开始。

若不是第一次读取文件了,重启Logstash,则会有.sincedb文件了,则就转去根据这个.sincedb文件读了。不管start_position是什么,都不起效了。

  start_position:指定从什么位置开始读取文件数据,默认是结束位置,也可以指定为从头开始。
注意:start_position仅在该文件从未被监听过的时候起作用,因为logstash在读取文件的时候会记录一个.sincedb文件来跟踪文件的读取位置,当文件被读取过一次之后,下次就会从.sincedb中记录的位置读取,start_position参数就无效了。文件默认在用户目录下。

  注意一个坑:ignore_older属性,表示忽略老的数据,值默认为86400,表示忽略24小时以前的数据。如果你新监控一个24小时以上没有被修改过的老文件的话,就算把start_position设置为beginning,也无法获取之前的数据。

 

 

 

 


redis input

https://www.elastic.co/guide/en/logstash/2.4/plugins-inputs-redis.html

 

 

 

 

 

复制代码
[hadoop@HadoopMaster logstash-2.4.1]$ pwd
/home/hadoop/app/logstash-2.4.1
[hadoop@HadoopMaster logstash-2.4.1]$ ll
total 168
drwxrwxr-x. 2 hadoop hadoop   4096 Mar 27 03:58 bin
-rw-rw-r--. 1 hadoop hadoop 102879 Nov 14 10:04 CHANGELOG.md
-rw-rw-r--. 1 hadoop hadoop   2249 Nov 14 10:04 CONTRIBUTORS
-rw-rw-r--. 1 hadoop hadoop    107 Mar 27 05:55 file_stdout.conf
-rw-rw-r--. 1 hadoop hadoop   5084 Nov 14 10:07 Gemfile
-rw-rw-r--. 1 hadoop hadoop  23015 Nov 14 10:04 Gemfile.jruby-1.9.lock
drwxrwxr-x. 4 hadoop hadoop   4096 Mar 27 03:58 lib
-rw-rw-r--. 1 hadoop hadoop    589 Nov 14 10:04 LICENSE
-rw-rw-r--. 1 hadoop hadoop     46 Mar 27 05:30 logstash-simple.conf
-rw-rw-r--. 1 hadoop hadoop    149 Nov 14 10:04 NOTICE.TXT
drwxrwxr-x. 4 hadoop hadoop   4096 Mar 27 03:58 vendor
[hadoop@HadoopMaster logstash-2.4.1]$ vim redis_stdout.conf 
复制代码

 

 

 

 

复制代码
input {
    redis {
        host => "192.168.80.12"
    port => 6379
    data_type => "list"
    key => "filebeat"
    }
}
filter {
    
}
output {
    stdout {}
}
复制代码

 

   这里,用到redis,不会用的博友,请移步

redis的安装(图文详解)

  

   这里,等我安装好了之后,再来。

 

 

 

 

 

 

 

Logstash 的output

redis output

https://www.elastic.co/guide/en/logstash/2.4/plugins-outputs-redis.html

 

 

 

 

复制代码
[hadoop@HadoopMaster logstash-2.4.1]$ pwd
/home/hadoop/app/logstash-2.4.1
[hadoop@HadoopMaster logstash-2.4.1]$ ll
total 172
drwxrwxr-x. 2 hadoop hadoop   4096 Mar 27 03:58 bin
-rw-rw-r--. 1 hadoop hadoop 102879 Nov 14 10:04 CHANGELOG.md
-rw-rw-r--. 1 hadoop hadoop   2249 Nov 14 10:04 CONTRIBUTORS
-rw-rw-r--. 1 hadoop hadoop    107 Mar 27 05:55 file_stdout.conf
-rw-rw-r--. 1 hadoop hadoop   5084 Nov 14 10:07 Gemfile
-rw-rw-r--. 1 hadoop hadoop  23015 Nov 14 10:04 Gemfile.jruby-1.9.lock
drwxrwxr-x. 4 hadoop hadoop   4096 Mar 27 03:58 lib
-rw-rw-r--. 1 hadoop hadoop    589 Nov 14 10:04 LICENSE
-rw-rw-r--. 1 hadoop hadoop     46 Mar 27 05:30 logstash-simple.conf
-rw-rw-r--. 1 hadoop hadoop    149 Nov 14 10:04 NOTICE.TXT
-rw-rw-r--. 1 hadoop hadoop    155 Mar 27 06:43 redis_stdout.conf
drwxrwxr-x. 4 hadoop hadoop   4096 Mar 27 03:58 vendor
[hadoop@HadoopMaster logstash-2.4.1]$ vim stdin_es.conf
复制代码

 

 

 

 

 

 

 


elasticsearch output

  即把Logstash里的数据,写到elasticsearch 集群(这台192.168.80.10里)

  hosts=>"192.168.80.00"

或
  hosts=>["192.168.80.10:9200","192.168.80.11:9200","192.168.80.12:9200"]

  1.x中属性名称叫host
默认向es中创建的索引库是logstash-%{+YYYY.MM.dd},可以利用es中的索引模板特性定义索引库的一些基础配置。

 

复制代码
input {
    stdin { }
}
filter {
    
}
output {
    elasticsearch {
    hosts => "192.168.80.10:9200"
    }
}
复制代码

 

 

 

 

 

 

继续

 

 

 

 

 

 

Filter plugins



本文转自大数据躺过的坑博客园博客,原文链接:http://www.cnblogs.com/zlslch/p/6624457.html,如需转载请自行联系原作者

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
3月前
|
数据可视化 Java Windows
Elasticsearch入门-环境安装ES和Kibana以及ES-Head可视化插件和浏览器插件es-client
本文介绍了如何在Windows环境下安装Elasticsearch(ES)、Elasticsearch Head可视化插件和Kibana,以及如何配置ES的跨域问题,确保Kibana能够连接到ES集群,并提供了安装过程中可能遇到的问题及其解决方案。
Elasticsearch入门-环境安装ES和Kibana以及ES-Head可视化插件和浏览器插件es-client
|
1月前
|
存储 JSON Java
ELK 圣经:Elasticsearch、Logstash、Kibana 从入门到精通
ELK是一套强大的日志管理和分析工具,广泛应用于日志监控、故障排查、业务分析等场景。本文档将详细介绍ELK的各个组件及其配置方法,帮助读者从零开始掌握ELK的使用。
|
1月前
|
存储 监控 安全
|
2月前
|
存储 JSON Java
elasticsearch学习一:了解 ES,版本之间的对应。安装elasticsearch,kibana,head插件、elasticsearch-ik分词器。
这篇文章是关于Elasticsearch的学习指南,包括了解Elasticsearch、版本对应、安装运行Elasticsearch和Kibana、安装head插件和elasticsearch-ik分词器的步骤。
222 0
elasticsearch学习一:了解 ES,版本之间的对应。安装elasticsearch,kibana,head插件、elasticsearch-ik分词器。
|
3月前
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
4月前
|
消息中间件 监控 Kafka
Filebeat+Kafka+Logstash+Elasticsearch+Kibana 构建日志分析系统
【8月更文挑战第13天】Filebeat+Kafka+Logstash+Elasticsearch+Kibana 构建日志分析系统
243 3
|
5月前
|
缓存 NoSQL Serverless
函数计算产品使用问题之如何使用Redis作为缓存插件
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
118 8
|
4月前
|
存储 缓存 监控
Elasticsearch Filter 缓存加速检索的细节,你知道吗?
【8月更文挑战第15天】在大数据与搜索引擎的广阔天地里,Elasticsearch 凭借其强大的全文搜索能力和可扩展性,成为了众多企业和开发者的首选。而在Elasticsearch的性能优化中,Filter缓存(也称为Filter Cache,自Elasticsearch 7.x版本后更名为Query Cache的一部分)扮演着至关重要的角色。今天,我们就来深入探讨一下Elasticsearch Filter缓存如何加速检索过程,以及在日常工作学习中如何有效利用这一特性。
95 0
|
4月前
|
缓存 自然语言处理 Java
ElasticSearch 实现分词全文检索 - filter查询
ElasticSearch 实现分词全文检索 - filter查询
50 0
|
1月前
|
存储 安全 数据管理
如何在 Rocky Linux 8 上安装和配置 Elasticsearch
本文详细介绍了在 Rocky Linux 8 上安装和配置 Elasticsearch 的步骤,包括添加仓库、安装 Elasticsearch、配置文件修改、设置内存和文件描述符、启动和验证 Elasticsearch,以及常见问题的解决方法。通过这些步骤,你可以快速搭建起这个强大的分布式搜索和分析引擎。
50 5