logstash 安装
logstash 安装
logstash可以同时从多个数据源获取数据,并对其进行转换,然后将其发送es。
1.1 环境准备
1.1.1 安装java环境
Logstash 5.6 以上版本不低于 Oracle JDK version 1.8.0_131,7.0之后貌似对OpenJDK支持友好。出于习惯,这里采用的1.8.0_322
1.1.2 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
1.1.3 创建文件夹
mkdir -p /home/admin/elk/logstash
2.1 安装包下载部署
cd /home/admin/elk/logstash/
wget https://artifacts.elastic.co/downloads/logstash/logstash-7.2.0.rpm
rpm -ivh logstash-7.2.0.rpm --nodeps
3.1 修改配置文件
3.1.1 修改前简单测试
这里和内存有关,如果内存分配很小测试反应会很慢
/usr/share/logstash/bin/logstash -e 'input { stdin { } } output { stdout {codec => rubydebug} }'
3.1.2 编辑配置文件
使用logstash前需要新建个配置文件,之前这个文件是不存在的
vim /etc/logstash/conf.d/syslog.conf
input {
file {
type => "systemlog-pe-jira" #标签
path => "/var/log/messages" #采集点
start_position => "beginning" #开始收集点
stat_interval => "2" #扫描间隔时间,默认是1s,建议5s
}
}
output {
elasticsearch {
hosts => ["192.168.40.128:9200"] #指定信息发送到es
index => "logstash-system-log-pe-jira-%{+YYYY.MM.dd}" #定义格式
}
file {
path => "/tmp/123.log"
}
}
测试配置文件是否有问题
/usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/syslog.conf -t
3.1.3 修改采集点文件权限
我们上面的syslog.conf里面配置了从 /var/log/messages这个文件夹作为采集点,采集日志发送到 /tmp/123.log ,但是 logstash启动用户是logstash,是没有权限读的
chmod 644 /var/log/messages
chmod 644 /tmp/123.log
4.1 启动logstash
systemctl start logstash
systemctl enable logstash
5.1 状态检查
tail -f /var/log/logstash/logstash-plain.log #这里的日志路径可以通过修改/etc/logstash/logstash.yml 改变
systemctl status logstash