Logstash简介
Logstash是一个具备实时数据传输能力的开源数据收集引擎。Logstash可以动态地将不同来源的数据统一起来,并将数据标准化输出到您所选择的目的地。用于各种高级的下游分析和可视化用例,处理和规范化所有数据。
虽然Logstash最初驱动日志收集中的创新,但其能力远远超出了用例。任何类型的事件都可以通过广泛的输入、过滤器和输出插件数组来丰富和转换,许多本地编解码器进一步简化了摄取过程。
Logstash管道有两个必需的元素,input并且output,以及一个可选的元素,filter。输入插件使用来自源的数据,过滤器插件在您指定时修改数据,输出插件将数据写入目标。
二、安装配置
此例是安装在192.168.1.231的主机上,我使用yum安装Lostash,怎么都启动不了服务,无奈,还是直接下二进制包比较靠谱;JDK环境跟ES一样必须安装的,版本最好一致。
1、下载二进制包并解压
wget -c https://artifacts.elastic.co/downloads/logstash/logstash-6.4.1.tar.gz
tar -zxvf logstash-6.4.1.tar.gz
cd logstash-6.4.1
系统架构:
2、测试快速启动,标准输入输出作为input和output,没有filter
bin/logstash -e 'input { stdin { } } output { stdout {} }'
启动Logstash后,等到看到“Pipeline started successfully”,然后hello world在命令提示符处输入:hello world
{
"host" => "ecs-test.novalocal",
"@version" => "1",
"message" => "hello world",
"@timestamp" => 2018-09-28T14:48:06.421Z
}
3、常用启动参数
参数 | 说明 | 举例 |
---|---|---|
-e | 立即执行,使用命令行里的配置参数启动实例 | bin/logstash -e ‘input {stdin {}} output {stdout {}}’ |
-f | 指定启动实例的配置文件 | bin/logstash -f config/test.conf |
-t | 测试配置文件的正确性 | bin/logstash-f config/test.conf -t |
-l | 指定日志文件名称 | bin/logstash-f config/test.conf -l logs/test.log |
-w | 指定filter线程数量,默认线程数是5 | /bin/logstash-f config/test.conf -w 8 |
三、收集系统日志
1、更改messages文件权限
chmod 644 /var/log/messages
2、配置Logstash
vim /etc/logstash/conf.d/syslog.conf
input{
file {
type => "systemlog"
path => "/var/log/messages"
start_position => "beginning"
stat_interval => "5"
}
}
output {
elasticsearch {
hosts => ["192.168.1.235:9200"] # 定义es服务器的ip
index => "system-syslog-%{+YYYY.MM.dd}" # 定义索引
}
}
3、测试配置文件
bin/logstash -f /opt/logstash-6.4.1/config/syslog.conf -t
#显示以下内容说明没问题
Configuration OK
4、更改logstash监听ip
# vim /etc/logstash/logstash.yml
http.host: "192.168.1.231"
5、启动服务,查看端口
bin/logstash -f config/syslog.conf
tcp6 0 0 192.168.1.231:9600 :::* LISTEN 9011/java
6、直接用浏览器访问ES查看索引
http://192.168.1.235:9200/_cat/indices?v
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size
green open system-syslog-2018.09.29 hiNVdb1rT3KUU-1g10yFbg 5 1 3 0 21.6kb 21.6kb
#查看指定索引详细信息
http://192.168.1.235:9200/system-syslog-2018.09.29?pretty
官方参考资料:Elasticsearch官方指南