Filebeat 실행 오류 / runtime/cgo: pthread_create failed: Operation not permitted

백종현·2023년 7월 29일
1

실행 코드

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
profile
노력하는 사람

3개의 댓글

comment-user-thumbnail
2023년 7월 29일

공감하며 읽었습니다. 좋은 글 감사드립니다.

1개의 답글
comment-user-thumbnail
2023년 8월 4일

감사합니다!!!

답글 달기