Docker中安装ELK

1.安装elk,docker拉取elk镜像(不加版本号默认安装最新版本的)

docker pull sebp/elk

2.安装完成后查看镜像

docker images

Docker中安装ELK_第1张图片

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查看是否已启动

Docker中安装ELK_第2张图片

Docker中安装ELK_第3张图片

 如果启动不了

sysctl -w vm.max_map_count=262144

在 /etc/sysctl.conf 加入vm.max_map_count = 262144

Docker中安装ELK_第4张图片

修改容器配置文件

#进入容器
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.简单使用       

Docker中安装ELK_第5张图片

 Docker中安装ELK_第6张图片

Docker中安装ELK_第7张图片

 创建索引会报错,这是因为里面没数据导致,通过命令行输入一条测试数据

curl -H "Content-Type: application/json" -XPOST 'http://182.92.125.67:9200/test-logs-2021-12-07/test-log' -d '{"code":200,"message":"测试数据"}'

添加完测试数据后,创建索引Docker中安装ELK_第8张图片

 Docker中安装ELK_第9张图片

 Docker中安装ELK_第10张图片

你可能感兴趣的:(docker,elk,容器)