regex - Prometheuse 的域正则表达式
问题描述
我正在尝试编写一个正则表达式,它将忽略前两个八位字节“name.name-name.presto.worker”,但会匹配其余的“presto.worker”。
我有两个不同的域名,它们遵循上面显示的相同结构,我需要监控系统使用最后两个八位字节 presto.worker 来捕获这两个域。
我发现几乎可以工作的最后一个正则表达式是:
count(up{instance="/[A-Za-z.]+[A-Za-z.-]+(presto.)+(worker)/g"})
它用于 Prometheuse 监控系统。感谢您的帮助亚尼夫
解决方案
我不确定你想要忽略前两个八位字节是什么意思。如果您对匹配它们不感兴趣,您可以在您的正则表达式中使用“presto\.worker”,这将匹配每个实例。
如果您还想获取前两个八位字节并将它们过滤掉,这里是它的正则表达式:
([A-Za-z]+\.[A-Za-z]+-[A-Za-z]+\.)(presto\.worker)
前两个八位字节现在位于一个单独的组(组 1)中。我不确定 Prometheuse 监控系统将如何输出这些匹配项(通常每个组都会得到一个数组)。尝试将正则表达式粘贴到 regex101.com 以了解我的意思。
希望这能回答你的问题!
-艾文德
推荐阅读
- rust - Rocket 有类似 Flask 的蓝图吗?
- jquery - 获取选中复选框的值和相应的图像
- javascript - 定义函数时控制台返回非函数
- c# - 如何使用 C# 在 Word 中的 Word 自动更正选项中找到“键入时替换文本”
- java - “请将 log4j-core 添加到类路径”后跟 Configurator.setRootLevel() 中的 ClassCastException
- docker - Dockerfile:如何在 CP 中运行子命令?
- node.js - 相关职位的政策检查长度
- html - HTML中的表格对齐
- mongodb - 从 mongoDB 的所有集合中删除数据
- mongodb - 如何找出 MongoDB 服务器版本的兼容 shell?