1.安裝
rpm --import http://packages.elasticsearch.org/GPG-KEY-elasticsearch
cat > /etc/yum.repos.d/logstash.repo <<EOF
[logstash-5.0]
name=logstash repository for 5.0.x packages
baseurl=http://packages.elasticsearch.org/logstash/5.0/centos
gpgcheck=1
gpgkey=http://packages.elasticsearch.org/GPG-KEY-elasticsearch
enabled=1
EOF
yum clean all
yum install logstash
2.測試運行
# whereis logstash logstash: /etc/logstash /usr/share/logstash
# cp -r /etc/logstash/logstash.yml /usr/share/logstash/config/logstash.yml
執行上面的復制操作是因為我直接按照書中的操作方法直接鍵入命令運行報錯,說在/usr/share/logstash/config下面找不到配置文件。
執行
./logstash -e 'input{stdin{}}output{stdout{codec=>rubydebug}}'
啟動成功后輸入'Hello World'結果如下:
[root@localhost bin]# ./logstash -e 'input{stdin{}}output{stdout{codec=>rubydebug}}' --- jar coordinate com.fasterxml.jackson.core:jackson-annotations already loaded with version 2.7.1 - omit version 2.7.0 --- jar coordinate com.fasterxml.jackson.core:jackson-databind already loaded with version 2.7.1 - omit version 2.7.1-1 Sending logstash logs to /var/log/logstash/logstash.log. Pipeline main started Hello World { "@timestamp" => 2016-12-20T06:17:12.677Z, "@version" => "1", "host" => "localhost", "message" => "Hello World" } { "@timestamp" => 2016-12-20T06:17:12.677Z, "@version" => "1", "host" => "localhost", "message" => "Hello World" }
字段說明:
- Logstash 會給事件添加一些額外信息。最重要的就是 @timestamp,用來標記事件的發生時間。因為這個字段涉及到 Logstash 的內部流轉,所以必須是一個 joda對象,
如果你嘗試自己給一個字符串字段重命名為 @timestamp 的話,Logstash會直接報錯。所以,請使用 filters/date 插件 來管理這個特殊字段。 - host 標記事件發生在哪里
- type 標記事件的唯一類型
- tags 標記事件某方面的屬性,是一個數組
小貼士:
每個 logstash 過濾插件,都會有四個方法叫 add_tag , remove_tag ,add_field 和 remove_field 。它們在插件過濾匹配成功時生效。