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

Loki 各模式简介

目录

Loki 部署模式

单片模式

简单可扩展

微服务模式


Loki 部署模式

Loki 是一个由许多微服务组成的分布式系统。它还具有独特的构建模型,其中所有这些微服务都存在于同一个二进制文件中。

您可以使用命令行标志配置单个二进制文件的行为-target,以指定哪些微服务将在启动时运行。您可以进一步配置文件中的每个组件loki.yaml。

由于 Loki 将其存储的数据与提取和查询数据的软件分离,因此您可以根据需求的变化轻松地在不同模式下重新部署集群,而无需进行任何配置更改或只需进行很少的配置更改。

单片模式

最简单的操作模式是单片部署模式。您可以通过设置-target=all命令行参数来启用单片模式。此模式在单个进程内以单个二进制文件或 Docker 映像的形式运行 Loki 的所有微服务组件。

单片模式对于快速开始试验 Loki 以及每天最多约 20GB 的小量读/写量很有用。

您可以通过使用共享对象存储并通过配置文件的ring部分loki.yaml以在所有实例之间共享状态,将单片模式部署水平扩展到更多实例,但如果您需要扩展部署,建议使用简单可扩展模式。

memberlist_config您可以通过使用配置和共享对象存储运行两个 Loki 实例并将 设置replication_factor为 来配置高可用性3。您以循环方式将流量路由到所有 Loki 实例。

查询并行化受实例数量和文件max_query_parallelism中定义的设置限制loki.yaml

简单可扩展

简单可扩展部署是Loki Helm Chart安装的默认配置。此部署模式是大规模部署 Loki 的最简单方法。它在以单片模式部署或将每个组件部署为单独的微服务之间取得了平衡。

笔记

这种部署模式有时被称为“SSD”,代表简单可扩展部署,不要与固态硬盘混淆。Loki 使用对象存储。

Loki 的简单可扩展部署模式将执行路径分为读取、写入和后端目标。这些目标可以独立扩展,让您可以自定义 Loki 部署以满足您对日志提取和日志查询的业务需求,从而使您的基础设施成本更好地匹配您使用 Loki 的方式。

简单的可扩展部署模式可以扩展到每天几 TB 的日志,但是如果超出这个范围,微服务模式将是大多数用户的更好选择。

简单可扩展模式下的三个执行路径均通过在启动时向 Loki 附加以下参数来激活:

  • -target=write写入目标是有状态的,由 Kubernetes StatefulSet 控制。它包含以下组件:– Distributor – Ingester

  • -target=read读取目标是无状态的,可以作为可自动扩展的 Kubernetes Deployment 运行(请注意,在官方的 helm chart 中,它目前部署为有状态集)。它包含以下组件: – 查询前端 – 查询器

  • -target=backend后端目标是有状态的,由 Kubernetes StatefulSet 控制。包含以下组件: – Compactor – Index gateways – Query scheduler – Ruler

简单可扩展的部署模式需要在 Loki 前面部署反向代理,以将客户端 API 请求定向到读取或写入节点。Loki Helm 图表包含使用 Nginx 的默认反向代理配置。

微服务模式

微服务部署模式将 Loki 的组件作为不同的进程运行。每个进程都通过指定其来调用target:对于版本 2.9,组件包括:

  • 缓存生成加载器

  • 压实机

  • 分销商

  • 索引网关

  • 摄取者

  • 摄取器-查询器

  • 覆盖导出器

  • 查询器

  • 查询前端

  • 查询调度程序

  • 统治者

  • 表管理器(已弃用)

提示

你可以通过使用标志运行 Loki 来查看你的 Loki 版本的完整目标列表-list-targets,例如:

 

docker run docker.io/grafana/loki:2.9.2 -config.file=/etc/loki/local-config.yaml -list-targets

将组件作为单独的微服务运行提供了更高的粒度,让您可以将每个组件扩展为单独的微服务,以更好地匹配您的特定用例。

微服务模式部署可以比 Loki 安装更高效。然而,它们的设置和维护也是最复杂的。

微服务模式仅推荐用于非常大的 Loki 集群或需要对扩展和集群操作进行更精确控制的操作员。

微服务模式专为 Kubernetes 部署而设计。社区支持的 Helm 图表可用于以微服务模式部署 Loki。

http://www.lryc.cn/news/505271.html

相关文章:

  • MySQL八股-全局锁,表级锁,表锁,元数据锁,意向锁,行级锁,行锁,间隙锁,临键
  • (四)Spring Cloud Alibaba 2023.x:高效构建 Gateway 网关服务
  • Android XR 是什么?解释它的功能、设备、开发工具等
  • 【算法】实体关系抽取
  • Codeforces Round 993 (Div. 4)题解
  • 【计算机网络】期末考试预习复习|中
  • 从零用java实现 小红书 springboot vue uniapp (4)个人主页优化
  • 为“行车大脑”降温:Simdroid-EC助力汽车ECU设计研发
  • 视频汇聚平台:Liveweb视频流媒体平台视频监控系统解决方案
  • 通过解调使用正则化相位跟踪技术进行相位解包裹
  • VMware替代 | 双一流大学采用ZStack ZSphere虚拟化平台加速医学应用算法分析
  • UNIAPP框架uView初步集成与开发设计
  • C05S08-LVS负载均衡
  • C 语言代码诗韵:数字功能的雅集华章
  • ps案例制作
  • 【C++】列表初始化、声明、范围for、array容器
  • C++智能指针详解
  • 基础库正则表达式
  • 【spring专题】spring如何解析配置类和扫描包路径
  • MyBatis框架的入门
  • 代码随想录D22-23 回溯算法01-02 Python
  • 【网络云计算】2024第50周-每日【2024/12/13】小测-理论-写10个Bash Shell脚本-解析
  • MATLAB转换C语言--问题(一)FFT 和 IFFT 的缩放因子
  • 轻松上手:使用 Vercel 部署 HTML 页面教程
  • 如何运用 HTM?
  • 12.16【net】【study】
  • 2023和2024历年美赛数学建模赛题,算法模型分析!
  • Node.js内置模块
  • 测评|携程集团25年社招在线测评北森题库、真题分析、考试攻略
  • 快速启动Go-Admin(Gin + Vue3 + Element UI)脚手架管理系统