当前位置: 首页 > news >正文

ELK架构基础

ELK 知识点
一、Elasticsearch
(一)基本概念
分布式搜索引擎
基于 Lucene 的分布式、RESTful 风格的搜索和分析引擎,能快速存储、搜索和分析海量数据。
索引(Index)
类似于传统数据库中的数据库,是文档的集合。一个 Elasticsearch 集群可包含多个索引。
类型(Type)
在 Elasticsearch 6.x 之前,一个索引可包含多个类型,类似数据库中的表。从 7.x 开始,类型被废弃,一个索引只有一个默认类型。
文档(Document)
是 Elasticsearch 中存储的基本单位,以 JSON 格式表示,类似数据库中的一行记录。
分片(Shard)
为实现分布式存储和处理,索引会拆分成多个分片,每个分片是独立的 Lucene 索引。分片可分布在不同节点上,提高系统可扩展性和容错性。
副本(Replica)
每个分片可有零个或多个副本,副本是分片的复制,用于提高数据可用性和冗余性。
(二)核心功能
全文搜索
支持对文本内容进行高效的全文搜索,通过倒排索引实现快速查找。
聚合分析
可对数据进行分组、统计和计算,如计算平均值、求和、最大值等。
分布式存储
数据可分布在多个节点上,通过分片和副本机制实现高可用性和扩展性。
(三)常用操作
创建索引
bash
PUT /my_index
插入文档
bash
POST /my_index/_doc/1
{
    "title": "Elasticsearch Introduction",
    "content": "Elasticsearch is a powerful search engine."
}
搜索文档
bash
GET /my_index/_search
{
    "query": {
        "match": {
            "title": "Elasticsearch"
        }
    }
}
二、Logstash
(一)基本概念
数据收集和处理工具
是开源的数据收集引擎,能从各种数据源(如文件、日志、数据库等)收集数据,对数据进行过滤、转换和处理,然后将数据发送到 Elasticsearch 等目标存储系统。
输入(Input)
定义数据的来源,支持多种输入插件,如 file、syslog、jdbc 等。
过滤器(Filter)
对收集到的数据进行处理和转换,如解析日志格式、提取字段、添加标签等。常用的过滤器插件有 grok、date、mutate 等。
输出(Output)
定义数据的目的地,支持多种输出插件,如 elasticsearch、file、stdout 等。
(二)配置示例
plaintext
input {
    file {
        path => "/var/log/messages"
        start_position => "beginning"
    }
}

filter {
    grok {
        match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:\[%{POSINT:syslog_pid}\])?: %{GREEDYDATA:syslog_message}" }
    }
    date {
        match => [ "syslog_timestamp", "MMM  d HH:mm:ss", "MMM dd HH:mm:ss" ]
    }
}

output {
    elasticsearch {
        hosts => ["localhost:9200"]
        index => "syslog-%{+YYYY.MM.dd}"
    }
}
三、Kibana
(一)基本概念
数据可视化工具
Kibana 与 Elasticsearch 集成,提供了直观的用户界面,用于搜索、可视化和分析存储在 Elasticsearch 中的数据。用户可以通过创建仪表盘、图表和报表等方式,将数据以直观的方式展示出来。
(二)主要功能
数据探索
用户可以使用 Kibana 的搜索功能,对 Elasticsearch 中的数据进行交互式查询和探索。可以使用简单的关键词搜索,也可以使用复杂的查询语法。
可视化
支持多种可视化类型,如柱状图、折线图、饼图、地图等。用户可以根据自己的需求选择合适的可视化方式,将数据以直观的图表形式展示出来。
仪表盘创建
用户可以将多个可视化组件组合在一起,创建自定义的仪表盘。仪表盘可以用于监控系统状态、分析业务数据等。
数据挖掘
通过 Kibana 的聚合功能,可以对数据进行深入分析,发现数据中的模式和趋势。
(三)使用流程
连接 Elasticsearch
在 Kibana 的配置文件中指定 Elasticsearch 的地址,确保 Kibana 能够与 Elasticsearch 进行通信。
创建索引模式
在 Kibana 中创建索引模式,指定要使用的 Elasticsearch 索引。索引模式定义了数据的结构和字段,是进行数据探索和可视化的基础。
进行数据探索和可视化
使用 Kibana 的搜索和可视化工具,对数据进行探索和分析。可以创建各种可视化组件,并将它们添加到仪表盘上。

ELK 知识点
一、Elasticsearch
(一)基本概念
分布式搜索引擎
基于 Lucene 的分布式、RESTful 风格的搜索和分析引擎,能快速存储、搜索和分析海量数据。
索引(Index)
类似于传统数据库中的数据库,是文档的集合。一个 Elasticsearch 集群可包含多个索引。
类型(Type)
在 Elasticsearch 6.x 之前,一个索引可包含多个类型,类似数据库中的表。从 7.x 开始,类型被废弃,一个索引只有一个默认类型。
文档(Document)
是 Elasticsearch 中存储的基本单位,以 JSON 格式表示,类似数据库中的一行记录。
分片(Shard)
为实现分布式存储和处理,索引会拆分成多个分片,每个分片是独立的 Lucene 索引。分片可分布在不同节点上,提高系统可扩展性和容错性。
副本(Replica)
每个分片可有零个或多个副本,副本是分片的复制,用于提高数据可用性和冗余性。
(二)核心功能
全文搜索
支持对文本内容进行高效的全文搜索,通过倒排索引实现快速查找。
聚合分析
可对数据进行分组、统计和计算,如计算平均值、求和、最大值等。
分布式存储
数据可分布在多个节点上,通过分片和副本机制实现高可用性和扩展性。
(三)常用操作
创建索引
bash
PUT /my_index
插入文档
bash
POST /my_index/_doc/1
{
    "title": "Elasticsearch Introduction",
    "content": "Elasticsearch is a powerful search engine."
}
搜索文档
bash
GET /my_index/_search
{
    "query": {
        "match": {
            "title": "Elasticsearch"
        }
    }
}
二、Logstash
(一)基本概念
数据收集和处理工具
是开源的数据收集引擎,能从各种数据源(如文件、日志、数据库等)收集数据,对数据进行过滤、转换和处理,然后将数据发送到 Elasticsearch 等目标存储系统。
输入(Input)
定义数据的来源,支持多种输入插件,如 file、syslog、jdbc 等。
过滤器(Filter)
对收集到的数据进行处理和转换,如解析日志格式、提取字段、添加标签等。常用的过滤器插件有 grok、date、mutate 等。
输出(Output)
定义数据的目的地,支持多种输出插件,如 elasticsearch、file、stdout 等。
(二)配置示例
plaintext
input {
    file {
        path => "/var/log/messages"
        start_position => "beginning"
    }
}

filter {
    grok {
        match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:\[%{POSINT:syslog_pid}\])?: %{GREEDYDATA:syslog_message}" }
    }
    date {
        match => [ "syslog_timestamp", "MMM  d HH:mm:ss", "MMM dd HH:mm:ss" ]
    }
}

output {
    elasticsearch {
        hosts => ["localhost:9200"]
        index => "syslog-%{+YYYY.MM.dd}"
    }
}
三、Kibana
(一)基本概念
数据可视化工具
Kibana 与 Elasticsearch 集成,提供了直观的用户界面,用于搜索、可视化和分析存储在 Elasticsearch 中的数据。用户可以通过创建仪表盘、图表和报表等方式,将数据以直观的方式展示出来。
(二)主要功能
数据探索
用户可以使用 Kibana 的搜索功能,对 Elasticsearch 中的数据进行交互式查询和探索。可以使用简单的关键词搜索,也可以使用复杂的查询语法。
可视化
支持多种可视化类型,如柱状图、折线图、饼图、地图等。用户可以根据自己的需求选择合适的可视化方式,将数据以直观的图表形式展示出来。
仪表盘创建
用户可以将多个可视化组件组合在一起,创建自定义的仪表盘。仪表盘可以用于监控系统状态、分析业务数据等。
数据挖掘
通过 Kibana 的聚合功能,可以对数据进行深入分析,发现数据中的模式和趋势。
(三)使用流程
连接 Elasticsearch
在 Kibana 的配置文件中指定 Elasticsearch 的地址,确保 Kibana 能够与 Elasticsearch 进行通信。
创建索引模式
在 Kibana 中创建索引模式,指定要使用的 Elasticsearch 索引。索引模式定义了数据的结构和字段,是进行数据探索和可视化的基础。
进行数据探索和可视化
使用 Kibana 的搜索和可视化工具,对数据进行探索和分析。可以创建各种可视化组件,并将它们添加到仪表盘上。

相关文章:

  • 往年5级考题(c++)
  • 【spring cloud 3.0微服务部署】第一章:Nacos、LoadBalancer、GateWay、Ribbon集成之Nacos部署
  • stable diffusion 文生图流程
  • Vim操作笔记
  • 【BUG】conda虚拟环境下,pip install安装直接到全局python目录中
  • Java 语言深度剖析与实践应用
  • 字节Trae使用感想(后端)
  • 若依系统环境搭建记录
  • 基于SSM+uniapp的数学辅导小程序+LW示例参考
  • 【mysql】记一次mysql服务挂了后的数据恢复过程
  • FPGA与传统硬件开发:开发流程与效率对比
  • spring 学习 (注解)
  • 图神经网络简介
  • C37.【C++ Cont】二叉树的存储方式和四种遍历
  • stm32 lwip tcp服务端频繁接收连接失效问题解决(tcp_recved)
  • 基于单片机的仓库安防系统(论文+源码)
  • mount与busybox mount
  • 深兰科技与银川市苏银产业园签署协议,共建AI装备西部产业基地
  • 在 Kubernetes (K8s) 环境中,备份 PostgreSQL 数据库
  • Python----PyQt开发(PyQt高级:组件大小,界面位置,按钮,文本显示,文本输入,字体大小)
  • 董军在第六届联合国维和部长级会议上作大会发言
  • 全国人大常委会今年将初次审议检察公益诉讼法
  • 美国与卡塔尔签署超2435亿美元经济及军事合作协议
  • 4月份全国企业销售收入同比增长4.3%
  • 新能源汽车,告别混乱创新
  • A股三大股指涨跌互现:银行股领涨,两市成交12915亿元