Nlog、elasticsearch、Kibana以及logstash
前言
最近在做文档管理中,需要记录每个管理员以及用户在使用过程中的所有操作记录,本来是通过EF直接将操作数据记录在数据库中,在查询的时候直接从数据库中读取,但是这样太蠢了,于是在网上找到了logstash这NB的工具,和大家分享一下学习的过程。
环境准备
需要在官网(https://www.elastic.co/)上下载这三个工具,我下载的版本是elasticsearch-2.3.4,kibana-4.5.2-windows,logstash-2.3.4,都是Windows的版本,三个工具的源码是java编写的,所以要先安装java,这个教程在网上一大堆,都有可以找到。在安装结束之后,分别解压三个文件夹
版本不同文件夹的名字也不一样,但是不影响,至于这三个工具不同的版本会有什么影响显著还不清楚。Nlog的dll可以通过nuget直接下载。
走起!
在环境准备好之后,就可以起飞了,首先在elasticsearch-2.3.4文件中,config/elasticsearch.yml文件可以修改服务的地址和端口,一般都是用默认的地址
双击运行bin\elasticsearch.bat文件
出现这一堆代码的时候,说明配置没有问题。在浏览器中键入刚刚配置的地址,如:localhost:9200,出现该代码
运行成功。
下面配置kibana,主要是在config/kibana.yml中,配置logstash的服务地址和elasticsearch地址以及端口号
,注意!!!,这里的server.host的地址要和下面即将配置的logstash地址一致,且不能用localhost,只能用Id地址,如:你的Id地址为192.168.4.12,虽然127.0.0.1也代表本地的地址,但是这两者在这里不相等,必须要一致才行。elasticsearch.rul对应着刚刚配置elasticsearch的地址,这里的Id地址不是那么严格。配置好之后双击bin\kibana.bat运行,kibana运行成功的前提是elasticsearch是启动的,
看到该页面代码,配置成功,在该界面上有地址http://192.168.4.12:5601,在浏览器中打开该地址
显示该界面的时候,说明运行成功,没有错了。最后一步,配置logstash,在配置的时候需要自己建配置文件,例如***.conf,存放的地方无所有,自己能找到就行,一般是在目录下建conf文件夹,然后拷贝到这里。里面有三个元素需要配置,
input,filter,output,input指的是数据源来自什么地方,stdin{}就是从屏幕是读取数据,filter是根据你的需要来修改一些数据的格式,outout是要把这些数据送到哪个地方,stdout{}就是在屏幕上输出数据,由于我这里不需要filter,所以就没有写,有需要可以参考官方文档https://www.elastic.co/guide/en/logstash/current/filter-plugins.html,这些配置好之后,打开cmd,进入logstash的文件夹,运行logstash -f ***.conf,-f后面是刚刚配置文件所在的位置,我是和logstash.bat放在同一个文件夹下的,所以可以直接运行
如图,config文件Main started,运行成功了,随便在下面输入一行,回车
下面会打印出刚刚输入的数据。
到此,这三种工具的配置都已经配置好了,下一篇文章将会说明,如何使用Nlog将日志输入logstash,在kibana上查看。