ELK 是 Elasticsearch, Logstash 及 Kibana 组合的简称,被广泛应用于运行日志查找、分析等场景。本文介绍在开发环境中,通过 docker, docker-compose 安装单机版的 ELK。
下载 docker-compose 文件
在这里,我们使用 github 上的 docker-elk 项目来搭建 ELK 实验环境。
首先,到 项目官网 下载 zip 包。解压以后,进入 docker-elk-master 目录
相关项目运行起来大概需要 1.5G 的内存。
如果使用的是 Windows 作为 Docker 的宿主机,需要讲 C 盘的共享打开。
执行以下命令来启动。
1 | docker-compose up -d |
整个过程需要下载 elasticsearch, logstash 及 kibana 三个镜像,所以时间会比较久。
三个容器都启动后,可以通过浏览器访问:
1 | http://localhost:9200 |
在提示输入用户名和密码框中,输入:
用户名: elastic
密码: changeme
可以看到类似下面的信息:
1 |
|
设置新密码
要设置新的密码,可以执行:
1 | docker-compose exec -T elasticsearch bin/elasticsearch-setup-passwords auto --batch |
该命令将会为6个子系统分别生成6个随机密码,类似如下:
1 | Changed password for user apm_system |
为了方便以后使用,建议用一个文件将以上的密码保存。
为是密码更改生效,接下来需要修改相关的配置文件:
- docker-compose.yml - 注释或散掉 “ELASTIC_PASSWORD” 这一行的内容
- 修改 kibana\config\kibana.yml 文件中的密码为系统生成的随机密码,在我的环境中为: 5Vq6Crdn0hWmnOr9Aed5
- 修改 logstash\config\logstash.yml 文件中的密码为系统生成的随机密码,在我的环境中为: 5Vq6Crdn0hWmnOr9Aed5
- 修改 logstash\pipeline\logstash.conf 文件中的密码为系统生成的随机密码,在我的环境中为: 5Vq6Crdn0hWmnOr9Aed5
以上四个文件都改完以后,就可以重启 ELK, 执行以下命令:
1 | docker-compose restart |
但重启完成后,系统显示:
1 | Restarting docker-elk-master_logstash_1 ... done |
访问 kibana
在浏览器中访问:
1 | http://localhost:5601 |
就可以看到 kibana 的登录界面了。使用
用户名: elastic
密码: 5Vq6Crdn0hWmnOr9Aed5
密码就是上面生成的随机密码。 注意:这里需要的是 elastic 用户的密码