본문 바로가기

프로젝트

리눅스로 한 학기 살기 (2) PLEX, Prometheus, Grafana

7주차. PLEX Media Server

PLEX Media Server

소프트웨어 선택 계기

라즈베리파이를 NAS로 만들고 더 할 수 있는 게 뭐 없을까 찾아보던 중,

직접 나만의 넷플릭스를 만들 수 있다느 Plex에 대해 알게 되었다. 

 

가지고 있는 영화나 음악 파일이 있는 건 아니지만,

라즈베리파이에 설치해두면 언젠가 쓸 일이 있지 않을까 싶어서 설치해보았다. 

 

소프트웨어 개요/특징

서버에 PLEX를 설치하고 폴더를 지정하면 자동으로 드라이브를 스캔해서 라이브러리 환경을 구축해준다. 

 

휴대폰에 PLEX를 설치해도 내 계정과 연결된 서버의 컨텐츠를 감상할 수 있고,

휴대폰에서 라즈베리파이의 IP주소를 통해 웹으로 접속해도 동일하게 이용이 가능하다.

 

하지만 웹이 아닌 앱을 이용할 경우 5천원 가량을 지불해야 사용할 수 있다. 

 

실시간 트랜스코딩 기능이 있어 네트워크 상황에 맞는 적절한 화질로 끊김없는 재생이 가능하다. 

 

사용 후기

우선 PLEX를 설치해야 하는데,

PLEX는 라즈베리파이OS의 기본 저장소에 없기 때문에 저장소를 업데이트해줘야 한다. 

 

업데이트 과정을 거친 후 

sudo apt install plexmediaserver

 

해당 명령을 터미널에 입력하면 PLEX를 설치할 수 있다. 

 

설치한 뒤, 

로컬IP:32400/web 으로 접속하면 PLEX 로그인 창이 나온다. 

 

로그인해주고 라즈베리파이에 마운트해준 USB 폴더를 지정해주면

해당 폴더 내의 파일들을 자동으로 스캔해 나만의 라이브러리를 만들어준다. 

 

PLEX Media Server 앱 내부 사진

사진처럼 휴대폰 앱을 통해 라이브러리의 비디오 파일을 재생할 수 있다. 

 

PLEX Media Server 웹 사진

 

웹의 UI도 비슷한데, 기능상 차이는 없는 것으로 보인다. 

 

Samba 폴더가 현재 /home/raspi 폴더로 잡혀있는데, 

수정해서 /media/mydrive 경로도 네트워크 위치에 추가해준다면

영상을 훨씬 더 편하게 업로드할 수 있을 것 같다. 

 

 

8주차. Prometheus, Grafana

소프트웨어 선택 계기

동아리에서 센서들의 정보를 한번에 보여주도록 하는 대시보드를 만드는 프로그램을 진행하는데, 

대시보드를 만들 수 있는 여러 툴, 라이브러리를 찾던 중 Grafana라는 것을 알게 되었다. 

 

이걸 라즈베리파이에 설치한다면 보기 쉽지 않았던 라즈베리파이의 자원 사용량을 좀 있어보이게 확인해볼 수 있겠다 싶어 설치해보게 되었다. 

 

소프트웨어 개요/특징

설치된 폴더를 보면 Prometheus 폴더 내부에 node exporter가 들어있다. node exporter가 시스템 메트릭을 수집하고, 이를 내부망 http 엔드포인트에 노출한다. 

 

이후 Prometheus가 설정된 주기(기본15초)에 따라 Node exporter의 http 엔드포인트에 접근해 해당 데이터를 수집한다. 

 

수집한 데이터는 Prometheus 자체 시계열 DB에 저장하고, 그렇게 저장된 데이터를 Grafana라는 시각화 도구를 통해 시각화할 수 있는 것이다. 

 

사용 후기

설치하면서 이해한 바에 따르면,

Node exporter는 localhost:9100/metrics를 통해 데이터를 노출하고,

Prometheus의 설정에서 해당 엔드포인트를 지정하면 Prometheus에서 Node exporter로부터 메트릭을 수집한다. 

 

Grafana 대시보드 화면

 

위 사진이 Grafana에서 생성한 라즈베리파이 모니터링 대시보드의 모습이다. 

 

라즈베리파이를 재부팅했더니 업타임이 짧아서 그래프 모양이 잘 안보이긴 하지만, 데이터가 어떻게 나오는 지는 확인할 수 있다. 

 

 

 

Prometheus 화면

 

Node_cpu_seconds_total 이라는 쿼리문을 통해 15초 단위로 누적된 cpu 사용량 그래프를 확인할 수 있다. 

 

해당 데이터는 누적된 사용량으로, 단위 시간으로 나눠 현재 사용량을 구할 수 있다. 

 

 

Status 탭에서는 Node로부터 데이터를 받아오는 것을 확인할 수 있다. 

 

Node exporter 없이도 Prometheus는 사용할 수 있지만, Grafana를 사용하기 위하여 Node exporter를 설치해준 것이다.