最近在linux上搭建了个elk日志分析系统,记录一下。
参考文章:https://zhuanlan.zhihu.com/p/32559371
版本镜像:https://www.docker.elastic.co/
安装docker版本ElasticSearch
首先下载进行 :docker pull docker.elastic.co/elasticsearch/elasticsearch:6.1.1
将镜像重新打了tag:docker tag docker.elastic.co/elasticsearch/elasticsearch:6.1.1 elasticsearch:latest
在/etc/sysctl.conf
文件中添加一行:
vm.max_map_count=262144 # 修改或者新增
执行命令,暴露容器的9200,9300端口
docker run -p 127.0.0.1:9200:9200 -p 9300:9300 --name elasticsearch -e "discovery.type=single-node" elasticsearch
之后每次启动都是用这个命令
docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9200:9200 -p 9300:9300 --name elasticsearch 73e6fdf8bd4f[注:这是要运行的镜像id]
标记下name:elasticsearch
安装docker版本kibana
使用--link将部署好的es和kibana关联起来,--like后面是上面的elasticsearch
因为网络的原因kinbana改成 docker.elastic.co/kibana/kibana:6.1.1
docker run -d -p 5601:5601 --link elasticsearch -e ELASTICSEARCH_URL=http://elasticsearch:9200 docker.elastic.co/kibana/kibana:6.1.1
安装并运行logstash和filebeat
docker run --rm -it --name logstash --link elasticsearch -d -v ~/elk/yaml/logstash.conf:/usr/share/logstash/pipeline/logstash.conf docker.elastic.co/logstash/logstash:6.1.1
docker run --name filebeat -d --link logstash -v ~/elk/yaml/filebeat.yml:/usr/share/filebeat/filebeat.yml -v ~/elk/logs/:/home/logs/ docker.elastic.co/beats/filebeat:6.1.1