通过计费集成和警报监控 Elasticsearch Service 成本

作者:来自 Elastic Alexis Charveriat

使用 Elasticsearch 服务计费集成来跟踪、定制和提醒 Elasticsearch 服务费用。

监控和管理你的Elasticsearch服务(ESS)使用情况和成本对高效运营至关重要。

Elasticsearch服务计费集成提供了一种简化的方法,用于收集、可视化和处理你的计费数据。在本文中,我将指导你如何部署此集成,定制它以适应你的组织结构,并设置警报来监控特定团队的支出。

部署 Elasticsearch 服务计费集成

首先,确定一个可部署集成的附加了支持 Fleet 的 Elastic Agent 的 Elasticsearch 集群。该代理需要互联网访问,因为它将轮询 Elastic 计费 API 并解析结果数据,从而让你利用预配置的仪表板。你在 Elastic Cloud Hosted 上的监控集群可能是此方面的最佳候选者。

安装前检查

在安装集成并将其添加到代理策略之前,你需要为你的组织获取以下信息:

  • 组织 ID:导航到你的 Elastic Cloud 组织页面,找到你的组织标识符。
  • 计费 API 密钥:在 API 密钥页面,创建一个具有 “Billing admin” 角色的 API 密钥。

部署集成

在 Kibana 的集成页面,搜索 “Elasticsearch Service Billing” 集成并点击 “Add Elasticsearch Service Billing”。

填写在前一步中收集的所需信息。你还可以自定义在第一次运行时应收集多长时间的计费数据(默认是一年),以及收集的频率。然而,请注意,计费数据是以每日为粒度收集的,因此改变默认的 24 小时收集频率不会带来太大益处。

还需注意,第二个数据集(Elasticsearch Service Credits - Elasticsearch 服务积分)需要与 Elastic 的有效商业承诺才能正确收集数据。

最后,将集成部署到你选择的代理策略中。在集成的版本 1.2.0 及其底层栈版本 8.17.0 及以上版本中,还可以无代理部署此集成。

ECU 使用情况可视化

一旦部署,集成将开始轮询 Elastic billing APIs,直到你配置的回溯期(lookbehind period)完全加载。这可能需要几分钟 - 初始安装后请耐心等待,或者将时间选择器更改为安装期间使用的任何后视值以实时查看进度。

深入分析:定义部署归属

现在你已经开始为整个组织收集计费信息,你可能希望将与特定部署相关的成本归属于负责的团队。

为此,创建一个 @custom 管道(pipeline),在其中定义你的逻辑。

在我的示例中,我将使用以下逻辑:

  1. 所有名称中包含 “test” 的部署将归属于 QA 团队。
  2. 所有名称中包含 “security” 的部署将归属于安全团队。
  3. 所有其他部署将归属于开发团队。

创建自定义模板和摄取管道

实现这一逻辑需要在自定义模板中声明新的字段,并创建摄取管道:

PUT /_component_template/metrics-ess_billing.billing@custom
{
 "template": {
   "mappings": {
     "properties": {
       "team": {
         "type": "keyword"
       }
     }
   }
 }
}


PUT /_ingest/pipeline/metrics-ess_billing.billing@custom
{
 "processors": [
   {
     "set": {
       "field": "team",
       "value": "development"
     }
   },
   {
     "set": {
       "field": "team",
       "value": "security",
       "if": "ctx.ess.billing.deployment_name ==~ /.*security.*/"
     }
   },
   {
     "set": {
       "field": "team",
       "value": "QA",
       "if": "ctx.ess.billing.deployment_name ==~ /.*test.*/"
     }
   }
 ]
}

你也可以使用 enrich 处理器 来创建与参考基准的 “join”,从而将每个部署与其负责人关联。

修改历史数据

很可能你是在初始数据拉取之后添加了上述摄取管道,在这种情况下,很多数据当前缺少新定义的字段。你可以通过手动更新已存在索引的映射,并执行查询更新(update by query)来 “修复” 数据:

PUT metrics-ess_billing.billing-*/_mapping
{
 "properties": {
   "team": {
     "type": "keyword"
   }
 }
}


POST /metrics-ess_billing.billing-*/_update_by_query?pipeline=metrics-ess_billing.billing@custom&wait_for_completion=false

查看结果

现在,借助新创建的字段,你可以分析团队的支出趋势。让我们使用一些 ES|QL 来实现这一目的:

FROM metrics-ess_billing.billing-*

| STATS `Team spending`=SUM(ess.billing.total_ecu)
    BY BUCKET(@timestamp,"1 month"), team

就我而言,我将细化粒度到每日支出,并为每个团队设定 1,000 ECU 的预算:

请注意,我可以如何实时测试我的查询,并确认这确实会在 11 月(当我的开发团队超出预算时)触发。

最后一步是配置你希望 Kibana 在警报触发时运行的操作。就我而言,这肯定是一封电子邮件,但你可以参考文档以获取有关所有可用连接器类型(connector types)的更多详细信息。

控制你的 Elasticsearch 服务成本

通过将 Elasticsearch 服务计费数据集成到你的可观察性管道中,你可以实时查看云支出,确保各团队的财务责任。通过在 Kibana 中使用自定义标签和警报,你可以跟踪费用、执行预算政策,并防止意外的成本超支。

准备好控制你的 Elasticsearch 服务成本了吗?今天就部署集成,定制它以匹配你的团队结构,并设置警报,提前预防预算意外。

注意: 本文中提到的任何功能或功能的发布和时间安排均由Elastic自行决定。当前不可用的功能可能无法按时交付,甚至可能无法交付。

原文:Track and control Elasticsearch Service costs with billing integration | Elastic Blog

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

cmake、CMakeLists.txt、make、ninja

文章目录 一、概念0.cmake官网1.什么是cmake2.为什么使用cmake3.CMakeLists.txt 二、CMakeLists.txt语法:如何编写CMakeLists.txt,语法详解(0)语法基本原则(1)project关键字(2)set关键字(3)message关键字(4)add_executable关键字(5)add_subdirectory关键…

DeepSeek本地接口调用(Ollama)

前言 上篇博文,我们通过Ollama搭建了本地的DeepSeek模型,本文主要是方便开发人员,如何通过代码或工具,通过API接口调用本地deepSeek模型 前文:DeepSeek-R1本地搭建_deepseek 本地部署-CSDN博客 注:本文不仅…

前端基础之浏览器本地存储

如我们在一些网站中&#xff0c;去进行数据搜索&#xff0c;在浏览器中是有一个对于的存储的&#xff0c;并且我们可以去手动进行value的增删操作 LocalStroage的使用 并且将浏览器关闭之后&#xff0c;数据也会保存&#xff0c;除非用户手动清理数据或是清空缓存 <!DOCTYPE…

2025 聚合易支付完整版PHP网站源码

源码介绍 2025 聚合易支付完整版PHP网站源码 PHP版本&#xff1a;PHP74 源码上传服务器&#xff0c;解压访问域名即可安装 安装完成后一定要设置伪静态 源码里面nginx.txt 就是伪静态 然后复制粘贴到伪静态里面保存即可 部分截图 源码获取 2025 聚合易支付完整版PHP网站源码…

Spring Boot 3 整合 MinIO 实现分布式文件存储

引言 文件存储已成为一个做任何应用都不可回避的需求。传统的单机文件存储方案在面对大规模数据和高并发访问时往往力不从心&#xff0c;而分布式文件存储系统则提供了更好的解决方案。本篇文章我将基于Spring Boot 3 为大家讲解如何基于MinIO来实现分布式文件存储。 分布式存…

easyExcel使用案例有代码

easyExcel 入门,完成web的excel文件创建和导出 easyExcel官网 EasyExcel 的主要特点如下&#xff1a; 1、高性能&#xff1a;EasyExcel 采用了异步导入导出的方式&#xff0c;并且底层使用 NIO 技术实现&#xff0c;使得其在导入导出大数据量时的性能非常高效。 2、易于使…

NVIDIA(英伟达) GPU 芯片架构发展史

GPU 性能的关键参数 CUDA 核心数量&#xff08;个&#xff09;&#xff1a;决定了 GPU 并行处理能力&#xff0c;在 AI 等并行计算类业务下&#xff0c;CUDA 核心越多性能越好。 显存容量&#xff08;GB&#xff09;&#xff1a;决定了 GPU 加载数据量的大小&#xff0c;在 AI…

FFMPEG利用H264+AAC合成TS文件

本次的DEMO是利用FFMPEG框架把H264文件和AAC文件合并成一个TS文件。这个DEMO很重要&#xff0c;因为在后面的推流项目中用到了这方面的技术。所以&#xff0c;大家最好把这个项目好好了解。 下面这个是流程图 从这个图我们能看出来&#xff0c;在main函数中我们主要做了这几步&…

获取Kernel32基地址

暴力搜索 32位在4G内存搜索有一定可行性&#xff0c;但是处理起来其实还是比较麻烦的&#xff0c;因为内存不可读会触发异常&#xff0c;需要对这些异常问题进行处理。 优化思路:缩小范围、增大搜索步长 (1)不优化&#xff0c;原始内存特征匹配&#xff0c;容易出错&#xf…

【 <一> 炼丹初探:JavaWeb 的起源与基础】之 Servlet 与 JSP 的协作:MVC 模式的雏形

<前文回顾> 点击此处查看 合集 https://blog.csdn.net/foyodesigner/category_12907601.html?fromshareblogcolumn&sharetypeblogcolumn&sharerId12907601&sharereferPC&sharesourceFoyoDesigner&sharefromfrom_link <今日更新> 一、Servl…

如何在Github上面上传本地文件夹

前言 直接在GitHub网址上面上传文件夹是不行的&#xff0c;需要一层一层创建然后上传&#xff0c;而且文件的大小也有限制&#xff0c;使用Git进行上传更加方便和实用 1.下载和安装Git Git - Downloads 傻瓜式安装即可 2.获取密钥对 打开自己的Github&#xff0c;创建SSH密钥&…

软件高级架构师 - 软件工程

补充中 测试 测试类型 静态测试 动态测试 测试阶段 单元测试中&#xff0c;包含性能测试&#xff0c;如下&#xff1a; 集成测试中&#xff0c;包含以下&#xff1a; 维护 遗留系统处置 高水平低价值&#xff1a;采取集成 对于这类系统&#xff0c;采取 集成 的方式&…

初始提示词(Prompting)

理解LLM架构 在自然语言处理领域&#xff0c;LLM&#xff08;Large Memory Language Model&#xff0c;大型记忆语言模型&#xff09;架构代表了最前沿的技术。它结合了存储和检索外部知识的能力以及大规模语言模型的强大实力。 LLM架构由外部记忆模块、注意力机制和语…

react中如何使用使用react-redux进行数据管理

以上就是react-redux的使用过程&#xff0c;下面我们开始优化部分&#xff1a;当一个组件只有一个render生命周期&#xff0c;那么我们可以改写成一个无状态组件&#xff08;UI组件到无状态组件&#xff0c;性能提升更好&#xff09;

Vue 监听器的魔法之旅:@Watch(‘form.productId’) vs @Watch(‘value’) 大揭秘!✨

以下是一篇技术博客&#xff0c;主题围绕 Watch(form.productId) 和 Watch(value) 这两个 watcher 的功能、区别及使用场景&#xff0c;基于 compare-form.vue 的代码。准备好一起探索 Vue 监听器的魔法了吗&#xff1f;&#x1f604; &#x1f604; Vue 监听器的魔法之旅&…

SqlSugar 语法糖推荐方式

//方式1&#xff1a;var dd _repository._Db.Queryable<ConfigAggregateRoot, UserRoleEntity>((o, p) > o.Id p.Id).Select((o, p) > new{o.Id,o.Remark,p.RoleId,});//方式2&#xff1a;不推荐使用&#xff0c;建议优先使用 Lambda 表达式&#xff0c;因为它更…

数据结构:八大排序(冒泡,堆,插入,选择,希尔,快排,归并,计数)详解

目录 一.冒泡排序 二.堆排序 三.插入排序 四.选择排序 五.希尔排序 六.快速排序 1.Lomuto版本&#xff08;前后指针法&#xff09; 2.Lomuto版本的非递归算法 3.hoare版本&#xff08;左右指针法&#xff09; 4.挖坑法找分界值&#xff1a; 七.归并排序 八.计数排序…

?算法1-4 小A点菜

题目描述 不过 uim 由于买了一些书&#xff0c;口袋里只剩 M 元 (M≤10000)。 餐馆虽低端&#xff0c;但是菜品种类不少&#xff0c;有 N 种 (N≤100)&#xff0c;第 i 种卖 ai​ 元 (ai​≤1000)。由于是很低端的餐馆&#xff0c;所以每种菜只有一份。 小 A 奉行“不把钱吃…

Linux设备驱动开发之摄像头驱动移植(OV5640)

驱动移植 这里用的是NXP提供的原厂linux内核源码&#xff0c;目的是学习ov5640相关摄像头驱动的移植。如图&#xff0c;下面是linux源码自带的ov5640的驱动相关代码&#xff1a; 这个是ov5640相关头文件&#xff1a; 新建一个文件夹保存这些ov5640的驱动文件&#xff0c;打算在…

DeepSeek使用手册分享-附PDF下载连接

本次主要分享DeepSeek从技术原理到使用技巧内容&#xff0c;这里展示一些基本内容&#xff0c;后面附上详细PDF下载链接。 DeepSeek基本介绍 DeepSeek公司和模型的基本简介&#xff0c;以及DeepSeek高性能低成本获得业界的高度认可的原因。 DeepSeek技术路线解析 DeepSeek V3…