指南 › SyslogWatch
其他语言 English · 日本語 · 한국어 · 简体中文
SyslogWatch
适用于 Mac、Windows 和 Linux 的 syslog 服务器 — 1.3.9
本版本的变化
- 1.3.9:30 天试用期内现在可以正常使用邮件告警和归档日志搜索。除此之外与 1.3.8 没有差别。
- Linux:
.deb和.tar.gz现包含面向无桌面服务器的 headless 模式 — 在浏览器中使用同样的界面,并附带 systemd unit。见第 5 节。 - 删除数据文件夹不再会让 30 天试用重新开始。试用开始时间也记录在数据文件夹之外,并以最早的记录为准。检查只在本机进行。
- 许可证栏不再自相矛盾:试用期间显示试用及剩余天数;已过期或无效的已保存密钥标为"未使用",并提供删除按钮。
- 在 MeshWatch Central 设置中 Test connection 成功后会保存地址和令牌,按钮变为 Done。
- Windows 安装程序已进行 Authenticode 签名并带时间戳。
1. 安装
选择与安装机器相符的版本。下面都是当前版本;旧版本列在发布说明页面。
- macOS · Apple silicon SyslogWatch-1.3.9-macos-arm64.dmg
- macOS · Intel SyslogWatch-1.3.9-macos-x64.dmg
- Windows installer SyslogWatch-1.3.9-windows-x64-setup.exe
- Windows portable SyslogWatch-1.3.9-windows-x64-portable.exe
- Linux · Debian/Ubuntu SyslogWatch-1.3.9-linux-amd64.deb
- Linux · AppImage SyslogWatch-1.3.9-linux-x86_64.AppImage
请校验下载的文件。公布的校验和在这里: 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. 首次运行
- SyslogWatch 默认监听 UDP 和 TCP 的 1514 端口。该端口高于 1024,因此不需要管理员密码。
- 在需要收取日志的设备上 — 路由器、交换机、NAS、防火墙、服务器 — 把 syslog 目的地设为这台计算机的局域网 IP 和 1514 端口。
- 消息会随到随显示。如果什么都没到,通常是防火墙(见下一节)。
- 端口可在 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. 防火墙
- Windows — 第一次询问时,在 Defender 防火墙中允许专用网络。如果对话框被关掉了:Windows 安全中心 → 防火墙和网络保护 → 允许应用通过防火墙。
- Linux (Ubuntu/Debian) — sudo ufw allow 1514/udp && sudo ufw allow 1514/tcp
- Linux (Fedora/RHEL) — sudo firewall-cmd --add-port=1514/udp --add-port=1514/tcp --permanent && sudo firewall-cmd --reload
- macOS — macOS 询问时允许传入连接,或在 系统设置 → 网络 → 防火墙 → 选项 中添加。
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 的只有严重级别、主机名和一行摘要。日志内容不会离开这台计算机。
- 在 Central 打开 Agents,选择 SyslogWatch,填写一个标签,然后按 Issue token。标签不是从别处取来的值,而是你自己起的名字,用来区分不同的安装。令牌只显示一次。
- 在 SyslogWatch 中打开 MeshWatch Central 设置,把 Central 的地址按
http://<central-server>:8443的形式填入,并填入令牌。除非 Central 就运行在同一台机器上,否则请使用服务器地址而不是localhost。 - 按 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。我们在工作日两个营业日内首次回复。