[Kibana] 키바나 백그라운드 데몬으로 실행하기(node.js, nvm, pm2)
안녕하세요.
이번 포스팅에서는 키바나를 백그라운드로 실행하는 방법에 대해서 알아보겠습니다.
우선 키바나를 실행시키기 위한 명령어는 bin 디렉토리 안에 있는 kibana 파일을 실행해주면 됩니다.
하지만 이는 현재 접속중인 세션이 끊어지게 된다면 해당 어플리케이션도 종료가 되게 되는데요. 이것 때문에 어플리케이션을 백그라운드로 실행하는 것이 필요합니다.
우선 키바나가 백그라운드로 실행되기 위해서는 여러가지 방법이 존재하는데요.
https://www.elastic.co/guide/en/kibana/master/start-stop.html
리눅스 명령어를 다루거나 리눅스 내에서 어떤 소프트웨어를 설치하고 기동하면서 많이 봤을 systemctl 과 service를 제시하기도 합니다.
하지만 저는 kibana 안쪽 디렉토리에 node와 node_modules, package.json을 보고 노드로 짜여진 것을 확인했습니다.
우선 package.json을 확인하여 키바나가 구동하는 node.js 버전을 확보해두겠습니다.
키바나 루트 디렉토리
cat bin/package.json
>> "node": "14.15.4"
출력된 package.json에서 node 프로퍼티의 값을 보니 14.15.4 버전이었습니다. 그러므로 저는 이 키바나를 실행시키기 위해서는 14.15.4 버전의 node.js가 필요합니다.
이는 아래의 포스팅에 잘 정리하였습니다.
https://sas-study.tistory.com/499
node 버전 14.15.4버전이 확보가 되었습니다.
하지만 실행할 노드가 확보되었을 뿐 노드자체를 데몬으로 실행하기 위해서는 별도의 소프트웨어가 필요합니다. node.js를 데몬으로 실행하기 위해서는 pm2가 필요합니다.
따라서 아래의 포스팅을 통해 pm2를 설치해주시기 바랍니다.
https://sas-study.tistory.com/500
위에서 pm2를 이용해서 kibana 어플리케이션을 데몬으로 실행할 수 있었습니다.
아래는 해당 명령어입니다.
- kibana 실행
pm2 start kibana-7.11.1-linux-x86_64/src/cli/cli.js --name kibana
- kibana 실행중지
pm2 stop kibana
이렇게 된다면 특정 디렉토리를 기준으로 kibana 디렉토리 내에 스크립트를 작성할 수도 있을 것 같습니다.
감사합니다.