ELK logstash Error - System has not been booted with systemed as init system (PID 1), logstash: unrecognized service

YUNU·2023년 5월 8일
0
post-thumbnail

📜 ELK logstash 실행 오류

🟦 logstash System has not been booted with systemed as init system (PID 1) & logstash: unrecognized service

➡️ logstash 설치 시에 "System has not been booted with systemed as init system (PID 1). Can't operate" error 발생

➡️ logstash를 재설치 후 서비스 등록 후 실행을 하였으나 "logstash: unrecognized service" 라는 error 발생하였다.

PID (Process identifier)

  • 모든 프로세서는 각각 고유의 ID가 있고 해당 프로세서에 대한 고유 ID가 PID

init 프로세서

  • 모든 프로세서의 부모 프로세서는 PID 번호가 1번인 init 프로세서임 (init 프로세서는 PID가 1번)

    PID가 0번인 Swapper 프로세스는 부팅되면서 잠시 실행되어 init 프로세서를 실행시킨 후에 부팅이 완료되기전에 자동 종료됨
    ➡️ init 프로세스는 부팅 이후에도 PID 1번으로 남아있음
    시스템상에서 실행 및 생성되는 모든 프로세서들은 PID 1번인 init 프로세서에 의해서 실행됨

➡️ logstash가 service 등록되지 않은 것 같아 init.d 디렉토리를 확인해 보았다.

init.d (initialization daemon)

  • 리눅스에서 데몬을 구동시킬 수 있는 스크립트들을 저장할 수 있는 서비스 디렉토리

데몬(daemon)

  • 리눅스 시스템이 처음 가동될 때, 실행되는 백그라운드 프로세스의 일종
  • 사용자의 요청이 발생하면 이에 적절히 대응하는 리스너 역할
  • 메모리에 상주하면서 특정 요청이 오면 즉시 대응할 수 있도록 대기중인 프로세스
  • 서비스(service)라고 부르기도 하며, 보통 리눅스 시스템의 1번 프로세스인 init(PID=1)이 실행하고, 데몬 프로그램의 명령어는 'd'로 끝난다.

어떤 프로그램을 구동시킬 때, 요청이 들어오면 해당하는 데몬을 메모리에 올리고 요청을 처리한다.

init.d은 데몬을 먼저 상주시키거나 실행, 중지, 다시 실행시킬 수 있는 공간이며 보통 스크립트를 만들어서 이곳에 저장하여 부팅시 자동실행하게 해준다.

➡️ logstash가 없음을 확인하여 system-install로 해당 파일을 생성하였다.

/etc/init.d# /usr/share/logstash/bin/system-install /etc/logstash/startup.options sysv

➡️ 이후 다시 logstash 시스템 등록 후 실행을 시키자 에러 없이 logstash가 실행되었다.

profile
DDeo99

0개의 댓글