• 돌아가기
  • 아래로
  • 위로
  • 목록
  • 댓글
정보

Goaccess 로 Nginx Proxy Manager 실시간 대시보드 만들기.

달소 달소 1317

5

7

안녕하세요. 달소입니다.

 

앞서 Swag의 로그분석 대시보드를 분석하면서 비슷한 툴인 Nginx Proxy Manager(NPM)에서도 비슷한게 있을것같아서 구글링 하던중에 발견했습니다.

 

Docker로 간단하게 구축이 가능하기때문에 관심있으신분들은 한번 해보시면 좋을듯합니다~
먼저 완성본 사진을 간단하게 보여드리면 NPM으로 들어오는 요청들의 로그에 대해서 실시간으로 대시보드를 구축해줍니다.

image.png.jpg

이런식으로 보여줍니다.

보여주는 정보도 꽤많습니다.

접근 브라우저,접근 ip등 nginx 액세스 로그로 나오는거의 모든것들을 대시보드 형태로 보여줍니다.

 

image.png.jpg

image.png.jpg

 

소개는 이쯤하고..  한번 진행해보겠습니다.

 

구축 환경

Ubuntu 20.04 LTS
Docker
NPM 공식이미지 - https://hub.docker.com/r/jc21/nginx-proxy-manager

 

Goaccess 이미지 -  https://hub.docker.com/r/gregyankovoy/goaccess

 

NPM의 로그 저장 경로를 미리 확인해줍니다.

저같은경우 /data/npm/data/logs경로에 로그를 저장하고있습니다.

image.png.jpg

 

여기서 저장되는 로그들은 NPM에서 proxy host로 설정한 호스트들의 로그입니다.
저같은경우 현재 11개의 프록시 호스트를 사용하고있어서 11개를 모두 넣어보겠습니다.

 

Goaccess 컨테이너 생성하기

log의 경우 NPM의 로그를 사용하기때문에 따로 저장할 필요는 없고 config를 볼륨매칭 시켜줄 디렉터리만 만들어주겠습니다.

mkdir -p /data/goaccess/config

 

컨테이너는 아래 명령어로 생성합니다.

docker run --name goaccess -p 7889:7889 -v /data/npm/data/logs:/opt/log -v /data/goaccess/config:/config -d gregyankovoy/goaccess

image.png.jpg

 

최초실행시에는 위처럼 이미지를 받아서 실행하게 되는데요.

여기서 config 파일을 수정해줘야되기때문에 해당경로로 먼저 이동해줍니다.

 

cd /data/goaccess/config/

보시면 기본 goaccess.conf 파일이있는데 이건 파일을 이동해주시고 새로 파일을 만들어주실것입니다.

mv goaccess.conf goaccess.conf.bak

image.png.jpg

 

그리고 vi 편집기로 새로운 conf 파일을 만들어줍니다.

vi goaccess.conf

 

내용은 아래처럼 작성해주시면됩니다. 사용하고싶은 access log수에 따라서 더 추가해주시거나 빼주시면됩니다.



time-format %H:%M:%S
date-format %d/%b/%Y
log_format [%d:%t %^] - %s %^ - %m %^ %v "%U" [Client %h] [Length %b] [Gzip %^] [Sent-to %^] "%u" "%R"
real-time-html true
log-file /opt/log/proxy-host-1_access.log
log-file /opt/log/proxy-host-2_access.log
log-file /opt/log/proxy-host-3_access.log
log-file /opt/log/proxy-host-4_access.log
log-file /opt/log/proxy-host-5_access.log
log-file /opt/log/proxy-host-6_access.log
log-file /opt/log/proxy-host-7_access.log
log-file /opt/log/proxy-host-8_access.log
log-file /opt/log/proxy-host-9_access.log
log-file /opt/log/proxy-host-10_access.log
log-file /opt/log/proxy-host-11_access.log


image.png.jpg

수정을 완료하셨으면 esc 를 누르시고 :wq 로 저장해줏세요.

이제 컨테이너를 재시작 시키겠습니다.

image.png.jpg

 

이제 포트매핑해준 ip:7889 포트로 접근해주세요.

image.png.jpg

 

이렇게 대시보드가 잘 나오시면 성공입니다~

 

+++++
프록시마다 로그명을 부여해주고싶으시다면 NPM의 프록시 호스트 셋팅에서 아래처럼 로그경로를 지정해주셔도 됩니다.
 

image.png.jpg

신고공유스크랩
7
뻘짓의초심자 2022.05.01. 02:51
ewdgqqd1224

그럴 것으로 보입니다. 공식 이미지는 amd만 지원하고 동일한 이름의 도커는 arm을 지원하나 제대로 된 문서가 보이지 않는군요...

profile image
달소 글쓴이 2022.05.01. 13:14
게르노

서비스용도보다는 이미생성된 로그를 가지고 모니터링하는거라 괜찮을듯합니다ㅎㅎ

댓글 쓰기 권한이 없습니다. 로그인

취소 댓글 등록

cmt alert

신고

"님의 댓글"

이 댓글을 신고하시겠습니까?

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story
번호 분류 제목 글쓴이 날짜 조회 추천
잡담 proxmox로 갈아탔습니다 7 기현 14시간 전07:34 253 +2
잡담 Immich가 FUTO에 합류했습니다.(Immich 핵심 팀은 정규직으로 근무합니다.) 4 달소 1일 전11:38 253 +1
정보 오픈아이콘 제공 사이트(https://cdn.jsdelivr.net) 오류 발생 => 복구됨 2 지딱코 2일 전14:31 212 +1
3893 질문
normal
고심분투 5시간 전17:10 87 0
3892 질문
image
경호 6시간 전15:50 51 0
3891 질문
normal
경호 8시간 전13:23 46 0
3890 잡담
image
기현 14시간 전07:34 253 +2
3889 잡담
image
keiminem 1일 전13:12 418 0
3888 잡담
normal
달소 1일 전11:38 253 +1
3887 질문
image
EXP 1일 전23:48 83 0
3886 질문
normal
홍익 2일 전19:26 201 0
3885 정보
image
지딱코 2일 전14:31 212 +1
3884 가이드
image
달소 2일 전22:22 356 +3
3883 가이드
image
ljr10 3일 전08:20 165 0
3882 가이드
image
달소 3일 전06:46 185 +1
3881
image
달소 3일 전05:50 203 +6
3880 정보
image
달소 3일 전05:38 124 0
3879 잡담
image
달소 3일 전05:20 404 0
3878 오픈소스
image
keiminem 4일 전17:43 349 +3
3877 질문
normal
purndal 4일 전14:32 241 0
3876 질문
image
초보나스 4일 전10:46 105 0
3875 후기
image
달소 4일 전10:03 325 0
3874 질문
normal
keiminem 4일 전09:29 331 0