docker安装elasticsearch+kibana

目录

1.安装es

2.安装kibana

3.kibana监控es


1.安装es

拉取镜像

复制代码
docker pull elasticsearch:7.6.1

创建存放配置文件、数据、插件的各个文件夹

复制代码
mkdir -p /home/docker/elasticsearch/config
mkdir -p /home/docker/elasticsearch/data
mkdir -p /home/docker/elasticsearch/plugins

创建好之后需要给/home/docker/elasticsearch目录赋予777权限 不然启动会失败

复制代码
chmod -R 777 /home/docker/elasticsearch/

创建es的配置文件:

复制代码
vi /home/docker/elasticsearch/config/elasticsearch.yml

在配置文件中添加以下配置:

注意是yml格式,kv之间有空格隔开。

复制代码
#集群名称
cluster.name: "docker-cluster" 
#节点名称
node.name: node1
#http端口
http.port: 9200
#访问权限
network.host: 0.0.0.0
http.host: 0.0.0.0
xpack.security.enabled: true

启动:

复制代码
docker run --name elasticsearch -p 9200:9200  -p 9300:9300 \
 -e "discovery.type=single-node" \
 -e ES_JAVA_OPTS="-Xms512m -Xmx512m" \
 -v /home/docker/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
 -v /home/docker/elasticsearch/data:/usr/share/elasticsearch/data \
 -v /home/docker/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
 --restart always\
 -d elasticsearch:7.6.1
  • -p 端口映射

  • -e discovery.type=single-node 单点模式启动

  • -e ES_JAVA_OPTS="-Xms512m -Xmx512m":设置启动占用的内存范围

  • -v 目录挂载

  • --restart always docker容器启动时自动启动

  • -d 后台运行

2.安装kibana

拉取镜像:

复制代码
docker pull kibana:7.6.1

创建kibana的配置文件:

复制代码
mkdir -p /home/docker/elasticsearch/kibana/config/
vi /home/docker/elasticsearch/kibana/config/kibana.yml

添加以下配置:

复制代码
server.name: kibana
server.host: "0"
elasticsearch.hosts: [ "http://172.16.2.109:9200" ]
xpack.monitoring.ui.container.elasticsearch.enabled: true
i18n.locale: "zh-CN" #汉化

启动kibana:

复制代码
docker run -d \
  --name=kibana \
  --restart=always \
  -p 5601:5601 \
  -v /home/docker/elasticsearch/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml \
  kibana:7.6.1

3.kibana监控es

因为xpack,只要kibana连接的是当前es,那么打开kibana的时候会要求我们输入es的用户名和密码,那么问题来了,es的用户名密码怎么设置喃?

进入es的容器,运行下面脚本:

./bin/elasticsearch-setup-passwords interactive

然后会提示要求我们按照顺序输入以下几个账号的用户名和密码:

elastic、apm_system、kibana、logstash_system、beats_system、remote_monitoring_user

然后记得在kibana的配置文件里面也配置好es的用户名和密码:

elasticsearch.username: "elastic"

elasticsearch.password: "123456"

这时候再登录kibana输入es的用户名密码即可。

点击左侧工具栏的监控即可监控es:

初次进入监控的时候会提示没有配置好监控,根据提示步骤一步步的走即可:

唯一需要注意的是,在启动metricbeat的时候启动命令里记得跟上es的用户名密码,否则校验不通过会直接报错:

docker run -d docker.elastic.co/beats/metricbeat:7.6.1 setup -E setup.kibana.host=192.168.31.10:5601 -E output.elasticsearch.hosts=["192.168.31.10:9200"] -E output.elasticsearch.username="elastic" -E output.elasticsearch.password="123456"

相关推荐
小费的部落几秒前
记 etcd 无法在docker-compose.yml启动后无法映射数据库目录的问题
数据库·docker·etcd
两点王爷2 小时前
docker 运行自定义化的服务-后端
运维·docker·容器
邪恶的贝利亚2 小时前
FFMEPG常见命令查询
linux·运维·网络·ffmpeg
搜搜秀3 小时前
find指令中使用正则表达式
linux·运维·服务器·正则表达式·bash
七七powerful4 小时前
使用opentelemetry 可观测监控springboot应用的指标、链路实践,使用zipkin展示链路追踪数据,使用grafana展示指标
运维
Archie_IT4 小时前
修图自由!自建IOPaint服务器,手机平板随时随地远程调用在线P图
运维·服务器·前端·git·深度学习·npm·conda
行思理4 小时前
centos crontab 设置定时任务访问链接
linux·运维·centos
再玩一会儿看代码5 小时前
[特殊字符] 深入理解 WSL2:在 Windows 上运行 Linux 的极致方案
linux·运维·windows·经验分享·笔记·学习方法
东风微鸣6 小时前
Grafana将弃用AngularJS-我们该如何迁移
docker·云原生·kubernetes·可观察性
黑眼圈的小熊猫6 小时前
Git开发
大数据·git·elasticsearch