containerd로 전환한 후 k8s의 Filebeat 구성
2424 단어 kubernetes
그러나 현재 클러스터 노드가 Docker Runtime을 통해 실행 중인 경우 Docker에 긴밀하게 하드코딩된 일부 구성이 있는 것이 확실합니다.
이 기사에서는 원래 Docker Runtime용으로 설정된 filebeat 구성과 중요한 로그를 계속 가져오기 위해 containerd로 전환한 후 수행해야 하는 작업에 중점을 둘 것입니다.
주요 단계는 filebeat 구성 파일을 업데이트하는 것입니다.
symlinks
옵션 활성화 중 dissect
및 drop_fields
프로세서를 함께 사용하여 필요한그런 다음 filebeat DaemonSet 정의의 volumeMounts 섹션을 업데이트합니다.
/var/lib/docker/containers
인 경로를 /var/log/containers
로 변경해야 합니다.다음은 저에게 도움이 된 filebeat 구성 파일의 스니펫입니다. 어떤 식으로든 도움이 되었거나 개선을 위한 제안이 있는 경우 주저하지 말고 알려주십시오.
apiVersion: v1
kind: ConfigMap
metadata:
name: filebeat-config
namespace: kube-system
data:
filebeat.yml: |-
setup.ilm.enabled: false
filebeat.inputs:
- type: log
symlinks: true
paths:
- /var/log/containers/*.log
processors:
- add_kubernetes_metadata:
host: ${NODE_NAME}
in_cluster: true
default_matchers.enabled: false
matchers:
- logs_path:
logs_path: /var/log/containers/
processors:
- add_cloud_metadata:
- drop_event:
when:
equals:
kubernetes.namespace: "kube-system"
- dissect:
tokenizer: "%{timestamp} %{std} %{capital-letter} %{parsed-message}"
field: "message"
target_prefix: ""
- decode_json_fields:
fields: ["message","log","logs.log","parsed-message"]
target: "logs"
process_array: true
- drop_fields:
when:
regexp:
message: "^{\""
fields: ["message"]
ignore_missing: true
- drop_fields:
fields: ["log.file.path","timestamp","std","capital-letter","parsed-message"]
ignore_missing: true
...
좋은 하루 되세요!
Reference
이 문제에 관하여(containerd로 전환한 후 k8s의 Filebeat 구성), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/lboix/filebeat-config-on-k8s-after-switching-to-containerd-1p6o텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)