非生產環(huán)境啸如,經常需要快速搭建一套ELK,選用docker版本最方便,記錄以供以后參考
- 安裝Docker(步驟省略)
- 下載elk/filebeat鏡像
# 默認獲取最新版本
docker pull sebp/elk
docker pull prima/filebeat
- 安裝配置elk
# 創(chuàng)建存放elk配置以及es數(shù)據(jù)的目錄
mkdir -pv /opt/elk/es_data
# /opt/elk/beats-input.conf 配置內容如下
input {
beats {
host => "0.0.0.0"
port => 5044
}
}
# 啟動 elk,配置掛載出來晴氨,es數(shù)據(jù)掛載出來,端口號適當修改避免沖突
docker run -p 19200:9200 -p 15044:5044 -p 15601:5601 \
-v /opt/elk/beats-input.conf:/etc/logstash/conf.d/02-beats-input.conf \
-v /opt/elk/es_data:/var/lib/elasticsearch \
-it -d --name elk sebp/elk
- 在應用服務器安裝配置filebeat來采集日志
# 創(chuàng)建filebeat配置目錄
mkdir -pv /opt/filebeat/
# 配置/opt/filebeat/filebeat.yml內容如下
filebeat.prospectors:
# 指定文件的輸入類型log(默認)或者stdin
- input_type: log
# 指定要監(jiān)控的日志碉输,可以指定具體得文件或者目錄
paths:
- /slogs/*.51ima.lo/*.log
fields:
ip: 10.247.121.7
enabled: true
document_type: "app"
tail_files: true
# 匹配多行放置于一個message
multiline.pattern: "^[0-9]{4}-[0-9]{2}-[0-9]{2}"
multiline.negate: true
multiline.match: after
# 如果設置為0s籽前,則Filebeat會盡可能快地感知更新(占用的CPU會變高)。默認是10s
scan_frequency: 10s
output.logstash:
hosts: ['elk.51ima.lo:15044']
enabled: true
index: filebeat
compression: gzip
processors:
- drop_fields:
fields: ["beat.hostname", "beat.name", "beat.version"]
# 啟動filebeat敷钾,配置掛載出來枝哄,采集日志slogs掛載為應用日志
docker run -d --name filebeat \
--add-host elk.51ima.lo:10.247.121.6 \
-v /opt/filebeat/filebeat.yml:/filebeat.yml \
-v /home/finance/Logs:/slogs \
prima/filebeat:latest
- 登陸kibana,配置index阻荒,展示日志
# kibana地址
http://10.247.121.6:15601
# 配置index
Management -> stack management -> index patterns -> create index pattern -> input "filebeat-*" -> next -> save
# 查看日志
discovery頁面