빅토리 코딩
article thumbnail
728x90
반응형
저번 프로젝트의 서버는 이중화되어있어 오픈 후 안정화 기간에 있던 일이었다.
특정 고객이 오류가 난다는 상황이었는데 우리는 해당 고객의 로그를 찾기 위해 두 개의 서버에서 로그를 찾아봐야 했다. 근데 이 고객 특정 행위를 할 때마다 1번 서버 갔다가 2번으로 호출될 때가 있어 로그 찾는 것에 고생을 했다..... 하아..
프로젝트 종료 후에 찾아보니 로그 트레이싱하는 대표적인 ELK가 있었고 ELK를 세팅을 해보니 생각 보다 서버가 버거워했다..(테스트 서버라 그런 거 같지만) 그래서 비슷한 로그 트레이싱이 있다 해서 구성해보았다!

1. Grafana

Grafana는 대시보드와 시각화를 제공하는 오픈 소스 소프트웨어이다. 여러 데이터 소스를 지원하며, 이를 통해 사용자는 데이터를 시각화하고 모니터링할 수 있다. 여러 데이터 소스를 지원하며, 이에는 Prometheus, Elasticsearch, InfluxDB 등이 포함됩니다. 또한 커뮤니티에서 개발되고 있으며 다양한 플러그인과 템플릿이 제공된다. 
ELK에서 kibana와 같은 역할

설치 과정

1. Grafana 공식 웹사이트(https://grafana.com/) 에서 운영체제에 맞는 패키지를 다운로드한다.

2. 압축해제 후 bin으로 이동후 grafana-server실행(기본 port는 3000)

3. http://localhost:3000 접속 후 기본 계정 로그인 (id/pw : admin/admin)

 

포트 변경을 원할 시에는./conf/defaults.ini 파일 수정
....

# The http port to use
http_port = 3000

...

2. Grafaloki

Grafaloki는 Grafana와 Loki를 함께 사용하여 로그 데이터를 시각화하는 데 사용되는 도구이다. 분산 로그 수집 시스템으로, 로그 데이터를 수집하고 저장하는 데 사용된다. Loki는 로그 데이터를 색인화하여 검색 속도를 높이고, PromQL을 사용하여 로그 데이터를 질의할 수 있도록 지원한다.
ELK에서 elasticsearch와 같은 역할

설치과정

1. 

정식 github 에서

 (https://github.com/grafana/loki/releases) 운영체제에 맞는 패키지를 다운로드한다. 

설정 파일 https://raw.githubusercontent.com/grafana/loki/v2.7.4/cmd/loki/loki-local-config.yaml 에서 받아 온다.

 

2.  loki-local-config.yaml 설정 파일은 사용할 포트만 확인하고 수정 하면된다.

auth_enabled: false

server:
  http_listen_port: 3200  #설정 포트
  grpc_listen_port: 9096
...

3. 실행

압축을 푼 해당 위치로 가서

./loki-linux-amd64  -config.file=loki-local-config.yaml

 명령어를 실행 로그에 별다른 error이 없으면 기동된것이다.

 

4. grafana 연결

설정 -> 플러그인 -> Data Sources-> Add data source

해당 목록 중 Loki 선택

url을 적어주고 Save & test 버튼을 눌렀을때

해당 메세지가 생겼으면 완료!


728x90
반응형
profile

빅토리 코딩

@빅토리 코딩

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그