windows环境搭建ELK

目录

资源下载(8.9.1)

ES安装、注册、使用

Kibana安装、注册、使用

Logstash安装、注册、使用

Filebeat安装、使用(如果只有一个数据流,则不需要使用filebeat,直接上logstash即可)


资源下载(8.9.1)

ES下载 Kibana下载 Logstash下载 FileBeat下载 NSSM下载(用来注册系统服务)

ES安装、注册、使用

跳转到bin目录,执行下面的代码将es注册为系统服务

bash 复制代码
elasticsearch-service.bat install

执行成功后,可以在系统服务中查看到相应的服务,直接【启动】服务即可(可以根据需要设置自启)


服务启动成功后访问https://127.0.0.1:9200(注意协议是https,如果想要使用http协议,可以修改【config\elasticsearch.yml】,将xpack.security.http.ssl:enable设置为【false】然后重启)

第一次访问需要用户名、密码,默认的用户名是【elastic】,可以通过下面的命令重置密码(切换到bin目录下执行)

bash 复制代码
elasticsearch-reset-password --username elastic -i

Kibana安装、注册、使用

kibana需要从elasticsearch中读取数据,所以在启动时需要连接elasticsearch,可以通过【kibana\config\kibana.yml】中的【elasticsearch.hosts】来指定elasticsearch地址(由于elasticsearch开启了身份验证,所以连接时需要提供用户名、密码或者token,上面提到过elasticsearch默认用户是elastic,但是elastic是超级管理员,不允许直接连接,所以这里可以新建一个用户供kibana使用或者使用token的方式),下面提供的是生成token的命令(切换到【elasticsearch\bin】下执行,namespace、service、token_name自行替换)

bash 复制代码
elasticsearch-service-tokens create <namespace>/<service> <token_name>

下载NSSM,然后将nssm.exe(结合操作系统位数选择相应的exe)复制到【kibana\bin】目录下,然后在bin目录下执行

bash 复制代码
nssm install kibana

执行成功后,可以在系统服务中查看到相应的服务,直接【启动】服务即可(可以根据需要设置自启)


服务启动成功后访问http://127.0.0.1:5601(用户名、密码与elasticsearch用户名、密码一致)

bash 复制代码
kibana.yml

# 中文显示
i18n.locale: "zh-CN"

Logstash安装、注册、使用

logstash主要用input、filter、output三个模块,其中input负责数据录入、output负责数据输出、filter负责数据处理

bash 复制代码
#log-example.conf

input {
  # 从filebeats读取数据
  # beats {
      # host => xxxx
      # port => 5044
      # ssl => false
  # }

  # 从指定位置的文件读取数据
  file {
    # 注意这里文件分隔符不能使用'\'
	path => ['D:/logs/project1/*.log', 'D:/logs/project2/*.log']
	start_position => 'beginning'
	type => 'logs'
    # 将多行日志转换为一条记录(比如异常栈)
	codec => multiline {
		charset => 'GB2312'
		pattern => '^\d{4}'
		negate => true
		what => 'previous'
	}
  }
}

filter {
	grok {
        # 解析输入记录转换为json格式并为每个字段命名
		match => {"message" => "%{TIMESTAMP_ISO8601:timestamp}    %{DATA:level}    %{DATA:thread}    %{DATA:class}    %{DATA:ip}    %{DATA:username}    %{GREEDYDATA:msg}"}
	}
	
	
	date {
		match => ['timestamp', 'yyyy-MM-dd HH:mm:ss.SSS']
		# 使用grok中解析出来的timestamp替换@timestamp
        target => '@timestamp'
        # 删除grok中解析出来的timestamp字段
		remove_field => ['timestamp']
	}
	
}

output {
  # 输出到ES
  elasticsearch {
    hosts => ["http://xxxx:9200"]
    index => "log-%{+YYYY.MM.dd}"
    user => "xxx"
    password => "xxx"
  }
  # debug模式下启用,可以将数据输出到控制台
  stdout {
	codec => json
  }
}

将nssm.exe(结合操作系统位数选择相应的exe)复制到【logstash\bin】目录下,然后在bin目录下执行(注意Arguments需要指定配置文件,比如上面给出来的log-example.conf)

bash 复制代码
nssm install logstash

执行成功后,可以在系统服务中查看到相应的服务,直接【启动】服务即可(可以根据需要设置自启)


Filebeat安装、使用(如果只有一个数据流,则不需要使用filebeat,直接上logstash即可)

话不多说,直接提供一个filebeat.yml模板

bash 复制代码
# ============================== Filebeat inputs ===============================

filebeat.inputs:
- type: log

  # Unique ID among all inputs, an ID is required.
  id: log
  enabled: true
  tail_file: true
  encoding: GB2312
  # 将多行日志转换为一条记录(比如异常栈)
  multiline.pattern: '^\d{4}'
  multiline.negate: true
  multiline.match: after
  paths:
    - D:\logs\project1\*.log
    - D:\logs\project2\*.log

# ============================== Filebeat modules ==============================

filebeat.config.modules:
  path: ${path.config}/modules.d/*.yml

  reload.enabled: false

# ================================== Outputs ===================================

# ------------------------------ Logstash Output -------------------------------
output.logstash:
  # The Logstash hosts
  enabled: true
  hosts: ["xxxx:5044"]

# ================================= Processors =================================
processors:
  - add_host_metadata:
      when.not.contains.tags: forwarded
  - add_cloud_metadata: ~
  - add_docker_metadata: ~
  - add_kubernetes_metadata: ~
  - add_fields:
      target: '@metadata'
      fields:
        source: 'log'
  - drop_fields:
      fields: ['agent', 'ecs', 'host', 'mac', 'hostname', 'architecture', 'os', 'input', '@timestamp', 'log']
相关推荐
不惑_7 天前
SpringBoot整合ELK实现日志监控(保姆级教程)
spring boot·后端·elk
xiaojiesec7 天前
第167天:应急响应-日志自动提取分析项目_ELK_Logkit_LogonTracer_Anolog等
elk
搬砖天才、8 天前
ELK-02-skywalking-v10.0.1安装
elk·skywalking
人类群星闪耀时10 天前
使用ELK Stack进行日志管理和分析:从入门到精通
elk
不喜欢就睡大觉10 天前
ELK日志分析系统
elk
搬砖天才、11 天前
ELK-04-skywalking监控SpringCloud服务
elk·spring cloud·skywalking
搬砖天才、11 天前
ELK-05-skywalking监控SpringCloud服务日志
elk·spring cloud·skywalking
搬砖天才、12 天前
ELK-03-skywalking监控linux系统
linux·elk·skywalking
qq_4275060813 天前
linux使用docker安装运行kibana报错“Kibana server is not ready yet“的解决办法
linux·运维·elk
自己的九又四分之三站台13 天前
什么是ELK
elk