apiVersion: observability.kaasops.io/v1alpha1 kind: VectorPipeline metadata: name: vectorpipeline-magiclab namespace: vector spec: sources: kubernetes_logs: type: kubernetes_logs extra_label_selector: "vector-disabled!=true" extra_namespace_label_selector: "vector-disabled!=true" exclude_paths_glob_patterns: ["**/*.gz", "**/*.tmp"] max_line_bytes: 10485760 # 10Mi delay_deletion_ms: 600000 glob_minimum_cooldown_ms: 10000 ignore_older_secs: 600 namespace_annotation_fields: namespace_labels: "" node_annotation_fields: node_labels: "" pod_annotation_fields: container_id: "" container_image: "" container_image_id: "" pod_annotations: "" pod_ip: "" pod_ips: "" pod_namespace: "" pod_owner: "" pod_uid: "" internal_metrics: type: internal_metrics transforms: kubernetes_transform: type: remap inputs: - kubernetes_logs drop_on_abort: true metric_tag_values: single source: |- .fields.cluster = get_env_var!("K8S_CLUSTER") .fields.from = "kubernetes-logs" .fields.host = .kubernetes.pod_node_name if exists(.kubernetes.pod_labels.project) { .fields.project = .kubernetes.pod_labels.project } else if exists(.kubernetes.pod_labels.app) { .fields.project = .kubernetes.pod_labels.app } else if exists(.kubernetes.pod_labels."k8s-app") { .fields.project = .kubernetes.pod_labels."k8s-app" } else { .fields.project = .kubernetes.container_name } .fields.podname = .kubernetes.pod_name .fields.stream = del(.stream) .fields.container = .kubernetes.container_name if exists(.kubernetes.pod_labels.tier) { .fields.items = .kubernetes.pod_labels.tier } else { .fields.items = "others" } del(.kubernetes) del(.source_type) del(.file) sinks: to_aggregator: type: vector inputs: - kubernetes_transform # 这里连接的是上面 transform 的名字 address: vector-aggregator.vector.svc.cluster.local:9000 batch: max_bytes: 10485760 # 10MB timeout_secs: 1 request: timeout_secs: 60 retry_max_duration_secs: 10