sudo filebeat -e -c /etc/filebeat/filebeat.yml -d "publish"
runtime/cgo: pthread_create failed: Operation not permitted
관련 오류에 대한 공식 질문 및 대답이다.
Filebeat and GLIBC Errors on Ubuntu 22.04
https://github.com/elastic/beats/pull/30620
요약하자면, Ubuntu 22.04 버젼부터는 glibc 2.35 이상 버젼을 사용하게 되는데, 이 버젼에서의 cgo system call이 rseq 함수를 부르게 된다. 그런데, 이 rseq 함수가 filebeat에서 허락된 시스템 콜 리스트에 포함되어 있지 않기 때문에 (권한이 없었을 경우), 지속적으로 오류가 생겼다.
따라서 filebeat/elasticsearch 부분을 버젼 7.12.2로 변경하거나 (7.12.2의 경우 rseq 함수가 filebeat에 추가된다.), 아래의 config 파일을 변경하는 방법을 통해 해결할 수 있었는데, config 파일 부분에 seccomp을 추가하여 해결하였다.
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/nginx/*.log
output.elasticsearch:
hosts: ["http://xx.xx.xx.xx:9200"]
seccomp:
default_action: allow
syscalls:
- action: allow
names:
- rseq
공감하며 읽었습니다. 좋은 글 감사드립니다.