到目前为止,logstash 没有给出官方的,在 windows 系统中作为后台服务运行的方式。本文将介绍如何使用第三方工具 nssm 让 logstash 作为后台服务运行在 windows 中。
说明:演示的环境为 windows server 2016,logstash 的版本为 6.2.4。

安装 Java Development Kit(JDK)

运行 logstash 6.2.4 需要先在环境中安装 JDK,演示中笔者安装的版本为 jdk-8u111-windows-x64,直接安装到默认的目录中。

在 logstash 的运行脚本中用到了 JAVA_HOME 环境变量,因此我们需要先添加这个环境变量(注意,环境变量的值为 JDK 的实际安装目录):

环境变量添加完成后,新启动一个 PowerShell 窗口,执行下面的命令:

> echo $env:JAVA_HOME

通过输出的结果验证环境变量是否被正确添加。

安装 NSSM

NSSM 是 windows 下的一个后台服务管理程序,完整功能请参考其官方文档。本文中我们使用它轻松地把 logstash 这样的程序配置为后台运行的服务。请从 NSSM 官方下载安装包,解压缩后把合适架构的可执行程序拷贝到安装目录。比如笔者把 x64 目录下的 nssm.exe 文件拷贝到了 C:\Program Files\nssm 目录下。
为了方便使用,把路径 C:\Program Files\nssm 添加到 PATH 环境变量中,这样在任何路径下都可以执行 nssm 命令而不用写出其完整的路径。

安装 logstash

在 windows 中安装 logstash 就是把从官方下载的安装包 logstash-6.2.4.zip 解压缩。示例中,我把它解压到了 C 盘的根目录下,并重命名为 logstash,因此 logstash 的安装目录为:C:\logstash。

为了验证最终的安装结果,我们创建一个测试用的配置文件。在 C:\logstash\bin 目录下创建文件 logstash.conf,编辑其内容如下:

input {
# Accept input from the file.
file {
path => ["c:\input.txt"]
}
} output {
# Output to the file.
file {
path => "c:\output.txt"
codec => line { format => "custom format: %{message}"}
}
}

同时在 C 盘的根目录下创建两个文本文件,分别为 input.txt 和 output.txt。

配置 logstash 为后台服务

以管理员权限启动 PowerShell,进入 C:\logstash\bin 目录,然后执行下面的命令:

> nssm install logstash

在上面的对话框中分别设置 Path、Startup directory 和 Arguments。

比如 Path 为:C:\logstash\bin\logstash.bat
Startup directory 为:C:\logstash\bin
Arguments 为:-f C:\logstash\bin\logstash.conf
最后点击 "Install service" 按钮。
安装成功后,在服务管理程序中会出现一个名称为 "logstash" 的服务,其启动类型为 "自动"。以后我们就可以在服务管理器中像管理其他服务一样管理 logstash 服务了!现在先在服务管理器中启动 logstash 服务。

验证 logstash 服务运行正常

我们刚才添加了一个 logstash 配置,input 和 output 都是文件,分别是 c:\input.txt 和 c:\output.txt。
在 PowerShell 中执行下面的命令:

> echo "hello" >> c:\input.txt
> echo "world" >> c:\input.txt

然后查看 c:\output.txt 文件的内容,如果正常的话,其内容应该是:

custom format: hello
custom format: world

如果与上面的内容不符,可能是配置有问题,请参考本文重新检查配置信息。如果确认配置信息正确,可以检查 C:\logstash\logs 目录下的日志文件,看看问题究竟出在哪里。

参考:
Installing Logstash on Windows
NSSM
Set Logstash as a Windows service

Windows 下配置 Logstash 为后台服务的更多相关文章

  1. windows 下配置 Nginx 常见问题(转)

    windows 下配置 Nginx 常见问题 因为最近的项目需要用到负载均衡,不用考虑,当然用大名鼎鼎的Nginx啦.至于Nginx的介绍,这里就不多说了,直接进入主题如何在Windows下配置. 我 ...

  2. Windows下配置使用 MemCached

    Windows下配置使用MemCached 工具: memcached-1.2.6-win32-bin.zip     MemCached服务端程序(for win) Memcached Manage ...

  3. windows下配置wnmp

    最近尝试windows下配置nginx+php+mysql,在这里总结一下. 1.下载windows版本的nginx,官网​下载地址:http://nginx.org/en/download.htm, ...

  4. windows下配置lamp环境(5)---配置MySQL5.6

    开始配置mysql 1.创建配置文件my.ini   1.进入C:\wamp\MySQL   2.把my-default.ini 另存一份:my.ini   3.开始编辑mysql的配置文件,打开my ...

  5. windows下配置svn的https访问

    svn是一个功能强大的代码版本管理系统,可以将服务端安装在linux.unix以及windows下.svn通常采用http方式进行代码提交与下载.由于密码采用明文传输,因此存在泄密的风险.若采用htt ...

  6. 同一台windows下配置安装多个mysql实例,实现主从同步

    一.安装多个mysql 参见: https://blog.csdn.net/wrh_csdn/article/details/80198795 https://www.cnblogs.com/qjoa ...

  7. windows 下配置 Nginx 常见问题

    因为最近的项目需要用到负载均衡,不用考虑,当然用大名鼎鼎的Nginx啦.至于Nginx的介绍,这里就不多说了,直接进入主题如何在Windows下配置. 我的系统是win7旗舰版的,到官网下载最新版本 ...

  8. windows下配置ssh(FreeSSHD + putty)

    windows下配置ssh(FreeSSHD + putty): 1.关于配置过程找到一篇很好的博客,推荐大家先好好看一下,这篇博文解决了大方向问题. 地址:http://blog.csdn.net/ ...

  9. Windows下配置Redis,并修改密码

    原文:Windows下配置Redis,并修改密码 Windows下配置Redis,并修改密码 下载 Redis Windows版本的GitHub链接,直接下载zip文件解压到指定文件夹下或者下载msi ...

随机推荐

  1. 起调UWP的几种方法

    原文:起调UWP的几种方法 由于种种原因吧,我需要使用一个WPF程序起调一个UWP程序,下面总结一下,给自己个备份. 启动UWP程序的关键是协议启动 给我们的UWP应用添加一个协议,like this ...

  2. delphi 线程教学第一节:初识多线程(讲的比较浅显),还有三个例子

    http://www.cnblogs.com/lackey/p/6297115.html 几个例子: http://www.cnblogs.com/lackey/p/5371544.html

  3. WPF:通过BitmapSource的CopyPixels和Create方法来切割图片

    原文 WPF:通过BitmapSource的CopyPixels和Create方法来切割图片 BitmapSource是WPF图像的最基本类型,它同时提供两个像素相关的方法就是CopyPixels和C ...

  4. git服务器创建,冲突解决,远程仓库获取指定文件

    1.git服务器创建 在公司多人协作开发的情况下,不能简单地使用github,因为github是互联网公开的,这种情况公司的代码的保密性就会丧失了.这种情况下,需要创建git服务器. 登录服务器,使用 ...

  5. IDHTTP-HTTPS通讯方法(Indy10.2.3之前仅支持OpenSSL的0.9.8以前的版本)

    加载https的站点页面内容的时候记得在窗体上加上“IdSSLIOHandlerSocketOpenSSL1” 以及idhttp里面IOHandler为“IdSSLIOHandlerSocketOpe ...

  6. Morris 轻量级 图表

    Morris.js 是基于 jQuery 和 Raphaël 的轻量级矢量图形库,帮助开发人员轻松绘制各种形式的图表.示例: HTML: <div id="myfirstchart&q ...

  7. 为什么需要使用Git客户端?(使用msysgit)

    Git 是 Linux Torvalds 为了帮助管理 Linux® 内核开发而开发的一个开放源码的版本控制软件.正如所提供的文档中说的一样,“Git 是一个快速.可扩展的分布式版本控制系统,它具有极 ...

  8. 线程天敌TerminateThread与SuspendThread

    线程天敌TerminateThread与SuspendThread 作者:童磊(magictong) 目的:不是演示TerminateThread和SuspendThread的原理而是希望能在自己的程 ...

  9. win7访问部分win2003速度慢

    解决办法: 关闭TCPIP协议的自动优化调整功能,在win7上,以管理员身份运行cmd,输入 netsh interface tcp set global autotuninglevel=disabl ...

  10. Java开发桌面程序学习(九)——JavaFxTemplate JavaFx模版 更简单进行JavaFx程序开发

    JavaFxTemplate 使用说明 项目基于maven,请确保maven配置成功,否则,可能会出现问题 项目内置了commons-io的jar包,Jfoenix的jar包以及常用的工具类JFxUt ...