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"

相关推荐
Dragon水魅13 分钟前
爬虫技术详解:从传统爬虫到浏览器自动化——以豆瓣读书笔记为例
运维·爬虫·自动化
willhuo20 分钟前
# 自动化数据采集技术研究与实现:基于Playwright的抖音网页自动化方案
运维·selenium·c#·自动化·chrome devtools·webview
IP老炮不瞎唠22 分钟前
IP轮换机制解析:动态住宅代理如何维持高可用率?
运维·服务器·网络
一个扣子33 分钟前
OpenClaw 运维完全手册|日志分析、实时监控与故障排查指南
运维·监控·故障排查·健康检查·openclaw·clawmetry·openclawdoctor
Lentou37 分钟前
nginx反向代理
运维·nginx
刘~浪地球39 分钟前
API 安全设计最佳实践
运维·网络·安全
网络安全许木44 分钟前
自学渗透测试第20天(防火墙基础与规则配置)
运维·服务器·网络·网络安全·渗透测试
亚空间仓鼠1 小时前
Docker 容器技术入门与实践 (二):Dockerfile文件
运维·docker·容器
遇见火星1 小时前
linux设置开启启动服务
linux·运维·服务器·nginx
亚空间仓鼠1 小时前
Docker 容器技术入门与实践 (一):命令与镜像、容器管理
运维·docker·容器