Windows环境下ELK简单搭建记录

时间:2021-02-24 14:51:38

前言

  ELK已经是一套成熟的日志解决方案,虽然出现了好久,今日才终于研究了一下,不过是在windows平台上安装的。

搭建步骤

  • 下载软件
  • 安装软件
  • 修改配置文件
  • 启动软件
  • 集成测试

下载软件

  首先从官网下载三个软件。我下载的是 6.2.3版本的,最好都统一,否则会出现小问题。官网地址:https://www.elastic.co/

  Windows环境下ELK简单搭建记录

安装软件

  分别将上文中的ELK三个压缩包解压到相应的文件夹下。(我的电脑文件夹是C:/elk/)

 Windows环境下ELK简单搭建记录

  由于logstashkibana都需要配置elasticsearchserver url,所以先配置了elasticsearch。

  打开 elasticsearch-6.2.3/config 文件夹,打开elasticsearch.yml,配置一下基本信息:

cluster.name: <集群名称>
node.name: <当前节点名称>
network.host: <本机IP或者localhost>
http.port:

  使用cmd命令安装elasticsearch service

  Windows环境下ELK简单搭建记录

  安装完成之后启动es服务。打开 host:9200 测试一下es是否安装成功。

  Windows环境下ELK简单搭建记录

  下面安装logstash。

  进入到 C:\elk\logstash-6.2.3\config 文件夹下新建log.config文件。这里我选择的输入源是file,然后filter处理日志中的jsonoutputelasticsearch和控制台。log.config文件配置如下:

  

input {
file {
type => "log"
path => "C:/logs/*.log"
codec => plain{
charset => "UTF-8"
}
start_position => "beginning"
}
}
filter {
ruby {
将@timestamp转换为服务器时间,否则会是UTC时间(慢8个小时)
code => "event.timestamp.time.localtime"
}
json{
解析日志中的json格式到log字段,移除message字段和host
source => "message"
target => "log"
remove_field => ["message"]
remove_field => ["host"]
}
} output {
stdout {
codec => rubydebug
}
elasticsearch {
hosts => ["127.0.0.1:9200"]
index => "logs"
}
}

  下面打开cmd运行命令:

  Windows环境下ELK简单搭建记录

  等待启动即可,如果报错了,看一下报错信息即可。logstash能正常解析日志。

  Windows环境下ELK简单搭建记录

  最后安装kibana。

  同样进入 config文件夹。配置kibana.yml 配置elasticsearch.url和host.name即可。端口默认是5601。

  cmd  bin/kibana 启动

 Windows环境下ELK简单搭建记录

  打开浏览器,正常出现kibana界面。

  到目前为止,ELK已经基本配置完了。

集成测试

  因为 logstash 配置的是采集 C:/logs文件夹下的日志文件。写一个简单的程序写入日志,日志内容如下:

  Windows环境下ELK简单搭建记录

  正如上文中logstash输出一样,logstash正常采集到了日志,并且解析了日志中的json串。下面打开elasticsearch看一下是否有数据

  Windows环境下ELK简单搭建记录

  如上图所示,是有数据的,最后使用kibana配置一下index即可。(由于kibana我也不太会用,所以不做详细介绍了)

总结

  总体而言安装过程中的配置过程还不是很难,但是要做到很复杂的日志处理或者其他的功能那么就需要下功夫了。这里我只是简单的做了一个搭建工作。想要深入了解ELK体系的使用还是需要下功夫的!!

  另外,logstash的  input  output  filter 配置还是有很多门道的,相当复杂,本来我试了用filebeat作为input,但是老是报 Invalid Frame Type 后来我就没在理他了,大概日志文件的编码不对吧(我也不清楚)。

  以上就是windows下搭建简单的ELK的具体过程了。如有问题或者不当之处,欢迎留言咨询。