Skip to content

Commit 89f4aa6

Browse files
committed
Update default pattern, fix tests
1 parent a73d21f commit 89f4aa6

File tree

4 files changed

+22
-13
lines changed

4 files changed

+22
-13
lines changed

Makefile

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,23 @@
11
TARGET = kubernetes-oomkill-exporter
22
GOTARGET = github.com/sapcc/$(TARGET)
33
REGISTRY ?= sapcc
4-
VERSION ?= 0.3.1
4+
VERSION ?= 0.4.0
55
IMAGE = $(REGISTRY)/$(BIN)
66
DOCKER ?= docker
77

88
all: container
99

10+
test:
11+
go test .
12+
1013
container:
1114
$(DOCKER) build --network=host -t $(REGISTRY)/$(TARGET):latest -t $(REGISTRY)/$(TARGET):$(VERSION) .
1215

1316
push:
1417
$(DOCKER) push $(REGISTRY)/$(TARGET):latest
1518
$(DOCKER) push $(REGISTRY)/$(TARGET):$(VERSION)
1619

17-
.PHONY: all local container push
20+
.PHONY: all test container push
1821

1922
clean:
2023
rm -f $(TARGET)

main.go

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ import (
1717
)
1818

1919
var (
20-
kmesgREStr = `/pod(\w+-\w+-\w+-\w+-\w+)/([a-f0-9]+) killed as a result of limit of /kubepods`
21-
kmesgRE *regexp.Regexp
20+
defaultPattern = `^oom-kill.+,task_memcg=\/kubepods(?:\.slice)?\/.+\/(?:kubepods-burstable-)?pod(\w+[-_]\w+[-_]\w+[-_]\w+[-_]\w+)(?:\.slice)?\/(?:docker-)?([a-f0-9]+)`
21+
kmesgRE = regexp.MustCompile(defaultPattern)
2222
)
2323

2424
var (
@@ -35,8 +35,15 @@ var (
3535

3636
func init() {
3737
var err error
38+
var newPattern string
39+
3840
flag.StringVar(&metricsAddr, "listen-address", ":9102", "The address to listen on for HTTP requests.")
39-
flag.StringVar(&kmesgREStr, "regexp-pattern", kmesgREStr, "The regexp pattern matching and extracting Pod UID and Container ID.")
41+
flag.StringVar(&newPattern, "regexp-pattern", defaultPattern, "Overwrites the default regexp pattern to match and extract Pod UID and Container ID.")
42+
43+
if newPattern != "" {
44+
kmesgRE = regexp.MustCompile(newPattern)
45+
}
46+
4047
dockerClient, err = docker_client.NewEnvClient()
4148
if err != nil {
4249
glog.Fatal(err)
@@ -46,7 +53,6 @@ func init() {
4653

4754
func main() {
4855
flag.Parse()
49-
kmesgRE = regexp.MustCompile(kmesgREStr)
5056

5157
var labels []string
5258
for _, label := range prometheusContainerLabels {

main_test.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -50,15 +50,15 @@ func parseMessage(input string) (kmsgparser.Message, error) {
5050

5151
func getTestData() ([]string, []string, []string) {
5252
return []string{
53-
"6,22743,6115623303887,-;Task in /kubepods/burstable/pode501ca8a-ec23-11e8-b17a-0a586444015a/f24766bce80e0ce4f0ca2887da2be9d0d250448d7ef503d9f85bf5e549c757d5 killed as a result of limit of /kubepods/burstable/pode501ca8a-ec23-11e8-b17a-0a586444015a",
54-
"6,23800,6780904484233,-;Task in /kubepods/burstable/pod0c4e2576-ef09-11e8-b17a-0a586444015a/9df959ad4292532c5d551226063bd840b906cbf118983fffefa0e3ab90331dc2 killed as a result of limit of /kubepods/burstable/pod0c4e2576-ef09-11e8-b17a-0a586444015a/9df959ad4292532c5d551226063bd840b906cbf118983fffefa0e3ab90331dc2",
53+
"6,22743,6115623303887,-;oom-kill:constraint=CONSTRAINT_MEMCG,nodemask=(null),cpuset=9f02d9fa0049eb2655fc83c765f142362b2cb403b57b70ba3185071015ca3b64,mems_allowed=0-1,oom_memcg=/kubepods/burstable/podd11ab7b0-d6db-4a24-a7de-4a2faf1e6980/9f02d9fa0049eb2655fc83c765f142362b2cb403b57b70ba3185071015ca3b64,task_memcg=/kubepods/burstable/podd11ab7b0-d6db-4a24-a7de-4a2faf1e6980/9f02d9fa0049eb2655fc83c765f142362b2cb403b57b70ba3185071015ca3b64,task=prometheus-conf,pid=3401999,uid=0",
54+
"6,23800,6780904484233,-;oom-kill:constraint=CONSTRAINT_MEMCG,nodemask=(null),cpuset=docker-2260b35b008a15bd118e629c0c5d74e7f3a1fe18c724fbac61a54862fea196dc.scope,mems_allowed=0,oom_memcg=/kubepods.slice/kubepods-burstable.slice/kubepods-burstable-poddfc377c9_c533_4d51_af9e_6e0e0b3db83b.slice,task_memcg=/kubepods.slice/kubepods-burstable.slice/kubepods-burstable-poddfc377c9_c533_4d51_af9e_6e0e0b3db83b.slice/docker-2260b35b008a15bd118e629c0c5d74e7f3a1fe18c724fbac61a54862fea196dc.scope,task=stress,pid=255629,uid=0",
5555
},
5656
[]string{
57-
"e501ca8a-ec23-11e8-b17a-0a586444015a",
58-
"0c4e2576-ef09-11e8-b17a-0a586444015a",
57+
"d11ab7b0-d6db-4a24-a7de-4a2faf1e6980",
58+
"dfc377c9_c533_4d51_af9e_6e0e0b3db83b",
5959
},
6060
[]string{
61-
"f24766bce80e0ce4f0ca2887da2be9d0d250448d7ef503d9f85bf5e549c757d5",
62-
"9df959ad4292532c5d551226063bd840b906cbf118983fffefa0e3ab90331dc2",
61+
"9f02d9fa0049eb2655fc83c765f142362b2cb403b57b70ba3185071015ca3b64",
62+
"2260b35b008a15bd118e629c0c5d74e7f3a1fe18c724fbac61a54862fea196dc",
6363
}
6464
}

yaml/oomkill-exporter.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ spec:
1818
spec:
1919
containers:
2020
- name: oomkill-exporter
21-
image: sapcc/kubernetes-oomkill-exporter:0.3.1
21+
image: sapcc/kubernetes-oomkill-exporter:0.4.0
2222
imagePullPolicy: IfNotPresent
2323
args:
2424
- -logtostderr

0 commit comments

Comments
 (0)