Skip to content

Commit f34eeda

Browse files
ChrsMarkchendo
andauthored
Cherry-pick #18511 to 7.7: Fix source.address not being set for nginx ingress_controller (#18569)
* Fix source.address not being set for nginx ingress_controller Signed-off-by: chrismark <[email protected]> Co-authored-by: chendo <[email protected]> (cherry picked from commit 8e29ab7)
1 parent b9093e8 commit f34eeda

File tree

3 files changed

+46
-23
lines changed

3 files changed

+46
-23
lines changed

CHANGELOG.next.asciidoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,7 @@ https://github.com/elastic/beats/compare/v7.0.0-alpha2...master[Check the HEAD d
128128
- Fixed typo in log message. {pull}17897[17897]
129129
- Unescape file name from SQS message. {pull}18370[18370]
130130
- Improve cisco asa and ftd pipelines' failure handler to avoid mapping temporary fields. {issue}18391[18391] {pull}18392[18392]
131+
- Fix source.address not being set for nginx ingress_controller {pull}18511[18511]
131132
- Fix `googlecloud.audit` pipeline to only take in fields that are explicitly defined by the dataset. {issue}18465[18465] {pull}18472[18472]
132133
- Fix a rate limit related issue in httpjson input for Okta module. {issue}18530[18530] {pull}18534[18534]
133134
- Fixed ingestion of some Cisco ASA and FTD messages when a hostname was used instead of an IP for NAT fields. {issue}14034[14034] {pull}18376[18376]

filebeat/module/nginx/ingress_controller/ingest/pipeline.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@
5454
},
5555
{
5656
"script": {
57-
"if": "ctx.nginx?.access?.remote_ip_list != null && ctx.nginx.ingress_controller.remote_ip_list.length > 0",
57+
"if": "ctx.nginx?.ingress_controller?.remote_ip_list != null && ctx.nginx.ingress_controller.remote_ip_list.length > 0",
5858
"lang": "painless",
5959
"source": "boolean isPrivate(def dot, def ip) { try { StringTokenizer tok = new StringTokenizer(ip, dot); int firstByte = Integer.parseInt(tok.nextToken()); int secondByte = Integer.parseInt(tok.nextToken()); if (firstByte == 10) { return true; } if (firstByte == 192 && secondByte == 168) { return true; } if (firstByte == 172 && secondByte >= 16 && secondByte <= 31) { return true; } if (firstByte == 127) { return true; } return false; } catch (Exception e) { return false; } } try { ctx.source.address = null; if (ctx.nginx.ingress_controller.remote_ip_list == null) { return; } def found = false; for (def item : ctx.nginx.ingress_controller.remote_ip_list) { if (!isPrivate(params.dot, item)) { ctx.source.address = item; found = true; break; } } if (!found) { ctx.source.address = ctx.nginx.ingress_controller.remote_ip_list[0]; }} catch (Exception e) { ctx.source.address = null; }",
6060
"params": {

filebeat/module/nginx/ingress_controller/test/test.log-expected.json

Lines changed: 44 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@
2626
"nginx.ingress_controller.upstream.response.status_code": 200,
2727
"nginx.ingress_controller.upstream.response.time": 0.0,
2828
"service.type": "nginx",
29-
"source.address": "",
29+
"source.address": "192.168.64.1",
30+
"source.ip": "192.168.64.1",
3031
"url.original": "/products",
3132
"user.name": "-",
3233
"user_agent.device.name": "Other",
@@ -61,7 +62,8 @@
6162
"nginx.ingress_controller.upstream.response.status_code": 200,
6263
"nginx.ingress_controller.upstream.response.time": 0.0,
6364
"service.type": "nginx",
64-
"source.address": "",
65+
"source.address": "192.168.64.1",
66+
"source.ip": "192.168.64.1",
6567
"url.original": "/products/42",
6668
"user.name": "-",
6769
"user_agent.device.name": "Other",
@@ -96,7 +98,8 @@
9698
"nginx.ingress_controller.upstream.response.status_code": 200,
9799
"nginx.ingress_controller.upstream.response.time": 0.001,
98100
"service.type": "nginx",
99-
"source.address": "",
101+
"source.address": "192.168.64.1",
102+
"source.ip": "192.168.64.1",
100103
"url.original": "/products/42",
101104
"user.name": "-",
102105
"user_agent.device.name": "Other",
@@ -131,7 +134,8 @@
131134
"nginx.ingress_controller.upstream.response.status_code": 200,
132135
"nginx.ingress_controller.upstream.response.time": 0.0,
133136
"service.type": "nginx",
134-
"source.address": "",
137+
"source.address": "192.168.64.1",
138+
"source.ip": "192.168.64.1",
135139
"url.original": "/products/42",
136140
"user.name": "-",
137141
"user_agent.device.name": "Other",
@@ -161,7 +165,8 @@
161165
"nginx.ingress_controller.upstream.alternative_name": "",
162166
"nginx.ingress_controller.upstream.name": "",
163167
"service.type": "nginx",
164-
"source.address": "",
168+
"source.address": "192.168.64.1",
169+
"source.ip": "192.168.64.1",
165170
"url.original": "/products/42",
166171
"user.name": "-",
167172
"user_agent.device.name": "Other",
@@ -190,7 +195,8 @@
190195
"nginx.ingress_controller.upstream.alternative_name": "",
191196
"nginx.ingress_controller.upstream.name": "",
192197
"service.type": "nginx",
193-
"source.address": "",
198+
"source.address": "192.168.64.1",
199+
"source.ip": "192.168.64.1",
194200
"url.original": "/products/42",
195201
"user.name": "-",
196202
"user_agent.device.name": "Other",
@@ -224,7 +230,8 @@
224230
"nginx.ingress_controller.upstream.response.status_code": 200,
225231
"nginx.ingress_controller.upstream.response.time": 0.0,
226232
"service.type": "nginx",
227-
"source.address": "",
233+
"source.address": "192.168.64.1",
234+
"source.ip": "192.168.64.1",
228235
"url.original": "/products/42",
229236
"user.name": "-",
230237
"user_agent.device.name": "Other",
@@ -259,7 +266,8 @@
259266
"nginx.ingress_controller.upstream.response.status_code": 200,
260267
"nginx.ingress_controller.upstream.response.time": 0.0,
261268
"service.type": "nginx",
262-
"source.address": "",
269+
"source.address": "192.168.64.1",
270+
"source.ip": "192.168.64.1",
263271
"url.original": "/products/42",
264272
"user.name": "-",
265273
"user_agent.device.name": "Other",
@@ -297,7 +305,8 @@
297305
"nginx.ingress_controller.upstream.response.status_code": 200,
298306
"nginx.ingress_controller.upstream.response.time": 0.0,
299307
"service.type": "nginx",
300-
"source.address": "",
308+
"source.address": "192.168.64.1",
309+
"source.ip": "192.168.64.1",
301310
"url.original": "/favicon.ico",
302311
"user.name": "-",
303312
"user_agent.device.name": "Other",
@@ -335,7 +344,8 @@
335344
"nginx.ingress_controller.upstream.response.status_code": 200,
336345
"nginx.ingress_controller.upstream.response.time": 0.001,
337346
"service.type": "nginx",
338-
"source.address": "",
347+
"source.address": "192.168.64.1",
348+
"source.ip": "192.168.64.1",
339349
"url.original": "/v2",
340350
"user.name": "-",
341351
"user_agent.device.name": "Other",
@@ -373,7 +383,8 @@
373383
"nginx.ingress_controller.upstream.response.status_code": 200,
374384
"nginx.ingress_controller.upstream.response.time": 0.002,
375385
"service.type": "nginx",
376-
"source.address": "",
386+
"source.address": "192.168.64.1",
387+
"source.ip": "192.168.64.1",
377388
"url.original": "/favicon.ico",
378389
"user.name": "-",
379390
"user_agent.device.name": "Other",
@@ -411,7 +422,8 @@
411422
"nginx.ingress_controller.upstream.response.status_code": 200,
412423
"nginx.ingress_controller.upstream.response.time": 0.001,
413424
"service.type": "nginx",
414-
"source.address": "",
425+
"source.address": "192.168.64.1",
426+
"source.ip": "192.168.64.1",
415427
"url.original": "/products/42",
416428
"user.name": "-",
417429
"user_agent.device.name": "Other",
@@ -449,7 +461,8 @@
449461
"nginx.ingress_controller.upstream.response.status_code": 200,
450462
"nginx.ingress_controller.upstream.response.time": 0.001,
451463
"service.type": "nginx",
452-
"source.address": "",
464+
"source.address": "192.168.64.1",
465+
"source.ip": "192.168.64.1",
453466
"url.original": "/favicon.ico",
454467
"user.name": "-",
455468
"user_agent.device.name": "Other",
@@ -487,7 +500,8 @@
487500
"nginx.ingress_controller.upstream.response.status_code": 200,
488501
"nginx.ingress_controller.upstream.response.time": 0.002,
489502
"service.type": "nginx",
490-
"source.address": "",
503+
"source.address": "192.168.64.1",
504+
"source.ip": "192.168.64.1",
491505
"url.original": "/products/42",
492506
"user.name": "-",
493507
"user_agent.device.name": "Other",
@@ -525,7 +539,8 @@
525539
"nginx.ingress_controller.upstream.response.status_code": 200,
526540
"nginx.ingress_controller.upstream.response.time": 0.001,
527541
"service.type": "nginx",
528-
"source.address": "",
542+
"source.address": "192.168.64.1",
543+
"source.ip": "192.168.64.1",
529544
"url.original": "/",
530545
"user.name": "-",
531546
"user_agent.device.name": "Other",
@@ -563,7 +578,8 @@
563578
"nginx.ingress_controller.upstream.response.status_code": 200,
564579
"nginx.ingress_controller.upstream.response.time": 0.002,
565580
"service.type": "nginx",
566-
"source.address": "",
581+
"source.address": "192.168.64.1",
582+
"source.ip": "192.168.64.1",
567583
"url.original": "/favicon.ico",
568584
"user.name": "-",
569585
"user_agent.device.name": "Other",
@@ -601,7 +617,8 @@
601617
"nginx.ingress_controller.upstream.response.status_code": 200,
602618
"nginx.ingress_controller.upstream.response.time": 0.002,
603619
"service.type": "nginx",
604-
"source.address": "",
620+
"source.address": "192.168.64.1",
621+
"source.ip": "192.168.64.1",
605622
"url.original": "/v2",
606623
"user.name": "-",
607624
"user_agent.device.name": "Other",
@@ -639,7 +656,8 @@
639656
"nginx.ingress_controller.upstream.response.status_code": 200,
640657
"nginx.ingress_controller.upstream.response.time": 0.0,
641658
"service.type": "nginx",
642-
"source.address": "",
659+
"source.address": "192.168.64.1",
660+
"source.ip": "192.168.64.1",
643661
"url.original": "/favicon.ico",
644662
"user.name": "-",
645663
"user_agent.device.name": "Other",
@@ -677,7 +695,8 @@
677695
"nginx.ingress_controller.upstream.response.status_code": 200,
678696
"nginx.ingress_controller.upstream.response.time": 0.001,
679697
"service.type": "nginx",
680-
"source.address": "",
698+
"source.address": "192.168.64.1",
699+
"source.ip": "192.168.64.1",
681700
"url.original": "/products/42?address=delhi+technological+university",
682701
"user.name": "-",
683702
"user_agent.device.name": "Other",
@@ -712,7 +731,8 @@
712731
"nginx.ingress_controller.upstream.response.status_code": 200,
713732
"nginx.ingress_controller.upstream.response.time": 0.001,
714733
"service.type": "nginx",
715-
"source.address": "",
734+
"source.address": "192.168.64.1",
735+
"source.ip": "192.168.64.1",
716736
"url.original": "/v2",
717737
"user.name": "-",
718738
"user_agent.device.name": "Other",
@@ -750,7 +770,8 @@
750770
"nginx.ingress_controller.upstream.response.status_code": 200,
751771
"nginx.ingress_controller.upstream.response.time": 0.0,
752772
"service.type": "nginx",
753-
"source.address": "",
773+
"source.address": "192.168.64.1",
774+
"source.ip": "192.168.64.1",
754775
"url.original": "/favicon.ico",
755776
"user.name": "-",
756777
"user_agent.device.name": "Other",
@@ -788,7 +809,8 @@
788809
"nginx.ingress_controller.upstream.response.status_code": 200,
789810
"nginx.ingress_controller.upstream.response.time": 0.0,
790811
"service.type": "nginx",
791-
"source.address": "",
812+
"source.address": "192.168.64.1",
813+
"source.ip": "192.168.64.1",
792814
"url.original": "/v2/some",
793815
"user.name": "-",
794816
"user_agent.device.name": "Other",

0 commit comments

Comments
 (0)