Windows 下配置 Logstash 为后台服务

到目前为止,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

原文地址:https://www.cnblogs.com/sparkdev/p/11156693.html

时间: 2024-11-06 22:23:34

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

windows下配置nginx+php环境

windows下配置nginx+php环境 刚看到nginx这个词,我很好奇它的读法(engine x),我的直译是“引擎x”,一般引“擎代”表了性能,而“x”大多出现是表示“xtras(额外的效果)”,那么整个词的意思就是类似“极致效果”,“额外性能”.当然这里不是要来唠嗑,以上是题外话. nginx相较于我们熟悉的apache.IIS的优势,就我浅入浅出的了解,在于“反向代理”和“负载均衡”.因此考虑到能够为Web服务器节省资源,它可以代替apache来提供Web服务.那么上正题了,ngin

windows下配置ssh(FreeSSHD + putty)

windows下配置ssh(FreeSSHD + putty): 1.关于配置过程找到一篇很好的博客,推荐大家先好好看一下,这篇博文解决了大方向问题. 地址:http://blog.csdn.net/lililiyunqiang/article/details/39337319 2.另附上IBM的step by step教程,思路很清晰,也讲了很多细节. 地址:https://wthwdik.wordpress.com/2011/03/28/how-to-get-freesshd-public-

Windows下配置Sendmail通过php mail函数发邮件

两种php发信方式 在许多php程序中通常都需要发邮件比如discuz需要选择sendmail发信,wordpress评论回复需要发信,然而发送邮件则有两种不同的方式.一是直接通过php中的mail()函数进行发信,而则是通过写一些程序来通过stmp服务来进行发信. 前者需要程序所在服务器的支持,通常linux服务器大多有这项服务.比如之前我用的Godaddy主机就可以进行发信,但是国内主机服务商则基本不带这个函数的支持.因为在这个垃圾邮件横行霸道的年代,服务器提供商则索性关闭这个函数的使用,所

Centos7下配置phpMyAdmin(提供HTTPS服务)

Centos7下配置phpMyAdmin(提供HTTPS服务) phpMyAdmin可以通过web方式控制和操作MySQL数据库.通过phpMyAdmin 可以完全对数据库进行操作,例如建立.复制和删除数据等等. 配置环境 Centos7 2台(IP1:192.168.70 ; IP2:192.168.1.71) 关闭防火墙 关闭selinux 相关软件: php-5.4.16 php-mbstring-5.4.16   httpd-2.4.6-45 mariadb-server php-mys

Windows下配置使用 MemCached

Windows下配置使用MemCached 工具: memcached-1.2.6-win32-bin.zip     MemCached服务端程序(for win) Memcached Manager             win下的MemCached管理工具 Memcached .NET client Library        C#/.NET memcached 客户端dll 安装配置MemCached服务端 下载memcached-1.2.6-win32-bin.zip ,解压后得到

windows 下配置 Nginx 常见问题

因为最近的项目需要用到负载均衡,不用考虑,当然用大名鼎鼎的Nginx啦.至于Nginx的介绍,这里就不多说了,直接进入主题如何在Windows下配置. 我的系统是win7旗舰版的,到官网下载最新版本 nginx/Windows-1.7.9解压到英文目录下(我刚开始是放到中文目录下的,启动时会有问题,下面常见错误里会讲到). 一.  Nginx配置 找到 conf 目录里的 nginx.conf 文件,配置Nginx #user nobody; #指定nginx进程数 worker_process

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

windows 下配置 Nginx 常见问题 因为最近的项目需要用到负载均衡,不用考虑,当然用大名鼎鼎的Nginx啦.至于Nginx的介绍,这里就不多说了,直接进入主题如何在Windows下配置. 我的系统是win7旗舰版的,到官网下载最新版本 nginx/Windows-1.7.9解压到英文目录下(我刚开始是放到中文目录下的,启动时会有问题,下面常见错误里会讲到). 一.  Nginx配置 找到 conf 目录里的 nginx.conf 文件,配置Nginx #user nobody; #指定

windows下注册和取消pg服务的方法

介绍windows下注册和取消pg服务的命令的相关知识,在文章下面给大家介绍了如何将exe注册为windows服务,直接从后台运行,本文给大家分享两种方法,感兴趣的朋友一起看看吧 pg_ctl register [-N servicename] [-U username] [-P password] [-D datadir] [-w][-t seconds] [-o options] pg_ctl unregister [-N servicename] 参数说明如下: -N servicenam

在CentOS/Windows下配置Nginx(以及踩坑)

在CentOS/Windows下配置Nginx(以及踩坑) 1. 序言 因为这类文章网上比较多,实际操作起来也大同小异,所以我并不会着重于详细配置方面,而是将我配置时踩的坑写出来. 2. CentOS 2.1 第一步下载nginx包 我选择将包放在/usr/local下 cd /usr/local wget (nginx下载目录网址) 这里的下载目录可以根据需要选择版本从而决定 请点击nginx下载查看目录 2.2 安装nginx所需环境 yum?install?gcc-c++ yum?inst