在 Windows 7 上建立一个与互联网无关的 ELK(Elasticsearch + Logstash + Kibana)环境

背景:

在一些安全性要求严格的公司中,可能会限制互联网连接。即使在这样的环境下,我想使用ELK(Elasticsearch + Logstash + Kibana),所以我会记录下来。这个记录是参考了《如何在Windows服务器上安装Logstash与Kibana的IIS》。虽然这个记录中没有使用IIS,但大部分内容都是参考了该页面。

顺便一提,在我基本完成写备忘录后才注意到,除了无法直接下载文件和安装 Elasticsearch 插件之外,无论是在互联网连接下还是没有连接,步骤都没有差别……

安装

安装环境

    • Windows 7 SP1 64bit 版

 

    ELK は C:\srv\ に配置する前提です。適宜読み換えてください。

准备

使用互联网连接环境下载以下文件,并以某种方式保存到目标计算机中:
– Java SE Development Kit 8
– jdk-8u45-windows-x64.exe
– Elasticsearch 1.6.0
– elasticsearch-1.6.0.zip
– Logstash 1.5.1
– logstash-1.5.1.zip
– Kibana 4.1.0
– kibana-4.1.0-windows.zip
– nssm 2.24 ※ 用于创建Windows服务的辅助工具
– nssm-2.24.zip

将保存的文件在以下的目录结构中展开。
运行Java 8安装程序进行安装。默认情况下,JDK将安装在C:\Program Files\Java\jdk1.8.0_45目录下。

C:\srv\
      └ elasticsearch\
         └ bin 等
      └ kibana\
         └ bin 等
      └ logstash\
         └ bin 等
      └ nssm\
         └ win64 等

安装Elasticsearch

将JDK的安装路径指定给环境变量JAVA_HOME。
通过控制面板→系统与安全→系统→系统详细设置→详细设置选项卡→环境变量按钮,按照这个路径找到系统环境变量的”新建”选项。

    • 変数名: JAVA_HOME

 

    変数値: C:\Program Files\Java\jdk1.8.0_45

输入”と”,然后按下 OK。

如果你不打算建立一个集群结构,那么请打开C:\srv\elasticsearch\config\elasticsearch.yml文件。

cluster.name: [任意のクラスタ名]

也许设置这个会很有帮助。此外,还可以通过仅使用 Elasticsearch 进行负载均衡。有关详细信息,请参阅《在多个 Elasticsearch 节点间进行负载均衡》。

当您打开命令提示符并转到 C:\srv\elasticsearch\bin 目录后,键入 elasticsearch 命令,Elasticsearch 将启动,您可以通过 http://localhost:9200 访问它。然而,您可以将其注册为 Windows 服务,并使 Elasticsearch 在操作系统启动时自动启动。

要将其注册为Windows服务,请使用管理员权限打开命令提示符,并转到C:\srv\elasticsearch\bin。

service install

敲击,如下所示即为成功。

elasticsearch-install.png

因为在这个时候还没有启动。

service manager

打开服务管理器并点击启动按钮。另外,将启动类型设定为自动,在操作系统启动时自动启动。

elasticsearch-manager.png

让我们访问 http://localhost:9200 并确认是否存在 JSON 格式的响应。以上是 Elasticsearch 安装完成的步骤。
关于插件的安装,请参考页面底部的 Elasticsearch Plugin 安装部分。

Kibana 的安装

请在命令提示符下将Kibana移动到C:\srv\kibana\bin。

kibana

输入以上内容即可启动。访问 http://localhost:5601 即可立即使用Kibana。

要将Kibana注册为Windows服务,需要使用nssm工具。以管理员权限打开命令提示符,然后切换到C:\srv\nssm\win64目录中。

nssm install kibana

显示注册页面,并且

    • Application タブ

Path: C:\srv\kibana\bin\kibana.bat
Startup directory: C:\srv\kibana\bin

Details タブ

Display name: Kibana
Startup type: Automatic

Dependencies タブ

This service depends on the following system components: elasticsearch-service-x64

输入以上内容并点击”安装服务”按钮,即可完成安装。

安装Logstash(Shipper)。

尽管本应优先在 Shipper 和 Elasticsearch 之间加入 Redis,但本笔记将省略此步骤。
同时,我们将创建一个名为 *.conf 的配置文件,将其放置在 C:\srv\logstash\config 目录中。

假设我们准备一个类似以下内容的logstash-sample.json文件。

input { stdin { } } output { elasticsearch { host => localhost } }

要启动Logstash,请打开命令提示符并切换到C:\srv\logstash\bin目录。

logstash agent -f ..\config\logstash-sample.conf

输入“と打つと”,会停留在以下画面中。

logstash-startup.png

在这里,只需要尝试在命令提示符窗口中输入“test”,该内容也会反映在Elasticsearch中。为了确认,请访问http://localhost:9200/_search?pretty,将会返回以下类似的结果。

{
  "took" : 1,
  "timed_out" : false,
  "_shards" : {
    "total" : 5,
    "successful" : 5,
    "failed" : 0
  },
  "hits" : {
    "total" : 1,
    "max_score" : 1.0,
    "hits" : [ {
      "_index" : "logstash-2015.06.18",
      "_type" : "logs",
      "_id" : "AU4HK92CYE_QZ5I4aXei",
      "_score" : 1.0,
      "_source":{"message":"test\r","@version":"1","@timestamp":"2015-06-18T14:56:31.678Z","host":"Dev-PC"}
    } ]
  }
}

请先按下Ctrl-C,然后输入Y,才能结束。

要将这些Shipper注册为Windows服务

logstash agent -f ..\config\logstash-sample.conf

准备一个名为run.bat的文件,将其保存在C:\srv\logstash\bin路径下。然后,使用具有管理员权限的命令提示符,切换到C:\srv\nssm\win64目录下。

nssm install logstash

展示注册页面。

    • Application タブ

Path: C:\srv\logstash\bin\run.bat
Startup directory: C:\srv\logstash\bin

Details タブ

Display name: Logstash
Startup type: Automatic

Dependencies タブ

This service depends on the following system components: elasticsearch-service-x64

输入上述命令后,点击”安装服务”按钮,完成安装。

只需要一个选项,请将以下内容用中文翻译: ※根据此备忘录的配置文件,将标准输入设置为Input,即使将其服务化也没有意义,但是方法如下。请根据需要适时更改配置文件。

补充说明:更改Logstash的内存使用方法

要更改Logstash的使用内存,请打开C:\srv\logstash\bin\logstash.bat,并在SETLOCAL的底部进行修改。

set LS_MIN_MEM=256m
set LS_MAX_MEM=1g

请添加以下描述。

安装Elasticsearch插件.

要从本地文件安装插件,请打开命令提示符,然后切换到 C:\srv\elasticsearch\bin 目录。

plugin --url file:///path/to/plugin --install plugin-name

在终端上以某种方式下载 elasticsearch-head-master.zip 文件从 GitHub,并保存下来。

plugin --url file:///C:/Users/Dev/Downloads/elasticsearch-head-master.zip --install elasticsearch-head

输入 `http://localhost:9200/_plugin/head/` 就可以访问。关键是将路径中的反斜杠 “\” 替换为斜杠 “/”。

广告
将在 10 秒后关闭
bannerAds