3,ELK安装--Logstash安装

安装logstash

1,解压:tar -zxvf logstash-5.6.3.tar.gz
2,创建logstash.conf配置文件

cd logstash-5.6.3
cd config/
vi logstash.conf

下为内容

input {
     file {
        type => "log"
        path => "/home/songlj/logs/*.log"
        start_position => "beginning"
    }
}
output {
  stdout {
   codec => rubydebug { }
  }
  elasticsearch {
    hosts => "127.0.0.1"
    index => "log-%{+YYYY.MM.dd}"
  }
}

input ,filter,output三大块, 其中input是吸取logs文件下的所有log后缀的日志文件,filter是一个过滤函数,这里不用配置,output配置了导入到
hosts为127.0.0.1:9200的elasticsearch中,每天一个索引,所以可以自己设置,es速度快原因之一倒排索引
3,启动logstash
进入到bin目录下执行

./logstash -f ../config/logstash.conf
启动成功

4,测试一下,因为logstash监听的是/home/songlj/logs这个目录下的*.log文件,现在写一个文件进去,看能不能收集到


 进入到
/home/songlj/logs
echo "zhelik可以吗" >> log3.log

下面就是logstash打印出来的,可见已经收集到了,

{
      "@version" => "1",
          "host" => "localhost.localdomain",
          "path" => "/home/songlj/logs/log3.log",
    "@timestamp" => 2018-07-18T11:12:31.724Z,
       "message" => "zhelik可以吗",
          "type" => "log"
}

但是,发现

Last error: [LogStash::Outputs::ElasticSearch::HttpClient::Pool::HostUnreachableError] Elasticsearch Unreachable: [http://127.0.0.1:9200/][Manticore::SocketException] 拒绝连接 (Connection refused) {:url=>http://127.0.0.1:9200/, :error_message=>"Elasticsearch Unreachable: [http://127.0.0.1:9200/][Manticore::SocketException] 拒绝连接 (Connection refused)", :error_class=>"LogStash::Outputs::ElasticSearch::HttpClient::Pool::HostUnreachableError"}

说明logstash将数据插入到ES的时候报错了,因为我的ES挂了,所以可见集群的重要性

你可能感兴趣的:(3,ELK安装--Logstash安装)