版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011870280/article/details/84579164
1,首先确认机器上有4G可用内存
#然后输入命令查看机器上面mmap的值:
sysctl vm.max_map_count
#如果值小于655360
#执行命令:
sysctl -w vm.max_map_count=262144
#然后设置修改文件
vim /etc/sysctl.conf
#加入:
vm.max_map_count=262144
启动elk:
sudo docker run -d -p 5601:5601 -p 9200:9200 -p 5044:5044 -v elk-data:/var/lib/elasticsearch --name elk sebp/elk:550
sudo docker logs -f elk
在演示环境和测试环境中,ssl是不必要的,可以去掉logstash的ssl:
docker exec -it elk bash
vim /etc/logstash/conf.d/02-beats-input.conf
#删除里面所有ssl与ssl-prefixed指令,改成如下:
input {
beats {
port => 5044
}
}
安装filebeat:
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-5.5.3-x86_64.rpm
sudo rpm -vi filebeat-5.5.3-x86_64.rpm
配置日志路径和输出地址
vim /etc/filebeat/filebeat.yml
#注释output.elasticsearch及下面子节点
#然后添加如下后修改:
output:
logstash:
enabled: true
hosts:
- 你elk服务器IP:5044
#如果logstash启用了ssl,那么这块需要配置
#ssl:
# certificate_authorities:
# - /etc/pki/tls/certs/logstash-beats.crt
timeout: 15
filebeat:
prospectors:
-
paths:
- /var/log/syslog
- /var/log/auth.log
document_type: syslog
-
paths:
- "/var/log/nginx/*.log"
document_type: nginx-access
其中logstash-beat.crt去https://github.com/spujadas/elk-docker下载,也可以用自己的证书。
然后启动filebeat:
sudo /etc/init.d/filebeat start
tail -f /var/log/filebeat/filebeat
去服务器IP://5601看抓取的日志了
增加java异常日志(多行)处理
docker exec -it elk bash
vim /etc/logstash/conf.d/02-beats-input.conf
#改成如下这样(表示开头第一个是2的才能算一行,我这日志是2018日期开头)
input {
beats {
port => 5044
codec => multiline {
pattern => "^2"
negate => true
what => previous
}
}
}
#退出重启容器
docker restart elk
docker logs -f elk