在群晖 DS218+ 的 Docker 环境上运行 ELK

  1. 安装Docker套件
  2. 下载ELK映像,此处我使用官方映像的 6.4.0 版本,在注册表中搜索,双击选择版本后下载。下载过程中先进行下列设置。1578123848856
  3. 启用 admin 用户,若没有设置过密码请修改 admin 密码15781231121611578123138073
  4. 启用 DSM 的 ssh 登录1578123013114
  5. 通过 ssh 登录 DSM,登录用户为 admin,密码为你刚刚设置的密码。
  6. 登录到 admin 用户之后通过 sudo -i 命令切换到 root 用户,首次登录 root 用户会要求你设置初始密码。
  7. 切换到 root 用户之后,修改 /etc/sysctl.conf,增加(或修改) vm.max_map_count=262144一行,保存退出。之后 DSM 重启也不会恢复此设置。
  8. 此时该设置还未生效,索性再执行 sysctl -w vm.max_map_count=262144 命令直接修改配置。

ElasticSearch

  1. 等待ES映像下载完成后启动,会失败,查看日志应该能找到java.lang.UnsupportedOperationException: seccomp unavailable: CONFIG_SECCOMP not compiled into kernel, CONFIG_SECCOMP and CONFIG_SECCOMP_FILTER are needed这样的报错提示1578124080112这是需要我们手动修改 es 配置,加上这一行 bootstrap.system_call_filter: false
  2. 再次启动刚刚失败退出的 es 容器,在容器还没报错退出之前,使用终端机,点击“新增”按钮创建一个 bash 端口,快速修改 /usr/share/elasticsearch/config/elasticsearch.yml 文件,加入bootstrap.system_call_filter: false 这行配置,保存退出。
  3. 保存退出之后当次启动仍会失败,因为修改完之前配置已经被读取启动了。再次启动该容器,观察日志,看到以下日志内容基本就代表成功启动了1578124240959
  4. 可以通过浏览器访问 es 容器对应的9200端口,我这里看到我 es 容器的 9200 端口对应的是 32867 端口1578124357631因此访问 {NAS的IP}:32867 端口即可看到图中的返回1578124439235代表 ES 配置完成。

Kibana

  1. 接下来启动 kibana 容器,启动时建议设置端口映射,因为经常需要通过本地浏览器访问 kibana,使用一个固定端口比较方便,此处我使用 kibana 原本的端口 5601 1578124588101
  2. 设置容器链接,左边容器名称选择你刚刚启动的 es 容器名称,右侧别名建议使用 elasticsearch(如果你想要手动修改 kibana 配置文件的话,也可以自己设置为别的别名)1578124674708
  3. 然后启动即可,观察 kibana 容器的日志输出,如图代表启动完成1578124860646可以使用浏览器访问 {NAS的IP}:5601 端口(根据刚刚第一步配置的端口映射中左边的本地端口),即可看到 kibana 的界面1578124944815

Logstash

  1. 新建一个共享文件夹,专门存放用于导入 Logstash 的数据文件,创建时建议关闭回收站功能,可能会影响程序读写删除性能1578152917909
  2. 使用 File Station 套件,右键刚刚创建的共享文件夹,进入属性界面1578153400428
  3. 点击权限、新增,选择 Everyone 组后选择读取权限,并勾选左下角应用到文件夹、子文件夹及文件,保存1578153468868
  4. 创建 Logstash 容器,创建时在高级设置中添加 es 容器的链接,同 kibana 部分的第二步。
  5. 在“卷”标签页中,增加挂载刚刚新建的数据目录,根据习惯填写装载路径1578224503795
  6. 启动容器,新建一个 bash 终端,根据需求修改 /usr/share/logstash/pipeline/ 中的配置文件。

后记

尝试在没有增加内存的 DS218+ 上搭建 ELK,虽然能够成功运行,但是内存使用率一直会保持在80 以上,并且还会让正常的索引任务失败,提示内存不足,建议还是增加内存之后再玩这个吧。


1153 Words

2020-01-05 19:45 +0800

-