Windows10安装ELK
logstash在windows平台下不能监控磁盘文件,用nxlog监控文件并把内容发送到logstash
部署环境
Os :Windows 10
(版本最好一致就可以)
logstash版本:logstash-6.5.4
elasticsearch版本:elasticsearch-6.5.4
kibana版本:kibana-6.5.4-windows-x86_64
nxlog版本:2.8.1248(目前还没安装)
Java版本:jdk-8
下载软件
Java: http://www.oracle.com/technetwork/java/javase/downloads/index.html
Logstash: https://www.elastic.co/downloads/logstash
Elasticsearch: https://www.elastic.co/downloads/elasticsearch
Kibana: https://www.elastic.co/downloads/kibana
Nxlog: http://nxlog.org/products/nxlog-community-edition/download
Nssm: https://nssm.cc/download
帮助文档
Logstash https://www.elastic.co/guide/en/logstash/current/codec-plugins.html
Elasticsearch https://www.elastic.co/guide/en/elasticsearch/guide/current/index.html
Kibana https://www.elastic.co/guide/en/kibana/current/index.html
Nxlog http://nxlog.org/docs
解压文件
我创建了文件夹"D:\ ELK",将所有压缩包解压到此目录,方便以后管理。
目录结构如下所示:
D:\ELK\elasticsearch-6.5.4
D:\ELK\logstash-6.5.4
D:\ELK\kibana-6.5.4-windows-x86_64
安装java
下载 Java SE Downloads,我下载的是jdk-8u65-windows-x64.exe
安装完成后添加JAVA_HOME 环境变量
Path添加 %JAVA_HOME%\bin
启动nxlog
Nxlog根目录下在windows powerShell里面输入.\nxlog.exe –f,运行程序,也可以用nssm将其做成服务
启动elasticsearch
运行服务elasticsearch.bat
在浏览器中输入http://localhost:9200,查看是否成功
安装插件elasticsearch-head-master
windows下安装ElasticSearch的Head插件
es5以上版本安装head需要安装node和grunt(之前的直接用plugin命令即可安装)
(一)从地址:https://nodejs.org/en/download/ 下载相应系统的msi,双击安装。
(二)安装完成用cmd进入安装目录执行 node -v可查看版本号
(三)执行 npm install -g grunt-cli 安装grunt(前端自动化构建工具,无比强大,自行百度),安装完成后执行grunt -version查看是否安装成功,会显示安装的版本号
(四)开始安装head
① 进入elasticsearch安装目录下的config目录,修改elasticsearch.yml文件.在文件的末尾加入以下代码
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true
node.data: true
然后去掉network.host: 192.168.0.1的注释并改为network.host: 0.0.0.0,去掉cluster.name;node.name;http.port的注释(也就是去掉#)
②双击elasticsearch.bat重启es
③在https://github.com/mobz/elasticsearch-head中下载head插件,选择下载zip
④解压到指定文件夹下,D:\ELK\elasticsearch-6.5.4\elasticsearch-head-master 进入该文件夹,修改D:\ELK\elasticsearch-6.5.4\elasticsearch-head-master\Gruntfile.js 在对应的位置加上hostname:’*’
⑤cmd,到D:\ELK\elasticsearch-6.5.4\elasticsearch-head-master目录下下执行npm install 安装完成后执行grunt server 或者npm run start 运行head插件,如果不成功重新安装grunt。成功如下
⑥浏览器下访问http://localhost:9100/
安装成功后打开http://localhost:9200/_plugin/head/
通过这个页面可以查询和测试elasticsearch的api
新建Logstash配置文件
在D:\ELK\logstash-6.5.4\bin\config 文件夹里新建logstash.conf(bin目录下,写可以修改,执行命令的时候修改路径)
内容如下:如果报错,请检查内容是否有中文字符,修改成英文
input{tcp{host => "127.0.0.1" port => 5549 mode => "server" ssl_enable => false codec => json_lines}}
output{elasticsearch{hosts => "127.0.0.1:9200"}stdout{codec => rubydebug}}
启动logstash
D:\ELK\logstash-6.5.4\bin 目录下在windows powerShell 里面执行命令
.\logstash.bat -f config\logstash.conf
启动kibana
D:\ELK\kibana-6.5.4-windows-x86_64\bin\kibana.bat
打开http://localhost:5601 输入如下内容,点击 management
点击index management,查看elasticsearch 集群
返回management 点击index pattern,点击create index pattern ,创建一个新的过滤集群条件
回到discover 页面显示如下内容
ELK安装完成
把kibana、logstash安装成服务
Logstash 启动可以把logstash.bat -f config\logstash.conf 保存到一个 bat文件中,nssm启动这个bat文件
监控本地文件到elk,注意要监控的文件格式是ansi的,不能用utf8 的编码,会出现乱码
使用nssm制作服务
解压缩nssm,在根目录使用windows powerShell执行
.\nssm.exe install命令,出现窗口
启动nxlog
打开D:\ELK\nxlog\conf\nxlog.conf(这是我的文件夹,你自己安装的文件夹)
Nxlog 配置文件如下(注意define ROOT 是你解压后的nxlog的目录)
Panic Soft
#NoFreeOnExit TRUE
define ROOT D:\ELK\nxlog
define CERTDIR %ROOT%\cert
define CONFDIR %ROOT%\conf
define LOGDIR %ROOT%\data
define LOGFILE %LOGDIR%\nxlog.log
LogFile %LOGFILE%
Moduledir %ROOT%\modules
CacheDir %ROOT%\data
Pidfile %ROOT%\data\nxlog.pid
SpoolDir %ROOT%\data
<Input in>
Module im_file
File 'D:\\IDEAWorkspace\\dms_root\\logs\\*.log'
SavePos True
</Input>
<Output out>
Module om_tcp
host 127.0.0.1
port 5549
</Output>
<Route 1>
Path in => out
</Route>
启动noxlog服务,在nxlog解压后的根目录中,在windows powerShell 中执行命令
.\nxlog.exe –f
在监控的文件中输入内容(D:\IDEAWorkspace\dms_root\logs\*.log),在kibana中查看内容是否发送成功
成功。
来源:CSDN
原文:https://blog.csdn.net/weisong530624687/article/details/82963544