使用docker安装ES+Kibana+IK+Logstash
1、创建网络,让es和kibana容器可以通信互联
docker network create es-net
2、拉取镜像
docker pull elasticsearch:7.12.1
docker pull kibana:7.12.1
注意上面这两个版本要一致
docker pull docker.elastic.co/logstash/logstash:8.8.1
3、创建目录
mkdir -p /home/data/es
cd /home/data/es
mkdir es-data
mkdir es-logs
mkdir es-plugins
4、创建es容器
docker run -d \
--name es \
-e "ES_JAVA_OPTS=-Xms16G -Xmx16G" \
-e "discovery.type=single-node" \
-v /home/data/es/es-data:/usr/local/elasticsearch7.12.1/data \
-v /home/data/es/es-plugins:/usr/local/elasticsearch7.12.1/plugins \
-v /home/data/es/es-logs:/usr/local/elasticsearch7.12.1/logs \
--privileged \
--network es-net \
-p 9200:9200 \
-p 9300:9300 \
--restart=always \
elasticsearch:7.2.1
访问:http://localhost:9200
如图:
4.1如果es是8版本的话 启动后不能用http访问 而需要使用https来访问
https://localhost:9200
并且登录进来后需要输入用户和密码
如图:
4.1.1默认用户名为:elastic
4.1.2密码重新设置一个
4.1.3首先进入容器
docker exec -it es /bin/bash
cd bin/
输入命令
elasticsearch-reset-password -u elastic
然后输入Y后就可以看到有一个密码
如图
那么用户名则为:elastic
密码为:fAD-JcoKSQ_s*=H8cO1*
输入后即可登录进来
如果是生产环境建议开启 如果是测试环境可以关闭
4.2关闭https和验证
进入容器
docker exec -it es /bin/bash
4.3进入config目录
cd config/
4.4修改elasticsearch.yml文件
把xpack.security.enabled: true
改为 xpack.security.enabled: false
修改后:
4.5重启es容器 访问http://localhost:9200即可
docker restart es
5、创建kibana容器
kibana 是ES数据的可视化面板
docker run -d \
--name kibana \
-e ELASTICSEARCH_HOSTS="http://172.16.112.3:9200" \
--network=es-net \
-p 5601:5601 \
kibana:7.12.1
访问页面
http://localhost:5601/app/home
5.1如果es是8版本 那么kibana也应该是8版本
假设版本为8.8.1
那么启动命令就应修改为:
docker run -itd --name kibana --net es-net -p 5601:5601 --restart=always kibana:8.8.1
访问页面
http://localhost:5601/app/home
5.2kibana配置中文
将kibana.yml 文件拷贝出来进行修改
docker cp kibana:/usr/share/kibana/config/kibana.yml ./
vim kibana.yml
默认配置:
添加两行配置
#设置中文
i18n.locale: "zh-CN"
#关闭csp
csp.strict: false
5.3将kibana.yml 文件拷贝到容器里
docker cp kibana.yml kibana:/usr/share/kibana/config/
5.4重启kibana容器
docker restart kibana
5.5访问
5.6进入es容器输入上面提示的命令
docker exec -it es /bin/bash
bin\elasticsearch-create-enrollment-token.bat --scope kibana
发现报错
cd /bin
查看没有elasticsearch-create-enrollment-token.bat文件
但是有elasticsearch-create-enrollment-token文件
输入命令
elasticsearch-create-enrollment-token --scope kibana
发现得到
复制一下输入到kibana面板上
发现又出现这个界面
5.7进入kibana容器
docker exec -it kibana /bin/bash
输入上面提示的命令
bin\kibana-verification-code.bat
发现报错
bash: binkibana-verification-code.bat: command not found
cd bin
查看
同样发现没有binkibana-verification-code.bat文件
但是有binkibana-verification-code文件
输入kibana-verification-code
得到一个代码
输入代码454224
可以转到这个界面
输入
用户名:elastic
密码:TQ0T3qRUwr2F9oEyiMsV
登录成功
6、安装IK分词器
6.1进入es容器
docker exec -it es /bin/bash
6.2cd到bin
cd /usr/share/elasticsearch/bin
6.3下载安装
./elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.12.1/elasticsearch-analysis-ik-7.12.1.zip
安装会让输入yes
然后重启es容器
如图:
6.3.1如果是8版本的话 那么命令为
elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v8.8.1/elasticsearch-analysis-ik-8.8.1.zip
6.4退出并重启es容器
exit
docker restart es
7、测试
登录kibana
选择 Develop Tools
把左侧原先的内容删掉
输入
GET _analyze
{
"analyzer": "ik_smart",
"text": "用于测试是否可以成功显示哈哈哈"
}
点击开始
即可看到以下内容证明成功
8、安装Logstash
安装前提是ES关闭SSL
也就是访问es的话是http://localhost:9200
至于ES开启SSL如何安装Logstash 暂不清楚 以后搞下
8.1创建目录
mkdir -p /home/data/logstash/config
cd /home/data/logstash/config
8.2编辑logstash.conf配置文件
vim /home/data/logstash/config/logstash.conf
input {
tcp {
mode => "server"
host => "0.0.0.0"
port => 5044
codec => json_lines
}
}
output {
elasticsearch {
hosts => ["http://172.16.112.3:9200"]
index => "%{[spring.application.name]}-%{+YYYY.MM.dd}"
ssl_certificate_verification => false
}
}
8.3编辑logstash.yml配置文件
vim /home/data/logstash/config/logstash.yml
http.host: "0.0.0.0"
xpack.monitoring.elasticsearch.hosts: ["http://172.16.112.3:9200"]
xpack.monitoring.elasticsearch.ssl.verification_mode: none
8.4创建容器
docker run -d --name logstash --net es-net --restart=always -p 5044:5044 -p 9600:9600 --privileged=true -e ES_JAVA_OPTS="-Duser.timezone=Asia/Shanghai" -v /home/data/logstash/config/logstash.conf:/usr/share/logstash/pipeline/logstash.conf -v /home/data/logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml docker.elastic.co/logstash/logstash:8.8.1
本文作者:小鬼 过来抱~
本文链接:https://www.cnblogs.com/likecoke/p/18107776
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步