win7下搭建ELK(Elasticsearch+LogStash+Kibana)日志分析系统

一、介绍

ELK关系图
1、Elasticsearch:基于java,是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。

2、Logstash:Logstash是一个完全开源的工具,他可以对你的日志进行收集、过滤、存储,后来它的收集数据功能慢,被Beat取代。

3、Kibana:基于nodejs,也是一个开源和免费的工具,Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的Web 界面,可以汇总、分析和搜索重要数据日志。

4、Beats:elastic公司开源的一款采集系统监控数据的代理agent,是在被监控服务器上以客户端形式运行的数据收集器的统称,可以直接把数据发送给Elasticsearch或者通过Logstash发送给Elasticsearch,然后进行后续的数据分析活动。

二、安装和配置

本文搭建环境为:win7、jkd1.8
在官方(https://www.elastic.co/cn/downloads/)分别下载Elasticsearch、Logstash、Kibana、FileBeats(文件采集器),本文使用的版本均为win64-7.5.0,win7不能使用高版本,因为Kibana是采用node.js开发的,node.js高版本对win7不兼容。

1、Elasticsearch
(1)下载解压,打开其解压目录下的/bin,运行elasticsearch.bat脚本查看控制台出现以下警告(JDK 8 不适用于 Elasticsearch高版本),目前没有影响可以忽略,也可以按提示配置MaxDirectMemorySize参数或按提示安装 Java 11,我这里选择忽略
在这里插入图片描述
(2)Elasticsearch启动完成之后,在浏览器访问默认地址http://localhost:9200/,出现JSON格式的信息,表示启动成功。由于ES官方并没有为ES提供界面管理工具,仅仅是提供了后台的服务,可以下载elasticsearch-head客户端工具(脱节,不详说)
(3)Elasticsearch配置,打开其压缩目录下的/config/elasticsearch.yml,在其可以配置集群等,我这里只打开了访问地址和端口号
在这里插入图片描述
2、Logstash
(1)编写配置文件(新建logstash-himdcs.conf,我这里保存在其解压目录下的config目录),Logstash的运行需要指定配置文件。

# Sample Logstash configuration for creating a simple
# Beats -> Logstash -> Elasticsearch pipeline.

input {
  beats {
    port => 5044
  }
}

filter {
  grok {
    match => { "message" => "\s*%{TIMESTAMP_ISO8601:time}\s*\[%{DATA:thread}\]\s*%{LOGLEVEL:loglevel}\s*(?<class>([\S+]*))\s*%{GREEDYDATA:msg}"}
  }
}

output {
  elasticsearch {
    hosts => ["http://localhost:9200"]
    index => "himdcs-log-%{+YYYY.MM.dd}"
    #user => "elastic"
    #password => "changeme"
  }
  stdout { codec => rubydebug }
}
#日志格式
2021-05-20 10:01:01.235 [http-nio-8101-exec-3] ERROR com.hierway.user.controller.RoleController - 这是错误日志
grok正则表达式:
match => { "message" => "\s*%{TIMESTAMP_ISO8601:time}\s*\[%{DATA:thread}\]\s*%{LOGLEVEL:loglevel}\s*(?<class>([\S+]*))\s*%{GREEDYDATA:msg}"}

(2)新建运行脚本(我这里保存在其解压目录,也可以cmd输入命令运行),脚本内容如下,脚本指定了刚刚编写的配置文件。

脚本内容:./bin/logstash.bat -f ./config/logstash-himdcs.conf

在这里插入图片描述
(3)运行控制台无报错,则表示运行成功

3、FileBeats
(1)新建配置文件,filebeat的运行也需要指定配置文件,我这里新建了个文件夹保存运行脚本和配置文件
在这里插入图片描述
配置文件内容如下

filebeat.inputs:
- type: log
  enabled: true
  # 需要监听的日志
  paths:
    - e:\logs\himdcs\*.log
 #索引分片数
setup.template.settings:
  index.number_of_shards: 1
#输出到logstash
output.logstash:
  hosts: ["localhost:5044"]

(2)新建运行脚本,内容:…\filebeat -e -c filebeat-himdcs.yml
(3)踩坑:filebeat每次运行时在其根目录下生成data数据文件,里面注册了连接的信息,每次重新启动filebeat的时候要把data文件夹删除,否则会连接不到logstash或者es。
在这里插入图片描述
4、Kibana
(1)修改kibana配置文件,解压目录下的\config\kibana.yml

# Kibana is served by a back end server. This setting specifies the port to use.
# 端口号
server.port: 5601

# Specifies the address to which the Kibana server will bind. IP addresses and host names are both valid values.
# The default is 'localhost', which usually means remote machines will not be able to connect.
# To allow connections from remote users, set this parameter to a non-loopback address.
# 允许访问的ip,0.0.0.0表示允许任何ip访问
server.host: "localhost"


# 服务名称
server.name: "kibana"

# The URLs of the Elasticsearch instances to use for all your queries.
# ES服务地址
elasticsearch.hosts: ["http://localhost:9200"]



#设置为中文
# Specifies locale to be used for all localizable strings, dates and number formats.
# Supported languages are the following: English - en , by default , Chinese - zh-CN .
i18n.locale: "zh-CN"

(2)启动kibana,运行其解压目录下的/bin/kibana.bat,控制台无报错信息则启动成功。访问http://localhost:5601/,出现图形化界面
(3)kibana创建图形化展示监听到的日志。首先创建kibana的索引模式,步骤如下
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(4)kibana垂直条形图,步骤如下
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
(5)kibana饼图,步骤如下(步骤和上面的条形图差不多,这里详细介绍)
在这里插入图片描述
(6)图表
在这里插入图片描述
(7)仪表盘
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值