0.说明
1) 服务器版本ubuntu16.04
2) Logstash版本5.6.15
3)JDK版本1.8
没有安装使用以下命令直接安装
sudo apt install openjdk-8-jre-headless
4)带%是需要替换的变量,请根据实际情况替换
1.新增ES用户
#因为ES不能以root权限启动,云服务中默认是root权限,为了方便管理,需要先建立es用户
1.0 注意以下操作要切换到root权限下进行
1.1 增加一个新用户,注意两次输入的密码是你新增的用户的密码。
adduser es
1.2 把新增的用户加入到root用户组(这步可以不用做)
adduser es root
1.3 修改sudoers文件的权限,这个文件默认为只读的
chmod 777 /etc/sudoers
1.4 在以下注释中增加一行内容给新增的用户赋予root权限
vim /etc/sudoers
#添加这行内容
es ALL=(ALL:ALL) ALL
1.5 还原sudoers文件的权限
chmod 440 /etc/sudoers
2.安装Logstash
2.0 切换到es环境下
2.1 下载安装包
wget https://artifacts.elastic.co/downloads/logstash/logstash-5.6.15.deb
2.2 校验安装包
sha1sum logstash-5.6.15.deb
2.3 使用dpkg安装
sudo dpkg -i logstash-5.6.15.deb
2.4 修改配置文件
2.4.1 修改文件夹读取文件
sudo chmod 777 /usr/share/logstash/data
2.4.1 添加配置文件
sudo vim /etc/logstash/conf.d/%filename.conf
#如下进行配置文件编写,配置文件将定义输入输出源和日志的解析格式
input{
file{
path=>"/var/log/elasticsearch/sysinfo.log"
type => "sysinfo-log"
start_position => "beginning"
stat_interval => "2"
codec => multiline
{
pattern => "^\["
negate => true
what => "previous"
}
}
}
output{
elasticsearch{
hosts =>["192.168.219.100:9200"]
index =>"sysinfo-log-%{+YYYY.MM.dd}.log"
}
}
3. 测试环境
#在控制台完成输入输出功能,测试环境是否异常
/usr/share/logstash/bin/logstash -e 'input { stdin {} } output { stdout {codec => rubydebug}}'
#让Logstash和Elasticsearch进行通信,测试是否正常
/usr/share/logstash/bin/logstash -e 'input { stdin {} } output { elasticsearch { hosts => ["%YOUR_IP:9200"] index => "logstash-test-%{+YYYY.MM.dd}"}}'
4. 常用命令
1)测试配置文件是否没有语法错误
/usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/%filename.conf -t
2) 查看Logstash的运行日志
sudo tail /var/log/logstash/logstash-plain.log
sudo journalctl -fu logstash
5. 参考文献
1)https://blog.youkuaiyun.com/a158123/article/details/77985522
2)https://www.elastic.co/guide/en/elasticsearch/reference/5.6/deb.html