一、實驗環境
主機名 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架構搭建完成