-
앱 어플리케이션 서버를 돌리면서 서버의 CPU사용량 및 메모리 사용량을 시각적으로 정보를 전달 받기 위해 서버 모니터링 시스템이 필요하다고 느꼈다.
물론 AWS에서 제공하는 모니터링 방식이 있지만 추후에 도커를 추가할 경우 각 컨테이너마다 자세한 모니터링을 위해 추가해보겠다..
각 아키텍쳐를 조사하던 중 사람들이 많이 쓰는 프로그램 3가지를 알게되었다.
Grafana : grafana는 prometheus에 query하여 데이터를 가져옵니다. (Front-end 역활)
Prometheus : 각 서비스(Django, Mincreft Server, Ec2 server...등등)의 데이터를 저장하는 데이터베이스이다.
pull 방식은 각 서비스 에서 직접 metrics를 가져오는 방식이고, push 방식은 각 서비스가 Prometheus에 metrics를 업로드 하는 방식이다. (Back-end 역활)
Kibana : Kibana는 데이터의 형태를 만들고, Elastic Stack을 탐색할 수 있게 하는 시각화 및 관리 서비스이다.
# Elastic Stack이란 데이터 분석에 필요한 모든 유형의 데이터를 실시간으로 검색, 분석 및 시각화할 수 있는 Elastic 사 의 오픈소스 데이터 분석 플랫폼.
Kibana로 다음과 같은 역활을 할 수 있다.
- 검색, 관찰, 데이터 보호
kibana는 document 검색에서 log 분석, 보안 취약성 찾기와 같은 기능에 access할 수 있는 portal이다. - 데이터 분석
숨은 insight를 찾고 차트, 그래프 등에 발견한 내용을 시각화 한 뒤 대시보드를 구성한다. - Elastic Stack 관리, 모니터링 및 보안
data를 관리하고, Elastic Stack cluster의 상태를 모니터링하고, 어떤 사용자가 어떤 기능에 access 할 수 있는지 제어한다.
'서버 모니터링' 카테고리의 다른 글
SpringBoot - actuator + Prometheus + Grafana (0) 2024.03.29 Spring-boot-3 Actuator (0) 2024.03.26 - 검색, 관찰, 데이터 보호