指南 › 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 读取,否则回退。这对绝大多数情况是对的;只有当某台设备发出「看起来像 UTF-8 但其实不是」的内容时,才需要手动指定编码。不替你自动判别是有意的 — 我们试过,它判断错了,而被错误解码的日志比明显没解码的日志更糟。

告警规则

按严重级别、主机和正文匹配。免费版也有规则;Pro 把上限提到 50 条并增加邮件发送。

保留

消息写在这台计算机的磁盘上,不会为了执行套餐限制而删除。保留策略是 Enterprise 的设置,默认是全部保留。

语言

Settings → Language。英文与日文。编码名称和严重级别列表也会翻译。收到的日志行永远不翻译 — 设备发来什么就显示什么。

数据存放在哪里

SyslogWatch 记录的一切都留在运行它的那台计算机上。不会发给我们,不会发给分析服务商,也不会发给广告网络。备份那台计算机,就等于备份了 SyslogWatch。

许可证密钥

密钥在付款后通过邮件发送。粘贴到应用里后,用内置在构建中的公钥在你自己的计算机上校验,因此 SyslogWatch 不会连接许可服务器 — 在完全隔离的网络里也能用。30 天试用结束或订阅失效后,SyslogWatch 以免费版继续运行:照常接收并保存所有消息,告警规则最多 3 条。

4. 防火墙

5. 在没有桌面的服务器上运行(headless)

桌面应用需要图形会话。在没有图形会话的 Linux 服务器上,它无法启动并显示 Missing X server or $DISPLAY。为此,Linux 的 .deb 和 .tar.gz 还包含 headless 模式:同样的接收、规则、告警和许可证,同样的界面显示在浏览器中,而不是窗口中。AppImage 不包含该模式。

先在前台试运行

安装 .deb(所需的库由包管理器一并安装),然后启动安装在应用旁边的包装脚本:

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

它会打印带一次性令牌的 Web 界面地址 — http://127.0.0.1:8514/?token=…。打开一次即可,Cookie 会记住你,之后用 http://127.0.0.1:8514/ 就行。地址丢了,syslogwatch-headless --show-url 会再次打印。从同一台机器发一条测试消息,看它是否到达:logger -n 127.0.0.1 -P 1514 -d "hello from $(hostname)"。

使用下载页面上的 .tar.gz 时,包装脚本、unit 文件和 README-headless.txt 位于解压后的文件夹中。README-headless.txt 列出的库需要自行安装(缺少时包装脚本会列出),且 unit 文件假定应用位于 /opt/SyslogWatch。

从自己的电脑打开界面

Web 界面只监听 127.0.0.1。先建立 SSH 隧道,再在自己的浏览器中打开带令牌的地址:

ssh -L 8514:127.0.0.1:8514 user@server

或者在前面放一个 HTTPS 反向代理(nginx、Caddy)。不要把明文 HTTP 端口暴露给不可信的网络:日志、SMTP 凭据和 Central 令牌都会经过它。

作为服务运行

包装脚本旁边装有 systemd unit。创建服务用户,复制 unit 并启动:

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

带令牌的 Web 界面地址会打印在日志中: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),因此在一边激活的许可证在另一边同样有效。服务以自己的用户运行,所以请在它的 Web 界面中输入一次许可证密钥。

服务器上没有密钥环,因此许可证密钥、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 的 Test connection 失败

bad-token 表示令牌错误或已吊销 — 请重新签发。unreachable 表示地址不对或被防火墙挡住;Central 服务器上的 8443 端口必须开放。除非在 Central 前面放了反向代理,否则是 http:// 而不是 https://。当前版本中,这些结果以句子形式显示 — Central 拒绝的令牌会说明它可能已被吊销或由另一个 Central 签发;代码本身在鼠标悬停于消息上时显示。

在 Linux 服务器上显示 Missing X server or $DISPLAY

这是桌面应用在寻找屏幕,安装本身没有问题。请在桌面会话中运行它;若是没有桌面的服务器,请使用 headless 模式 — 见第 5 节。

所有产品共通的问题

升级后窗口空白、Ubuntu 24.04 无法启动、没有 keyring 的 Linux 上凭据以明文保存、告警邮件没有送达 — 这些在各产品上是一样的,集中放在支持页面。

仍然没有解决

请把版本号和你预期发生的情况发到 support@meshwatch.app。我们在工作日两个营业日内首次回复。