logstash的安装使用、收集json日志、csv日志总结

1、logstash在官网直接下载解压即可使用

[elk_test@hadoop2 14:20 ~]$tar -zxvf logstash-5.6.3.tar.gz 
[elk_test@hadoop2 14:21 ~]$cd logstash-5.6.3

启动logstash监控文件。

./bin/logstash   -f   my.config

其中 -f 参数后面接你配置文件,在下面2和3中介绍了json和csv两种简单的配置方式,想要复杂的配置可以去参考官网一些参数介绍说明。

2、json日志收集配置
格式有样例:文件中每一行都是json格式的,其中字段如果有type会覆盖你index/type/id 中type值,这个你要小心了

{"10190":0,"10071":0,"10191":0,"10070":0,"48":"136587","type":"136587","10018":0}

input:对应输入的配置,其中path是监控的文**件路劲, codec编码个格式

output:输出格式,stdout 输出到控制台

其中elasticsearch : { hosts => "192.168.0.153:9200" } 对应输出到elasticsearch,hosts是elasticsearch安装地址。

input {
    file {

        path => ["/home/elk_test/logstash-5.6.3/logfile"]
        codec => json {
            charset => "UTF-8"
        }


    }
}

output {

    stdout {
        codec => rubydebug
    }

    elasticsearch {
        hosts => "192.168.0.153:9200"

    }
}

3、csv日志收集

日志样例:逗号分隔的日志,每一行数据格式如下,了解一下csv格式就知晓了。

3202,UA3202,92509,122774,2,106200,0

path :文件路劲
columns:字段名字,收集到日志每个值value对应的key separator: 分隔符,csv当然是逗号,实际使用什么分隔符就填什么分隔符。

input {
  file {
    type => "csv_log"
    path => ["/home/elk_test/logstash-5.6.3/logfile"]
    start_position => "beginning"
  }
}

filter {
  if [type] == "csv_log" {
  csv {
    separator => ","
    columns => ["ip", "a", "date", "time", "b", "latency", "status", "size", "method", "url", "file"]
  } 
  }
}

output {
  if [type] == "csv_log" {
  logservice {
        codec => "json"
        endpoint => "***"
        project => "***"
        logstore => "***"
        topic => ""
        source => ""
        access_key_id => "***"
        access_key_secret => "***"
        max_send_retry => 10
    }
    }
}

你可能感兴趣的:(logstash的安装使用、收集json日志、csv日志总结)