番外篇:使用nssm工具将ES、Kibana、Logstash或者其他.bat文件部署为Windows后台服务的方法
使用NSSM工具安装bat文件为Windows服务
nssm是一个可以把bat批处理文件部署为Windows服务的小工具。例如很多.net项目可能还是在Windows服务器上面跑的,但是很多组件只提供了.bat文件,例如elk三件套、或者后面会用到的kafka等等。
都是开一个批处理窗口也是可以的,但是容易被不小心人为关闭,就崩溃了。所以很有必要在测试完毕以后,部署到Windows服务里面去。
接下来是正文。首先下载nssm工具,下载地址:
http://nssm.cc/release/nssm-2.24.zip
解压以后,有32位和64位:
我电脑是64位的,所以我把64位下面的nssm文件拷出来备用:
然后,Windows键 + X,调出应用栏,选择使用管理员权限打开powershell:
定位到刚才拷贝nssm的目录下,然后先安装Elasticsearch。为了看出效果,现在ES都已经关闭了,打开localhost:9200看下先:
开始安装ES服务:
Nssm.exe install ElasticSearch,即可安装一个名为ElasticSearch的服务。或者你也可以自定义命名:
Detail里面可以添加描述等,或者映射的名称:
我就改个描述意思下,其他的,大佬们可以自行玩。
最后点下方的Install service按钮,就可以安装服务了。
安装成功以后,默认一开始是没有启动的,我们去Windows服务上面手动打开一下。效果如图:
现在刷新一下localhost:9200看一下启动是否成功:
接下来是安装kibana服务:
同理,使用 nssm.exe install kibana,然后引用kibana.bat文件进行安装:
打开 localhost:5601看下是否启动成功:
OK,说明Kibana服务也安装成功了。
最后是安装Logstash服务。Logstash因为需要指定配置文件,所以操作略有一些不一样:
在Arguments里面,需要加 -f 配置文件绝对路径,例如我的是:
-f D:\xxxxx\logstash-7.13.1-windows-x86_64\logstash-7.13.1\config\rabbitmq.conf
安装成功以后,就可以在Windows服务里面设置启动:
验证一下效果,在上一篇文章上面的api里面,改一下日志输出,然后启动程序并执行api,看看效果:
启动并执行测试的webapi:
现在去ES上面查询一下,看看有没有记录:
在kibana上面查到对应的信息记录,说明logstash部署成服务成功~~