Windows下安装ELK8(elasticsearch、logstash、kibana)及相关工具插件

news2024/12/24 2:09:40

目录

概述

ELK简介

安装elasticsearch

下载elasticsearch

解压

配置不用登录及关闭SSL

启动elasticsearch

访问elasticsearch

安装elasticsearch-head

提前准备node.js

下载elasticsearch-head

解压

浏览器打开index.html

安装kibana

下载kibana

解压

运行kibana

浏览器访问

Dev Tools操作

安装logstash

下载logstash

解压

编写配置文件

运行logstash

关闭logstash

安装ik分词器插件

下载elasticsearch-analysis-ik

安装elasticsearch-analysis-ik插件

使用Kibana Dev Tools测试

自定义关键字  


概述

本文主要介绍如何在Windows10单机节点下安装如下ELK软件、工具及插件:

  • elasticsearch-8.15.0
  • elasticsearch-head-5.0.0
  • kibana-8.15.0
  • logstash-8.15.0
  • elasticsearch-analysis-ik-8.15.0

ELK简介

ELK 是三个开源软件的缩写,分别是 Elasticsearch、Logstash 和 Kibana。它提供了一个强大的工具集,帮助用户收集、存储、分析和可视化大量的数据。

Elasticsearch

Elasticsearch(简称es) 是一个基于 Lucene 的搜索服务器。它提供了一个分布式、多租户的全文搜索引擎,具有高可扩展性和高可用性。

  1. 强大的搜索功能:可以快速地对大量数据进行全文搜索,支持复杂的查询语法和过滤器。

  2. 分布式架构:能够轻松地处理大规模数据,通过将数据分布在多个节点上,实现水平扩展。

  3. 实时性:可以实时索引和搜索数据,确保数据的及时性。

Logstash

Logstash 是一个数据收集引擎。它可以从各种数据源收集数据,对数据进行过滤和转换,然后将数据发送到目标存储或分析系统。

  1. 丰富的输入插件:支持从文件、网络协议、数据库等多种数据源收集数据。

  2. 强大的过滤功能:可以使用各种过滤器对数据进行清洗和转换,例如 grok 过滤器可以解析非结构化数据。

  3. 灵活的输出插件:可以将处理后的数据发送到 Elasticsearch、文件、数据库等多种目标。 

Kibana

Kibana 是一个数据分析和可视化平台。它与 Elasticsearch 集成,提供了丰富的可视化工具和仪表盘,帮助用户分析和理解数据。

  1. 可视化工具:支持创建各种图表、地图和表格,直观地展示数据。

  2. 仪表盘:可以将多个可视化组件组合在一起,形成一个仪表盘,方便用户进行综合分析。

  3. 探索性分析:用户可以通过 Kibana 进行探索性分析,快速发现数据中的趋势和模式。

安装elasticsearch

下载elasticsearch

下载es地址

​​​​​​​

下载文件:elasticsearch-8.15.0-windows-x86_64.zip

解压

将elasticsearch解压到合适的目录

配置不用登录及关闭SSL

为了方便学习测试,配置连接不用登录及关闭SSL

修改elasticsearch config目录下的elasticsearch.yml

1.将xpack.security.enabled设置为false。

xpack.security.enabled: false

2.将ssl的enabled改为false。

xpack.security.http.ssl:
  enabled: false

启动elasticsearch

进入elasticsearch安装目录,在bin目录下,双击elasticsearch.bat

看到日志最后输出shards started,说明启动成功。

访问elasticsearch

浏览器访问localhost:9200127.0.0.1:9200,输出界面如下  

安装elasticsearch-head

提前准备node.js

安装elasticsearch可视化工具head,需要node.js环境(如果没有,自行安装node.js),cmd执行如下命令验证node.js环境

C:\Users\Administrator>node -v
v14.20.1

下载elasticsearch-head

下载地址

下载文件:elasticsearch-head-5.0.0.zip

解压

解压elasticsearch-head zip包到合适目录

浏览器打开index.html

访问index.html

用浏览器打开解压目录里面的index.html,点击连接,右键-->检查-->切换到Console,看到如下跨域的错误

解决跨域问题

解决跨域,修改elasticsearch config目录下的elasticsearch.yml文件,在末尾添加如下配置

http.cors.enabled: true
http.cors.allow-origin: "*"

重启es生效

返回es cmd控制台,按Ctrl+c结束es进程,然后重新执行elasticsearch.bat

重新访问elasticsearch-head的index.html

刷新elasticsearch-head 的index.html,点击连接,连接成功后看到集群健康值为green,表示已正常连接

 

安装kibana

下载kibana

下载地址

下载文件:kibana-8.15.0-windows-x86_64.zip

注意:kibana版本号要与es版本号一致。

解压

解压kibana到合适目录

运行kibana

先启动es,然后进入kibana bin目录,双击运行kibana.bat启动kibana。启动过程较慢需要一定的时间(约几分钟,电脑配置不同等待时间也会有差异)。

浏览器访问

localhost:5601

看到如下界面,点击Add integrations

Dev Tools操作

点击箭头指向的图标 

向下滚动左侧导航栏的滚动条,找到Management下的Dev Tools

 

点击Dev Tools,进入如下界面,点击左边API命令语句的执行按钮,右边显示执行结果。

这里演示了通过kibana 发送API命令来操作es。

安装logstash

下载logstash

下载地址

下载文件:logstash-8.15.0-windows-x86_64.zip

注意:logstash版本号要和es版本号一致

解压

解压logstash到合适目录

编写配置文件

简单测试logstash

在某个目录下编写配置文件,配置文件名例如:test1.conf,配置输入为标准输入,数据进入logstash后可以做相关过滤操作,这里先不做过滤,输出到标准输出。

test1.conf内容如下:

input {
  stdin { }
}

output {
  stdout { }
}

运行logstash

语法

logstash -f path\to\logstash.conf

cmd进入logstash 安装目录,执行如下命令

D:\soft\es\logstash-8.15.0-windows-x86_64\logstash-8.15.0>bin\logstash -f ..\..\mytest\testconf\test1.conf

注意:test1.conf的路径根据实际情况修改。

末尾输出日志如下

...
[2024-09-03T23:00:00,892][INFO ][logstash.agent           ] Pipelines running {:count=>1, :running_pipelines=>[:main], :
non_running_pipelines=>[]}
​
{
         "event" => {
        "original" => "\r"
    },
      "@version" => "1",
       "message" => "\r",
    "@timestamp" => 2024-09-03T15:00:00.896209500Z,
          "host" => {
        "hostname" => "LAPTOP-SHHTG1VN"
    }
}
{
         "event" => {
        "original" => "\r"
    },
      "@version" => "1",
       "message" => "\r",
    "@timestamp" => 2024-09-03T15:00:00.893219400Z,
          "host" => {
        "hostname" => "LAPTOP-SHHTG1VN"
    }
}

控制台输入

hello

控制台输出

{
         "event" => {
        "original" => "hello\r"
    },
      "@version" => "1",
       "message" => "hello\r",
    "@timestamp" => 2024-09-03T15:00:23.452791Z,
          "host" => {
        "hostname" => "LAPTOP-SHHTG1VN"
    }
}

 

可以自行继续输入测试数据,看看输出情况。

关闭logstash

按ctrl + c退出logstash进程,根据提示输入y确认退出。

安装ik分词器插件

elasticsearch-analysis-ik(简称ik)为中文的分词器

下载elasticsearch-analysis-ik

下载地址

下载文件:elasticsearch-analysis-ik-8.15.0.zip

注意:ik版本号要和es版本号一致

安装elasticsearch-analysis-ik插件

将下载的elasticsearch-analysis-ik-8.15.0.zip解压到目录复制到es的plugins目录下即完成ik插件的安装

重启es生效 ​​​​​​​

启动日志看到loaded plugin [analysis-ik],说明加载了ik分词器

使用Kibana Dev Tools测试

重新启动kibana

浏览器访问

localhost:5601

进入Dev Tools界面,删除原有内容,添加并执行如下语句

GET _analyze
{
  "analyzer": "ik_smart",
  "text": "我是中国人"
}

说明:

ik_smart:最少分词

ik_max_word:最多分词

执行结果

执行如下语句

GET _analyze
{
  "analyzer": "ik_max_word",
  "text": "我是中国人"
}

执行结果 

通过对比结果,看到 ik_smart分词少,cik_max_word分词多。

自定义关键字  

执行如下语句

GET _analyze
{
  "analyzer": "ik_smart",
  "text": "吉普森吉他"
}

结果如下

看到吉普森被分词为“吉普”和“森”了,如果吉普森是一个完整的词,不希望被拆分,就需要自定义关键字。

自定义关键字的需要自定义一个字典文件,然后在IKAnalyzer.cfg.xml中引用自定义的字典文件。

ik的config目录下新建自定义的字典文件,文件名例如:my.dic,内容为需要自定义的词如下:

吉普森

如果需要定义多个完整的词,则每个词单独放一行。

修改IKAnalyzer.cfg.xml,配置使用自定义的字典文件:

<entry key="ext_dict">my.dic</entry>

 重启es,输出日志查看到加载了自定义的my.dic,如下

Dev Tools再次测试

 发现自定义的吉普森没有被拆分了。

完成!enjoy it!

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

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

相关文章

渠道招商经理岗位职责和任职要求?

渠道经理&#xff0c;作为企业与投资者之间的沟通桥梁&#xff0c;角色是非常重要。 作为一名手工酸奶品牌的创始人&#xff0c;我一直扮演渠道招商经理的角色&#xff0c;我来为大家分享职责和任职要求&#xff01; 一、渠道经理的职责&#xff01; 1、渠道开发 负责公司渠…

Vue3+TypeScript+Vite集成mars3d.layer.WeiVectorTileLayer加载本地shp文件

前景提要&#xff0c;在新建的vite项目中&#xff0c;想要实现mars3d的矢量瓦片方式加载geojson数据。加载本地shp文件。 代码说明&#xff1a; 1.在项目中集成mars3d后&#xff0c;构造map后开始在map上增加读取数据的操作&#xff1a; mars3d.Util.fetchJson({ url: "…

Git学习尚硅谷(003 git分支操作)

尚硅谷Git入门到精通全套教程&#xff08;涵盖GitHub\Gitee码云\GitLab&#xff09; 总时长 4:52:00 共45P 此文章包含第15p-第p18的内容 文章目录 git分支操作分支介绍分支的好处 分支的操作查看分支创建分支切换分支&修改分支合并分支正常合并分支冲突合并 git分支操作…

10,sql约束(2)

MySQL中primary key和unique的区别 在sql、oracle中的constrain有两种约束&#xff0c;都是对列的唯一性限制&#xff1a;unique与primary key&#xff0c;它们的区别如下&#xff1a; 1、unique key要求列唯一&#xff0c;但不包括Null字段&#xff0c;也就是约束的列可以为空…

docker制作达梦数据库驱动的Python镜像记录

docker制作达梦数据库驱动的Python镜像记录 使用Sqlalchemy ORM 操作达梦 提供构建好的docker镜像 docker pull chongjing001/python:3.12 使用虚拟环境(source /venv/bin/activate) 后pip其他库 镜像中安装Python参考上一篇 下载DM8安装包 版本选择 官网 Linux安装包只有 r…

完整指南:CNStream流处理多路并发框架适配到NVIDIA Jetson Orin (二) 源码架构流程梳理、代码编写

目录 1 视频解码代码编写----利用jetson-ffmpeg 1.1 nvstream中视频解码的代码流程框架 1.1.1 类的层次关系 1.1.2 各个类的初始化函数调用层次关系 1.1.3 各个类的process函数调用层次关系 1.2 编写视频解码代码 1.2.1 修改VideoInfo结构体定义 1.2.2 修改解封装代码 …

Kafka【五】Buffer Cache (缓冲区缓存)、Page Cache (页缓存)和零拷贝技术

【1】Buffer Cache (缓冲区缓存) 在Linux操作系统中&#xff0c;Buffer Cache&#xff08;缓冲区缓存&#xff09;是内核用来优化对块设备&#xff08;如磁盘&#xff09;读写操作的一种机制&#xff08;故而有一种说法叫做块缓存&#xff09;。尽管在较新的Linux内核版本中&a…

Spring Cloud全解析:熔断之Hystrix服务监控

Hystrix服务监控 Hystrix除了熔断降级之外&#xff0c;还提供了准实时的调用监控&#xff0c;持续的记录所有通过Hystrix发起的请求的执行信息&#xff0c;并以统计报表的形式展示出来&#xff0c;包括有每秒执行多少请求&#xff0c;多少成功&#xff0c;多少失败等&#xff…

【C++】vector类:模拟实现(适合新手手撕vector)

在实现本文的vector模拟前&#xff0c;建议先了解关于vector的必要知识&#xff1a;【C】容器vector常用接口详解-CSDN博客https://blog.csdn.net/2301_80555259/article/details/141529230?spm1001.2014.3001.5501 目录 一.基本结构 二.构造函数&#xff08;constructor&…

【算法】位运算

【ps】本篇有 10 道 leetcode OJ。 目录 一、算法简介 二、相关例题 1&#xff09;位1的个数 .1- 题目解析 .2- 代码编写 2&#xff09;比特位计数 .1- 题目解析 .2- 代码编写 3&#xff09;汉明距离 .1- 题目解析 .2- 代码编写 4&#xff09;只出现一次的数字 .…

3000字带你了解SD提示词用法,一点就通,小白轻松上手(附提示词生成器)(1.4 SD提示词运用)

提示词是什么 提示词是我们向AI模型发出的指令。正确的提示词能让AI准确反馈所需的输出&#xff0c;而优质的提示词则能使AI生成的内容更优质、更符合你的期望。这与编写程序代码颇为相似&#xff0c;准确的代码逻辑是程序正常运行的前提&#xff0c;而优秀的代码则能减少运行…

知识付费小程序源码轻松实现一站式运营,开启知识变现之旅

技术栈&#xff1a; 以下是一个简单的知识付费小程序的示例代码&#xff1a; app.js&#xff1a;小程序的入口文件 App({onLaunch: function () {// 在小程序启动时执行的代码},globalData: {// 存储全局数据userInfo: null // 用户信息} })pages/index/index.js&#xff1…

【学术会议征稿】第四届智能电网与能源互联网国际会议(SGEI 2024)

第四届智能电网与能源互联网国际会议&#xff08;SGEI 2024&#xff09; 2024 4th International Conference on Smart Grid and Energy Internet 为交流近年来国内外在智能电网和能源互联网领域的理论、技术和应用的最新进展&#xff0c;展示最新成果&#xff0c;由沈阳工业…

Visual Studio 2022 下载和安装

文章目录 概述一&#xff0c;下载步骤二&#xff0c;安装过程 概述 Visual Studio 提供 AI 增强功能&#xff0c;例如用于上下文感知代码补全的 IntelliSense 和可利用开源代码中的 AI 模式的 IntelliCode。 集成的 GitHub Copilot 提供 AI 支持的代码补全、聊天辅助、调试建议…

ElasticSearch学习笔记(三)RestClient操作文档、DSL查询文档、搜索结果排序

文章目录 前言5 RestClient操作文档5.4 删除文档5.4 修改文档5.5 批量导入文档 6 DSL查询文档6.1 准备工作6.2 全文检索查询6.3 精准查询6.4 地理坐标查询6.5 复合查询6.5.1 相关性算分6.5.2 布尔查询 7 搜索结果处理7.1 排序7.1.1 普通字段排序7.1.2 地理坐标排序 前言 Elast…

qmt量化交易策略小白学习笔记第59期【qmt编程之期权数据--获取指定期权品种的详细信息--原生Python】

qmt编程之获取期权数据 qmt更加详细的教程方法&#xff0c;会持续慢慢梳理。 也可找寻博主的历史文章&#xff0c;搜索关键词查看解决方案 &#xff01; 基于BS模型计算欧式期权理论价格 基于Black-Scholes-Merton模型&#xff0c;输入期权标的价格、期权行权价、无风险利率…

Mac 安装Hadoop教程(HomeBrew安装)

1. 引言 本教程旨在介绍在Mac 电脑上安装Hadoop&#xff0c;便于编程开发人员对大数据技术的熟悉和掌握。 2.前提条件 2.1 安装JDK 想要在你的Mac电脑上安装Hadoop&#xff0c;你必须首先安装JDK。具体安装步骤这里就不详细描述了。你可参考Mac 安装JDK8。 2.2 配置ssh环境…

从腰子的营养成分来分析腰子能否“壮阳”,健康地吃腰子。

文章目录 引言I 腰子的营养优点缺点吃腰子无“壮阳”效果II 健康地吃腰子食用前充分清洗浸泡高尿酸及痛风群体慎吃适量吃引言 很多人认为动物内脏有着“以形补形”的好处,如吃动物腰子,能补肾、壮阳,这让很多人对“腰子”非常热爱。 腰子的营养到底如何?经常吃腰子对身体…

优思学院:FMEA与FTA故障树方法对比:工程师必须知道的关键点!

故障树分析&#xff08;Fault Tree Analysis, FTA&#xff09;以某个不希望发生的产品故障事件或严重的系统风险&#xff08;即顶事件&#xff09;为分析对象&#xff0c;通过自上而下的分层次因果逻辑分析&#xff0c;逐步找出导致故障事件的必要且充分的直接原因&#xff0c;…

日程安排组件DHTMLX Scheduler v7.1 - 支持RFC-5545格式

DHTMLX Scheduler是一个类似于Google日历的JavaScript日程安排控件&#xff0c;日历事件通过Ajax动态加载&#xff0c;支持通过拖放功能调整事件日期和时间&#xff0c;事件可以按天、周、月三个种视图显示。 此版本包括几个备受期待的特性&#xff0c;可以帮助用户增强DHTMLX…