windows下部署安装 ELK,nginx,tomcat日志分析

1.安装包

如上就是elk- windows下部署需要用到的安装包 (ps:注意版本需要对应,另外es7版本对应是 jdk8,若更高版本 请自行查询版本对应号)。

下载地址:

Past Releases of Elastic Stack Software | Elastic

此地址可下载elk的全部安装包(不包含分词器),请按照对应系统选择对应版本。

2.安装es

ES 在windows下,压缩包直接解压,进入bin目录启动 elasticsearch.bat 即可。

关于分词器的添加,解压分词器,重命名为 ik,将 这个ik文件夹 放入 elasticsearch-7.9.3\plugins 目录下即可

如上,显示分词器添加成功

启动成功后,访问:

推荐一个es链接工具 es-client (开源,免费,好用)

地址:es-client: ES查询客户端,elasticsearch可视化工具

3.安装filebeat - 读取日志

压缩包解压即可,修改 filebeat.yml 文件,具体修改如下(如下只是作为测试,此配置为主要配置的参数,并非全部,请勿全部复制,具体根据自己的需求 自行配置)

============================== Filebeat inputs ===============================
# 单个日志配置 采集nginx
# filebeat.inputs:
# - type: log
#   enabled: true
#   paths:
#     # - /var/log/*.log
#     # - c:\programdata\elasticsearch\logs\*
#     - D:\tools\jiankong_tools\jiankong-nginx-1.26.2\logs\access.log# 示例
# - type: log
#   enabled: true
#   paths:
#     - C:\path\to\tomcat\logs\*.log  # 替换为实际的Tomcat日志路径
#   fields:
#     type: tomcat
#     service: tomcat# 定义全局字段,所有输入都将包含这些字段
fields:environment: "production" # 如果适用,定义环境(如生产、测试)filebeat.inputs:
- type: logenabled: truepaths:- D:/nginx-1.26.2/logs/access.log*- D:/nginx-1.26.2/logs/error.log*tags: ["nginx"] # 标签,用于Logstash中的条件判断fields:service: nginx # 指定服务名,用于后续过滤# 如果你选择在Filebeat中解析,可以添加如下processorsprocessors:- dissect:# tokenizer: '%{ip} - %{user} [%{timestamp}] "%{method} %{uri} HTTP/%{http_version}" %{status} %{size} "%{referrer}" "%{user_agent}" rt=%{response_time}'tokenizer: 'rt=%{response_time}'field: 'message'target_prefix: 'nginx' # multiline.pattern: '^[0-9]{4}-[0-9]{2}-[0-9]{2}' # 匹配日期格式的行作为新消息的开始# multiline.negate: true # 反转模式匹配,即非日期开头的行被视为同一事件的一部分# multiline.match: after # 在找到匹配行后,将随后的行附加到该事件中- type: logenabled: truepaths:- D:/apache-tomcat-9.0.83/xoalogs/*.log # Tomcat自定义日志路径- D:/apache-tomcat-9.0.83/logs/*.log # Tomcat标准日志路径tags: ["tomcat"] # 标签,用于Logstash中的条件判断fields:service: tomcat # 指定服务名,用于后续过滤multiline.pattern: '^\s*(\d{4}|\d{2})-(\d{2}|[a-zA-Z]{3})-(\d{2}|\d{4})' # 匹配日期格式的行作为新消息的开始multiline.negate: true # 反转模式匹配,即非日期开头的行被视为同一事件的一部分multiline.match: after # 在找到匹配行后,将随后的行附加到该事件中# ---------------------------- Elasticsearch Output ----------------------------
# 此为默认配置,注释此配置 ,添加下面的 写入logstash 端口为5044
# output.elasticsearch:
#   # Array of hosts to connect to.
#   hosts: ["localhost:9200"]# Protocol - either `http` (default) or `https`.#protocol: "https"# Authentication credentials - either API key or username/password.#api_key: "id:api_key"#username: "elastic"#password: "changeme"# ------------------------------ Logstash Output -------------------------------
output.logstash:# The Logstash hostshosts: ["localhost:5044"]

启动filebeat:

进入解压的目录 执行 注意配置指向路径改为自己的:

.\filebeat.exe -e -c D:\xxx\filebeat-7.9.3-windows-x86_64\filebeat.yml

4.安装logstash - 接收来自filebeat的日志

logstash-7.9.3\config 目录下已经有一个 logstash-sample.conf 示例了,也可自行添加一个 conf文件,我添加了一个 log.conf文件 配置如下:

input {beats {port => 5044}
}# 单独写入一个 es的索引
# output {
#   elasticsearch {
#     hosts => ["http://localhost:9200"]
#     index => "test123"
#     #user => "elastic"
#     #password => "changeme"
#   }
# }filter {if "nginx" in [tags] {grok {match => { "message" => '%{IPORHOST:clientip} - %{DATA:user} $%{HTTPDATE:timestamp}$ "%{WORD:method} %{URIPATHPARAM:request} HTTP/%{NUMBER:httpversion}" %{NUMBER:response:int} %{NUMBER:bytes:int} "%{DATA:referrer}" "%{DATA:agent}" rt=%{NUMBER:response_time:float}' }}date {match => [ "timestamp", "dd/MMM/yyyy:HH:mm:ss Z" ]target => "@timestamp"}}if "tomcat" in [tags] {grok {match => { "message" => "%{TIMESTAMP_ISO8601:log_timestamp} $%{DATA:thread}$ %{LOGLEVEL:level} %{JAVACLASS:class} - %{GREEDYDATA:message}" } # 解析Tomcat日志,包括线程、日志级别、类名和消息}date {match => [ "log_timestamp", "yyyy-MM-dd HH:mm:ss,SSS", "yyyy-MM-dd HH:mm:ss" ] # 支持两种时间格式:带或不带毫秒target => "@timestamp"}}
}output {elasticsearch {hosts => ["http://localhost:9200"] # Elasticsearch主机地址index => "%{[fields][service]}" # 索引命名模式}stdout { codec => rubydebug } # 输出到控制台,仅用于调试目的,上线前应移除
}

启动logstash:

进入 logstash-7.9.3\bin 目录下,执行如下命令 (注意路径和配置文件 指向你自定义名称的配置文件)

.\logstash.bat -f D:\ELK\logstash-7.9.3\config\log.conf

5.安装kibana

解压即可,进入kibana-7.9.3-windows-x86_64\bin 目录执行:

kibana.bat 即可启动,之后访问 http://localhost:5601/

( config/ kibana.yml ,修改 i18n.locale: "zh-CN" ,中文模式)

6.kibana监控日志配置

前面5步,全部安装配置完毕,启动成功后,根据下图指示,创建对应的 索引,下一步 配置索引设置,选择 时间格式,即可创建对应的索引,

索引创建成功后,即可看到对应的日志存储在 es中的字段信息,右上角可刷新或者删除,logstash会解析日志,若日志格式变更,或者增加了显示字段,这里也会相应的增加对应字段。

最后点击 Discover 即可 选择你创建的索引来查看实时日志信息了

可根据分钟显示,字段搜索等,其他的可自行去摸索了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/68341.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

内联函数——减少函数调用开销的高效利器

在C中,内联函数(Inline Function)是一种优化手段,它通过将函数的代码插入到每个调用点来避免函数调用的开销。本文将详细介绍内联函数的工作原理、应用场景以及注意事项。 1. 什么是内联函数? 内联函数是一种特殊的函…

docker安装MySQL8:docker离线安装MySQL、docker在线安装MySQL、MySQL镜像下载、MySQL配置、MySQL命令

一、镜像下载 1、在线下载 在一台能连外网的linux上执行docker镜像拉取命令 docker pull mysql:8.0.41 2、离线包下载 两种方式: 方式一: -)在一台能连外网的linux上安装docker执行第一步的命令下载镜像 -)导出 # 导出镜…

【AI论文】魔鬼在细节:关于在训练专用混合专家模型时实现负载均衡损失

摘要:本文重新审视了在训练混合专家(Mixture-of-Experts, MoEs)模型时负载均衡损失(Load-Balancing Loss, LBL)的实现。具体来说,MoEs的LBL定义为N_E乘以从1到N_E的所有专家i的频率f_i与门控得分平均值p_i的…

游戏策划的分类

P3游戏策划分类 1.程序2.美术3.策划 程序:一般分为客户端程序和服务器程序 客户端程序一般负责游戏的前端画面表现 服务器程序负责游戏的后端运算 美术:角色原画,角色模型动作,场景原画,场景模型,UI设计&a…

C语言编程笔记:文件处理的艺术

大家好,这里是小编的博客频道 小编的博客:就爱学编程 很高兴在CSDN这个大家庭与大家相识,希望能在这里与大家共同进步,共同收获更好的自己!!! 本文目录 引言正文一、为什么要用文件二、文件的分…

sqlzoo答案4:SELECT within SELECT Tutorial

sql练习:SELECT within SELECT Tutorial - SQLZoo world表: namecontinentareapopulationgdpAfghanistanAsia6522302550010020343000000AlbaniaEurope28748283174112960000000AlgeriaAfrica238174137100000188681000000AndorraEurope46878115371200000…

OpenAI的真正对手?DeepSeek-R1如何用强化学习重构LLM能力边界——DeepSeek-R1论文精读

2025年1月20日,DeepSeek-R1 发布,并同步开源模型权重。截至目前,DeepSeek 发布的 iOS 应用甚至超越了 ChatGPT 的官方应用,直接登顶 AppStore。 DeepSeek-R1 一经发布,各种资讯已经铺天盖地,那就让我们一起…

Baklib如何重塑内容中台的智能化推荐系统实现个性化服务

内容概要 在数字内容日益丰富的今天,内容中台的智能化推荐系统显得尤为重要。它通过分析和处理海量的数据,为用户提供个性化的内容推荐,从而提升用户体验。在智能化推荐系统中,主要由以下几个部分构成: 部分主要功能…

从零推导线性回归:最小二乘法与梯度下降的数学原理

​ 欢迎来到我的主页:【Echo-Nie】 本篇文章收录于专栏【机器学习】 本文所有内容相关代码都可在以下仓库中找到: Github-MachineLearning 1 线性回归 1.1 什么是线性回归 线性回归是一种用来预测和分析数据之间关系的工具。它的核心思想是找到一条直…

【MySQL】 数据类型

欢迎拜访:雾里看山-CSDN博客 本篇主题:【MySQL】 数据类型 发布时间:2025.1.27 隶属专栏:MySQL 目录 数据类型分类数值类型tinyint类型数值越界测试结果说明 bit类型基本语法使用注意事项 小数类型float语法使用注意事项 decimal语…

Tensor 基本操作5 device 管理,使用 GPU 设备 | PyTorch 深度学习实战

前一篇文章,Tensor 基本操作4 理解 indexing,加减乘除和 broadcasting 运算 | PyTorch 深度学习实战 本系列文章 GitHub Repo: https://github.com/hailiang-wang/pytorch-get-started Tensor 基本使用 检查设备创建 tensor 时声明设备更改默认设备创建…

砥砺奋进,展望新程0114

2024年,非凸科技在金融数智化浪潮中奋楫扬帆,实现了跨越式发展。面对市场的起伏变化,我们始终坚守蓄势待发的沉稳姿态,以笃定之心深耕,以坚毅之态磨砺,以无畏之勇突破,于时代洪流中稳健前行。 …

数字人+展厅应用方案:开启全新沉浸式游览体验

随着人们生活质量的不断提升,对于美好体验的追求日益增长。在展厅展馆领域,传统的展示方式已难以满足大众日益多样化的需求。而通过将数字人与展厅进行深度结合,可以打造数字化、智能化新型展厅,不仅能提升展示效果,还…

基于区块链的数字身份认证:安全与隐私的未来

友友们好! 我的新专栏《Python进阶》正式启动啦!这是一个专为那些渴望提升Python技能的朋友们量身打造的专栏,无论你是已经有一定基础的开发者,还是希望深入挖掘Python潜力的爱好者,这里都将是你不可错过的宝藏。 在这个专栏中,你将会找到: ● 深入解析:每一篇文章都将…

RK3588平台开发系列讲解(ARM篇)ARM64底层中断处理

文章目录 一、异常级别二、异常分类2.1、同步异常2.2、异步异常三、中断向量表沉淀、分享、成长,让自己和他人都能有所收获!😄 一、异常级别 ARM64处理器确实定义了4个异常级别(Exception Levels, EL),分别是EL0到EL3。这些级别用于管理处理器的特权级别和权限,级别越高…

AIP-130 方法

编号130原文链接AIP-130: Methods状态批准创建日期2023-03-13更新日期2023-03-13 API由若干个方法组成,方法是服务代表消费者执行的特定操作。 指南 方法类别 以下列举了现存的多种方法类别,通常根据方法操作的对象(例如集合或资源&#…

下载Visual Studio Community 2019

官方链接如下:Visual Studio Community 2019下载链接 https://learn.microsoft.com/zh-cn/visualstudio/releases/2019/system-requirements#download 目前官方仅建议2022版,已经关闭vs2019等旧版本,哪天开放了,记得踢我一下。 …

K8s运维管理平台 - xkube体验:功能较多

目录 简介Lic安装1、需要手动安装MySQL,**建库**2、启动命令3、[ERROR] GetNodeMetric Fail:the server is currently unable to handle the request (get nodes.metrics.k8s.io qfusion-1) 使用总结优点优化 补充1:layui、layuimini和beego的详细介绍1.…

JavaScript系列(45)--响应式编程实现详解

JavaScript响应式编程实现详解 🔄 今天,让我们深入探讨JavaScript的响应式编程实现。响应式编程是一种基于数据流和变化传播的编程范式,它使我们能够以声明式的方式处理异步数据流。 响应式编程基础概念 🌟 💡 小知识…

无人机红外热成像:应急消防的“透视眼”

无人机红外热成像:应急消防的“透视眼” 亲爱的小伙伴们,每年一到夏天,应急消防的战士们就像上紧了发条的闹钟,时刻准备应对各种灾害。炎热天气让火灾隐患“蹭蹭”往上涨,南北各地还有防洪救灾、台风、泥石流等灾害轮…