라즈베리파이4 ELK 설치(우분투 20.04 LTS(arm64 = aarch64) 설치부터)
제가 요즘 검색엔진으로 해보고 싶은게 있어서, 공부하다가 이렇게까지 하게 되었네요. 나누면 좋을 것 같아서 올려봅니다. 졸필이지만 이해해주시고, 도움이 되면 좋겠습니다.
1. 준비물(사실 제가 가지고 있는 것)
가. 라즈베리파이4 4GB
엘라스틱서치를 설치하려면 8GB도 나을 것 같긴합니다. 지금 서버에 설치하는 이유가 설정을 잘 못하면 데스크톱에 서비스 실행하면 바로 버벅댑니다.
나. next-8004n 공유기
키바나를 원격에서 접속하려면 필요합니다. 서버가 아닌 데스크톱을 돌리고, 그곳에 브라우저를 이용해서 접속하기가 속도는 괜찮지만 램의 용량 문제로 어렵습니다. 최근 잘 쓰고 있고 익숙해서 그런데, 해당 공유기가 가성비가 좋아요. 마케팅 아니고 해당 회사와 아무런 상관은 없습니다.
2. 라즈베리파이4에 우분투 20.04 LTS 서버 버전 설치 및 부팅
윈도우에서 진행합니다. https://ubuntu.com/tutorials/how-to-install-ubuntu-on-your-raspberry-pi#1-overview 를 읽어보시면 나오는 내용인데 간단하게 설명합니다.
가. SD카드에 설치할 우분투 다운로드
https://ubuntu.com/download/raspberry-pi 에 접속하세요. 라즈베리파이4에 `Ubuntu Server 20.04.1 LTS`, ’64-bit’ 버전을 다운로드 받으세요.(한 3분 걸립니다.)
나. SD카드에 우분투 이미징 작업에 사용할 이미징 프로그램 받기
https://ubuntu.com/tutorials/how-to-install-ubuntu-on-your-raspberry-pi#2-prepare-the-sd-card 에 접속하세요. 여기보면 `Raspberry Pi Imager for Windows`가 이미징 프로그램 다운로드할 링크입니다. 해당 링크를 클릭해서 라즈베리파이에서 제공하는 이미징 프로그램을 받아서 설치합니다.
다. SD카드에 다운로드한 우분투를 쓰기(이미징 작업)
위에 이미징 프로그램을 설치하면, 이전에 다운로드했던 우분투 이미지 파일을 열 수 있게 됩니다. 해당 이미지 파일 더블클릭해 위에서 설치한 이미징 프로그램으로 이미지 파일을 엽니다. 해당 화면에서 이미지 파일을 쓰게될 SD카드 드라이브를 선택 한 후에 쓰기 버튼을 누르면 됩니다.
라. 이더넷이 와이파이 설정
https://ubuntu.com/tutorials/how-to-install-ubuntu-on-your-raspberry-pi#3-wifi-or-ethernet 를 보시고 하시면 됩니다. 저 같은 경우네는 그냥 공유기에 물려서 별다른 설정을 하지 않았습니다. 어렵지는 않은 것 같습니다.
마. 우분투로 부팅
위에서 만든 SD카드를 라즈베리파이4에 연결하고 전원을 넣습니다. hdmi로 연결한 화면에 글자가 나오고 마지막이 “up 00 seconds”라고 나오면 잘 설치된 것이 맞습니다.
3. 라즈베리파이4에 우분투 20.04 LTS 서버 버전에 로그인하기
가. 로컬이나 원격에서 접속해서 로그인 화면 띄우기
로컬에서는 ctrl + alt +f2키를 누르면 tty2로 접속이 됩니다. 여기에서는 로컬에서 접속해서 진행하는 것으로 하겠습니다.
원격에서 접속하는 방법은 https://ubuntu.com/tutorials/how-to-install-ubuntu-on-your-raspberry-pi#4-boot-ubuntu-server 에 나와 있습니다. `On Windows:` 부분붙어 윈도우즈에서 해당 서버의 아이피를 알아내서 접속하는 부분입니다. 해당 서버의 아이피는 위에 로컬에서 접속하시면 로그인이 끝나면 이 부분은 공유기에서 확인하는 방법도 있으니 그대로 하시면 됩니다. 다른 과정이 있어서 원격에서 접속하는 이 부분은 생략하겠습니다.
나. 로그인 하기
우분투의 기본 접속 아이디 패스워드(ID PW)는 ubuntu 와 ubuntu입니다. 해당 정보로 로그인하세요. 그리고 암호를 바꾸라고 나오면 해당 지시대로 암호를 변경하시면 됩니다.
다. 설치를 위해서 루트로 계정을 전환하기
먼저 기본적으로 루트의 암호를 설정해야 합니다. 아래와 같이 명령을 실행하고, 루트의 암호를 설정합니다. 암호는 적절히 잘 설정하세요.(사람이 생각보다 잘 잊어먹고 힘들어집니다.)
sudo passwd root
아래 명령을 실행해서 루트로 계정을 전환합니다. 암호를 물어보면 위에서 입력했던 루트 암호를 입력하면 됩니다.
su
편이상 여러 가지 파일을 다운로드하게 되는데, 다운로드 되는 장소를 루트 계정의 홈폴더가 되게 하기 이해서 루트 홈 폴더로 이동하기 위해서 아래 명령을 실행합니다.
cd ~
여기까지 수고 많으셨어요. 이짓을 제가 몇 번을 했는지 모르겠는데, 완벽히 하기 위해서 여기에서 다시 정리하면서 하는데도 조금 짜증이 다시 나네요. 다시 가라 앉히고 다음으로 넘어가겠습니다.
4. 우분투 업데이트, 업그레이드
아래 명령으로 우분트 업데이트 합니다.
apt update #혹시 루트가 아닌 계정은 앞에 sudo를 붙여서 sudo apt update로 하셔야 됩니다.
아래 명령으로 우분트 업데이트 합니다. 시간이 30분 정도 조금 걸립니다. 가급적 조금 빠른 인터넷 환경에서 하시는 것이 좋습니다.
apt upgrade #혹시 루트가 아닌 계정은 앞에 sudo를 붙여서 sudo apt upgrade로 하셔야 됩니다. 제가 다시 설명 안 드릴 께요. 막 어려움에 처하다가 이런 에러를 부딪히면 약하기는 하지만 짧게라도 작은 현타가 오는데요. 꼭 기억하세요. 제가 좀 바보라서요.
5. 엘라스틱서치 설치, 설정, 실행, 서비스 등록(부팅시 자동 실행)
가. 엘라스틱서치 설치
아래 명령을 실행하여 엘라스틱서치을 설치합니다. 저는 직접 아카이브로 설치하고 별것을 다했는데요, 진작에 좋은 출처에서 찾아서 아래와 같이 할 것을 그랬습니다. --;;
curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
apt update #다시 한번 업데이트 해 줍니다.
apt install elasticsearch #시간이 조금 걸립니다. 한 10분 정도요. 저희 집이 인터넷 환경이 빠르지는 않은데, 초당 1메가로 받으면 그렇네요.
나. 엘라스틱서치 설정
아래 명령을 실행하셔서 설정파일을 수정하기 위해서 설정파일을 열기 합니다.
nano /etc/elasticsearch/elasticsearch.yml #설정파일을 수정하기 위해서 나노에디터로 여는 명령입니다. 나노 에디터 사용법은 모르셔도 되시겠지만, 아시고 싶으시면 추가로 찾아보시면 되겠습니다.
파일 중에서 “#network.host: 192.168.0.1”을 찾으시고, 아래와 같이 수정하세요. #은 반드시 지워주시구요. 아래와 같이 설정을 변경하면, 원격이 아닌 로컬에서만 접속이 가능합니다. 엘라스틱서치는 외부에서 접속하는 경우가 많지 않으므로 이렇게 합니다. 외부에서 접속하시려면 해당 컴퓨터의 IP를 입력하시면 됩니다. 저같은 경우에는 192.168.1.184입니다. 사설 아이피인데요, dmz나 포트 포워딩 설정으로 접속하려면 이렇게 해야 됩니다.
network.host: localhost
위와 같이 수정하셨으면 저장하고 나갑니다. 방법을 말씀드리면, 우선 ctrl + x키를 동시에 누르시고, 저장할지를 물어보면 y키를 누르시고, 파일명 수정화면이 나오면 그대로 두시고 엔터키를 누르세요.
설정에서 이부분은 하셔도 되고 안하셔도 됩니다. 힙 메모리를 조금 줄이는 부분입니다. 참고로 알아두시면 나중에도 좋으실 것 같아서 적습니다. 저 같은 경우에 우분투 데스크톱에서 돌릴 때 약간 여유가 있게 하기 위해서 이 부분을 줄이는게 좋습니다. 혹시라도 우분투 데스크톱에서 부담이 있으실 때 참고하세요. 그런데 이부분을 줄이시더라도 우분투 데스크톱에서는 다른 프로그램을 추가로 실행하다 보면 문제가 생길 수 있습니다. 제가 그렇게 하다가 몇 번 힘든적이 있는데요. 이부분에 대해서 스스로 해결하셔야 될 것 같아요.
아래 명령을 실행하셔서 설정파일을 수정하기 위해서 설정파일을 열기 합니다.
nano /etc/elasticsearch/jvm.options
파일 중에서 아래 부분을 찾으시구요.
-Xms1g
-Xmx1g
아래와 같이 수정합니다.
-Xms512m
-Xmx512m
위와 같이 수정을 다하셨으면 저장하고 나갑니다. 방법을 말씀드리면, 우선 ctrl + x키를 동시에 누르시고, 저장할지를 물어보면 y키를 누르시고, 파일명 수정화면이 나오면 그대로 두시고 엔터키를 누르세요.
다. 엘라스틱서치 실행
아래 명령으로 실행합니다.
sudo systemctl start elasticsearch #시간이 한 1분정도 걸립니다. 그보다 짧을 수도 있구요.
아래 명령으로 잘 실행이 되었는지 확인합니다. 마지막에 "tagline" : "You Know, for Search" 가 나오면 잘 실행이 된겁니다.
curl -X GET "localhost:9200"
설치와 상관이 없는데요. 아래 명령으로 메모리 상태가 어떤지 한번 살펴봅니다. 약 4기가 중에서 1기가 정도가 사용되고 있네요. 다 보시고 나가려면 f10키를 눌러주시면 됩니다.
htop
라. 엘라스틱서치 서비스 등록(부팅시 자동 실행)
아래 명령으로 서비스 등록합니다. 사실 잘 등록되지는 않아요. 나중에 다시 부팅할대 일일이 실행해 주어야 되더라구요. 그래도 알아 두세요.
systemctl enable elasticsearch
이상 엘라스틱서치의 설치 등에 출처는 https://www.digitalocean.com/community/tutorials/how-to-install-elasticsearch-logstash-and-kibana-elastic-stack-on-ubuntu-20-04 이곳 링크입니다. 이게 제일 잘 맞네요.
6. 키바나 설치
가. 키바나 설치 명령(오류남)
키바나는 엘라스틱서치와 연동하여 시각화 등을 하는 서버입니다.
대부분에 아래 명령으로 설치하면 된다는데, 안 됩니다. 아. 여기부터 문제가 시작되었어요. 직접 다운로드해서 실행해야 됩니다.
apt install kibana
나. 키바나 설치 파일 다운로드
“kibana 다운로드”로 구글링 하면 첫페이지에 링크가 https://www.elastic.co/kr/downloads/kibana 로 나옵니다.
아래 명령으로 “linux aarch64“를 다운로드해서 현재 폴더에 저장하세요.(위에서 보시면 알겠지만 여기는 루트의 홈 폴더입니다. 즉, ”cd ~“로 이동해서 온 폴더입니다.
wget "https://artifacts.elastic.co/downloads/kibana/kibana-7.10.1-linux-aarch64.tar.gz" #따옴표에서 에러가 나면 scheme missing 에러가 나옵니다. 키보드에 엔터키 옆으로 바꿔주셔야 될 수도 있어요. 한 4분 걸리네요.
아래 명령으로 압축을 풉니다.
tar zxvf "kibana-7.10.1-linux-aarch64.tar.gz"
다. 키바나 설정파일 수정
아래 명령어로 키바나 설정파일을 열어 주세요.
nano kibana-7.10.1-linux-aarch64/config/kibana.yml
열려진 설정 파일에서 #server.port: 5601을 찾으세요. 우선 #을 지워주시는 등, 아래와 같이 수정하세요.
server.port: 5601
열려진 설정 파일에서 #server.host: "localhost"를 찾으세요. 우선 #을 지워주시는 등, 아래와 같이 수정하세요. 나중에 이 키바나로 엘라스틱서치에 명령을 주는데요. 외부에서 접속가능하게 하시려면 localhost 대신 192.168.1.184 등으로 바꿔 주셔야 됩니다. 여기서부터는 192.168.1.184로 계속 설명드리겠습니다. 현재 우분투가 데스크톱이 아닌 서버이기 때문에 로컬에서 접속하기 곤란하므로 사설 아이피라 하더라도 localhost 대신 자신의 아이피로 바꾸셔야 됩니다.
server.host: "자신의 IP" #예를 들어 server.host: "192.168.1.184"입니다.
자신의 아이피 알아내는 방법은 아래와 같이 여러 가지입니다.
1. 위에 설명한대로 우분투 설치시에 활용한 방법이 있구요.
2. 우분투 로그인할 때 나오구요.
3. 현재 “ss” 명령어를 날리시면 자신의 아이피가 나오기도 하구요.
4. 공유기에 보시면 접속한 컴퓨터 중에 ubuntu 라는 이름을 가진 컴퓨터에 할당된 아이피기도 합니다.
안 하셔도 되지만, 아래 명령으로 해시해서 설치파일을 확인해 볼 필요도 있습니다. 정상 해시 값은 바로 링크에서 “sha” 링크를 클릭해서 얻을 수 있습니다. 제 경우에 조금 에러가 난 적이 있어서요. 에러가 나면 다운로드 파일을 다 지우시고(rm kibana* -R 명령어 이용) 다시 처음부터 하세요.
sha512sum "kibana-7.10.1-linux-aarch64.tar.gz“
라. 키바나 실행, 테스트, 접속
아래 명령으로 실행합니다.
kibana-7.10.1-linux-aarch64/bin/kibana --allow-root #시간이 조금 1분 정도 걸립니다.
실행이 되고 마지막 줄에 “log [04:57:40.760] [info][server][Kibana][http] http server running at http://192.168.1.184:5601”이 출력되면 서버가 실행된 겁니다. ctrl + z키를 동시에 눌러서 명령을 다시 받을 수 있는 상태로 돌아갑니다.(이러한 상태를 표현하는 방법이 있는지 모르겠지만 이렇게 하면 다시 명령 프롬프트가 나옵니다. ^^) 절대 ctrl + c키를 누르시면 안됩니다. 서버가 닫힙니다. 혹시라도 서버가 닫히면 다시 실행하시면 됩니다. 꼭 유의하세요.
아래 명령으로 실행하면 다음에는 바로 명령 프롬프트를 볼 수가 있습니다. 중간에 실행 결과가 마구 나오는데 당황하지 마시구요. 엔터를 누르면 바로 명령 프롬프트가 나오니 그렇게 하시면 됩니다. 나중에 재실행할 때 이 명령으로 쓰시면 편리하니 참고하세요. 꼭 입니다.
kibana-7.10.1-linux-aarch64/bin/kibana --allow-root &
테스트를 하겠습니다.
아래 명령을 입력했을 때, html 태그들이 나오고 마지막에 “<script src="/bootstrap.js"></script></body></html>”이 나오면 잘 실행되고 있는 것이니다.
curl -X GET "192.168.1.184:5601/status"
혹시 공유기가 있다면 공유기에 있는 다른 컴퓨터나 핸드폰에서 브라우저를 열고 아래 주소로 입력합니다. 키바나에 접속할 수 있으면 성공적으로 실행이 된 것입니다.
아래를 명령을 입력해서 키바나의 상태를 볼 수도 있습니다.
http://192.168.1.184:5601/status
설치와 상관이 없는데요. 아래 명령으로 메모리 상태가 어떤지 한번 살펴봅니다. 현재 단계에서는 약 4기가 중에서 1.3기가 정도가 사용되고 있네요. 다 보시고 나가려면 f10키를 눌러주시면 됩니다.
htop
위와 같은 키바나 설치 등의 방법에 대한 출처는 https://www.digitalocean.com/community/tutorials/how-to-install-elasticsearch-logstash-and-kibana-elastic-stack-on-ubuntu-20-04 이곳 링크입니다.
nginx 와 연동해서 로그인 할 때에 암호를 설정하는 부분 등이 필요할 때는 이 링크를 참조하세요. 저는 간단히 실행만 되게 하기 위함이라서 이부분은 생략합니다.
7. 로그스태시 설치 및 실행
가. 로그스태시 설치
아래 명령으로 실행하면 손쉽게 설치가 됩니다. 10분 정도 소요됩니다.
apt install logstash
손쉽게 설치가 되지 않으시면, https://www.elastic.co/kr/downloads/logstash 에서 “deb aarch64“를 클릭해서 아래 명령어로 다운로드 받으시고 설치하시면 됩니다.
wget "https://artifacts.elastic.co/downloads/logstash/logstash-7.10.1-arm64.deb" ;
dpkg -i "https://artifacts.elastic.co/downloads/logstash/logstash-7.10.1-arm64.deb" ; # 뒤에 ;는 있어도 되고 없어도 됩니다. 여러 명령을 한줄로 실행할 때 사용하는 것인데, 두 개의 명령어를 실행하다가 혹시 에러가 나실 까봐 그냥 붙여 봤습니다.
나. 로그스태시 실행
아래 명령으로 실행합니다.
systemctl start logstash
아래 명령으로 실행 상태를 확인합니다. 명령 프롬프트가 나오면 ctrl + z키를 눌러서 빠져나오면 됩니다. 이경우에는 ctrl + c키를 눌러서 빠져나오셔도 됩니다. 왜인지 이유는 모르겠지만 확인해보니 서비스 실행 상태에 변동이 없네요.
systemctl status logstash
아래 명령으로 서비스로 등록해서 재부팅 후에도 실행되게 합니다.
systemctl enable logstash
로그스태시 관련해서 입력, 출력 연결 등으로 해보실 수 있는 간단한 내용은 https://www.digitalocean.com/community/tutorials/how-to-install-elasticsearch-logstash-and-kibana-elastic-stack-on-ubuntu-20-04 이 링크를 보시면 되겠습니다.
그리고 mysql이나 간단한 연동은 “elasticsearch mysql sync”로 구글링하면 많이 찾으실 수 있는데 어렵더라구요.
8. 부팅시 서버 재실행
아래 명령으로 재부팅하고 다시 잘 돌아가는지 실행해 봅니다. 아마 잘 안 될겁니다. 부팅하고 나서 자동으로 실행이 되지 않습니다. 사실 이 부분은 조금 더 잡아야 하는데, 그냥 명령어로 때우기로 했습니다. 아래 명령들을 실행하시면 모든 서비스가 올라옵니다.
reboot now
서버가 잘 실행이 되지 않으면, 우선 ctrl + alt + f2키를 눌러서 tty2로 이동해서 로그인 화면을 보이게 합니다. 로그인을 한 후, 시작할 때마다 아래 명령들을 입력해 주시면 됩니다. 간단히 아래 3줄을 모두 선택하셔 붙이시고 엔터키를 눌러서 실행하셔도 됩니다. 전부 실행하는데 약 2분 정도 기다리는데, 이 뒤에 아까 키바나로 접속하시면 접속이 되실겁니다.
sudo systemctl start elasticsearch ;
sudo systemctl start logstash ; #cpu 점유율이 계속 높은 이상 증상을 보입니다. sudo systemctl stop logstash로 끄면 됩니다. 해결책을 아직 못 찾았습니다.
sudo /root/kibana-7.10.1-linux-aarch64/bin/kibana --allow-root & #마지막에 &를 붙이셔야 프롬프트가 보입니다. 위에서 설명드렸습니다.
이렇게 일일이 실행하지 않고 다른 방법을 찾을 수 있을 것 같기는 한데, 짧게만 된다라는 것만 보여드리는 글이니, 이렇게만 하고 글을 끝맺겠습니다. 사실 제가 더 할 재주가 없습니다. ^^;;
9. 기타 설치, 설정
가. 엘라스틱서치를 사용하기
키바나를 여기 http://192.168.1.184:5601 링크로 접속하시고, 처음에는 홈(home) 화면에 상단쯤에 dev tools 메뉴를 누르면 나오는 화면에서 명령어를 날릴 수 있습니다. sql query를 입력하신다고 보시면 됩니다. (저는 mysql 만 해봐서 몰랐는데, 좋더라구요. 이렇게 되는구나하구요.)
공식 링크(https://www.elastic.co/guide/kr/elasticsearch/reference/current/gs-exploring-cluster.html)와 엘라스틱서치 가이드북(https://esbook.kimjmin.net/04-data/4.1-rest-api)으로 접속하셔서 조금씩 해보시면 좋으실 것 같아요. 우선 엘라스틱서치 가이드 북이 유명하신 분인 것 같은데, 정말 잘되어 있습니다.
나. 부팅시 자동으로 외장 디스크 연결하기
계속 운영체제 이미지로 설치하다 보면 외장하드를 연결해서 그 곳에 메모를 하는 것이 편한데요. 그러나, 우분투가 서버다 보니 외장하드가 잘 연결되지 않습니다. 그럴 때 자동으로 연결하는 방법이 필요한 경우가 있습니다.
https://m.blog.naver.com/watney0813/221017927194 이 링크가 우분투 버전에 잘 맞습니다. 대신 서버버전이기 때문에 에디터를 nano 에디터를 사용하시면 되겠습니다.
다. 키바나 외부에서 접속하기
공유기에 고급설정을 외부에서 접속이 가능합니다. 해당 공유기에 매뉴얼을 보시면 되는데요. 아래와 같은 내용을 이용하시면 되실 것입니다.
ddns 설정을 하면 제 next-8004n 같은 경우에 noip.com 사이트의 서비스를 이용해서 동적으로 제 공유기의 공인 아이피를 동적으로 도메인 주소와 연결이 되는 서비스를 받을 수가 있습니다.
포트 포워딩 설정(제 공유기에서는 ‘가상의 서버’라는 설정)을 이용해서 외부에서 공유기로 들어오는 특정포트의 패킷을 내부에 특정 아이피가 할당된 컴퓨터의 특정포트로 돌릴수가 있습니다.
라. elasticsearch-php 연동하기
이게 약간 불편하게 띄어 넘은 설명이 많아서 조금 힘들었는데요. 그래도, 여기 공식 링크 https://www.elastic.co/guide/en/elasticsearch/client/php-api/current/quickstart.html 를 활용하시면 됩니다.
apm(apache2 php mysql) 조합으로 서버를 운용을 하실 수도 있습니다. 나중에 필요하시면 한번 써보도록 하겠습니다. 이 부분은요.
마. ssh를 원격에서 root로 접속하려면
현재 상태에서는 root 계정으로는 원격에서 접속이 안 됩니다.
아래 명령어를 이용해서 설정파일을 여세요.
sudo nano /etc/ssh/sshd_config
“#PermitRootLogin prohibit-password”을 아래와 같이 변경하세요. 우선 #을 지우시고 아래와 같이 수정하시면 됩니다.
PermitRootLogin yes
바. 우분투에 프로그램 설치파일인 .deb 파일(데비안 패키지 파일)을 이용한 프로그램 설치
아래 명령어로 설치하시면 됩니다.
dpkg -i “파일명”
설치한 다음에는 아래 명령어를 이용해서 실행하고, 부팅시에 실행되도록 서비스 프로그램으로 등록하면 됩니다.
sudo systemctl start [프로그램명] ;
sudo systemctl enable [프로그램명];
사. 우분투에 프로그램 설치용 압축 파일인 tar.gzv 파일을 이용한 프로그램 설치
아래 명령어로 현재 폴더에 압축을 푸시구요.
tar zxvf “파일명”
다음에는 위에 파일명으로 만들어진 폴더로 이동한 후에 보통 bin 폴더에 있는 실행 프로그램을 실행하시면 됩니다. 리눅스에서는 실행파일은 경로를 입력하지 않으시면 루트에 bin 폴더에 있는 실행파일이 실행되지 유의하세요. 예를 들어 현재 파일명의 폴더에 있는 상태이고, 이때 bin 폴더를 실행하기 위해서 아래 4가지를 입력한다면, 1번, 4번은 실행이 되지만, 2번, 3번은 실행되지 않습니다. 2번은 제일 앞에 /는 루트 폴더를 가리키기 때문에 안되구요. 3번은 앞에 경로가 없으면 루트에 bin 폴더에 실행파일을 가리키기 때문입니다.
bin/kibana # O
/bin/kibana # X
cd bin ; kibana # X
cd bin ; ./kibana # O
10. 잡설
안 읽으셔도 됩니다. 한풀이입니다. ㅎㅎ
elk(elasticsearch, logstash, kibana)는 이번에 해보니 정말 큰 시스템이고, 사업에도, 스타트업에도 많이 쓰이는 중요한 프로그램이라 꼭 오기로라도 설치해 봤습니다.
arm64 아키텍처에 설치하는 과정은 정말 쉽지 않은데, 사업에도 공부에도 도움되는 elk를 저전력 머신에 해보겠다는 일념으로 노력했습니다. 이런 된장. 이거 영어도 한글도 다 해봐도 제대로 되는게 없었네요. 리눅스를 다시 배운 것 같습니다. 저도 영문도 모르지만 안되는 것을 어떻게든 해결되는 방법을 어떻게 찾은 겁니다.
검색해서 실제로 해보려고 하시면 아시겠지만, 각 사이트에 있는 방법 따라서 시작할 때면, 각 사이트에 명령어 실행 때마다 대환장 파티가 시작됩니다. 오래된 것도 많고. 뭐 되는 것도 없고. 환경설정도 뭔지 알 수 없고, 설정도 다 다른 것 같고, 시작도 어디부턴지 모르겠고. 그냥 다 한발짝만 가다 안 되더라구요. 그러니 저같은 초보는 할 수가 없어서 오기가 생겼습니다.
너무 안 되는 자료가 많고, 인터넷에 영어, 한글 통틀어서 라즈베리파이4로 최신 버전으로 완벽히 되는 설명서가 없었습니다. 정말 이참에 많이 배우기도 했네요.
그리고 글을 쓰다보니 말이 지쳐서 설명이 짧아지는데, 조금 지친 것도 있고, 글이 조금 난잡하니, 이해해 주세요. 혹시라도 그래서 잘 이해가 안 가시면 제게 말씀주시면, 저도 이해를 높이기 위한 차원에서 다시 수정하겠습니다. 해당 부분 내용하고 수정사항 말씀주세요.
저도 elk 설치 한번 따라서 해 봐야겠습니다. 감사합니다.
추가로, 관리자 전환은 su 대신에 su -를 하시면 로그인 셸이 실행되면서 root의 환경이 바로 적용되므로 cd ~ 하실 필요가 없습니다.
근데 최근의 추세는 보안상 관리자 로그인은 막아 두고 일반 사용자 계정으로 sudo를 사용하는 것 같습니다.
그리고 부팅할 때 서비스를 자동으로 실행시키려면 systemctl start 대신 systemctl enable을 실행하면 됩니다.