Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
If you are interested in working on this issue or have submitted a pull request, please leave a comment
Problem
Hi, We use vector in cluster kubernetes on windows worker nods, in windows node path to logs in format like "/var\log\pods\sandbox0-ns_sandbox0-name_sandbox0-uid\sandbox0-container0-name\1.log", vector doesnt parse this path and I get error "Failed to annotate event with pod metadata.".
This problem is due to the lack of a delimeter for Windows Path in https://github.com/vectordotdev/vector/blob/master/src/sources/kubernetes_logs/path_helpers.rs#L37 .
This can be fix with a few lines code. For example :
const WINDOWS_DELIMITER: &str = "\\";
const LINUX_DELIMITER: &str = "/";
pub(super) fn parse_log_file_path(path: &str) -> Option<LogFileInfo<'_>> {
let delimiter;
if path.chars().nth(4) == Some('/') {
delimiter = LINUX_DELIMITER;
} else {
delimiter = WINDOWS_DELIMITER;
}
let mut components = path.rsplit(&delimiter);
let _log_file_name = components.next()?;
let container_name = components.next()?;
let pod_dir = components.next()?;
let mut pod_dir_components = pod_dir.rsplit(LOG_PATH_DELIMITER);
let pod_uid = pod_dir_components.next()?;
let pod_name = pod_dir_components.next()?;
let pod_namespace = pod_dir_components.next()?;
Some(LogFileInfo {
pod_namespace,
pod_name,
pod_uid,
container_name,
})
A note for the community
Problem
Hi, We use vector in cluster kubernetes on windows worker nods, in windows node path to logs in format like "/var\log\pods\sandbox0-ns_sandbox0-name_sandbox0-uid\sandbox0-container0-name\1.log", vector doesnt parse this path and I get error "Failed to annotate event with pod metadata.". This problem is due to the lack of a delimeter for Windows Path in https://github.com/vectordotdev/vector/blob/master/src/sources/kubernetes_logs/path_helpers.rs#L37 . This can be fix with a few lines code. For example :
I hope this will be fixed soon, thanks.
Configuration
Version
vector 0.30.0 (x86_64-pc-windows-msvc 38c3f0b)
Debug Output
Example Data
This code can testing in https://play.rust-lang.org/
Additional Context
No response
References
No response