CentOS7 安装 Logstash
Logstash 工作原理
Logstash使用管道方式进行日志的搜集处理和输出。
有点类似Linux系统的管道命令 aaa| bbb | ccc,aaa执行完了会执行bbb,然后执行ccc。
在logstash中,包括了三个阶段:
输入input --> 处理filter(不是必须的) --> 输出output
配置文件也是按这个顺序进行配置的。
安装Logstash
下载
进入软件目录
cd /opt/software
下载安装包
wget https://artifacts.elastic.co/downloads/logstash/logstash-6.5.2.tar.gz
解压
tar -zxvf logstash-6.5.2.tar.gz
重命名
mv logstash-6.5.2 logstash
修改配置文件
进入配置文件目录
➜ cd /opt/software/logstash/config
查看配置文件
➜ ls
jvm.options logstash-sample.conf pipelines.yml
log4j2.properties logstash.yml startup.options
复制配置文件
➜ cp logstash-sample.conf syslog.conf
修改
# 定义日志源
input {
syslog {
type => "system-syslog" # 定义类型
port => 10514 # 定义监听端口
}
}
# 定义日志输出
output {
stdout {
codec => rubydebug # 将日志输出到当前的终端上显示
}
}
验证配置文件
➜ ./logstash --path.settings /opt/software/logstash/config/ -f /opt/software/logstash/config/syslog.conf --config.test_and_exit
正确输出如下:
Sending Logstash logs to /opt/software/logstash/logs which is now configured via log4j2.properties
[2018-11-23T09:28:36,184][WARN ][logstash.config.source.multilocal] Ignoring the 'pipelines.yml' file because modules or command line options are specified
Configuration OK
[2018-11-23T09:28:38,630][INFO ][logstash.runner ] Using config.test_and_exit mode. Config Validation Result: OK. Exiting Logstash
看到 Configuration OK
可以知道我们的配置没有问题。
命令说明:
--path.settings
用于指定logst