ElasticStack常用工具:ElasticSearch、Kibana、Beats、Logstash

简介: ElasticStack常用工具:ElasticSearch、Kibana、Beats、Logstash

ElasticStack

https://www.elastic.co/cn/

ElasticSearch

下载、解压、启动

http://127.0.0.1:9200


1、参数配置

(1)jvm配置 jmv.options 如果运行有问题-> 256M

(2)log配置 log4j2.properties

(3)es的配置 elasticsearch.yml

-cluster.name 集群名称

-node.name 节点名称

-network.host 网络地址

-http.port 端口

-path.data 数据存储地址

-path.log 日志存储地址


启动时修改参数:

bin/elasticsearch -Ehttp.port=19200

2、运行模式

以network.host参数为判断标准

(1)Development

(2)Production


3、本地启动集群

$ elasticsearch

$ elasticsearch -Ehttp.port=8200 -Epath.data=node2
$ elasticsearch -Ehttp.port=7200 -Epath.data=node3


查看集群

http://127.0.0.1:9200/_cat/nodes?v

http://127.0.0.1:9200/_cluster/stats


4、常用术语

Document 文档数据

Index 索引

Type 索引中的数据类型

Field 字段,文档属性

Query DSL 查询语法


5、CURD

Create    创建    PUT       /index/type/id(data)
Read 读取 GET /index/type/id
Update 更新 POST /index/type/id/_update(doc)
Delete 删除 DELETE /index/type/id

6、查询语法2种

(1)Query String

GET /index/type/_search?q=Tom

(2)Query DSL

GET /index/type/_search
{
"query": {
"match": {
"name": "Tom"
}
}
}

Kibana

http://127.0.0.1:5601

1、默认配置

server.host         地址
server.port 端口
elasticsearch.url es地址

2、常用功能

Discover 数据搜索查看

Visualize 图表制作

Dashboard 仪表盘

Timelion 时序数据的高级可视化分析

DevTools 开发者工具

Management 配置

Beats

Filebeat 日志文件

Metricbeat 度量数据

packetbeat 网络数据

Winlogbeat Windows数据

Heartbeat 健康检查


1、Filebeat

Input   输入
-Prospector
-log/stdin
-Havester
Filter 处理
-Input
-Include_lines
-exclude_lines
-exclude_files
-Output Processors
-drop_event
-drop_fields
-decode_json_fields
-include_fields
Output 输出
-ElasticSearch
-Logstash
-Kafka
-Redis
-Console
-File

Filebeat Module

nginx

apach

mysql

最佳实践参考

head -n 2 demo.log|filebeat -e -c nginx.yml

2、packetbeat

实时抓取网络包

自动解析应用层协议

ICMP(v4 and v6)

DNS

HTTP

MySQL

Redis


类似Wireshark

sudo packetbeat -e -c es.yml -strict.perms=false

Logstash

ETL Extract Transform Load

1、处理流程

Input
-file
-redis
-beats
-kafka
Filter
-grok 基于正则表达式,非结构化作结构化处理
-mutate 增删改查
-drop
-date 时间字符串转为时间戳类型
Output
-stdout
-elasticsearch
-kafka

2、Grok示例

55.3.244.1 GET /index.html 15824 0.043

->
{%IP:client} %{WORD:method} %{URIPATHPARAM:requst} %{NUMBER:bytes} %{NUMBER:duration}

->
{
"client": "55.3.244.1",
"method": "GET",
"requst": "/index.html",
"bytes": "15824",
"duration": "0.043"
}

测试

head -n 2 demo.log | logstash -f conf.yml

实战

Packetbeat + logstash 收集数据

kibana + elasticsearch 数据分析


方案(不能是同一个集群)

1、Production Cluster

ElasticSearch http://127.0.0.1:9200

Kibana http://127.0.0.1:5601


2、Monitoring Cluster

ElasticSearch http://127.0.0.1:8200

elasticsearch -Ecluster.name=sniff_search -Ehttp.port=8200 -Ehttp.data=sniff

Kibana http://127.0.0.1:8601

kibana -e http://127.0.0.1:8200 -p 8601
            </div>
相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。 &nbsp;
目录
相关文章
|
安全 Java 编译器
什么是AOP面向切面编程?怎么简单理解?
本文介绍了面向切面编程(AOP)的基本概念和原理,解释了如何通过分离横切关注点(如日志、事务管理等)来增强代码的模块化和可维护性。AOP的核心概念包括切面、连接点、切入点、通知和织入。文章还提供了一个使用Spring AOP的简单示例,展示了如何定义和应用切面。
1479 1
什么是AOP面向切面编程?怎么简单理解?
|
机器学习/深度学习 传感器 算法
【KELM分类】基于哈里斯算法优化核极限学习机HHO-KELM实现数据分类附matlab代码
【KELM分类】基于哈里斯算法优化核极限学习机HHO-KELM实现数据分类附matlab代码
|
算法 Java 数据库
一张流程图带你学会SpringBoot结合JWT实现登录功能(二)
一张流程图带你学会SpringBoot结合JWT实现登录功能
331 0
|
JavaScript 前端开发
📕 重学JavaScript: 需要注意哪些方法是浅拷贝,不要在代码中滥用?
嗨,大家好!这里是`道长王jj`~ 🎩🧙‍♂️ 今天来和大家聊聊关于浅拷贝的相关知识。
190 0
|
Python
Python模块和包的基本使用
Python模块和包的基本使用
240 0
|
安全 关系型数据库 Linux
在VMware Workstation软件内,使用CentOS 7系统搭建私人云盘owncloud
在VMware Workstation软件内,使用CentOS 7系统搭建私人云盘owncloud
432 0
|
SQL 弹性计算 运维
冬季实战营第五期学习报告
第一个场景里u.txt文件各行分隔符不统一,有tab的,有空格的,导入以后大量空列,需要编辑后才能正常体验。
329 0
冬季实战营第五期学习报告
|
存储 C++
学习C++笔记252
C++ 日期 & 时间
185 0
|
设计模式 前端开发 NoSQL
设计模式的一些概念
目的:为什么要学习设计模式 提高复杂代码的设计和开发能力。让读源码、学框架事半功倍。 为你的职场发展做铺垫。为了应付面试, 更有竞争力。
242 0