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

ops/2025/3/6 12:10:22/
aidu_pl">

作者:来自 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


http://www.ppmy.cn/ops/163596.html

相关文章

tauri加载网页处理点击a链接默认浏览器打开问题

添加click事件,当点击了a标签,就阻止默认事件,然后自己处理,在自己窗口中打开这个页面。将这个js注入到页面中就可以了 const hookClick (e) > {console.log(hookClick, e)e.preventDefault()const origin e.target.closest…

Avalonia 打包成deb

参考 https://www.cnblogs.com/Fengyinyong/p/13346642.html 安装工具 dotnet tool install --global dotnet-deb 还原包 dotnet restore -r linux-x64 dotnet deb install 打包,其中/p:SelfContainedtrue是独立运行 dotnet msbuild XXXCore.csproj /t:Creat…

文件IO思维导图和练习题

思维导图 练习&#xff1a; 1.使用文件IO读取图片 文件大小、文件偏移量&#xff0c;宽度&#xff0c;高度 #include <head.h> int main(int argc, const char *argv[]) {int fdopen("/home/ubuntu/3.5/xiaoxin.bmp",O_RDONLY);if(fd-1)PRINT_ERROR("op…

Element-Plus悬浮窗模板

效果图 参考代码 <!-- 自定义笔记本弹窗 --><el-dialog v-model"dialogVisible" title"新建笔记本" width"400px"><el-form :model"newNotebook" label-width"80px"><el-form-item label"名称&q…

六十天前端强化训练之第九天之数组操作方法

欢迎来到编程星辰海的博客讲解 目录 一、数组操作方法知识讲解 1. 基础操作方法 2. 遍历与转换方法 3. 查找与判断方法 4. 其他实用方法 二、核心代码示例 三、实现效果说明 四、学习要点总结 五、扩展阅读推荐 六、案例&#xff1a;使用 map/filter 实现数据筛选转换…

Mac 基于 Ollama 安装 DeepSeek-R1(蒸馏版本)、AnythingLLM 及使用体验

文章目录 Mac 基于 Ollama 安装 DeepSeek-R1&#xff08;蒸馏版本&#xff09;、AnythingLLM 及使用体验Ollama 简介下载与安装 Ollama下载并运行 DeepSeek-R11. 在终端运行&#xff08;建议从 8B 开始&#xff09;2. 本地模型存储路径3. 终端测试4. 查询服务状态5. 退出服务 下…

华为云IAM 用户名和IAM ID

账号 当您首次使用华为云时注册的账号&#xff0c;该账号是您的华为云资源归属、资源使用计费的主体&#xff0c;对其所拥有的资源及云服务具有完全的访问权限&#xff0c;可以重置用户密码、分配用户权限等。账号统一接收所有IAM用户进行资源操作时产生的费用账单。 账号不能…

[css] line-height如何继承

line-height继承&#xff0c;一共有以下3种情况&#xff1a; <body><p>这是一行文字</p> </body>写具体数值&#xff0c;则直接继承该值。 body {font-size: 20px;line-height: 50px; /* 数值 */ } p {font-size: 10px; }<p> 元素 line-height…