서비스를 운영시 다양한 소프트웨어가 정상적으로 동작하는지 확인하기 위해 모니터링 시스템을 구축하였습니다.
모니터링 시스템을 구축하기 전에는 각 서버에 개별적으로 접근해야 했으며, 동시에 소프트웨어 상태를 파악하기 어려운 문제가 있었습니다.
이러한 불편한을 개선하고자 Node Exporter, Prometheus, Grafana를 이용하여 모니터링 시스템을 구축하였습니다.
여러 포스팅에 걸처 Node Exporter, Prometheus, Grafana 를 이용하여 모니터링 시스템을 구축했던 내용에 대해서 작성하고자 합니다.
이번 포스팅에서는 Node Exporter, Prometheus, Grafana 에 대해서 작성하고자 합니다.
Node Exporter는 모니터링할 서버의 메트릭 정보를 수집하여 Prometheus에 전달하는 역할을 합니다.
수집되는 메트릭 정보에는 CPU, 메모리, 네트워크 등 핵심 성능 지표가 포함됩니다.
Prometheus는 SoundCloud사에서 만든 오픈소스 시스템 모니터링 입니다.
프로메테우스의 특징은 다음과 같습니다.
Grafana는 Grafana Labs에서 개발한 오픈소스로, 수집된 데이터들을 시각화하고 모니터링을 합니다.
Grafana의 특징은 다음과 같습니다.
앞서서 Node Exporter, Prometheus, Grafana 무엇인지 간략하게 설명하였습니다.
이제 본격적인 설치에 앞서, 전체적인 시스템 구성을 설명하겠습니다.
설명에서는 각 서버와 소프트웨어가 미리 구성되어 있다는 가정을 합니다.
기존에 구성해 놓은 시스템은 다음과 같습니다.
시스템 구성에 대해서 설명드렸으니 본격적으로 모니터링 시스템을 구축하도록 하겠습ㄴ디ㅏ.
가장 먼저 데이터 수집을 위한 Prometheus를 설치 하겠습니다.
sudo apt update;
sudo apt -y install prometheus prometheus-node-exporter
prometheus가 설치 되었다면 해당 소프트웨어가 제대로 동작하는지 확인이 필요합니다.
Prometheus를 설치하였다면 다음으로 Grafana를 설치하겠습니다.
sudo apt install wget apt-transport-https software-properties-common -y
sudo mkdir -p /etc/apt/keyrings/
wget -q -O - https://apt.grafana.com/gpg.key | gpg --dearmor | sudo tee /etc/apt/keyrings/grafana.gpg > /dev/null
echo "deb [signed-by=/etc/apt/keyrings/grafana.gpg] https://apt.grafana.com stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list
sudo apt update
sudo apt install grafana
포트 확인
netstat -tnlp 명령어를 이용하여 3000 포트 State 가 LISTEN인지 확인합니다.
대시보드 확인
브라우저에서 http://${server_ip}:3000 으로 접근하여 Grafana 대시보드가 표시 되는지 확인합니다.
대시보드 초기 로그인은 admin/admin 이며, 최초 로그인시 비밀번호를 변경하여야 합니다.
grafana-cli admin reset-admin-password [변경할 패스워드]
Prometheus 와 Grafana 설치 작업이 완료했습니다.
이제 각 서버별로 소프트웨어에 맞는 Exporter를 설치 및 설정하여 Grafana 대시보드에 연결을 진행하려고 합니다.
소프트웨어별 설치 및 설정 방법은 다음 순서대로 진행합니다.