本指南将向您展示如何设置一个自动监控系统,当在您的 Discourse 站点上检测到新的管理员通知时,该系统会向您的管理员组发送私人消息。
所需用户级别:管理员
概述
管理员通知会提醒管理员注意重要的站点问题,例如插件更新、主题兼容性问题或安全问题。本指南将帮助您配置一个自动化系统,以便在您的站点上出现新的管理员通知时主动通知您的管理员团队,确保您不会错过关键更新。
监控系统包含两个关键组件:
- 一个 Data Explorer 查询,用于计算过去 24 小时内创建的新管理员通知数量。
- 一个 Discourse Automation,它会定期运行该查询,并在找到通知时向您的管理员组发送私人消息。
先决条件
在开始之前,请确保您的站点上已启用以下插件:
- Data Explorer - 在 Business 和 Enterprise 托管套餐中可用,或可以在自托管实例上安装。
- Discourse Automation - Discourse 核心已包含(无需单独安装)。
由 Discourse 托管?
Automations 和 Data Explorer 插件从 Business 套餐及以上版本开始提供。
创建 Data Explorer 查询
第一步是创建一个识别新管理员通知的查询。
- 在您的 Discourse 站点中导航到
/admin/plugins/explorer。 - 点击 Add 创建一个新查询。
- 将您的查询命名为“Admin Notices Count - Last 24 Hours”。
- 添加以下 SQL 查询:
SELECT 'There are new admin notices on dashboard.' AS message, id, created_at
FROM admin_notices
WHERE created_at >= CURRENT_TIMESTAMP - INTERVAL '24 hours'
ORDER BY created_at DESC
此查询将计算过去 24 小时内创建的管理员通知数量。
- 点击 Save 保存查询。
- 通过点击 Run 来测试查询,以确保它能正确返回结果。
配置自动化
接下来,您将设置一个定期运行此查询并发送通知的自动化。
创建自动化
- 导航到
/admin/plugins/automation/。 - 点击 Add automation。
- 对于 Script,选择 Schedule a PM with Data Explorer results。
- 输入一个名称,例如“Alert on New Admin Notices”。
- 对于 Trigger,选择 Recurring。
配置触发器
在触发器部分:
- 将 Recurrence 设置为您偏好的计划(例如,“Every 24 hours”)。
- 启用 Start date 并选择您希望监控何时开始。
配置脚本
在脚本部分,配置以下字段:
Send to User, Group or Email:输入您的管理员组名称(通常是 admins)。
Query:选择“Admin Notices Count - Last 24 Hours”(您之前创建的查询)。
Skip if no results:启用此选项可防止在计数为 0 时发送 PM。
现在点击“Update automation”按钮。

启用自动化
配置完所有设置后:
- 查看您的配置。
- 点击页面顶部的 Enable automation 切换按钮以激活自动化。
- (可选)点击 Trigger now 立即测试自动化。
工作原理
启用后,系统将按以下方式运行:
- 每 24 小时(或您配置的间隔),自动化将自动触发。
- Data Explorer 查询将运行并计算过去 24 小时内创建的管理员通知数量。
- 如果计数大于 0,将向管理员组发送一个包含通知计数的 PM。
- 如果没有找到新通知,则不会发送 PM(由于“Skip if no results”设置)。
这可确保您的管理员团队及时收到关于新管理员通知的通知,而不会被不必要的邮件淹没。
故障排除
自动化未运行
- 验证自动化是否已启用 - 检查自动化页面顶部的切换按钮。
- 检查
/logs中是否有与自动化相关的任何错误消息。 - 确保 Automation 插件本身已在
/admin/plugins中启用。
未收到 PM
- 验证“Send to”字段中的组名称是否正确。
- 检查管理员组是否具有接收 PM 的权限。
- 查看您的个人通知设置,确保您收到 PM 的电子邮件通知。
在存在通知时查询未返回结果
- 在 Data Explorer 中手动测试查询。
- 验证时间间隔参数是否与您的自动化频率匹配。
- 通过访问
/admin/dashboard/problems来检查是否确实存在管理员通知。