어느날 갑자기 로그인이 안 된다고 연락을 받았다. 확인해보니 500 이건 DB 서버에 무슨일이 생긴것 만 같았다.
로그를 보니 금요일 퇴근시간 이후부터 DB 서버가 죽어있었다.
DB 서버를 다시 살려놓고 구체적으로 왜? DB 서버가 다운됐는지 확인해보는 방법을 알아보자.
window 는 굉장히 간단하다.
그냥 다 기본으로 설치되어있다.
그럼 이제 다운되었을 때 재실행하도록 설정해보자.
방법은 굉장히 다양하다. BIOS 단에서 설정하는 법, 혹은 powershell(systemctl) 으로 스크립트를 작성해두기 등..
여기서는 가장 간단한 window OS 에서 제공하는 재실행 설정을 해두자.
linux 에는 여러가지 방법이 있다.
Linux에서는 주요 로그 파일들이 /var/log 디렉토리에 저장된다.
따라서 터미널에서 cat, tail, less 등의 명령어를 사용하여 로그 파일의 내용을 확인할 수 있다.
# 시스템 로그의 마지막 100줄 확인
sudo tail -n 100 /var/log/syslog
systemd
기반 Linux 배포판에서는 journalctl
명령을 통해 시스템 이벤트 로그를 확인할 수 있다.
journalctl 명령으로 전체 로그를 확인하거나, -u 서비스명, -b 등의 옵션을 사용하여 특정 서비스나 부팅 로그 등을 확인할 수 있다.
# nginx 서비스 로그 확인
sudo journalctl -u nginx.service
Linux 배포판 전반에 걸쳐 사용 가능한 오픈소스 도구 가장 대표적인 로그 분석 및 보고 도구이다.
Ubuntu를 비롯한 다양한 Linux 환경에서 활용할 수 있다.
시스템 로그, 보안 로그, 서비스 로그 등을 자동으로 수집하여 분석하고 보고서를 생성한다.
이메일로 보고서를 받을 수 있어 관리자에게 유용한 정보를 제공하다.
강력한 로그 수집 및 관리 솔루션이다. 원래 Linux용으로 개발된 오픈소스 로그 관리 솔루션이다.
Ubuntu, CentOS, RHEL 등 주요 Linux 배포판에서 사용할 수 있다.
다양한 로그 소스로부터 로그를 수집하고, 필터링, 파싱, 저장 등의 기능을 제공한다.
중앙 집중식 로그 관리가 가능하며, 원격 시스템의 로그도 수집할 수 있다.
크로스 플랫폼 지원이 가능한 오픈소스 데이터 수집기로, 다양한 소스의 로그를 수집하고 처리할 수 있다.
Linux, Windows, macOS 등 다양한 운영체제에서 사용할 수 있다.
플러그인 기반 아키텍처로 확장성이 높으며, 여러 대상(파일, 데이터베이스, 클라우드 등)으로 로그를 전달할 수 있다.
실시간 로그 처리와 분석에 적합하다.
로그 수집, 저장, 분석을 위한 강력한 오픈소스 도구 세트이다. Elasticsearch, Logstash, Kibana로 구성된 오픈소스 로그 관리 스택이다.
Linux 환경, 특히 Ubuntu, CentOS, RHEL 등에서 널리 사용된다.
Logstash로 로그를 수집하고, Elasticsearch에 저장, Kibana로 시각화하는 구조이다.
대용량 로그 처리와 고급 분석 기능을 제공한다.
사실 서버가 꺼졌나 로그만 볼 정도라면 ELK 는 사용할 필요가 없지만 예전에 ELK 를 ubuntu 에 구축하려다 필요가 없어져서 안 했는데 이게 뭔가 한 인듯 홀리듯 ELK stack 을 구축해보고 싶어졌다.
자세한 ELK Stack 구축은 다음 포스팅에 기록하겠다.