热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:Logstash之Logstashinputs(file和redis插件)Logstashoutputs和Filterplugins

篇首语:本文由编程笔记#小编为大家整理,主要介绍了Logstash之Logstash inputs(file和redis插件)Logstash outputs和Filter plugins相关的知识,

篇首语:本文由编程笔记#小编为大家整理,主要介绍了Logstash之Logstash inputs(file和redis插件)Logstash outputs和Filter plugins相关的知识,希望对你有一定的参考价值。



 

 

 

 前期博客


Logstash安装和设置(图文详解)(多节点的ELK集群安装在一个节点就好)

 

 

 

 

 

 

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

 请移步,


Filebeat之input和output(包含Elasticsearch Output 、Logstash Output、 Redis Output、 File Output和 Console Output)

  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

继续

 



推荐阅读
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • 在PHP中如何正确调用JavaScript变量及定义PHP变量的方法详解 ... [详细]
  • 掌握PHP编程必备知识与技巧——全面教程在当今的PHP开发中,了解并运用最新的技术和最佳实践至关重要。本教程将详细介绍PHP编程的核心知识与实用技巧。首先,确保你正在使用PHP 5.3或更高版本,最好是最新版本,以充分利用其性能优化和新特性。此外,我们还将探讨代码结构、安全性和性能优化等方面的内容,帮助你成为一名更高效的PHP开发者。 ... [详细]
  • IOS Run loop详解
    为什么80%的码农都做不了架构师?转自http:blog.csdn.netztp800201articledetails9240913感谢作者分享Objecti ... [详细]
  • 本项目通过Python编程实现了一个简单的汇率转换器v1.02。主要内容包括:1. Python的基本语法元素:(1)缩进:用于表示代码的层次结构,是Python中定义程序框架的唯一方式;(2)注释:提供开发者说明信息,不参与实际运行,通常每个代码块添加一个注释;(3)常量和变量:用于存储和操作数据,是程序执行过程中的重要组成部分。此外,项目还涉及了函数定义、用户输入处理和异常捕获等高级特性,以确保程序的健壮性和易用性。 ... [详细]
  • 技术分享:使用 Flask、AngularJS 和 Jinja2 构建高效前后端交互系统
    技术分享:使用 Flask、AngularJS 和 Jinja2 构建高效前后端交互系统 ... [详细]
  • DVWA学习笔记系列:深入理解CSRF攻击机制
    DVWA学习笔记系列:深入理解CSRF攻击机制 ... [详细]
  • ClassList对象学习心得与表单事件非空校验技巧
    ClassList对象学习心得与表单事件非空校验技巧 ... [详细]
  • 帝国CMS中的信息归档功能详解及其重要性
    本文详细解析了帝国CMS中的信息归档功能,并探讨了其在内容管理中的重要性。通过归档功能,用户可以有效地管理和组织大量内容,提高网站的运行效率和用户体验。此外,文章还介绍了如何利用该功能进行数据备份和恢复,确保网站数据的安全性和完整性。 ... [详细]
  • 深入解析JavaScript柯里化的实现机制及其应用场景
    本文深入探讨了JavaScript中柯里化的实现机制及其应用场景。通过详细的示例代码,文章全面解析了柯里化的工作原理和实际应用,为读者提供了宝贵的学习资源,有助于提升编程技能和解决实际开发中的问题。 ... [详细]
  • C++ 异步编程中获取线程执行结果的方法与技巧及其在前端开发中的应用探讨
    本文探讨了C++异步编程中获取线程执行结果的方法与技巧,并深入分析了这些技术在前端开发中的应用。通过对比不同的异步编程模型,本文详细介绍了如何高效地处理多线程任务,确保程序的稳定性和性能。同时,文章还结合实际案例,展示了这些方法在前端异步编程中的具体实现和优化策略。 ... [详细]
  • 本文将继续探讨 JavaScript 函数式编程的高级技巧及其实际应用。通过一个具体的寻路算法示例,我们将深入分析如何利用函数式编程的思想解决复杂问题。示例中,节点之间的连线代表路径,连线上的数字表示两点间的距离。我们将详细讲解如何通过递归和高阶函数等技术实现高效的寻路算法。 ... [详细]
  • PyCharm调试技巧:开发者的实用指南
    PyCharm调试技巧:开发者的实用指南 ... [详细]
  • 本文提供了详细的 Filebeat 部署指南,涵盖了解压安装包、配置文件编辑以及启动服务等关键步骤。具体操作包括使用 `tar -zxvf filebeat-6.1.1-linux-x86_64.tar.gz` 解压安装包,并通过 `vi /home/elk/filebeat-6.4.2-linux/filebeat.yml` 编辑配置文件。此外,文章还介绍了最佳实践,帮助用户确保 Filebeat 的高效运行和数据传输的可靠性。 ... [详细]
  • 美团优选推荐系统架构师 L7/L8:算法与工程深度融合 ... [详细]
author-avatar
手机用户2502892647
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有