使用Docker构建Elastic Stack 8.2环境

背景:只需要一个选项的情况下,请用中文给出以下内容的释义:

使用”Elastic Stack”将各种日志数据集成到数据库中,并进行可视化和分析。这是一个使用Docker轻松创建最新的Elastic Stack环境的备忘录。

弹性栈

    Elastic Stack = Elasticsearch、Kibana、Beats、Logstash | Elastic

详细信息可在官方网页指南中找到,简单来说,以下是功能配置。

    • Elasticsearch

 

    •  データの集積と検索と分析を担います。

 

    • Logstash

 

    •  データをElasticsearchに投入する際のパイプライン機能を担います。

 

    • Kibana

 

     データの可視化で様々なチャートやグラフなどで表現機能を担います。

过去,根据这些首字母,也被称为”ELK栈”。

    ELK Stack:Elasticsearch開発元が提供するプロダクト | Elastic

基本功能可以免费使用开源软件,但部分功能需要付费许可证。您可以先试用一段时间再停用。

行动背景

主机方

    • OS:Ubuntu Server 20.04.4LTS

 

    • Docker CE version 20.10.16

 

    docker compose version v2.6.0

容器端

    Elastic Stack 8.2.2

准备Docker环境

请参考以下页面介绍。

    Linuxサーバー環境のDockerインストールメモ – Qiita

防火墙设置(重要)

如果在全球IP地址环境中构建,由于Elastic Stack的每个服务都会泄露到互联网外部,因此务必在事先进行防火墙(安全组等)的设置。
在这种情况下,我们将仅限制对工作终端的TCP / 5601端口进行开放。
由于Elastic Stack经常成为网络攻击的目标,来自世界各地的攻击频繁发生,因此请务必不要对外部开放,即使只是几秒钟。

搭建 Elastic Stack

本次我们将使用以下存储库,方便地使用Docker Compose构建最新的Elastic Stack。

    [GitHub – deviantony/docker-elk: The Elastic stack (ELK) powered by Docker and Compose.] (https://github.com/deviantony/docker-elk)

从Github获取

从Github上获取所需的基本文件。

$ git clone https://github.com/deviantony/docker-elk.git
$ cd docker-elk

使用Docker Compose启动容器环境

$ docker compose up -d
$ docker compose ps
NAME                         COMMAND                  SERVICE             STATUS              PORTS
docker-elk-elasticsearch-1   "/bin/tini -- /usr/l…"   elasticsearch       running             0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp, :::9200->9200/tcp, :::9300->9300/tcp
docker-elk-kibana-1          "/bin/tini -- /usr/l…"   kibana              running             0.0.0.0:5601->5601/tcp, :::5601->5601/tcp
docker-elk-logstash-1        "/usr/local/bin/dock…"   logstash            running             0.0.0.0:5000->5000/tcp, 0.0.0.0:5000->5000/udp, 0.0.0.0:5044->5044/tcp, 0.0.0.0:9600->9600/tcp, :::5000->5000/tcp, :::5000->5000/udp, :::5044->5044/tcp, :::9600->9600/tcp
docker-elk-setup-1           "/entrypoint.sh"         setup               running             9300/tcp

弹性堆栈的登录界面

根据环境的不同,等待几分钟后,您可以从Web浏览器中打开Elastic Stack的登录界面。
Docker主机的IP地址和端口号请设置为Kibana的5601端口。

「http://127.0.0.1:5601」的本地示例。

因為標準帳戶名設定為「elastic」並且密碼設定為「changeme」,所以請先登入並進行操作驗證。

重置密码并创建新密码

重置标准账户的密码并创建新密码。
对使用的三个账户进行操作。
在每次执行命令时,额外记录显示的新密码。

$ docker compose exec elasticsearch bin/elasticsearch-reset-password --batch --user elastic
$ docker compose exec elasticsearch bin/elasticsearch-reset-password --batch --user logstash_internal
$ docker compose exec elasticsearch bin/elasticsearch-reset-password --batch --user kibana_system

设置新密码

将先前创建的新密码修改并更改到环境配置文件「.env」中。

ELASTIC_PASSWORD='elasticの新規パスワード'
LOGSTASH_INTERNAL_PASSWORD='logstashの新規パスワード'
KIBANA_SYSTEM_PASSWORD='kibanaの新規パスワード'

重新启动 Docker Compose

使用Docker Compose重新启动Logstash和Kibana。

$ docker compose up -d logstash kibana

我会使用新密码重新登录Elastic Stack,以确认能够成功登录。

将日本语化

如果要将Elastic Stack的界面更改为日语,需要修改配置文件。

i18n.locale: "ja-JP"

使用Docker Compose重新启动Kibana。

$ docker compose restart kibana
bannerAds