Skip to content

Commit 2e1a9e3

Browse files
vlagent: set default values for the msg and time flags in kubernetesCollector (#888)
Co-authored-by: Phuong Le <[email protected]>
1 parent c7cde83 commit 2e1a9e3

File tree

3 files changed

+23
-4
lines changed

3 files changed

+23
-4
lines changed

app/vlagent/kubernetescollector/processor.go

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ func (lfp *logFileProcessor) addLineInternal(timestamp int64, line []byte) {
188188
})
189189
} else {
190190
// vlagent should override the timestamp from CRI to the timestamp parsed from the log line.
191-
n := fieldIndex(parser.Fields, *timeField)
191+
n := fieldIndex(parser.Fields, getTimeFields())
192192
if n >= 0 {
193193
f := &parser.Fields[n]
194194
v, ok := logstorage.TryParseTimestampRFC3339Nano(f.Value)
@@ -199,12 +199,12 @@ func (lfp *logFileProcessor) addLineInternal(timestamp int64, line []byte) {
199199
}
200200
}
201201

202-
logstorage.RenameField(parser.Fields, *msgField, "_msg")
202+
logstorage.RenameField(parser.Fields, getMsgFields(), "_msg")
203203
}
204204

205205
if len(parser.Fields) > 1000 {
206206
line := logstorage.MarshalFieldsToJSON(nil, parser.Fields)
207-
logger.Warnf("dropping log line with %d fields; %s", parser.Fields, line)
207+
logger.Warnf("dropping log line with %d fields; %s", len(parser.Fields), line)
208208
return
209209
}
210210

@@ -398,6 +398,24 @@ func initExtraFields() {
398398
parsedExtraFields = fields
399399
}
400400

401+
var defaultMsgFields = []string{"message", "msg", "log"}
402+
403+
func getMsgFields() []string {
404+
if len(*msgField) == 0 {
405+
return defaultMsgFields
406+
}
407+
return *msgField
408+
}
409+
410+
var defaultTimeFields = []string{"time", "timestamp", "ts"}
411+
412+
func getTimeFields() []string {
413+
if len(*timeField) == 0 {
414+
return defaultTimeFields
415+
}
416+
return *timeField
417+
}
418+
401419
var partialCRIContentBufPool bytesutil.ByteBufferPool
402420

403421
var criJSONParserPool fastjson.ParserPool

docs/victorialogs/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ according to the follosing docs:
2626
* BUGFIX: [OpenTelemetry data ingestion](https://docs.victoriametrics.com/victorialogs/data-ingestion/opentelemetry/): properly handle `null` values inside arrays. Previously, such arrays could cause a panic during ingestion. See [#869](https://github.com/VictoriaMetrics/VictoriaLogs/issues/869#issuecomment-3627177567). The issue has been introduced in [v1.40.0](https://github.com/VictoriaMetrics/VictoriaLogs/releases/tag/v1.40.0).
2727
* BUGFIX: [OpenTelemetry data ingestion](https://docs.victoriametrics.com/victorialogs/data-ingestion/opentelemetry/): properly skip attributes with missing key. See [this report](https://github.com/VictoriaMetrics/VictoriaLogs/issues/869#issuecomment-3631307996).
2828
* BUGFIX: [OpenTelemetry data ingestion](https://docs.victoriametrics.com/victorialogs/data-ingestion/opentelemetry/): reduce memory usage after [v1.40.0 release](https://github.com/VictoriaMetrics/VictoriaLogs/releases/tag/v1.40.0). See [#869](https://github.com/VictoriaMetrics/VictoriaLogs/issues/869).
29+
* BUGFIX: [Kubernetes Collector](https://docs.victoriametrics.com/victorialogs/vlagent/#collect-kubernetes-pod-logs): properly handle unset [`-kubernetesCollector.msgField`](https://docs.victoriametrics.com/victorialogs/vlagent/#kubernetes-collector-configuration) and [`-kubernetesCollector.timeField`](https://docs.victoriametrics.com/victorialogs/vlagent/#kubernetes-collector-configuration) flags. Previously, vlagent didn't apply the default values described in the documentation.
2930

3031
## [v1.40.0](https://github.com/VictoriaMetrics/VictoriaLogs/releases/tag/v1.40.0)
3132

docs/victorialogs/vlagent.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ as [`_msg`](https://docs.victoriametrics.com/victorialogs/keyconcepts/#message-f
108108
- `msg`
109109
- `log`
110110

111-
You can change the default list of `_msg` fields by passing `-kubernetesCollector.msgFields` command-line flag with comma-separated list of field names.
111+
You can change the default list of `_msg` fields by passing `-kubernetesCollector.msgField` command-line flag with comma-separated list of field names.
112112

113113
`vlagent` extracts timestamp from the log line and uses it as
114114
[`_time`](https://docs.victoriametrics.com/victorialogs/keyconcepts/#time-field) field, using the following fields:

0 commit comments

Comments
 (0)