一、实验环境
主机名 IP
es 192.168.14.210
kibana 192.168.14.210
logstash 192.168.14.211
Logstash收集日志注意点:
- 日志文件需要有新的日志产生
- Logstash跟elasticsearch要能通讯
二、安装Logstash
1、官网下载logstash二进制包
https://www.elastic.co/cn/downloads/past-releases#elasticsearch
2、安装JDK查看第一章节(已安装就跳过)
[root@logstash ~]# java -version
java version "11.0.5" 2019-10-15 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.5+10-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.5+10-LTS, mixed mode)
3、解压logstash二进制包
[root@logstash ~]# tar -zxvf logstash-7.5.0.tar.gz -C /usr/local/
4、添加环境变量
[root@logstash ~]# vi /etc/profile
export PATH=$PATH:/usr/local/logstash-7.5.0/bin
5、(可选)根据主机内存大小,可调整JVM。这里使用默认配置
[root@logstash ~]# vi /usr/local/logstash-7.5.0/config/jvm.options |egrep -v '^#|^$'
-Xms1g
-Xmx1g
三、Logstash整合ES
logstash分为:输入(标准输入、日志等);输出(标准输出,elasticsearch等)
-
从标准输入(键盘),从标准输出(显示屏)
1、创建新的配置文件(可以参考*/logstash-sample.conf格式)
[root@logstash ~]# vi /usr/local/logstash-7.5.0/config/logstash.conf
input{
stdin{}
}
output{
stdout{
codec=>rubydebug
}
}
2、前端启动,并指定配置文件
[root@logstash ~]# logstash -f /usr/local/logstash-7.5.0/config/logstash.conf
#查看logstash默认端口:9600
[root@logstash ~]# ss -ntlp|grep java
LISTEN 0 50 ::ffff:127.0.0.1:9600 :::* users:(("java",pid=6273,fd=63))
3、输入任意信息,如果有标准输出就说明logstash安装正常
-
logstash读取日志文件,输出到elasticsearch
1、先到es查看索引
2、修改logstash配置文件
[root@logstash ~]# vim /usr/local/logstash-7.5.0/config/logstash.conf
input {
file {
path => "/usr/local/nginx/logs/access.log" #nginx日志路径
}
}
output {
elasticsearch {
hosts => ["http://192.168.14.210:9200"] #es的IP+端口
user => "elastic" #需要认证,输入用户名和密码
password => "elkpwd"
}
}
3、kill Logstash进程之后,重新后台启动logstash
[root@logstash ~]# nohup logstash -f /usr/local/logstash-7.5.0/config/logstash.conf >/tmp/logstash.log 2>/tmp/logstash.log &
[1] 12372 #进程ID
4、访问nginx,让它产生日志记录
[root@logstash ~]# curl http://192.168.14.211
5、再到es网页查看索引
至此,Logstash - - > Elasticsearch - - > Kibana架构搭建完成