Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Keda integration Logs #19460

Merged
merged 20 commits into from
Feb 10, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 61 additions & 0 deletions keda/assets/logs/keda.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
id: keda
metric_id: keda
backend_only: false
installation_sources:
- keda
- keda-admission-webhooks
- keda-metrics-apiserver
facets:
pipeline:
type: pipeline
name: Keda
enabled: true
filter:
query: source:(keda OR keda-admission-webhooks OR keda-metrics-apiserver)
processors:
- type: grok-parser
name: Keda Parser
enabled: true
source: message
samples:
- 'I1216 14:53:06.261024 1 main.go:112] "msg"="Connecting Metrics Service gRPC client to the server" "address"="keda-operator.keda.svc.cluster.local:9666" "logger"="keda_metrics_adapter"'
- 'I1216 14:53:06.680302 1 tlsconfig.go:243] "Starting DynamicServingCertificateController"'
- '2024-12-23T14:21:51Z ERROR scale_handler error resolving auth params {"type": "ScaledJob", "namespace": "default", "name": "csv-processor", "triggerIndex": 0, "error": "connection to redis failed: dial tcp 10.244.0.6:6379: connect: no route to host"}'
- '2024-12-23T14:21:38Z INFO KubeAPIWarningLogger unknown field "status.authenticationsTypes"'
- '2024-12-16T14:53:12Z INFO controller-runtime.builder Registering a validating webhook {"GVK": "keda.sh/v1alpha1, Kind=ScaledObject", "path": "/validate-keda-sh-v1alpha1-scaledobject"}'
grok:
matchRules: |
keda_metrics_adapter3 %{_level_adapter}%{_date_adapter}\s+%{_pid}\s+%{_logger_adapter}]\s+"msg"=%{doubleQuotedString:msg} %{data::keyvalue}
keda_metrics_adapter2 %{_level_adapter}%{_date_adapter}\s+%{_pid}\s+%{_logger_adapter}]\s+%{doubleQuotedString:msg} %{data:component.name:keyvalue}
keda_metrics_adapter1 %{_level_adapter}%{_date_adapter}\s+%{_pid}\s+%{_logger_adapter}]\s+%{_msg}
keda_operator2 %{_date_operator}\s+%{_level_operator}\s+%{_logger_op}\s+%{_msg}\t%{data::json}
keda_operator1 %{_date_operator}\s+%{_level_operator}\s+%{_logger_op}\s+%{_msg}
supportRules: |
_date_adapter %{date("MMDD HH:mm:ss.SSSSSS"):timestamp}
_date_operator %{date("yyyy-MM-dd'T'HH:mm:ssZ"):timestamp}
_level_adapter %{regex("[A-Z]"):level}
_level_operator %{word:level}
_logger_adapter %{regex("[^:]+"):logger.file}:%{number:logger.line}
_pid %{integer:process.id}
_logger_op %{notSpace:logger.name}
_msg %{regex("[^\\t]*"):msg}
- type: date-remapper
name: Define `timestamp` as the official date of the log
enabled: true
sources:
- timestamp
- type: service-remapper
name: Define `service` as the official service of the log
enabled: true
sources:
- service
- type: status-remapper
name: Define `level` as the official status of the log
enabled: true
sources:
- level
- type: message-remapper
name: Define `msg` as the official message of the log
enabled: true
sources:
- msg
79 changes: 79 additions & 0 deletions keda/assets/logs/keda_tests.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
id: "keda"
tests:
-
sample: "I1216 14:53:06.261024 1 main.go:112] \"msg\"=\"Connecting Metrics Service gRPC client to the server\" \"address\"=\"keda-operator.keda.svc.cluster.local:9666\" \"logger\"=\"keda_metrics_adapter\""
result:
custom:
address: "keda-operator.keda.svc.cluster.local:9666"
level: "I"
logger: "keda_metrics_adapter"
process:
id: 1
timestamp: 31503186261
message: "\"Connecting Metrics Service gRPC client to the server\""
status: "info"
tags:
- "source:LOGS_SOURCE"
timestamp: 31503186261
-
sample: "I1216 14:53:06.680302 1 tlsconfig.go:243] \"Starting DynamicServingCertificateController\""
result:
custom:
level: "I"
logger:
file: "tlsconfig.go"
line: 243.0
process:
id: 1.0
timestamp: 31503186680
message: "\"Starting DynamicServingCertificateController\""
status: "info"
tags:
- "source:LOGS_SOURCE"
timestamp: 31503186680
-
sample: "2024-12-23T14:21:51Z\tERROR\tscale_handler\terror resolving auth params\t{\"type\": \"ScaledJob\", \"namespace\": \"default\", \"name\": \"csv-processor\", \"triggerIndex\": 0, \"error\": \"connection to redis failed: dial tcp 10.244.0.6:6379: connect: no route to host\"}"
result:
custom:
error: "connection to redis failed: dial tcp 10.244.0.6:6379: connect: no route to host"
level: "ERROR"
logger:
name: "scale_handler"
name: "csv-processor"
namespace: "default"
timestamp: 1734963711000
triggerIndex: 0
type: "ScaledJob"
message: "error resolving auth params"
status: "error"
tags:
- "source:LOGS_SOURCE"
timestamp: 1734963711000
-
sample: "2024-12-23T14:21:38Z\tINFO\tKubeAPIWarningLogger\tunknown field \"status.authenticationsTypes\""
result:
custom:
level: "INFO"
logger:
name: "KubeAPIWarningLogger"
timestamp: 1734963698000
message: "unknown field \"status.authenticationsTypes\""
status: "info"
tags:
- "source:LOGS_SOURCE"
timestamp: 1734963698000
-
sample: "2024-12-16T14:53:12Z\tINFO\tcontroller-runtime.builder\tRegistering a validating webhook\t{\"GVK\": \"keda.sh/v1alpha1, Kind=ScaledObject\", \"path\": \"/validate-keda-sh-v1alpha1-scaledobject\"}"
result:
custom:
GVK: "keda.sh/v1alpha1, Kind=ScaledObject"
level: "INFO"
logger:
name: "controller-runtime.builder"
path: "/validate-keda-sh-v1alpha1-scaledobject"
timestamp: 1734360792000
message: "Registering a validating webhook"
status: "info"
tags:
- "source:LOGS_SOURCE"
timestamp: 1734360792000
1 change: 1 addition & 0 deletions keda/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
"Supported OS::Linux",
"Supported OS::Windows",
"Supported OS::macOS",
"Category::Log Collection",
"Category::Metrics",
"Category::Kubernetes",
"Category::Security",
Expand Down
Loading