zoukankan      html  css  js  c++  java
  • 【Logstash】Logstash快速入门(二十五)

    Logstash简介

      Logstash是具有实时流水线功能的开源数据收集引擎。Logstash可以动态统一来自不同来源的数据,并将数据标准化到选择的目标位置。清除所有数据并使其民主化,以用于各种高级下游分析和可视化用例。

      虽然Logstash最初推动了日志收集方面的创新,但其功能远远超出了该用例。任何类型的事件都可以通过各种各样的输入,过滤器和输出插件来丰富和转换,许多本机编解码器进一步简化了提取过程。Logstash通过利用大量数据和各种数据来加快的见解。

      官网:https://www.elastic.co/cn/logstash

      文档地址:https://www.elastic.co/guide/en/logstash/7.x/index.html

      用途:

      

      基本运行流程:

      

      Logstash管道具有两个必需元素input和output,以及一个可选元素filter。

      输入插件使用来自源的数据,过滤器插件根据您的指定修改数据,输出插件将数据写入目标。

    Logstash入门使用

      1、下载logstash,本例使用(filebeat-7.6.1-linux-x86_64.tar.gz)7.6.1版本

      2、解压下载的压缩包

        命令:tar -zxvf filebeat-7.6.1-linux-x86_64.tar.gz

      3、进入解压目录

        命令:cd logstash-7.6.1

        

      4、运行logstash,采用最基本运行命令

        启动命令:./bin/logstash -e

        后台运行命令:nohup ./bin/logstash -e &

        最基本运行命令:./bin/logstash -e 'input { stdin { } } output { stdout {} }'

         关闭命令:

          找pid命令:ps -ef|grep logstash

          kill命令:kill pid

        启动之后,logstash会监听端口(默认) 9600

      5、采用最基本运行命令,意思是在控制台进行输入输出,

        在控制台继续输入 hello,效果如下,可以看到输出内容

        

        如上显示,Logstash 会额外增加一些信息,比如 @timestamp 时间, host 主机名等。   

    Logstash输出到ES

      1、编辑配置文件config/logstash-sample.conf,内容如下:

        命令:vim config/logstash-sample.conf

     1 input {
     2   #beats {
     3   #  port => 5044
     4   #}
     5   stdin { }
     6 }
     7 
     8 output {
     9   elasticsearch {
    10     hosts => ["http://127.0.0.1:9200"]
    11     index => "logstash-%{+YYYY.MM.dd}"
    12     user => "elastic"
    13     password => "123456"
    14   }
    15 } 

      2、指定配置启动logstash

        命令:./bin/logstash -f config/logstash-sample.conf

      3、在控制台输出“hello world”

      4、查看es数据

        1)新增了索引:logstash-2020.06.30-000001

        2)新增数据,内容如下:

     1 {
     2     "_index": "logstash-2020.06.30-000001",
     3     "_type": "_doc",
     4     "_id": "CFPGBXMB0t-2xlrmhCk9",
     5     "_version": 1,
     6     "_score": 1,
     7     "_source": {
     8         "host": "H__D",
     9         "@version": "1",
    10         "message": "hello world",
    11         "@timestamp": "2020-06-30T15:09:22.491Z"
    12     }
    13 }

    Logstash配置文件说明

     1 input { #输入
     2     stdin { ... } #标准输入
     3 }
     4 
     5 filter { #过滤,对数据进行分割、截取等处理 ...
     6 
     7 }
     8 
     9 output { #输出
    10     stdout { ... } #标准输出
    11 }

    Logstash命令行参数

      1、-e,--config.string

        使用给定的字符串作为配置数据。

      2、-f,--path.config

        从特定文件或目录加载Logstash配置。如果给出了目录,则该目录中的所有文件将按字典顺序连接,然后解析为单个配置文件。

      3、-t,--config.test_and_exit

        检查配置以获取有效的语法,然后退出。请注意,不会使用此标志检查grok模式的正确性。Logstash可以从目录中读取多个配置文件。

      4、-h,--help

        打印帮助

      5、-l,--path.logs

        PATH要写入Logstash内部日志的目录。

      6、--log.level

        设置Logstash的日志级别。可能的值为:

      • fatal:记录非常严重的错误消息,这些错误消息通常在应用程序中止之后
      • error:记录错误
      • warn:记录警告
      • info:记录详细信息(这是默认设置)
      • debug:记录调试信息(适用于开发人员)
      • trace:记录除调试信息以外的更细粒度的消息

      7、--config.debug

        将完整编译的配置显示为调试日志消息(还必须--log.level=debug启用)。警告:日志消息将包含以明文形式传递给插件配置的所有密码选项,并可能导致明文密码出现在日志中!

      8、-w,--pipeline.workers

        设置要运行的管道工人数。此选项设置将并行执行管道的筛选和输出阶段的工作程序数。

      9、-p, --path.plugins

        查找自定义插件的路径。可以多次赋予此标志以包括多个路径。 

  • 相关阅读:
    yum安装LAMP
    CentOS7添加永久静态路由
    批量解压缩,显示进度条(2)
    Django静态文件配置
    大家同乐一下,搞了三天的字符串与STL!终于搞好了。。
    C++动态分配空间
    UNICODE问题
    VC编码规范 (转)
    vs2008中添加splash screen[分享]
    E
  • 原文地址:https://www.cnblogs.com/h--d/p/13211084.html
Copyright © 2011-2022 走看看