NerdLog
Nerdlog: fast, remote-first, multi-host TUI log viewer with timeline histogram and no central server
타임라인 히스토그램을 갖춘 빠른 다중 호스트 TUI 로그 뷰어
About
- 중앙 서버 없이 SSH 연결만으로 원격 로그 수집 및 분석이 가능한, 빠르고 리소스 효율적인 TUI 멀티 호스트 로그 뷰어
- 타임라인 히스토그램 시각화와 시간 필터링으로 로그 흐름 파악이 용이함
- 기본적인 awk, tail, head 조합을 사용하여 고속 처리 및 간편한 구축 지원
- 로그 쿼리는 로컬 다운로드 없이 원격에서 처리, 네트워크 사용 최소화 및 대용량 로그 처리 최적화
- 기본은 단순하지만 다양한 설정 파일, SSH config, UI 조작을 통한 확장성 보유
Nerdlog 소개
- Nerdlog는 중앙 서버 없이 작동하는 텍스트 기반 UI 로그 뷰어임
- Graylog/Kibana처럼 로그를 분석할 수 있지만, 설치와 유지보수 부담이 없는 경량화 대안 도구임
- 초기 개발 동기는 느리고 비효율적인 Splunk에 대한 실망에서 시작
설계 특징
- 중앙 서버 없이 동작하며, 각 노드에 대해 ssh 연결을 생성하고 대기 상태 유지
- 전체 로그를 다운로드하지 않고, 질문당 최대 250개의 로그 메시지와 히스토그램 데이터만 전송
- 모든 응답을 병합하여 통합된 뷰를 제공
- 전송 시 Gzip 압축을 사용하여 네트워크 비용 절감
프로젝트 상태 및 역사
- 2022년 개인 해커톤으로 느린 Splunk 대체용으로 제작되었으며, 2025년 오픈소스로 공개됨
- 빠르게 구현되어 스파게티 코드가 존재하며 테스트 커버리지 부족
- Linux 환경에서만 실제 사용 테스트 되었음
- Proof-of-concept 단계지만, 실제 사용에 충분할 정도로 빠르고 안정적
사용법 요약
- 앱을 실행하면 쿼리 입력창이 나타남
- 로그스트림은 ssh로 접근 가능한 서버의 연속된 로그 파일들 의미
- ssh 포트나 로그 파일 경로 등을 명시하거나, ssh config 및 별도 설정 파일 사용 가능
- Select field expression은 UI에 표시할 필드를 SQL 스타일로 지정