如何解决如何使用正则表达式从另一个变量中提取 IP 地址?
我有一个查询变量名称“Instances”,它从我的 Fargate 堆栈中提取实例 ID 列表。我在 ElasticSearch 索引搜索中使用它,它非常适合该目的。
我有两个日志数据源。一个索引是使用 Serilog 格式创建的(应用指标),另一个是由 MetricBeat sidecar 生成的指标(用于系统指标)问题是,数据源使用不同的格式来表示 IP 地址(但非常相似)。>
例如: MetricBeats 数据源 ip 地址格式(主机名):ip-10-119-28-254.us-west-2.compute.internal 应用指标“MachineName”(来自 Seriolog):ip-10-119-28-254
问题来了:
我的“Instances”变量基于 MetricBeat 索引,将返回所有可用 Fargate 任务 IP 地址的列表,如下所示:
ip-10-119-28-254.us-west-2.compute.internal
ip-10-119-28-254.us-west-2.compute.internal
ip-10-119-28-254.us-west-2.compute.internal
ip-10-119-28-254.us-west-2.compute.internal
我想创建另一个变量(理想情况下),它会创建一个“精简”版本的列表,如下所示:
10-119-28-254
10-119-28-254
10-119-28-254
10-119-28-254
我现在想做什么: 创建另一个名为“AppInstances”的查询变量,它本质上是“Instances”查询变量的副本,但会包含一个正则表达式以仅提取“ip-”+ip 地址本身。这个“实例”变量将向用户公开,他们可以从下拉列表中选择一个或多个 IP 地址。当他们这样做时,我希望精简的变量也刷新。然后我可以对某些查询使用实例变量,对其他查询使用精简变量,具体取决于我的面板查询使用的数据源。
这样,当我对 MetricBeat 数据源执行 ElasticSearch 查询时,我可以使用:
... AND host.hostname:$Instances
对于应用程序指标数据源,我会使用:
... AND fields.MachineName:$AppInstances
我的尝试: 我尝试创建实例变量的副本,然后在 Regex 字段中输入此公式: ip-\d{1,3}-\d{1,3}
这不会引发错误,但也不会返回任何内容。所以,本质上,我试图让正则表达式工作,它将去除“.us-west-2.compute.internal”并返回适用于 App Metrics 查询变量的 IP 地址。
感谢您提供的任何帮助/指导。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。