M4Pro安装ELK(ElasticSearch+LogStash+Kibana)踩坑记录

ElasticSearch安装,启动端口9200:

docker pull elasticsearch:8.13.0

新增配置文件elasticsearch.yml:

cd /opt/homebrew/etc/

mkdir elasticsearch_config

cd elasticsearch_config

vi elasticsearch.yml

cluster.name: "nfturbo-cluster"

network.host: 0.0.0.0

http.cors.enabled: true

http.cors.allow-origin: "*"

xpack.security.enabled: false

启动ElasticSearch,启动端口9200、9300:

docker run --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e _JAVA_OPTIONS=-XX:UseSVE=0 -e ES_JAVA_OPTS="-Xms256m -Xmx512m" -v /opt/homebrew/etc/elasticsearch_config/elasticsearch.yml:/usr/share/elasticsearch8/config/elasticsearch.yml -v /home/package/es/data:/usr/share/elasticsearch8/data -v /home/package/es/plugins:/usr/share/elasticsearch8/plugins -d elasticsearch:8.13.0

查看运行日志:

docker logs elasticsearch

curl localhost:9200

踩坑:

--查看容器 id,替换下面的030926f40873,使用实际的containerid

docker ps

--进入容器内部docker exec -it --user root 030926f40873 /bin/bash

-- 安装vim 命令

apt-get update

apt-get install vim

--修改elasticsearch.yml

vi config/elasticsearch.yml

将 xpack.security.enabled: true 改为:xpack.security.enabled: false

退出容器并重启:docker restart 030926f40873

docker logs elasticsearch

curl localhost:9200

{ "name" : "3981174ed6df", "cluster_name" : "nfturbo-cluster", "cluster_uuid" : "9blwCZsiSiOapFjQEF42cA", "version" : { "number" : "8.13.0", "build_flavor" : "default", "build_type" : "docker","build_hash" : "09df99393193b2c53d92899662a8b8b3c55b45cd", "build_date" : "2024-03-22T03:35:46.757803203Z","build_snapshot" : false, "lucene_version" : "9.10.0", "minimum_wire_compatibility_version" : "7.17.0","minimum_index_compatibility_version" : "7.0.0" }, "tagline" : "You Know, for Search"}

浏览器访问:127.0.0.1:9200,返回同样结果即安装成功。

Kibana安装,启动端口5601:

docker pull kibana:8.13.0

查看ElasticSearch所在容器的IP,3981174ed6df替换成实际es容器的ID:

docker inspect 1e2a10aa9f34 |grep IPAddress

"SecondaryIPAddresses": null,

"IPAddress": "172.17.0.3",

"IPAddress": "172.17.0.3"

这里的172.17.0.3即es所在docker容器的内网IP。

ps:docker容器之间是完全隔离的,不同的docker容器可以理解为不同的服务器,部署多个docker容器的主机是这些docker容器的宿主机。

docker容器中的应用如果要访问宿主机上运行的服务,需要指定宿主机IP,而不是docker容器的本地IP

新增配置文件kibana.yaml:

cd elasticsearch_config

vi kibana.yaml

#server.port: 5601

server.host: 0.0.0.0

elasticsearch.hosts: [ "http://172.17.0.3:9200" ] # 改成 es 的docker容器内网 ip

#elasticsearch.username: "elastic"

#elasticsearch.password: "123456"

xpack.monitoring.ui.container.elasticsearch.enabled: true

i18n.locale: "zh-CN"

启动Kibana,启动端口5601:

sudo docker run --name kibana -d -p 5601:5601 -v /opt/homebrew/etc/elasticsearch_config/kibana.yaml:/usr/share/kibana/config/kibana.yaml kibana:8.13.0

踩坑:kibana宿主机和挂载容器的配置文件后缀必须是yaml,否则会挂载成目录(宿主机是文件,就会导致挂载失败)

踩坑:跳过token认证:

--查看容器 id,替换下面的030926f40873,使用实际的containerid

docker ps

--进入容器内部docker exec -it --user root 030926f40873 /bin/bash

-- 安装vim 命令

apt-get update

apt-get install vim

--修改kibana.yml

vi config/kibana.yml

elasticsearch.hosts: [ "http://172.17.0.2:9200" ]

elasticsearch.username: "elastic"

elasticsearch.password: "123456"

退出容器并重启:docker restart 030926f40873

登录Kibana:

http://127.0.0.1:5601/app/home#/

相关推荐
编程彩机2 小时前
互联网大厂Java面试:从分布式架构到大数据场景解析
java·大数据·微服务·spark·kafka·分布式事务·分布式架构
猿小羽8 小时前
深入理解 Microservice Control Proxy(MCP) 的 AI 实战指南
微服务·ai·推荐系统·service mesh·microservice·mcp·ai 实战
掘根10 小时前
【即时通讯系统】项目框架与微服务拆分设计
微服务·云原生·架构
编程彩机11 小时前
互联网大厂Java面试:从分布式事务到微服务优化的技术场景解读
java·spring boot·redis·微服务·面试·kafka·分布式事务
编程彩机12 小时前
互联网大厂Java面试:从Spring WebFlux到分布式事务的技术场景解析
java·微服务·面试·分布式事务·spring webflux
造夢先森12 小时前
Clawdbot(OpenClaw)安装部署教程
人工智能·微服务·云原生
alien爱吃蛋挞13 小时前
【JavaEE】万字详解Mybatis(上)
数据库·java-ee·mybatis
我命由我1234513 小时前
Android 开发 Room 数据库升级问题:A migration from 6 to 7 was required but not found.
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
m0_740043731 天前
【无标题】
java·spring boot·spring·spring cloud·微服务
编程彩机1 天前
互联网大厂Java面试:从微服务到分布式缓存的技术场景解析
redis·spring cloud·消息队列·微服务架构·openfeign·java面试·分布式缓存