正则表达式:如何找到所有匹配的组(值:特定服务的时间和值)
regex: How to find all matched groups (values: time and value for specific service)
我想 select 通过此正则表达式为特定行计算时间和值
时间:2021 年 6 月 22 日星期二 11:05:01 美国东部时间
k8s_POD_eventing-kafka-cp-kafka 示例 30KiB
的使用内存
((?<time>(.*?)EDT 2021)((.|\n)*)(?<memoryblock>(?<=(eventing-kafka-cp-kafka)).*\%(\s)*(?<memory>.*)\s(?=\/).*(?=15\.51GiB)))
正文:
=======================
Tue 22 Jun 11:05:01 EDT 2021
====================
=== DOCKER STATS ===
====================
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
0c3f02131388 k8s_istio-proxy_istio-ingressgateway-759f7bff9f-l894p_istio-system_81979eee-1d7c-4eae-af8d-18d67dee1838_0 0.27% 80.34MiB / 200MiB 40.17% 0B / 0B 0B / 0B 47
4d06eb9f902f k8s_POD_istio-ingressgateway-759f7bff9f-l894p_istio-system_81979eee-1d7c-4eae-af8d-18d67dee1838_0 0.00% 40KiB / 15.51GiB -system_a9af3319-421a-492b-a8d2-5ed450509c31_0 0.37% 42.81MiB / 100MiB 42.81% 0B / 0B 0B / 0B 25
139321b972fa k8s_POD_istio-pilot-854fd575d9-tjgb5_istio-system_a9af3319-421a-492b-a8d2-5ed450509c31_0 0.00% 44KiB / 15.51GiB 0.00% 0B / 0B 0B / 0B 1
8045a70d159c k8s_istio-proxy_istio-policy-54b6cdfd7c-hjbp2_istio-system_590ce59c-0fc9-462a-976c-7bf79dd20d6d_0 0.22% 25.97MiB / 200MiB 12.99% 0B / 0B 0B / 0B 42
60be0e4ab808 k8s_mixer_istio-policy-54b6cdfd7c-hjbp2_istio-system_590ce59c-0fc9-462a-976c-7bf79dd20d6d_0 0.02% 24.12MiB / 100MiB 24.12% 0B / 0B 0B / 0B 16
f0f5c7bdf247 k8s_POD_istio-policy-54b6cdfd7c-hjbp2_istio-system_590ce59c-0fc9-462a-976c-7bf79dd20d6d_0 0.00% 44KiB / 15.51GiB
d72a5583d634 k8s_POD_eventing-kafka-cp-kafka-2_default_7c6d5663-02a0-4013-923c-2b56d1e54ed4_0 0.00% 30KiB / 15.51GiB
====================
=== MEMORY USAGE ===
====================
top - 11:10:04 up 96 days, 18:31, 0 users, load average: 0.76, 0.78, 0.77
=======================
Tue 22 Jun 11:10:01 EDT 2021
====================
=== DOCKER STATS ===
====================
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
0c3f02131388 k8s_istio-proxy_istio-ingressgateway-759f7bff9f-l894p_istio-system_81979eee-1d7c-4eae-af8d-18d67dee1838_0 0.22% 80.34MiB / 200MiB 40.17% 0B / 0B 0B / 0B 47
4d06eb9f902f k8s_POD_istio-ingressgateway-759f7bff9f-l894p_istio-system_81979eee-1d7c-4eae-af8d-18d67dee1838_0 0.00% 40KiB / 15.51GiB 0.00% 0B / 0B 0B / 0B 1
b92036f42af2 k8s_cp-kafka-broker_eventing-kafka-cp-kafka-2_default_7c6d5663-02a0-4013-923c-2b56d1e54ed4_0 14.67% 643.3MiB / 10GiB 6.28% 0B / 0B 0B / 0B 76
d72a5583d634 k8s_POD_eventing-kafka-cp-kafka-2_default_7c6d5663-02a0-4013-923c-2b56d1e54ed4_0 0.00% 40KiB / 15.51GiB
但是,它select的第一次值和最后一次记忆值
预期:
时间:6 月 22 日星期二 11:05:01 2021 年美国东部时间
内存:30KiB
时间:6 月 22 日星期二 11:10:01 2021 年美国东部时间
内存:40KiB
实际:
时间:6 月 22 日星期二 11:05:01 2021 年美国东部时间
内存:40KiB
从开始日期开始,您可以将尽可能少的行与 EDT 匹配,直到您将一行与 eventing-kafka-cp-kafka 匹配,并且在匹配内存部分后具有值 15\.51GiB
。
^(?<time>.* EDT 2021)(?:\n.*)*?\n.*eventing-kafka-cp-kafka.* (?<memory>\d+[^\n/]*) / 15\.51GiB
^
字符串开头
(?<time>.* EDT 2021)
命名组 time
(?:\n.*)*?
匹配尽可能少的行
\n.*eventing-kafka-cp-kafka
将换行符与文字文本匹配
.* (?<memory>\d+ [^\n/]*)
命名组 memory
,匹配 1+ 个数字,直到第一个 /
/ 15\.51GiB
字面匹配
我想 select 通过此正则表达式为特定行计算时间和值 时间:2021 年 6 月 22 日星期二 11:05:01 美国东部时间 k8s_POD_eventing-kafka-cp-kafka 示例 30KiB
的使用内存((?<time>(.*?)EDT 2021)((.|\n)*)(?<memoryblock>(?<=(eventing-kafka-cp-kafka)).*\%(\s)*(?<memory>.*)\s(?=\/).*(?=15\.51GiB)))
正文:
=======================
Tue 22 Jun 11:05:01 EDT 2021
====================
=== DOCKER STATS ===
====================
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
0c3f02131388 k8s_istio-proxy_istio-ingressgateway-759f7bff9f-l894p_istio-system_81979eee-1d7c-4eae-af8d-18d67dee1838_0 0.27% 80.34MiB / 200MiB 40.17% 0B / 0B 0B / 0B 47
4d06eb9f902f k8s_POD_istio-ingressgateway-759f7bff9f-l894p_istio-system_81979eee-1d7c-4eae-af8d-18d67dee1838_0 0.00% 40KiB / 15.51GiB -system_a9af3319-421a-492b-a8d2-5ed450509c31_0 0.37% 42.81MiB / 100MiB 42.81% 0B / 0B 0B / 0B 25
139321b972fa k8s_POD_istio-pilot-854fd575d9-tjgb5_istio-system_a9af3319-421a-492b-a8d2-5ed450509c31_0 0.00% 44KiB / 15.51GiB 0.00% 0B / 0B 0B / 0B 1
8045a70d159c k8s_istio-proxy_istio-policy-54b6cdfd7c-hjbp2_istio-system_590ce59c-0fc9-462a-976c-7bf79dd20d6d_0 0.22% 25.97MiB / 200MiB 12.99% 0B / 0B 0B / 0B 42
60be0e4ab808 k8s_mixer_istio-policy-54b6cdfd7c-hjbp2_istio-system_590ce59c-0fc9-462a-976c-7bf79dd20d6d_0 0.02% 24.12MiB / 100MiB 24.12% 0B / 0B 0B / 0B 16
f0f5c7bdf247 k8s_POD_istio-policy-54b6cdfd7c-hjbp2_istio-system_590ce59c-0fc9-462a-976c-7bf79dd20d6d_0 0.00% 44KiB / 15.51GiB
d72a5583d634 k8s_POD_eventing-kafka-cp-kafka-2_default_7c6d5663-02a0-4013-923c-2b56d1e54ed4_0 0.00% 30KiB / 15.51GiB
====================
=== MEMORY USAGE ===
====================
top - 11:10:04 up 96 days, 18:31, 0 users, load average: 0.76, 0.78, 0.77
=======================
Tue 22 Jun 11:10:01 EDT 2021
====================
=== DOCKER STATS ===
====================
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
0c3f02131388 k8s_istio-proxy_istio-ingressgateway-759f7bff9f-l894p_istio-system_81979eee-1d7c-4eae-af8d-18d67dee1838_0 0.22% 80.34MiB / 200MiB 40.17% 0B / 0B 0B / 0B 47
4d06eb9f902f k8s_POD_istio-ingressgateway-759f7bff9f-l894p_istio-system_81979eee-1d7c-4eae-af8d-18d67dee1838_0 0.00% 40KiB / 15.51GiB 0.00% 0B / 0B 0B / 0B 1
b92036f42af2 k8s_cp-kafka-broker_eventing-kafka-cp-kafka-2_default_7c6d5663-02a0-4013-923c-2b56d1e54ed4_0 14.67% 643.3MiB / 10GiB 6.28% 0B / 0B 0B / 0B 76
d72a5583d634 k8s_POD_eventing-kafka-cp-kafka-2_default_7c6d5663-02a0-4013-923c-2b56d1e54ed4_0 0.00% 40KiB / 15.51GiB
但是,它select的第一次值和最后一次记忆值
预期:
时间:6 月 22 日星期二 11:05:01 2021 年美国东部时间
内存:30KiB
时间:6 月 22 日星期二 11:10:01 2021 年美国东部时间
内存:40KiB
实际:
时间:6 月 22 日星期二 11:05:01 2021 年美国东部时间
内存:40KiB
从开始日期开始,您可以将尽可能少的行与 EDT 匹配,直到您将一行与 eventing-kafka-cp-kafka 匹配,并且在匹配内存部分后具有值 15\.51GiB
。
^(?<time>.* EDT 2021)(?:\n.*)*?\n.*eventing-kafka-cp-kafka.* (?<memory>\d+[^\n/]*) / 15\.51GiB
^
字符串开头(?<time>.* EDT 2021)
命名组time
(?:\n.*)*?
匹配尽可能少的行\n.*eventing-kafka-cp-kafka
将换行符与文字文本匹配.* (?<memory>\d+ [^\n/]*)
命名组memory
,匹配 1+ 个数字,直到第一个/
/ 15\.51GiB
字面匹配