1.安装elk,docker拉取elk镜像(不加版本号默认安装最新版本的)
docker pull sebp/elk
2.安装完成后查看镜像
docker images
3.启动容器
docker run -d -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -p 5601:5601 -p 5044:5044 -p 9200:9200 -p 9300:9300 -it --restart=always --name elk d4fdd1280438
-e 指定环境变量,容器中可以使用该环境变量
-p 容器暴露的端口号,Kibana Logstash Elasticsearch
-i 以交互模式运行容器,通常与 -t 同时使用
-t 为容器重新分配一个伪输入终端,通常与 -i 同时使用
–restart=always 表示自启动
4.启动后等会可以通过浏览器访问ip:5601及ip:9200查看是否已启动
如果启动不了
sysctl -w vm.max_map_count=262144
在 /etc/sysctl.conf 加入vm.max_map_count = 262144
修改容器配置文件
#进入容器
docker exec -it elk /bin/bash
#修改文件
vim /etc/logstash/conf.d/02-beats-input.conf
input {
tcp {
port => 5044
codec => json_lines
}
}
output{
elasticsearch {
hosts => ["localhost:9200"]
index => "ruizhi-log-%{+YYYY.MM.dd}"
}
}
修改完 重启容器
docker restart elk
5.将页面设为中文 --修改配置
#编辑
vim kibana.yml
#在最后一行加入
i18n.locale: "zh-CN"
重启容器 刷新页面就成中文的啦
6.简单使用
创建索引会报错,这是因为里面没数据导致,通过命令行输入一条测试数据
curl -H "Content-Type: application/json" -XPOST 'http://182.92.125.67:9200/test-logs-2021-12-07/test-log' -d '{"code":200,"message":"测试数据"}'
添加完测试数据后,创建索引