【elk-day01】es和kibana搭建及验证---Mac-Docker

Mac系统使用Docker下载搭建和验证es+kibana

Docker下载安装

Docker Desktop官网安装下载地址

说明一下为什么要安装desktop版本的docker,因为docker作为工具使用,我们需要的是开箱即用,没有必要非得整那种dockerserver什么的手动进行安装,一大堆配置很麻烦,这个desktop很适合新手使用,查看管理镜像和容器非常方便

  • 下载完之后打开docker.dmg文件,将docker的图标拖动至application
  • 打开application中的docker程序,不知道怎么打开的,快捷键command+空格出现搜索框,搜索docker,然后选择刚刚安装的docker图标按回车,等一会,会打开dockerdesktop的界面,第一次用docker的话就按照默认选择直接安装即可,建一最好创建登陆自己的账号,这样以后换电脑还能同步一些数据

es安装

  • 按照如下方式搜索选择镜像进行下载,新手建议选择官方镜像,我这里选择的是最新8.11.3版本通过docker-desktop拉取镜像
  • 这里不要着急在desktop中直接点击运行按钮,最好是通过命令行进行一些配置,例如最基本的端口映射,文件挂载等,这样方便后期找文件和访问方便不受限制
  • 创建es的挂载文件,这里根据个人喜好进行创建

创建挂载文件夹

$ mkdir -p ~/es/data
$ mkdir -p ~/es/plugins
$ mkdir -p ~/es/logs
$ cd ~
$ pwd

创建docker专属网络

$ docker network create elastic
90c5589fffadaaa93e0e66c917458607e81b79d837647ee80eb38c4922d2162f
  • 执行如下命令来启动es注意这里-v的路径换成 自己~文件夹路径

端口说明
9200:外部访问使用
9300:集群间相互通信使用

$ docker run -d \
  --name es \
  --net elastic \
    -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
    -e "discovery.type=single-node" \
    -v es-data:/Users/mrhan/es/data \
    -v es-plugins:/Users/mrhan/es/plugins \
    -v es-logs:/Users/mrhan/es/logs \
    --privileged \
    -p 9200:9200 \
    -p 9300:9300 \
elasticsearch:8.11.3
83048519c39945c30c2bf34465a20500e73fc559ba4f5f5178a366ea2786def5

启动成功后会在desktop中看到已经启动的容器
desktop中已启动的container
也可以通过命令行查看正在运行中的容器

$ docker ps
CONTAINER ID   IMAGE                  COMMAND                   CREATED         STATUS         PORTS                                            NAMES
83048519c399   elasticsearch:8.11.3   "/bin/tini -- /usr/l…"   3 minutes ago   Up 3 minutes   0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp   es

es验证

  • 注意es8.0默认开启了ssl认证,因此验证的时候http是验证不通过的,需要在浏览器中输入https的地址:https://127.0.0.1:9200/

这里需要输入默认的账号密码,但是由于我们是通过docker启动,好像没有看到他的日志,不要慌,我们有两种办法可以解决这个问题,一个就是重置密码,一个就是关闭登录校验

建议重置密码不要关闭登录校验

  • 重置密码
#执行以下命令进入容器
$ docker exec -it es /bin/bash
#进入容器之后执行以下命令:bin/elasticsearch-reset-password -u elastic
elasticsearch@83048519c399:~$ bin/elasticsearch-reset-password -u elastic
WARNING: Owner of file [/usr/share/elasticsearch/config/users] used to be [root], but now is [elasticsearch]
WARNING: Owner of file [/usr/share/elasticsearch/config/users_roles] used to be [root], but now is [elasticsearch]
This tool will reset the password of the [elastic] user to an autogenerated value.
The password will be printed in the console.
Please confirm that you would like to continue [y/N]y


Password for the [elastic] user successfully reset.
New value: O+PLWc9U=UUFDIOc1P6K

以上输出的结果表明elastic账号的密码已经被重置为O+PLWc9U=UUFDIOc1P6K
接下来正常登录就会看到如下结果
账号:elastic
密码:O+PLWc9U=UUFDIOc1P6K
登录成功页面

  • 关闭认证
elasticsearch@db7a23c3ac34:~$ ls
LICENSE.txt  README.asciidoc  config  jdk  logs     plugins
NOTICE.txt   bin              data    lib  modules
elasticsearch@db7a23c3ac34:~$ cd config
elasticsearch@db7a23c3ac34:~/config$ ls
certs                              jvm.options             role_mapping.yml
elasticsearch-plugins.example.yml  jvm.options.d           roles.yml
elasticsearch.keystore             log4j2.file.properties  users
elasticsearch.yml                  log4j2.properties       users_roles
elasticsearch@db7a23c3ac34:~/config$ vi elasticsearch.yml

打开文件如下:

cluster.name: "docker-cluster"
network.host: 0.0.0.0

#----------------------- BEGIN SECURITY AUTO CONFIGURATION -----------------------
#
# The following settings, TLS certificates, and keys have been automatically
# generated to configure Elasticsearch security features on 27-12-2023 06:53:43
#
# --------------------------------------------------------------------------------

# Enable security features
#是否需要账号密码
xpack.security.enabled: true
#注册时是否需要账号密码
xpack.security.enrollment.enabled: true

# Enable encryption for HTTP API client connections, such as Kibana, Logstash, and Agents
xpack.security.http.ssl:
  enabled: true
  keystore.path: certs/http.p12

# Enable encryption and mutual authentication between cluster nodes
xpack.security.transport.ssl:
  enabled: true
  verification_mode: certificate
  keystore.path: certs/transport.p12
  truststore.path: certs/transport.p12
#----------------------- END SECURITY AUTO CONFIGURATION -------------------------

修改上述文件中的以下配置为false就可以了,然后重启服务

xpack.security.enabled: false
xpack.security.enrollment.enabled: false

访问地址不需要账号密码:https://127.0.0.1:9200/
成功页面
至此es安装成功!!!

kibana安装

  • 在这里找到跟es同版本的kibana点击pull
    通过docker-desktop拉取镜像
  • 执行以下命令启动kibana:
$ docker run -d \
  --name kibana \
  --net elastic \
    -p 5601:5601 \
kibana:8.11.3

261b2a93006751bb2aba76482676d85c9e69617a9b467977891ca455582388e6

kibana验证

  • 访问kibana页面:http://localhost:5601/
    kibana页面

  • 这里发现需要填写一个token

  • 这里发现需要填写一个token,这个token生成命令如下

$ docker exec -it es /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana

eyJ2ZXIiOiI4LjExLjMiLCJhZHIiOlsiMTcyLjE4LjAuMjo5MjAwIl0sImZnciI6IjQzNDJiYTg0MGM1NmFmYjRmMTIxYTk1NDc4NDA0NmQ0M2JjMmEzZjAzNGMwMWNlMmI0NGM2NmEzMzBkZGQyMTIiLCJrZXkiOiJZdWVJcW93QlJFTnpLN3ZxdFR1XzpWTDFEZXlMM1FFMnowbUZMTXVpUmR3In0=
  • 将令牌填入上图的Enrollment token中,会来到以下页面需要您填写一个验证码:
    验证码
  • 获取验证码过程如下:
docker ps
CONTAINER ID   IMAGE                  COMMAND                   CREATED          STATUS          PORTS                                            NAMES
261b2a930067   kibana:8.11.3          "/bin/tini -- /usr/l…"   8 minutes ago    Up 8 minutes    0.0.0.0:5601->5601/tcp                           kibana
83048519c399   elasticsearch:8.11.3   "/bin/tini -- /usr/l…"   24 minutes ago   Up 24 minutes   0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp   es
#这里要将261b2a930067替换成自己电脑上的kibana的container Id
 ~/es  docker exec -it 261b2a930067 bash
kibana@261b2a930067:~$ bin/kibana-verification-code
Kibana is currently running with legacy OpenSSL providers enabled! For details and instructions on how to disable see https://www.elastic.co/guide/en/kibana/8.11/production.html#openssl-legacy-provider
Your verification code is:  350 931

接下来会看到登录页面登录前文es的账号密码即可
登录页面

账号:elastic
密码:O+PLWc9U=UUFDIOc1P6K
登录成功之后会看到欢迎界面,至此es和kibana已经全部安装链接成功,后续使用一般点击explore on my own 自行使用就可以了
欢迎页面
欢迎首页

  • 16
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是将 ELK7.4.2 部署在 Docker Compose 中,并汉化 Kibana 的详细步骤: 1. 创建一个名为 `docker-elk` 的文件夹,并在该文件夹中创建一个 `docker-compose.yml` 文件。 2. 在 `docker-compose.yml` 文件中添加以下内容: ``` version: '3' services: elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:7.4.2 container_name: elasticsearch environment: - discovery.type=single-node ports: - 9200:9200 - 9300:9300 volumes: - ./elasticsearch/data:/usr/share/elasticsearch/data networks: - elk logstash: image: docker.elastic.co/logstash/logstash:7.4.2 container_name: logstash volumes: - ./logstash/config:/usr/share/logstash/pipeline/ ports: - 5000:5000 - 9600:9600 networks: - elk kibana: image: docker.elastic.co/kibana/kibana:7.4.2 container_name: kibana environment: - ELASTICSEARCH_URL=http://elasticsearch:9200 ports: - 5601:5601 volumes: - ./kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml networks: - elk networks: elk: ``` 3. 在 `docker-elk` 文件夹中创建一个名为 `kibana` 的文件夹,并在该文件夹中创建一个 `config` 文件夹。 4. 在 `config` 文件夹中创建一个 `kibana.yml` 文件,并将以下内容添加到该文件中: ``` server.name: kibana server.host: "0.0.0.0" i18n.locale: "zh-CN" ``` 其中,`i18n.locale` 的值可以设置为任何支持的语言。 5. 在 `docker-elk` 文件夹中创建一个名为 `elasticsearch` 的文件夹,并在该文件夹中创建一个 `data` 文件夹。 6. 在 `docker-elk` 文件夹中创建一个名为 `logstash` 的文件夹,并在该文件夹中创建一个 `config` 文件夹。 7. 在 `config` 文件夹中创建一个名为 `logstash.conf` 的文件,并将以下内容添加到该文件中: ``` input { tcp { port => 5000 } } output { elasticsearch { hosts => "elasticsearch:9200" index => "logstash-%{+YYYY.MM.dd}" } } ``` 8. 在 `docker-elk` 文件夹中打开终端,并运行以下命令: ``` docker-compose up -d ``` 该命令将下载并启动 ELK 服务。 9. 打开浏览器,访问 `http://localhost:5601`,即可进入 Kibana 界面。 10. 在 Kibana 界面中,选择 `Management`,然后选择 `Stack Management`,最后选择 `Kibana Settings`。 11. 在 `Kibana Settings` 中,将 `i18n.locale` 的值设置为 `zh-CN`,然后点击 `Save` 按钮。 12. 刷新浏览器页面,即可看到已经汉化的 Kibana 界面。 以上就是使用 Docker Compose 部署 ELK7.4.2 并汉化 Kibana 的详细步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值