카테고리 보관물: Monitoring

Rsyslog Log Analyzer Overview

개요

Rsyslog Log Analyzer는 rsyslog 데몬으로 수신한 리눅스, 윈도우, 네트워크 장비의 로그를 MariaDB(MySQL)에 적재하고, Apache 기반의 웹 인터페이스로 간단한 통계를 시각화하는 오픈소스 툴입니다. 오래된 툴이라 UI가 다소 구식이지만 간단한 로그 집계와 검색에는 여전히 활용할 수 있습니다.

로그 수집 아키텍처

Rsyslog + MariaDB + Log Analyzer로 구성된 중앙 로그 시스템의 데이터 흐름은 다음과 같습니다. 각 서버(리눅스, 윈도우, 네트워크 장비)의 rsyslog/syslog 클라이언트가 UDP/TCP 514 포트로 중앙 rsyslog 서버에 로그를 전송합니다. 중앙 서버의 rsyslog는 ommysql 모듈을 통해 MariaDB의 Syslog 데이터베이스에 로그를 INSERT합니다. Log Analyzer는 Apache와 PHP로 구동되는 웹 인터페이스로, 브라우저에서 호스트별 로그 발생 빈도, 심각도별 분류, 키워드 검색 기능을 제공합니다.

시스템 구성

rsyslog 데몬을 사용하여 리눅스, 윈도우, 네트워크 장비로 부터 수신 로그를  mariadb에 적재하게 되고 아파치로 간단한 통계로도 볼 수 있게 구축 해서 사용하고 있습니다.

나온지도 오래되었고 UI가 상당히 구식이지만 간단하게 보기에는 쓸만하여 종종 사용하는 편 입니다.

단점은 DB에 로그가 장기간 쌓이면 통계 페이지를 제대로 표시하지 못하는 경우도 있고 특정 호스트의 로그 발생 빈도가 높으면 통계 페이지를 보기 불편한 부분이 있었습니다. 저는 일정 기간 이전의 로그를 삭제하는 SQL스크립트를 crontab에 등록 하여 유지하고 있습니다.

그와 별개로 DB에 있는 로그 데이터를 elasticsearch등으로 시각화 시키는 것도 좋은 방법인 것 같습니다.

※ 테스트를 해보진 않았지만 Log Analyzer 최신 버전은 그래프 생성 관련 타임 아웃 현상을 해결 했다고 합니다.

화면 구성 예시

아래는 Rsyslog Log Analyzer의 실제 화면 구성입니다. 호스트별 로그 발생 현황과 상세 검색 기능을 웹 브라우저에서 확인할 수 있습니다.

Rsyslog Log Analyzer 대시보드 — 호스트별 로그 발생 현황

Rsyslog Log Analyzer 상세 로그 검색 화면

운영 시 고려사항

DB에 로그가 장기간 쌓이면 통계 페이지 표시가 느려지거나 실패할 수 있습니다. 일정 기간 이전 로그를 정기적으로 삭제하는 SQL 스크립트를 스케줄러에 등록하여 DB 크기를 관리하는 것이 좋습니다. 또한 특정 호스트의 로그 발생 빈도가 과도하게 높을 경우 rsyslog 필터 규칙으로 해당 호스트 로그를 별도 파일로 분리하는 것도 방법입니다.

보다 현대적인 로그 시각화가 필요하다면 Elasticsearch + Kibana 또는 Loki + Grafana 조합을 검토해볼 수 있습니다.

참고

참고 문서: Adiscon Log Analyzer 공식 사이트 · rsyslog ommysql 모듈 문서

Zabbix Maps 예시

개요

Zabbix Maps는 모니터링 대상 호스트와 네트워크 장비를 시각적으로 배치하여 네트워크 토폴로지를 한눈에 파악할 수 있는 기능입니다. 아이콘, 링크, 레이블을 자유롭게 배치하고 호스트 상태를 실시간으로 색상으로 표시할 수 있어 운영 대시보드로 활용하기 좋습니다.

Zabbix로 모니터링중인 홈서버 자산 목록을 간단히 그려봤습니다.

L3와 L2, 가운데 Maintree를 제외하고는 모두 VM이지만 리눅스와 윈도우 모두 Zabbix로 모니터링 하는데는 크게 지장이 없습니다.

에이전트도 가벼운 편이어서 크게 부담은 없지만 서버를 수백대 이상 운영하는 환경에서는 Zabbix 서버 자체에 부하가 걸릴 가능성이 크고 수많은 이벤트로 인해 DB의 사용량이 상당히 커질 것이므로 DBMS의 적절한 저장 공간 할당 및 이벤트 삭제 스케쥴을 고려해야 할 것입니다.

Zabbix Maps 생성 방법

Zabbix Maps는 Monitoring → Maps 메뉴에서 생성하고 편집합니다. 맵 생성 시 배경 이미지(Background Image)와 캔버스 크기를 설정한 후, 호스트 아이콘을 드래그로 배치합니다. 각 아이콘은 Zabbix에 등록된 호스트와 연결되며, 호스트의 현재 트리거 상태(OK/Problem)에 따라 아이콘 색상이 실시간으로 변경됩니다.

Link는 두 호스트 또는 요소 간의 연결을 표현하며, 링크에 트리거를 연결하면 해당 트리거 상태에 따라 링크 색상이 변합니다. 이를 통해 스위치 포트 다운이나 네트워크 연결 끊김 같은 상태를 시각적으로 즉시 파악할 수 있습니다.

맵 아이콘과 상태 표시

Zabbix Maps에서 각 요소는 네 가지 상태 색상으로 표시됩니다. 녹색은 정상(OK), 빨간색은 Problem(트리거 발생), 주황색은 경고(Warning), 회색은 미모니터링(Maintenance) 또는 데이터 없음 상태입니다.

아이콘 이미지는 Zabbix 기본 제공 이미지 외에 커스텀 PNG/JPG를 Administration → General → Images에서 업로드하여 사용할 수 있습니다. 라우터, 스위치, 서버, 방화벽 등 장비 유형을 직관적으로 표현하는 아이콘을 사용하면 운영자가 장애 위치를 빠르게 특정할 수 있어 MTTR(평균 복구 시간) 단축에 기여합니다. 대규모 환경에서는 맵을 계층적으로 구성하여 상위 맵에서 하위 맵으로 드릴다운하는 방식으로 확장성을 확보할 수 있습니다.

Zabbix는 오픈소스 엔터프라이즈 모니터링 솔루션으로, 서버 수백 대 이상의 규모에서는 Zabbix 프록시를 통해 수집 부하를 분산하고 DB 파티셔닝이나 별도 이벤트 삭제 정책을 통해 장기 운영 시 성능을 유지할 수 있습니다.

참고

참고 문서: Zabbix Monitoring Maps 화면 설명 · Zabbix Action 알림 설정