가이드 › SyslogWatch

다른 언어 English · 日本語 · 한국어 · 简体中文

SyslogWatch

Mac·Windows·Linux 용 syslog 서버 — 1.3.9

이 판에서 바뀐 것

릴리즈 노트 전체

1. 설치

설치할 기계에 맞는 것을 고르세요. 아래는 전부 최신판이고, 이전 판은 릴리즈 노트에 있습니다.

받은 파일을 확인하세요. 게시된 체크섬은 여기 있습니다: SyslogWatch-SHA256SUMS.txt

macOS·Linux:

shasum -a 256 SyslogWatch-1.3.9-macos-arm64.dmg

Windows:

Get-FileHash -Algorithm SHA256 SyslogWatch-1.3.9-windows-x64-setup.exe

macOS 판은 Apple 공증을 받아 경고 없이 열립니다. Windows 설치본은 Authenticode 서명과 타임스탬프가 붙어 있습니다. 인증서가 새것이라 평판이 쌓일 때까지 SmartScreen 경고가 뜰 수 있습니다. 뜨면 추가 정보 → 실행을 고르세요.

2. 첫 실행

  1. SyslogWatch 는 기본으로 UDP·TCP 1514 포트를 듣습니다. 1024 보다 위라 관리자 암호가 필요 없습니다.
  2. 로그를 받고 싶은 장비 — 라우터, 스위치, NAS, 방화벽, 서버 — 의 syslog 목적지를 이 컴퓨터의 로컬 IP 와 1514 포트로 설정합니다.
  3. 메시지는 도착하는 대로 뜹니다. 아무것도 안 오면 대개 방화벽입니다(아래 장).
  4. 포트는 Settings → Receiving Server 에서 바꿉니다. 1024 미만은 권한 상승이 필요합니다.

모든 설치는 유료판 30일 체험으로 시작합니다. 미리 요구하는 것이 없습니다 — 카드도, 계정도, 메일 주소도.

3. 운영

문자 코드

RFC 5424 는 UTF-8 을 요구하지만, 많은 장비와 Windows 이벤트로그 전달기는 로컬 코드페이지로 보냅니다. Automatic 은 유효한 UTF-8 이면 그렇게 읽고 아니면 대체 코드로 읽습니다. 거의 모든 경우 이게 맞고, 특정 코드를 직접 고르는 것은 "UTF-8 처럼 보이지만 아닌" 것을 보내는 장비가 있을 때뿐입니다. 자동 판별을 대신 해 주지 않는 것은 의도한 선택입니다 — 시도해 봤더니 틀리게 판단했고, 잘못 해독된 로그는 아예 해독이 안 된 로그보다 나쁩니다.

알림 규칙

심각도·호스트·본문으로 걸러냅니다. 무료 등급에도 규칙이 있고, Pro 는 한도를 50개로 올리고 메일 발송을 더합니다.

보관

메시지는 이 컴퓨터 디스크에 쌓이고, 등급을 강제하려고 지우지 않습니다. 보관 기간 정책은 Enterprise 설정이며 기본은 전부 보관입니다.

언어

Settings → Language. 영어와 일본어. 문자 코드 이름과 심각도 목록도 번역됩니다. 받은 로그 줄은 절대 번역하지 않습니다 — 장비가 보낸 그대로 보입니다.

데이터가 있는 곳

SyslogWatch 가 기록하는 것은 전부 실행 중인 컴퓨터 안에 남습니다. 우리에게도, 분석 업체에도, 광고망에도 보내지 않습니다. 그 컴퓨터를 백업하면 SyslogWatch 를 백업한 것입니다.

라이선스 키

키는 결제 뒤 메일로 갑니다. 앱에 붙여 넣으면 빌드에 박혀 있는 공개키로 이 컴퓨터에서만 검증합니다. 즉 SyslogWatch 는 라이선스 서버에 접속하지 않습니다 — 외부와 끊긴 망에서도 됩니다. 30일 체험이 끝나거나 구독이 끊기면 SyslogWatch 는 무료 등급으로 계속 돕니다. 모든 메시지를 계속 받아 저장하고, 알림 규칙은 3개까지입니다.

4. 방화벽

5. 데스크톱 없는 서버에서 실행 (헤드리스)

데스크톱 앱은 그래픽 세션이 있어야 합니다. 그래픽 세션이 없는 리눅스 서버에서는 뜨지 않고 Missing X server or $DISPLAY 를 찍습니다. 이런 경우를 위해 리눅스 .deb 와 .tar.gz 에는 헤드리스 모드도 들어 있습니다. 같은 수신기·규칙·알림·라이선스로 돌고, 같은 화면을 창 대신 브라우저로 보여 줍니다. AppImage 에는 들어 있지 않습니다.

포그라운드로 먼저 돌려 보기

.deb 를 설치하고(필요한 라이브러리는 패키지 관리자가 함께 설치합니다) 앱 옆에 설치된 래퍼를 실행합니다:

sudo apt install ./SyslogWatch-*-linux-amd64.deb
/opt/SyslogWatch/syslogwatch-headless

웹 화면 주소가 1회용 토큰과 함께 찍힙니다 — http://127.0.0.1:8514/?token=…. 한 번 열면 쿠키가 기억하므로 그다음부터는 http://127.0.0.1:8514/ 이면 됩니다. 주소를 잃어버리면 syslogwatch-headless --show-url 이 다시 찍어 줍니다. 같은 기계에서 시험 메시지를 보내 도착하는지 보세요: logger -n 127.0.0.1 -P 1514 -d "hello from $(hostname)".

다운로드 페이지의 .tar.gz 를 쓸 때는 래퍼·유닛 파일·README-headless.txt 가 푼 폴더 안에 있습니다. README-headless.txt 에 적힌 라이브러리는 직접 설치해야 하고(빠진 것이 있으면 래퍼가 알려 줍니다), 유닛 파일은 앱이 /opt/SyslogWatch 에 있다고 가정합니다.

내 컴퓨터에서 화면 열기

웹 화면은 127.0.0.1 에서만 듣습니다. SSH 터널을 연 뒤 토큰 주소를 내 브라우저에서 엽니다:

ssh -L 8514:127.0.0.1:8514 user@server

또는 HTTPS 리버스 프록시(nginx, Caddy)를 앞에 둡니다. 평문 HTTP 포트를 믿을 수 없는 망에 열지 마세요: 로그, SMTP 자격증명, Central 토큰이 그 포트를 지나갑니다.

서비스로 돌리기

래퍼 옆에 systemd 유닛이 설치되어 있습니다. 서비스 사용자를 만들고 유닛을 복사한 뒤 시작합니다:

sudo useradd --system --home /var/lib/syslogwatch --create-home --shell /usr/sbin/nologin syslogwatch
sudo cp /opt/SyslogWatch/syslogwatch-headless.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable --now syslogwatch-headless

토큰이 붙은 웹 화면 주소는 저널에 찍힙니다: sudo journalctl -u syslogwatch-headless. 기본 포트 1514 는 권한이 필요 없습니다. Settings 에서 514 로 바꾸면 /etc/systemd/system/syslogwatch-headless.service 의 AmbientCapabilities=CAP_NET_BIND_SERVICE 줄 주석을 풀고 sudo systemctl daemon-reload && sudo systemctl restart syslogwatch-headless 를 실행합니다.

데이터가 있는 곳

서비스로 돌면 /var/lib/syslogwatch/SyslogWatch 에 설정·로그·라이선스·화면 토큰이 있습니다. 손으로 실행하면 그 사용자의 데스크톱 앱과 같은 폴더(~/.config/SyslogWatch)를 쓰므로, 한쪽에서 활성화한 라이선스가 다른 쪽에서도 유효합니다. 서비스는 자기 사용자로 돌기 때문에 라이선스 키는 그 웹 화면에서 한 번 넣습니다.

서버에는 키링이 없으므로 라이선스 키·SMTP 암호·Central 토큰은 서비스 사용자만 읽을 수 있는 파일(권한 0600)로 저장됩니다. Settings 에도 그렇게 표시됩니다.

자세한 내용은 래퍼 옆의 README-headless.txt 에 있고, 옵션은 syslogwatch-headless --help 로 봅니다.

6. MeshWatch Central 에 연결

선택 사항입니다. Central 은 여러 제품의 알림을 하나의 받은함으로 모으고 장비 단위로 묶어 줍니다. Central 로 가는 것은 심각도·호스트 이름·한 줄 요약뿐입니다. 로그 본문은 이 컴퓨터를 떠나지 않습니다.

  1. Central 의 Agents 를 열고 SyslogWatch 를 고른 뒤 라벨을 입력하고 Issue token 을 누릅니다. 라벨은 어디서 가져오는 값이 아니라 설치본을 구분하려고 직접 짓는 이름입니다. 토큰은 한 번만 보여줍니다.
  2. SyslogWatch 의 MeshWatch Central 설정을 열고 Central 주소를 http://<central-server>:8443 형태로, 토큰과 함께 넣습니다. Central 이 같은 기계에서 돌지 않는 한 localhost 가 아니라 서버의 주소를 씁니다.
  3. Test connection 을 누릅니다. 성공하면 SyslogWatch 가 주소와 토큰을 저장하고 연결을 스스로 켭니다. 아래쪽 단추가 Done 으로 바뀌며, 누르면 창이 닫힙니다.

그 뒤로 발생하는 알림이 Central 에 뜹니다. 지난 알림은 소급되지 않습니다. 전체 절차는 MeshWatch Central 가이드.

7. 문제 해결

아무것도 안 들어온다

대개 방화벽입니다(4장). 그래도 안 되면 장비가 이 컴퓨터의 현재 로컬 IP 를 가리키는지 확인하세요. DHCP 임대로 주소가 바뀌었을 수 있습니다.

Central 연결 시험이 실패한다

bad-token 은 토큰이 틀렸거나 폐기된 것입니다 — 새로 발급하세요. unreachable 은 주소가 틀렸거나 방화벽에 막힌 것입니다. Central 서버에서 8443 포트가 열려 있어야 합니다. 리버스 프록시를 두지 않았다면 https:// 가 아니라 http:// 입니다. 현재 판에서는 이 결과가 문장으로 표시됩니다 — Central 이 거부한 토큰은 폐기되었거나 다른 Central 이 발급했을 수 있다고 설명합니다. 코드 자체는 메시지에 마우스를 올리면 보입니다.

리눅스 서버에서 Missing X server or $DISPLAY 가 뜬다

데스크톱 앱이 화면을 찾는 것이지 설치가 잘못된 것이 아닙니다. 데스크톱 세션에서 실행하거나, 데스크톱이 없는 서버라면 헤드리스 모드를 쓰세요 — 5장.

모든 제품에 공통인 문제

업그레이드 후 빈 창, Ubuntu 24.04 에서 실행 안 됨, 키링 없는 Linux 에서 자격증명이 평문 저장, 알림 메일 미배달 — 제품을 가리지 않는 문제라 지원 페이지에 모아 두었습니다.

그래도 안 되면

판 번호와 기대했던 동작을 적어 support@meshwatch.app 로 보내 주세요. 평일 기준 2영업일 안에 첫 답을 드립니다.