当前位置: 首页 > news >正文

docker安装elasticsearch和kibana

elasticsearch版本和kibana版本需保持一致。这里我使用的都是8.18.2

安装elasticsearch

docker-compose.yml

networks:es-net: external: true
services:elasticsearch:container_name: es01deploy:resources:limits:cpus: 0memory: 0environment:- discovery.type=single-node- ELASTIC_PASSWORD=elastic- xpack.security.enabled=abc123- ES_JAVA_OPTS=-Xlog:disable -Xlog:gc=debug:stderr -Xms512m -Xmx512mimage: elasticsearch:8.18.2labels:createdBy: Appsnetworks:- 1panel-networkports:- 9200:9200- 9300:9300restart: alwaysulimits:memlock:hard: -1soft: -1nofile:hard: 65536soft: 65536volumes:- ./data/data:/usr/share/elasticsearch/data- ./data/backup:/usr/share/elasticsearch/backup- ./data/conf/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
docker compose down
docker compose up -d

安装kibana

doceker-compose.yml

networks:es-net:external: true
services:kibana:container_name: kibana01deploy:resources:limits:cpus: 0memory: 0environment:- ELASTICSEARCH_HOSTS=http://es01:9200  # 通过服务名连接ES# - SERVER_HOST=0.0.0.0                   # 允许外部访问(默认已启用)- I18N_LOCALE=zh-CN                      # 中文界面# 若ES启用安全认证:# - ELASTICSEARCH_USERNAME=${ELASTICSEARCH_USERNAME}# - ELASTICSEARCH_PASSWORD=${ELASTICSEARCH_PASSWORD}- ELASTICSEARCH_SERVICEACCOUNTTOKEN=AAEAAWV***IRzJTdldvVDRnimage: kibana:8.18.2labels:createdBy: Appsnetworks:- es-netports:- 5601:5601restart: alwaysulimits:memlock:hard: -1soft: -1nofile:hard: 65536soft: 65536# volumes:#     - ./kibana-config/kibana.yml:/usr/share/kibana/config/kibana.yml 

Elasticsearch 8.0 起,Kibana 不再允许使用 elastic 用户写入系统索引,因为这存在安全风险。可以参考https://www.elastic.co/guide/en/elasticsearch/reference/8.0/service-accounts.html
解决方案:使用服务账号令牌(Service Account Token)
进入你的kibana容器

bin/elasticsearch-service-tokens create elastic/kibana kibana-token
  • Elasticsearch 限定只能使用预定义的服务账号主账号名(principal),因此不能使用kibana作为账号名,而应使用elastic/kibana
  • elastic/kibana 是内置的服务账号(principal)
  • kibana-token 是你自定义的令牌名(token name)
    运行后你会得到类似结果:
SERVICE_TOKEN elastic/kibana/kibana-token = AAEAAWV***IRzJTdldvVDRn

其中AAEAAWV***IRzJTdldvVDRn就是你得到的token

可以配置kibana.yml


volumes:- ./kibana-config/kibana.yml:/usr/share/kibana/config/kibana.yml
elasticsearch.hosts: ["http://elasticsearch:9200"]
elasticsearch.serviceAccountToken: "AAEAAWV***IRzJTdldvVDRn"

也可以直接添加环境变量

environment:- ELASTICSEARCH_HOSTS=http://elasticsearch:9200- ELASTICSEARCH_SERVICEACCOUNTTOKEN=AAEAAWV***IRzJTdldvVDRn

使用

浏览器访问http://you_server_host:5601,进入kibana的登入界面
账号和密码是elastic的账号密码

elastic
abc123

相关文章:

  • 动态规划---子序列专题
  • 基于WOA鲸鱼优化算法的圆柱体容器最大体积优化设计matlab仿真
  • 第一章 从零开始学习大型语言模型-搭建环境
  • 机器人系统导航里程计介绍
  • 【科技核心期刊推荐】《计算机仿真》
  • unix:///var/run/supervisor/supervisor.sock no such file
  • 一文速通基础——微分方程
  • 【Bluedroid】蓝牙启动之BTM_reset_complete源码解析
  • SpringMVC系列(七)(Restful架构风格(下))(完结篇)
  • pytorch中的几个概念
  • 剑指offer48_两个链表的第一个公共节点
  • Node.js特训专栏-实战进阶:10.MongoDB文档操作与聚合框架
  • 创建套接字时和填充地址时指定类型的异同
  • Color Hunt - 简约漂亮的配色网站
  • 华为云鸿蒙应用入门级开发者认证 实验部分题目及操作步骤
  • CCleaner Pro v6.29.11342 绿色便携版
  • 【攻防实战】实战中的某钉RCE
  • 设计模式 (四)
  • 【力扣 中等 C】79. 单词搜索
  • Java基础(Maven配置)