赞
踩
目录
Elasticsearch:用于存储收集到的日志信息;
Logstash:用于收集日志,SpringBoot应用整合了Logstash以后会把日志发送给Logstash,Logstash再把日志转发给Elasticsearch;
Kibana:通过Web端的可视化界面来查看日志。
很多日志分析的应用都不够全面,ELK解决了很多不完善的地方,是蓝队日志分析的一个好工具,是一个外国的产品,在系统下搭建很麻烦,很容易出错,如果只是日常使用,方便了解,建议在docker下搭建,如果是实战,建议在系统下搭建,毕竟docker只是个虚拟容器。
进入docker文件夹中
设置一个进程可以拥有的VMA(虚拟内存区域)的数量
sysctl -w vm.max_map_count=262144
看是否设置成功
sysctl -p
如果有出现vm.max_map_count = 262144说明设置成功
如果没有的话,需要自己前往文件进行设置
vim /etc/sysctl.conf
添加上vm.max_map_count = 262144
vim docker-compose.yml
将以下代码粘贴(版本具体得看你下载的docker的兼容,如果后面拉镜像失败,这里的版本进行修改即可)
- version: "3.5"
- services:
- elk:
- image: sebp/elk:7.12.0
- volumes:
- - ./elk/02-beats-input.conf:/etc/logstash/conf.d/02-beats-input.conf
- environment:
- ES_JAVA_OPTS: -Xms512m -Xmx512m
- ports:
- #Kibana 网络界面
- - "5601:5601"
- # Elasticsearch JSON 接口
- - "9200:9200"
- # Logstash Beats 接口
- - "5044:5044"
-
-
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
在docker-compose.yml文件目录下创建elk文件夹,创建Logstash配置文件 02-beats-input.conf
- #进入elk目录
- cd elk
- #创建并编辑02-beats-input.conf文件
- vi 02-beats-input.conf
- input {
- tcp {
- port => 5044
- codec => json_lines
- }
- }
- output{
- elasticsearch {
- hosts => ["localhost:9200"]
- index => "beat-%{+YYYY.MM.dd}"
- }
- }
docker-compose up -d elk
如果一直显示以下报错,说明你的docker-compose.yaml格式有错误,粘贴时换行等格式不要出错
parsing /var/lib/docker/docker-compose.yml: yaml: line 5: mapping values are not allowed in this context
如果以下的报错,网络不行,换个镜像
error pulling image configuration: download failed after attempts=6: dial tcp 157.240.12.35:443: i/o timeout
vi /etc/docker/daemon.json
阿里云内容如下:
- {
- "registry-mirrors":["https://6kx4zyno.mirror.aliyuncs.com"]
- }
中科院内容如下:
- {
- "registry-mirrors":["https://docker.mirrors.ustc.edu.cn"]
- }
重启docker
systemctl restart docker
访问:ip:5601,即可进入ELK日志分析系统
到这里ELK就搭建完成了,有出现什么问题可以评论区进行解答,后续如果有需要会更新ELK的使用
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。