一、简介
Logstash 是一个开源的数据收集引擎,它具有备实时数据传输能力,可以统一过滤来自不同源的数据,并按照开发者的制定的规范输出到目的地。
二、安装
老版本的Logstash 依赖 JDK1.8 ,因此在安装之前请确保机器已经安装和配置好 JDK1.8。如果要通过syslog输出,需要单独的安装syslog插件logstash-output-syslog-3.0.5.gem
1、安装JDK
(1)下载jdk安装包,并上传到安装目录(这里假设为/work/tools/java/)
[root@localhost java]# ls -l /work/tools/java
总用量 185312
-rw-r--r--. 1 root root 189756259 9月 15 2021 jdk-8u161-linux-x64.tar.gz
(2)进入安装目录/work/tools/java,解压安装包
[root@localhost java]# cd /work/tools/java
[root@localhost java]# tar -zxvf jdk-8u161-linux-x64.tar.gz
[root@localhost java]# ls -l
总用量 185312
drwxr-xr-x. 8 10 143 255 12月 20 2017 jdk1.8.0_161
-rw-r--r--. 1 root root 189756259 9月 15 2021 jdk-8u161-linux-x64.tar.gz
(3)配置环境变量,编辑/etc/profile,增加相关配置
export JAVA_HOME=/work/tools/jdk1.8.0_161
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=$JAVA_HOME/lib:$CLASSPATH
配置环境变量,编辑/etc/profile,增加相关配置
2、安装Logstash及配置
(1)上传logstash安装包到/work/tools/logstash,并解压
[root@localhost logstash]# cd /work/tools/logstash/
[root@localhost logstash]# tar -zxf logstash-8.6.2-linux-x86_64.tar.gz
[root@localhost logstash]# ls
logstash-8.6.2 logstash-8.6.2-linux-x86_64.tar.gz
(2)下载并安装logstash-output-syslog插件
logstash默认情况下是内置了输入syslog日志的,但是不支持输出syslog,需要输出syslog的情况下,就需要手动安装logstash-output-syslog插件。logstash-output-syslog插件下载路径如下:
https://rubygems.org/downloads/logstash-output-syslog-3.0.5.gem,上传到/work/tools/logstash/tool/目录,并且压缩成zip文件后再进行安装
[root@localhost logstash-8.6.2]# cd /work/tools/logstash/tool/
[root@localhost tool]# zip logstash-output-syslog-3.0.5.zip logstash-output-syslog-3.0.5.gem
updating: logstash-output-syslog-3.0.5.gem (deflated 23%)
[root@localhost tool]# cd /work/tools/logstash/logstash-8.6.2
[root@localhost logstash-8.6.2]# ./bin/logstash-plugin install file:///work/tools/logstash/tool/logstash-output-syslog-3.0.5.zip
Using bundled JDK: /work/tools/logstash/logstash-8.6.2/jdk
Installing file: /work/tools/logstash/tool/logstash-output-syslog-3.0.5.zip
Resolving dependencies..........................
Install successful
(3)修改配置,假设读取/var/log/messages并通过syslog输出,可以在config目录创建一个配置文件linux_log.conf,并添加以下内容:
input {
file {
path => "/var/log/messages"
start_position => "beginning"
type => "linux_log"
}
}
output {
syslog {
host => "192.168.0.232"
port => 5001
codec => "plain"
}
}
path:待读取的文件,host:syslog服务器的地址,port:syslog服务器的接收端口