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']
相关推荐
AI木马人9 天前
16.【ELK日志系统实战】一次线上“定位失败”让我重构日志体系:如何在3分钟内定位AI系统问题?(完整可复现方案)
elk·重构
炸炸鱼.10 天前
ELK 企业级日志分析系统完整部署手册
elk·wpf
m0_7375393714 天前
ELK企业日志分析系统
elk
LSL666_14 天前
快速Spring Cloud+ELK+AOP搭建一个简单的项目
spring·elk·spring cloud
JackSparrow41416 天前
使用Elasticsearch代替数据库like以加快查询的各种技术方案+实现细节
大数据·clickhouse·elk·elasticsearch·搜索引擎·postgresql·全文检索
工作log17 天前
从零搭建 ELK + Kafka 日志收集系统(Spring Boot + Logback 直连 Kafka)
spring boot·elk·kafka
總鑽風1 个月前
搭建Spring Boot + ELK日志平台,实现可视化日志监控
spring boot·elk·macos
七七powerful1 个月前
运维养龙虾--使用workbuddy专家模式一句话部署ELK 日志分析平台
elk·workbuddy
人间打气筒(Ada)1 个月前
「码动四季·开源同行」go语言:如何使用 ELK 进行日志采集以及统一处理?
开发语言·分布式·elk·go·日志收集·分布式日志系统
艾伦_耶格宇1 个月前
【ELK】-1 ELK的简要介绍
elk