Logstash安装与使用

Logstash安装与使用

  1. Logstash安装

尽量安装当前最新版本,提供的功能和插件较多。

1.1环境

查看Java版本(logstash-6.0.0需要Java8)

Java  –version

 

1.2安装

安装的方式有以下两种:

  1. 通过下载文件包安装(推荐,免安装)

//下载

         sudo curl -O https://artifacts.elastic.co/downloads/logstash/logstash-6.0.0.tar.gz

         //解压并进入该目录

         sudo tar zxvf logstash-6.0.0.tar.gz 

         cd logstash-5.6.0

         //简单测试

         sudo bin/logstash -e 'input { stdin { } } output { stdout {} }'

         //命令行下输入一些字符,然后我们将看到logstash的输出内容与输出一致

         hello world 

2013-11-21T01:22:14.405+0000 0.0.0.0 hello world

2)通过package repositories安装(参考官网)

  1. Logstash 使用
    1. logstash的概念及特点

概念:logstash是一个数据采集、加工处理以及传输(输出)的工具。

特点:

  - 所有类型的数据集中处理

  - 不同模式和格式数据的正常化

  - 自定义日志格式的迅速扩展

- 为自定义数据源轻松添加插件

 

    1. logstash启动方式

logstash三种启动方式:

-e   //sting类型启动

-f   //指定配置文件启动

service logstash start  //服务启动

其他参数:

--config.test_and_exit解析配置文件并报告错误

--config.reload.automatic自动重载配置,不用每次修改配置文件时都关闭并重启logstash

每次启动是都会警告,logstash ignoring the pipelines.yml file,可以忽略该条警告!pipelines.yml文件用于在一个logstash中运行多个管道。

 

2.3 logstash配置语句详解

logstash配置文件包含三个配置部分,分别为:input{}、filter{}、output{}。

{} 定义区域,区域内可以定义一个或多个插件,通过插件对数据进行收集,加工处理,输出。

 

数据类型:

  布尔值类型: ssl_enable => true

  字节类型: bytes => "1MiB"

  字符串类型: name => "xkops"

  数值类型: port => 22

  数组: match => ["datetime","UNIX"]

  哈希: options => {key1 => "value1",key2 => "value2"}

  编码解码: codec => "json"

  路径: file_path => "/tmp/filename"

  注释: #

 

条件判断:

  等于: ==

  不等于: !=

  小于: <

  大于: >

  小于等于: <=

  大于等于: >=

  匹配正则: =~

  不匹配正则: !~

  包含: in

  不包含: not in

  与:        and

  或:        or

  非与: nand

  非或:   xor

  复合表达式: ()

  取反符合: !()

 

2.4 logstash常用插件

input插件,常用的插件:file、tcp、udp、syslog,beats

filter插件,常用的插件:json、grok

output插件,常用的插件:file; tcp/udp; redis/kfaka; elasticsearch

codec类插件,常用的插件:plainjsonjson_linesrubydebugmultiline

 

2.5 logstash使用小结

2.5.1. logstash的sting类型启动

sudo /bin/logstash -e 'input{ stdin{} } output{ stdout{} }'

sudo bin/logstash -e 'input { udp{ port => 514 } } output { stdout {codec => "json_lines"} }'

这种方式将配置信息以字符串形式给出,一般用于简单测试

 

 

 

2.5.2. logstash指定配置文件启动

当配置信息较为复杂时,不建议采用2.5.1的方法,应该以指定配置文件方式启动,如下:

sudo bin/logstash -f /home/sdn/logstash-6.0.0/conf.d/dev_syslog_kafka.conf

这种方式将配置信息写入dev_syslog_kafka.conf 文件,然后再调用

 

2.5.3 配置文件创建过程中的一些细节

2.5.3.1  @timestamp比当前系统时间早8小时:

@timestamp为UTC时间,无论怎么设置,其值不会改变,解决方法:在filter中 设置字段timestamp = @timestamp + 8小时,并删除字段@timestamp。

    ruby {

        code => "event.set('timestamp', event.get('@timestamp').time.localtime + 8*60*60)"

    }

2.5.3.2添加字段和删除字段

    需要将输入的某个字段中的多个信息分为多个字段输出,或者需要删除一些logstash字段生成或者不需要的字段时,都是在filter的mutate(格式转换,可以多个)中完成:

    //将字段切片

    mutate{

            split=>["message",","]

        }

//判断并添加字段

if [message][0] == "FLOW" {

    mutate{

        add_field => {

            "sampleType" => "%{[message][0]}"

                "agentIp" => "%{[message][1]}"

                …

}

}

}

//删除字段

mutate{

    remove_field => ["message"]

    remove_field => ["@version"]

    …

}

 

 

 

2.5.3.4 运行多个配置文件

1.将多个文件放入同一个文件夹,运行时指定文件夹如conf3.d文件夹:

sudo bin/logstash -f /home/sdn/logstash-6.0.0/conf3.d

注意:此时只是把多个的.conf文件的内容完全合并为了一个配置文件,需要通过添加

tag或type字段进行判断处理;也可将多个配置文件写成一个。

2.运行文件夹中的部分配置文件

bin/logstash --debug -f '/tmp/{one,two,three}'

 

 

 

 

Command-Line Flags

Logstash提供了以下的命令行标志,可以通过 –help查看

--node.name NAME

         指定这个Logstash实例的名称。如果没有赋值,它将默认为当前的主机名。

 

-f, --path.config CONFIG_PATH

加载配置文件,可以是一个特定的文件或目录。如果一个目录,该目录中的所有文件将按词法顺序连接,然后作为一个单独的配置文件进行解析。不支持多次指定,如果指定这个标志多次,Logstash使用最后一个指定(例如,- f  foo –f bar等同于-f bar)。

可以使用通配符功能加载特定的文件的名字:

bin/logstash --debug -f '/tmp/{one,two,three}'

上面的命令,logstash会加载三个配置文件,one、two和three,将它们解析为一个配置文件。

 

-e, --config.string CONFIG_STRING

         将使用指定的字符串作为配置文件。语法与配置文件相同。如果没有指定input,会使用默认的input { stdin { type => stdin } },如果没有指定output,会使用默认的output { stdout { codec => rubydebug } }.如果两个都想使用默认的,使用-e空字符串。默认为nil。

 

--module

         启动指定的模块。通常与- M选项一起使用,指定模块中的变量值。如果在命令行上使用该选项,会忽略logstash.yml文件中的所有模块和任何设置。这个标志与- f和- e标志互斥。只能指定三者中的一个。可以指定多个模块,通过逗号分隔,或通过调用多次标志。

 

-M, --modules.variable

         指定模块变量,格式为:

 -M "MODULE_NAME.var.PLUGIN_TYPE.PLUGIN_NAME.KEY_NAME=value"

或者:

-M "MODULE_NAME.KEY_NAME.SUB_KEYNAME=value"

-M可以使用多次,没有-M参数,则使用默认值,只能和 –-module一起使用,否则会被忽略。

 

-w, --pipeline.workers COUNT

         设定管道 workers(进程?)个数,该标志同时作用于管道中的filter,output阶段。当cpu使用率不高时,可以适当增加该值,更好地利用机器的处理能力。默认值为cpu核的数量

-b, --pipeline.batch.size SIZE

         管道批大小。该选项指定worker线程每次读取事件个数的最大值。默认值为125个事件,更大的批大小通常更有效率,代价是增加了内存开销。可能需要增加JVM堆大小,从而使该选项更加有效。

 

-u, --pipeline.batch.delay DELAY_IN_MS

         在创建管道批次时,下个事件轮循时需要多长时间。这个选项定义了多少毫秒后轮询下个事件,在传输一个小批处理给filters之前。默认是250 ms。

 

--pipeline.unsafe_shutdown

         强制logstash退出,即使内存中还有事件。默认情况下,Logstash将拒绝退出,直到所有收到事件被送往输出。启用这个选项在关闭期间可能导致数据丢失。

 

-p, --path.plugins PATH

         指定自定义插件的路径,多个路径时可以指定多次。插件需要指定具体路径:

PATH/logstash/TYPE/NAME.rb 

其中TYPE为input,filter,outputs或者codecs,NAME为插件名

 

-l, --path.logs PATH

         指定logstash内部log的路径

 

--log.level LEVEL

设置log等级,可能的值有:

         fatal: 非常严重错误消息,通常紧随其后的是应用程序异常终止

         frror: 错误日志

         warn: 警告日志

         info: 详细信息(默认值)

         debug: 记录调试信息(开发人员)

         trace:调试信息外更细粒度的信息

 

--config.debug

         显示一个debug日志信息的具体配置(需要设置为debug等级)。警告:该log信息会明文传递任何密码选项到插件配置,可能导致明文密码出现在日志!

 

-i--

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Logstash是一个开源的服务器端数据处理管道,可以同时从多个来源采集数据,经过过滤和转换后将数据发送到目标存储库中。 安装Logstash的步骤如下: 1. 下载Logstash安装包。可以从官方网站下载,选择适合你操作系统的版本。 2. 解压安装包到指定的目录。 3. 安装logstash-input-jdbc插件。在解压后的Logstash安装目录下,打开命令行,执行命令`bin/logstash-plugin install logstash-input-jdbc`来安装该插件。 4. 准备MySQL驱动jar文件。在Logstash的bin目录下创建一个名为mysql的文件夹,并将MySQL驱动jar文件上传到该文件夹中。 5. 启动Logstash。在安装路径的bin目录中执行启动命令`./logstash -e "input {stdin {}} output {stdout{}}"`。请注意,启动命令中的-e参数后要使用双引号。如果在命令行中看到“Successfully started Logstash API end-point l:port= >9600”,则表示启动成功。请耐心等待启动过程,它可能会比较慢。 通过以上步骤,你就可以成功安装Logstash。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [logstash安装](https://download.csdn.net/download/weixin_38565631/14040143)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [LogStash安装](https://blog.csdn.net/qq_40977118/article/details/123452119)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值