Skip to content

Commit 96b184b

Browse files
aphralGAkshay2191
authored andcommitted
Filter NAP logs by Severity (#1169)
1 parent 6de84e1 commit 96b184b

File tree

3 files changed

+22
-4
lines changed

3 files changed

+22
-4
lines changed

internal/collector/otel_collector_plugin.go

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -555,6 +555,24 @@ func (oc *Collector) updateNginxAppProtectTcplogReceivers(nginxConfigContext *mo
555555
oc.config.Collector.Receivers.TcplogReceivers["nginx_app_protect"] = &config.TcplogReceiver{
556556
ListenAddress: nginxConfigContext.NAPSysLogServer,
557557
Operators: []config.Operator{
558+
// regex captures the priority number from the log line
559+
{
560+
Type: "regex_parser",
561+
Fields: map[string]string{
562+
"regex": "^<(?P<priority>\\d+)>",
563+
"parse_from": "body",
564+
"parse_to": "attributes",
565+
},
566+
},
567+
// filter drops all logs that have a severity above 4
568+
// https://docs.secureauth.com/0902/en/how-to-read-a-syslog-message.html#severity-code-table
569+
{
570+
Type: "filter",
571+
Fields: map[string]string{
572+
"expr": "'int(attributes.priority) % 8 > 4'",
573+
"drop_ratio": "1.0",
574+
},
575+
},
558576
{
559577
Type: "add",
560578
Fields: map[string]string{

internal/collector/otel_collector_plugin_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -749,7 +749,7 @@ func TestCollector_updateNginxAppProtectTcplogReceivers(t *testing.T) {
749749
assert.True(tt, tcplogReceiverAdded)
750750
assert.Len(tt, conf.Collector.Receivers.TcplogReceivers, 1)
751751
assert.Equal(tt, "localhost:151", conf.Collector.Receivers.TcplogReceivers["nginx_app_protect"].ListenAddress)
752-
assert.Len(tt, conf.Collector.Receivers.TcplogReceivers["nginx_app_protect"].Operators, 4)
752+
assert.Len(tt, conf.Collector.Receivers.TcplogReceivers["nginx_app_protect"].Operators, 6)
753753
})
754754

755755
// Calling updateNginxAppProtectTcplogReceivers shouldn't update the TcplogReceivers slice
@@ -759,7 +759,7 @@ func TestCollector_updateNginxAppProtectTcplogReceivers(t *testing.T) {
759759
assert.False(t, tcplogReceiverAdded)
760760
assert.Len(t, conf.Collector.Receivers.TcplogReceivers, 1)
761761
assert.Equal(t, "localhost:151", conf.Collector.Receivers.TcplogReceivers["nginx_app_protect"].ListenAddress)
762-
assert.Len(t, conf.Collector.Receivers.TcplogReceivers["nginx_app_protect"].Operators, 4)
762+
assert.Len(t, conf.Collector.Receivers.TcplogReceivers["nginx_app_protect"].Operators, 6)
763763
})
764764

765765
t.Run("Test 3: TcplogReceiver deleted", func(tt *testing.T) {
@@ -778,7 +778,7 @@ func TestCollector_updateNginxAppProtectTcplogReceivers(t *testing.T) {
778778
assert.True(t, tcplogReceiverDeleted)
779779
assert.Len(t, conf.Collector.Receivers.TcplogReceivers, 1)
780780
assert.Equal(t, "localhost:152", conf.Collector.Receivers.TcplogReceivers["nginx_app_protect"].ListenAddress)
781-
assert.Len(t, conf.Collector.Receivers.TcplogReceivers["nginx_app_protect"].Operators, 4)
781+
assert.Len(t, conf.Collector.Receivers.TcplogReceivers["nginx_app_protect"].Operators, 6)
782782
})
783783
}
784784

internal/collector/otelcol.tmpl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -298,7 +298,7 @@ service:
298298
receivers:
299299
{{- range $receiver := $pipeline.Receivers }}
300300
{{- if eq $receiver "tcplog/nginx_app_protect" }}
301-
- tcplog/nginx_app_protect:
301+
- tcplog/nginx_app_protect
302302
{{- else }}
303303
- {{ $receiver }}
304304
{{- end }}

0 commit comments

Comments
 (0)