企业级日志分析系统ELK

1.什么是 Elastic Stack

如果系统和应用出现异常和问题,相关的开发和运维人员想要排查原因,就要先登录到应用运行所相应的主机,找到上面的相关日志文件再进行查找和分析,所以非常不方便,此外还会涉及到权限和安全问题,而ELK 的出现就很好的解决这一问题。
ELK 是由一家 Elastic 公司开发的三个开源项目的首字母缩写,即是三个相关的项目组成的系统。

2.Elasticsearch 索引是什么?

Elasticsearch 索引指相互关联的文档集合。Elasticsearch 会以 JSON 文档的形式存储数据。每个文档都会在一组键(字段或属性的名称)和它们对应的值(字符串、数字、布尔值、日期、数值组、地理位置或其他类型的数据)之间建立联系。
Elasticsearch 使用的是一种名为倒排索引的数据结构,这一结构的设计可以允许十分快速地进行全文本搜索。倒排索引会列出在所有文档中出现的每个特有词汇,并且可以找到包含每个词汇的全部文档。
在索引过程中,Elasticsearch 会存储文档并构建倒排索引,这样用户便可以近实时地对文档数据进行搜索。索引过程是在索引 API 中启动的,通过此 API 您既可向特定索引中添加 JSON 文档,也可更改特定索引中的 JSON 文档。

3.Logstash 的用途是什么?

Logstash 是 Elastic Stack 的核心产品之一,可用来对数据进行聚合和处理,并将数据发送到 Elasticsearch。Logstash 是一个开源的服务器端数据处理管道,允许您在将数据索引到Elasticsearch 之前同时从多个来源采集数据,并对数据进行充实和转换。

4.Kinbana的用途是什么?

是适用于 Elasticsearch 的数据可视化和管理工具,可提供实时直方图、线形图、饼状图和地图 ;包含 Canvas(允许用户基于自身数据创建定制动态信息图表 )、Elastic Maps(对地理空间数据可视化 )等高级应用程序 。

总结如下:

①Elasticsearch 是一个实时的全文搜索 , 存储库和分析引擎。
②Logstash 是数据处理的管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到诸如Elasticsearch 等存储库中。
③Kibana 则可以让用户在 Elasticsearch 中使用图形和图表对数据进行可视化。

5.Elasticsearch集群安装

cluster.name: my-application
node.name: node-1     #不唯一。在其他主机上需要更改不一样的名字 其他的都不变
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 0.0.0.0
discovery.seed_hosts: ["10.0.0.101", "10.0.0.102", "10.0.0.103"]
cluster.initial_master_nodes: ["10.0.0.101", "10.0.0.102", "10.0.0.103"]
xpack.security.enabled: false
xpack.security.enrollment.enabled: true
xpack.security.http.ssl:enabled: truekeystore.path: certs/http.p12
xpack.security.transport.ssl:enabled: trueverification_mode: certificatekeystore.path: certs/transport.p12truststore.path: certs/transport.p12
http.host: 0.0.0.0

curl 'http://127.0.0.1:9200/_cat/health'          #查看es集群状态

创建索引
curl -XPUT '127.0.0.1:9200/index1'    #简单输出
curl -XPUT '127.0.0.1:9200/index2?pretty'    #格式化输出
查看索引
curl 'http://127.0.0.1:9200/_cat/indices?v'     #查看所有索引
删除索引
curl -XDELETE 'http://127.0.0.1:9200/index1'    #删除索引index1
在索引index1上创建3个分片和2个副本的索引
curl -XPUT '127.0.0.1:9200/index1' \
-H 'Content-Type: application/json' \
-d '{"settings": {"index": {"number_of_shards": 3,"number_of_replicas": 2}}
}'
调整索引index1副本数为1,但不能调整分片数
curl -XPUT '127.0.0.1:9200/index1/_settings' \
-H 'Content-Type: application/json' \
-d '{"settings": {"number_of_replicas": 1}
}'

6.Elasticsearch 插件

ES 集群状态 :
green 绿色状态 : 表示集群各节点运行正常,而且没有丢失任何数据,各主分片和副本分片都运行正
常。
yellow 黄色状态 : 表示由于某个节点宕机或者其他情况引起的, node 节点无法连接、所有主分片都
正常分配 , 有副本分片丢失,但是还没有丢失任何数据。
red 红色状态 : 表示由于某个节点宕机或者其他情况引起的主分片丢失及数据丢失 , 但仍可读取数据
和存储 监控下面两个条件都满足才是正常的状态。
集群状态为 green 所有节点都启动。
Cerebro 插件
Cerebro 是开源的 elasticsearch 集群 Web 管理程序,此工具应用也很广泛,此项目升级比 Head 频繁。Cerebro v0.9.4 版本更高版本需要 Java11。 基于java环境。
相关下载链接:wget https://githubfast.com/lmenezes/cerebro/releases/download/v0.9.4/cerebro_0.9.4_all.deb
# 访问下面链接地址
http://10.0.0.101:9000     #我是在101主机上安装的cerebro插件
# Node address 输入框中输入任意 ES 集群节点的地址
http://10.0.0.102:9200

7.ES 文档路由

ES 文档路由原理
ES 文档是分布式存储,当在 ES 集群访问或存储一个文档时,由下面的算法决定此文档到底存放在哪个主分片中, 再结合集群状态找到存放此主分片的节点主机。
shard = hash(routing) % number_of_primary_shards
hash                     # 哈希算法可以保证将数据均匀分散在分片中
routing                   # 用于指定用于 hash 计算的一个可变参数,默认是文档 id ,也可以自定义
number_of_primary_shards #

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

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

相关文章

ai项目多智能体

手把手教你构建一个 本地化的,免费的,企业级的,AI大模型知识库问答系统 - 网旭哈瑞.AI 体验 AutoGen Studio - 微软推出的友好多智能体协作框架_autogenstudio-CSDN博客 AutoGen Studio: Interactively Explore Multi-Agent Workflows | Au…

【HTML】浅谈 script 标签的 defer 和 async

The async and defer attributes are boolean attributes that indicate how the script should be evaluated. There are several possible modes that can be selected using these attributes, depending on the script’s type. async 和 defer 属性是布尔属性,…

Kafka Streams 并行处理机制深度解析:任务(Task)与流线程(Stream Threads)的协同设计

在构建实时流处理应用时,如何充分利用计算资源同时保证处理效率是一个关键问题。Kafka Streams 通过其独特的任务(Task)和流线程(Stream Threads)并行模型,为开发者提供了既简单又强大的并行处理能力。本文将深入解析 Kafka Streams 中任务与线程的协同工…

使用 Docker 部署 Label Studio 时本地文件无法显示的排查与解决

目录 使用 Docker 部署 Label Studio 时本地文件无法显示的排查与解决 1. 背景 2. 问题现象 3. 排查步骤 3.1 确认文件是否存在 3.2 检查环境变量配置 4. 解决方案 方法一:修改 Sync Storage 路径(相对路径) 方法二:修改…

ElasticJob怎么使用?

我们使用ElasticJob需要以下步骤: 1. 添加依赖 2. 配置任务(可以使用Spring命名空间配置或Java配置) 3. 实现任务逻辑(实现SimpleJob、DataflowJob等接口) 4. 启动任务 下面是一个详细的示例,包括Spring Bo…

TCP协议的特点和首部格式

文章目录TCP协议是什么?TCP协议的主要特点1. 面向连接2. 可靠传输3. 流量控制4. 拥塞控制TCP首部格式源端口和目标端口(各16位)序列号(32位)确认号(32位)数据偏移(4位)保…

IO流-文件的常用方法

1.关于java.io.File类- File类只能表示计算机中的文件或目录而不能获取或操作文件- 通过File类获得到文件的基本信息,如文件名、大小等,但不能获取文件内容- java中表示文件路径分隔符使用"/"或"\\"- File类中的构造方法- File(&quo…

AUTOSAR进阶图解==>AUTOSAR_SRS_E2E

AUTOSAR E2E通信保护解析 AUTOSAR End-to-End通信保护机制详解与应用目录 概述 1.1. AUTOSAR E2E通信保护的作用 1.2. E2E通信保护的应用场景AUTOSAR E2E架构 2.1. E2E组件层次结构 2.2. E2E库和E2E转换器E2E监控状态机 3.1. 状态定义与转换 3.2. 状态机实现E2E保护数据交换流…

镜像快速部署ollama+python+ai

算力租赁入口:https://www.jygpu.com为大家提供以上镜像快速部署方式,节约大家环境部署时间一键部署的便捷性传统自建GPU服务器需要经历复杂的硬件采购、驱动安装、环境配置等繁琐步骤,而现代​​GPU租赁价格对比​​显示,容器化平…

使用Gemini API开发领域智能聊天机器人的思路

以下是使用 Gemini API 开发软件自动化测试专家领域专属智能聊天机器人的详细思路及具体实现过程: 阶段一:基础准备与规划 (Foundation & Planning) 这个阶段的目标是明确方向、准备好所有必要的工具和凭证。 步骤 1:明确聊天机器人的目…

第13届蓝桥杯Python青少组_省赛_中/高级组_2022年4月17日真题

更多内容请查看网站:【试卷中心 -----> 蓝桥杯----> Python----> 省赛】 网站链接 青少年软件编程历年真题模拟题实时更新 第13届蓝桥杯Python青少组_省赛_中/高级组_2022年4月17日真题 一、选择题 第 1 题 下列二进制数中最大的是( &a…

sqli-labs:Less-17关卡详细解析

1. 思路🚀 本关的SQL语句为: $sql"SELECT username, password FROM users WHERE username $uname LIMIT 0,1"; $update"UPDATE users SET password $passwd WHERE username$row1";注入类型:字符串型(单引号…

文心一言:推动 AIGC 领域进步

文心一言:推动AIGC领域进步 关键词:文心一言、AIGC、自然语言处理、多模态生成、大模型、技术架构、应用场景 摘要:本文深入剖析百度文心一言在AIGC(人工智能生成内容)领域的技术创新与实践成果。通过解析其核心技术架构、多模态生成原理、工程化落地策略及行业应用案例,…

第15讲——微分方程

文章目录思维导图基本概念微分方程及其阶思维导图 基本概念 微分方程及其阶

RAGFlow Agent 知识检索节点源码解析:从粗排到精排的完整流程

RAGFlow Agent 知识检索节点深度解析:从查询到重排序的完整流程 1. 总体架构概览 RAGFlow Agent 中的知识检索(Retrieval)节点是整个RAG系统的核心组件,负责从知识库中找到与用户查询最相关的文档片段。检索流程可以分为以下几个…

Python算法实战:从排序到B+树全解析

Python中常见的算法示例 以下是Python中常见的算法示例,涵盖基础算法和经典问题解决方案,代码可直接运行: 排序算法 冒泡排序 def bubble_sort(arr):n = len(arr)for i in range(n):for j in range(0, n-i-1):if arr[j] > arr[j+1]:arr[j], arr[j+1] = arr[j+1], arr…

【C++算法】85.BFS解决最短路径问题_最小基因变化

文章目录题目链接:题目描述:解法C 算法代码:题目链接: 433. 最小基因变化 题目描述: 解法 先看懂题目 先把这个问题转化:图论问题 边权为1的最短路问题。 为什么可以这么想?! 因为每…

基于单片机汽车少儿安全预警系统

文章目录一、前言1.1 项目介绍【1】项目开发背景【2】设计实现的功能【3】项目硬件模块组成【4】设计意义【5】市面上同类产品研究现状【6】摘要1.2 设计思路1.3 系统功能总结1.4 开发工具的选择【1】设备端开发【2】上位机开发1.5 模块的技术详情介绍1.6 框架图框架图说明&…

Mac 上配置jdk 环境变量

核心步骤是设置 JAVA_HOME 变量,并将其 bin 目录添加到系统的 PATH 变量中。 macOS 从 Catalina (10.15) 版本开始,默认的终端 Shell 从 bash 切换到了 zsh。因此,你需要先确定你正在使用的 Shell,然后编辑对应的配置文件。步骤一…

硬件-音频学习DAY1——音箱材料选择:密度板为何完胜实木

每日更新教程,评论区答疑解惑,小白也能变大神!" 目录 一.音箱材料选择的关键因素 二.密度板的声学优势 三.材料稳定性的对比 四.生产工艺的适应性 五.成本与环保的平衡 六.特殊场景的例外情况 七.消费者选购指南 八.行业发展趋势…