前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >ELK搭建开源日志系统(window版本)—图文详细

ELK搭建开源日志系统(window版本)—图文详细

作者头像
全栈程序员站长
发布于 2022-09-27 02:29:44
发布于 2022-09-27 02:29:44
1.3K00
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君

ELK搭建开源日志系统(window版本)—图文详细

日志对于排查错误非常重要,使用linux命令awk sed grep find等命令查询日志非常麻烦,而且很难做数据分析,使用免费开源的ELK可以支撑大规模的日志检索,本文将一步步教怎么快速搭建一个window版本的ELK日志收集系统。

下载elasticsearch、logstash、kibana、filebeat

注意同一系列的版本要一样,防止出现版本不兼容问题,本文使用7.16.0版本,在window系统演示

下载elasticsearch

访问地址为:https://www.elastic.co/cn/downloads/past-releases

点击Donload下载

跳转到访问地址为: https://www.elastic.co/cn/downloads/past-releases/elasticsearch-7-16-0

可以选择window或者linux版本,本文下载window版本

下载logstash

点击Donload下载

跳转到访问地址为: https://www.elastic.co/cn/downloads/past-releases/logstash-7-16-0

选择window版本

下载kibana

访问地址为:https://www.elastic.co/cn/downloads/past-releases/kibana-7-16-0

选择window版本

跳转到访问地址为:https://www.elastic.co/cn/downloads/past-releases/filebeat-7-16-0

下载filebeat

选择window版本

下载jdk11

由于7.16.0版本需要依赖java jdk11版本,需要将本地java环境切换到jdk11

访问网站: http://www.codebaoku.com/jdk/jdk-oracle-jdk11.html

点击下载

全部下载完解压

安装jdk11、elasticsearch、kibana、logstash、filebeat

安装jdk11

使用win+X键,并选择Windows终端

输入

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd F:\soft\elk
dir	

打开window搜索框搜索环境变量,打开编辑系统环境变量

点击环境变量

添加JAVA_HOME路径

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
F:\soft\elk\jdk-11.0.13_windows-x64_bin\jdk-11.0.13

将java执行路径添加到Path变量中,输入

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
%JAVA_HOME%\bin
%JAVA_HOM%\jre\bin

新打开一个shell(一定要重新打开一个新的shell才会加载刚配置过的jdk11环境变量)

并执行命令,可以看到jdk11提示输出,表示jdk11安装成功

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
java -version

启动elasticsearch

启动新的shell,并执行命令

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd F:\soft\elk
.\elasticsearch-7.16.0-windows-x86_64\elasticsearch-7.16.0\bin\elasticsearch.bat

如果本地使用localhost访问,不需要修改配置文件,否则需要修改如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
network.host: 0.0.0.0

可以看到elasticsearch执行成功

启动kibana

启动新的shell,并执行命令

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd F:\soft\elk
.\kibana-7.16.0-windows-x86_64\kibana-7.16.0-windows-x86_64\bin\kibana.bat

可以看到执行成功

访问网站,可以看到启动成功

http://localhost:5601/app/home#/

点击Explore on my own

启动logstash

在logstash配置文件中,新增文件名log.conf

内容如下:

输入指定通过5044端口使用Filebeat接收数据。

指定在elasticsearch中创建test的索引,将数据输出到test索引中。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# Sample Logstash configuration for creating a simple
# Beats -> Logstash -> Elasticsearch pipeline.
input { 
   
  beats { 
   
    port => 5044
  }
}

output { 
   
  elasticsearch { 
   
    hosts => ["http://localhost:9200"]
    index => "test"
    #user => "elastic"
    #password => "changeme"
  }
}

启动新的shell,并执行命令

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd F:\soft\elk
.\logstash-7.16.0-windows-x86_64\logstash-7.16.0\bin\logstash.bat -f D:\conf\logstash-8.1.0-windows-x86_64\logstash-8.1.0\config\log.conf

可以看到启动成功

启动filebeat

新建日志log测试日志文件

进入log文件夹,创建data.log文件

内容为

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[08/Nov/2019:11:40:24 +0800] tc-com.net - - 192.168.12.58 192.168.12.58 192.168.15.135 80 GET 200 /geccess/services/capability/L6JN4255 ?pageIndex=1&pageSize=2000&vehicleType=0 21067 17 totalTime:54ms
[08/Nov/2019:11:40:24 +0800] tc-com.net - - 192.168.12.58 192.168.12.58 192.168.15.135 80 GET 200 /geccess/services/capability/L6JN4255 ?pageIndex=1&pageSize=2000&vehicleType=0 21067 17 totalTime:63ms
[08/Nov/2019:11:40:24 +0800] tc-com.net - - 192.168.12.58 192.168.12.58 192.168.15.135 80 GET 200 /geccess/services/capability/L6JN4255 ?pageIndex=1&pageSize=2000&vehicleType=0 21067 17 totalTime:75ms

编辑filebeat文件

将enable改成true,同时设置日志路径为

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
F:\soft\elk\log\*.log

将filebeat.config.modules的enable改成true

将输出到elasticsearch中使用#注释去掉,并将输出到logstash注释删除掉

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd F:\soft\elk
.\filebeat-7.16.0-windows-x86_64\filebeat.exe -e -c F:\soft\elk\filebeat-7.16.0-windows-x86_64\filebeat.yml

可以看到filebeat运行成功

kibana查询日志

命令查询创建的索引数据

访问网站,并点击左上角

http://localhost:5601/app/home#/

左侧向下滑动,选中management,并点击Dev Tools

在Console输入下面命令

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
GET /_cat/indices?v

在点击绿色执行按钮,可以看到,索引test已经创建

输入下面命令,查询索引test的数据,可以看到日志数据已经成功上传

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
GET test/_search
{ 
   
    "query": { 
   
        "match_all": { 
   }
    }
}

通过界面查看和索引日志数据

点击Stack Management

选择Index Patterns

输入索引名称test,可以看到有匹配的,选择时间字段为@timestamp,点击Create Index pattern

看到创建成功

选择Discover

可以看到默认为test索引

选择时间范围大一点

点击Update

可以看到数据完全被加载出来

通过关键词totalTime搜索,点击Refresh,可以看到下面搜索高量的部分

总结

可以看到一个简单的日志收集系统搭建成功,我们可以根据这套系统收集日志,并做分析,本文只是针对window版本的介绍,后续会在linux版本搭建一套,步骤基本一致,更多实用搜索功能敬请期待。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/179082.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
Python发送邮件
Python发邮件需要有SMTP服务,可以在本地搭建SMTP服务,也可以使用第三方的SMTP服务(比如网易邮箱或QQ邮箱)。 这里我使用了网易126邮箱来发邮件。
海天一树
2018/07/25
1.5K0
Python发送邮件
Python发送邮件
SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。
青阳
2021/11/26
9060
【干货】用Python每天定时发送监控邮件
不管是在信贷领域还是支付领域,作为一个风控人员,我们都需要对部署的策略模型进行监控,信贷领域可能还需要对客户的逾期表现进行监控。
阿黎逸阳
2021/07/23
2.6K0
【干货】用Python每天定时发送监控邮件
用python发送邮件
SMTP是发送邮件的协议,Python内置对SMTP的支持,可以发送纯文本邮件、HTML邮件以及带附件的邮件。Python对SMTP支持有smtplib和email两个模块,email负责构造邮件,smtplib负责发送邮件。
用户6021899
2021/03/11
3230
用python发送邮件
使用python自动化发送邮件
smtplib模块是对SMTP协议的封装,用于发送邮件;email模块用于构建邮件内容,支持以下3种形式的邮件
生信修炼手册
2020/12/11
7720
使用python自动化发送邮件
python使用smtplib和MIMEText发送邮件
1.使用Python来操作邮箱:https://blog.csdn.net/qq_38059635/article/details/81569081
晓歌
2018/10/11
5.2K0
python使用smtplib和MIMEText发送邮件
【Python实用工具】巧妙利用Python实现发送带附件的邮件
SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。
天道Vax的时间宝藏
2021/08/11
2.5K0
Python3实现自动发送邮件
首先了解SMTP(简单邮件传输协议),邮件传送代理程序使用SMTP协议来发送电邮到接收者的邮件服务器。SMTP协议只能用来发送邮件,不能用来接收邮件,而大多数的邮件发送服务器都是使用SMTP协议。SMTP协议的默认TCP端口号是25。
用户9925864
2022/07/27
3310
Python3实现自动发送邮件
python发送邮件(二)——smtplib模块和email模块
一、模块介绍 1、smtplib 模块(用于邮件的发送) ①理论解释 smtplib.SMTP([host[, port[, local_hostname[, timeout]]]]) 通过这个语句,可以向SMTP服务器发送指令,执行相关操作(如:登陆、发送邮件)。所有的参数都是可选的。 host:smtp服务器主机名 port:smtp服务的端口,默认是25;端口号可以省略。 但是使用25号端口有一个问题,就是保密性不够好,数据都是明文传输,没有加密。 现在一般都推荐使用SSL,Secure So
Elsa_阿尼
2021/07/27
5.2K0
python发送邮件(二)——smtplib模块和email模块
Python实现自动发送邮件(详解)
这点很关键,别忘了去开启SMTP, 别忘了去开启SMTP,否则邮件是无法发送成功的 。然后你还需要点击下面生成授权码,这个授权码才是使用Python发送邮件时的真正密码。
全栈程序员站长
2022/11/17
1.1K0
Python实现自动发送邮件(详解)
python发送邮件
一.获取邮箱授权(以QQ邮箱为例子) 点击设置>账号 开启服务:POP3/SMTP服务 选择开启 然后获取授权码xxx 二.发送文本 import smtplib from email.mime.text import MIMEText subject = "标题" # 邮件的主题 content = '测试' #内容 sender = "568972484@qq.com" # 发件人 password = 'xxx' # 刚才我们在QQ邮箱里设置的授权密码 receiver = "5689
小小咸鱼YwY
2020/06/19
5360
干货 | 解放双手,用Python实现自动发送邮件
使用Python实现自动化邮件发送,可以让你摆脱繁琐的重复性业务,节省非常多的时间。 Python有两个内置库:smtplib和email,能够实现邮件功能,smtplib库负责发送邮件,email库负责构造邮件格式和内容。 邮件发送需要遵守SMTP协议,Python内置对SMTP的支持,可以发送纯文本邮件、HTML邮件以及带附件的邮件。 1、先导入相关的库和方法
派大星的数据屋
2022/04/02
1.9K0
干货 | 解放双手,用Python实现自动发送邮件
Linux之python发送邮件
在服务器端开发时,会遇到通过邮件发送报警或结果的情形,本文对使用 python 发送附件的方法做一个总结,用到的库是 smtp 和 email 两个基础库
全栈程序员站长
2022/11/15
1.7K0
python笔记3-发送邮件(smtplib)
前言 本篇总结了QQ邮箱和163邮箱发送邮件,邮件包含html中文和附件,可以发给多个收件人,专治各种不行,总之看完这篇麻麻再也不用担心我的邮件收不到了。 以下代码兼容python2和python3,
上海-悠悠
2018/04/08
1.1K0
python笔记3-发送邮件(smtplib)
Python3 SMTP发送邮件
SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。
织幻妖
2021/01/20
1K0
Python3 SMTP发送邮件
python之SMTP发送邮件
假设我们自己的邮件地址是myemail@163.com,对方的邮件地址是friend@qq.com,我们在网易提供的163邮箱界面编写邮件,然后发送给对方。那么,这封邮件是怎么从我方发送到对方的呢?
菲宇
2019/06/13
1.4K0
Python 发邮件
普通邮件 [root@localhost checksalt]# cat python_email.py  #!/usr/bin/python # -*- coding: utf-8 -*- import sys def smtp(title,file):     import smtplib     from email.mime.text import MIMEText     from email.header import Header           with open(file, 'r') 
py3study
2020/01/15
1.7K0
使用Python调用SMTP服务自动发送Email
假设我们想设计一个定时任务,比如每天定时的用python来测试服务是否在正常运行,但是又不希望每天登录到系统后台去查看服务状态。这里我们就可以采取python的smtp模块进行任务结果广播,申请一个公共邮箱,每次python执行完定时的测试任务后,调用smtp的接口将测试结果广播给需要接收的人的邮箱中。这就使得,我们可以在移动端就能按照我们的意愿实时监测系统的状态。
DechinPhy
2021/05/21
9010
发送电子邮件
在即时通信软件如此发达的今天,电子邮件仍然是互联网上使用最为广泛的应用之一,公司向应聘者发出录用通知、网站向用户发送一个激活账号的链接、银行向客户推广它们的理财产品等几乎都是通过电子邮件来完成的,而这些任务应该都是由程序自动完成的。
用户8442333
2021/05/20
2.4K0
【测试开发】python系列教程:smtplib库
SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。
雷子
2023/08/21
2810
【测试开发】python系列教程:smtplib库
相关推荐
Python发送邮件
更多 >
LV.0
这个人很懒,什么都没有留下~
目录
  • ELK搭建开源日志系统(window版本)—图文详细
    • 下载elasticsearch、logstash、kibana、filebeat
      • 下载elasticsearch
      • 下载logstash
      • 下载kibana
      • 下载filebeat
      • 下载jdk11
    • 安装jdk11、elasticsearch、kibana、logstash、filebeat
      • 安装jdk11
      • 启动elasticsearch
      • 启动kibana
      • 启动logstash
      • 启动filebeat
    • kibana查询日志
      • 命令查询创建的索引数据
      • 通过界面查看和索引日志数据
    • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档