logstash info

logstash 信息

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Logstash是一款轻量级的日志搜集处理框架,可以方便的把分散的,多样化的日志搜集起来,并进行自定义的处理,然后传输到指定的位置,比如某个服务器或者文件

Logstash使用管道方式进行日志的搜集处理和输出.有点类似*NIX系统的管道命令"xxx | ccc | ddd"(xxx执行完了会执行ccc,然后执行ddd)
Logstash包含三个阶段: 输入input --> 处理filter(不是必须的) --> 输出output
Logstash的每个阶段都可以指定多个访问方式,例如:在input{}中指定多个来源地址,在filter{}中指定多个过滤条件,在output{}指定多个输出地址
注意: 在filter{}中添加多种处理规则,是按照规则顺序一一处理(可以简单的理解从上到下),并且官方不建议在filter中使用重复使用插件

input:是指日志数据传输到Logstash中
Fillter:在Logstash处理链中担任中间处理组件
output:是logstash处理管道的最末端组件
codecs:是基于数据流的过滤器,它可以作为input,output的一部分配置.Codecs可以帮助你轻松的分割发送过来已经被序列化的数据

Logstash常用命令参数:
-f:通过这个命令可以指定Logstash的配置文件,根据配置文件配置logstash
-t:测试配置文件是否正确,然后退出,长与-f一起使用
-e:后面跟着字符串,该字符串可以被当做logstash的配置(如果是""则默认使用stdin作为输入,stdout作为输出)
-l:日志输出的地址(默认就是stdout直接在控制台中输出)
  1. logstash 多配置文件启动问题

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    例如: 有两个配置文件1.conf和2.conf
    conf/1.conf
    conf/2.conf

    方式一:
    bin/logstash -f ./config/*
    注意: 种启动方式启动的是conf目录下的第一个配置文件,其它配置文件并没有生效

    方式二:
    bin/logstash -f ./config/
    此时,conf配置文件下的内容都生效了

    综上:启动logstash,不管有多少个配置文件最后在启动的时候都会编译成一个文件,也就是说logstash启动后,无论有多少个input或output,只有一个pipeline
  2. logstash 自动reload配置文件

    1
    2
    3
    bin/logstash –f apache.config --auto-reload   //默认每3秒检查一次
    bin/logstash –f apache.config --auto-reload --reload-interval 60 //设置60秒检查一次配置
    bin/logstash –f apache.config --auto-reload --reload-interval 60 -l /log/logstash.log 指定logstash的日志存放位置
  3. logstash 插件操作

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    //查看插件
    bin/logstash-plugin list
    bin/logstash-plugin list --verbose
    bin/logstash-plugin list '*namefragment*'
    bin/logstash-plugin list --group output

    //安装插件
    bin/logstash-plugin install logstash-output-kafka

    //更新插件
    bin/logstash-plugin update
    bin/logstash-plugin update logstash-output-kafka

    //删除插件
    bin/logstash-plugin uninstall logstash-output-kafka

    //代理安装插件
    export HTTP_PROXY=http://127.0.0.1:3128
    bin/logstash-plugin install logstash-output-kafka
  4. logstash 创建个人插件

    1
    2
    3
    4
    5
    bin/logstash-plugin generate --type input --name xkcd --path ~/ws/elastic/plugins

    --type: Type of plugin - input, filter, output, or codec
    --name: Name for the new plugin
    --path: Directory path where the new plugin structure will be created. If not specified, it will be created in the current directory.