部署Docker版本ELK
1 下载docker 镜像
dokcer pull sebp/elk
# 修改系统的vm.max_map_count
vi /etc/sysctl.conf
# 增加以下属性
vm.max_map_count=262144
# 查看修改结果
sysctl -p
2 创建部署ELK的配置文件
-
文件目录结构
[root@ac ~]# tree /root/elk . ├── docker-compose.yml ├── elasticsearch │ └── data ├── kibana │ └── kibana.yml └── logstash ├── config └── config.d
-
先临时创建一个elk 窗口
docker run --name elk sebp/elk
-
复制docker中的kibana与logstash的配置文件到宿主机中
docker cp -a elk:/opt/kibana/config/kibana.yml /root/elk/kibana/ docker cp -a elk:/opt/logstash/config /root/elk/logstash/config
-
删除临时创建的容器
docker rm -f elk
-
单机版本的docker-compose文件:注意路径需要与实际环境一致
version: '3' services: elk: image: sebp/elk container_name: elk restart: always ports: - "5601:5601" - "9200:9200" - "5044:5044" volumes: - - /root/elk/elasticsearch/data:/var/lib/elasticsearch - /root/elk/logstash/conf.d:/etc/logstash/conf.d - /root/elk/logstash/config:/opt/logstash/config - /root/elk/kibana/kibana.yml:/opt/kibana/config/kibana.yml environment: - TZ=Asia/Shanghai
-
配置Logstash
cat ./logstash/conf.d/yourconfigname.conf input { beats { port => 5044 } } output { stdout { codec => rubydebug } elasticsearch { hosts => ["http://localhost:9200"] index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}" } }
-
汉化kibana
vim ./kibana/kibana.yml # 在最后一行添加如下内容 i18n.locale: "zh-CN"