1.下載安裝JDK,並配置環境變量css
vim /etc/profile
將下面的內容添加至文件末尾:linux
JAVA_HOME=/usr/local/jdk1.8.0_111
JRE_HOME=/usr/local/jdk1.8.0_111/jre
CLASSPATH=.:$JAVA_HOME/lib:/dt.jar:$JAVA_HOME/lib/tools.jar
PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME
export JRE_HOMEnginx
ulimit -u 4096redis
source /etc/profile
配置limit相關參數vim
vim /etc/security/limits.conf
添加如下內容瀏覽器
* soft nproc 65536
* hard nproc 65536
* soft nofile 65536
* hard nofile 65536ruby
關閉防火牆:服務器
iptables -F
建立運行ELK的用戶app
groupadd elk
useradd -g elk elk
建立ELK運行目錄elasticsearch
mkdir /elk chown -R elk:elk /elk
2.準備ELK安裝包
下載ELK安裝包:https://www.elastic.co/downloads,並上傳到服務器且解壓,解壓命令:tar -xzvf 包名
下載kibana5.2.2 (下載地址:https://artifacts.elastic.co/downloads/kibana/kibana-5.2.2-linux-x86_64.tar.gz)
wget https://artifacts.elastic.co/downloads/kibana/kibana-5.2.2-linux-x86_64.tar.gz
下載elasticsearch (下載地址:https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.2.2.tar.gz)
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.2.2.tar.gz
下載logstash (下載地址:https://artifacts.elastic.co/downloads/logstash/logstash-5.2.2.tar.gz)
wget https://artifacts.elastic.co/downloads/logstash/logstash-5.2.2.tar.gz
3.配置
3.1 配置Elasticsearch
vim config/elasticsearch.yml
修改以下內容:
保存退出
啓動Elasticsearch
bin/elasticsearch &
查看是否啓動成功
netstat -ant
用瀏覽器訪問:http://192.168.199.179:9200/
Elasticsearch安裝完畢
3.2 安裝配置logstash
簡單說明:
logstash的配置文件須包含三個內容:
input{}:此模塊是負責收集日誌,能夠從文件讀取、從redis /kafka讀取或者開啓端口讓產生日誌的業務系統直接寫入到logstash
filter{}:此模塊是負責過濾收集到的日誌,並根據過濾後對日誌定義顯示字段
output{}:此模塊是負責將過濾後的日誌輸出到elasticsearch或者文件、redis等
mkdir config.d vim nginx_accss.conf
配置文件中添加下面內容:
input { file { type => "app-log" path => [ "/home/youlan/software/taskSchedule/logs/taskSchedule-log*.log" ] codec => multiline { pattern => "^\[" negate => true what => "previous" } start_position => "beginning" } } filter { grok { match => [ "message","%{TIMESTAMP_ISO8601}\s*%\[{USER}\] \[%{USERNAME}\] \[%{USERNAME}\] - %{NOTSPACE}, IP:%{IP:ip}" ] } grok { match => [ "message","%{TIMESTAMP_ISO8601:date1}\s*%\[{USER:level}\] \[%{USERNAME}\] \[%{USERNAME}\] - %{NOTSPACE:request}" ] } date { locale => "en" match => ["timestamp" , "dd/MMM/YYYY:HH:mm:ss.Z"] } } output { elasticsearch { hosts => ["192.168.199.179:9200"] index => "%{type}-%{+YYYY.MM.dd}" action => "index" template_name => "%{type}" } stdout {codec => rubydebug} }
測試配置文件是否有問題:
/usr/local/elk/logstash-5.2.2/bin/logstash -t -f /usr/local/elk/logstash-5.2.2/config.d/nginx_accss.conf
啓動 logstash:
nohup /usr/local/elk/logstash-5.2.2/bin/logstash -f /usr/local/elk/logstash-5.2.2/config.d/nginx_accss.conf &
查看是否啓動成功
tail -f nohup.out
出現以上內容表示啓動成功
3.3 安裝配置kibana
vim kibana.yml
保存退出
啓動kibana
bin/kibana &
訪問kibana:http://192.168.199.179:9988