目录
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"