本指南将向您展示如何设置一个自动化监控系统,以便在您的 Discourse 站点检测到新的管理员通知时,向您的管理员组发送私信。
所需用户级别:管理员
概述
管理员通知会提醒管理员注意重要的站点问题,例如插件更新、主题兼容性问题或安全问题。本指南将帮助您配置一个自动化系统,以便在新管理员通知出现在您的站点上时主动通知您的管理员团队,确保您不会错过任何关键更新。
监控系统由两个关键组件组成:
- 一个 Data Explorer(数据资源管理器)查询,用于计算过去 24 小时内创建的新管理员通知的数量。
- 一个 Discourse Automation(Discourse 自动化),它定期运行该查询,并在找到通知时向您的管理员组发送私信。
先决条件
在开始之前,请确保您的站点已启用以下插件:
- Data Explorer - 在商业版(Business)和企业版(Enterprise)托管方案中可用,或可在自托管实例上安装。
- Discourse Automation - 与 Discourse 核心捆绑在一起(无需单独安装)。
由 Discourse 托管?
Automations(自动化)和 Data Explorer(数据资源管理器)插件从 Business 方案及以上版本开始提供。
创建 Data Explorer 查询
第一步是创建一个识别新管理员通知的查询。
- 在您的 Discourse 站点中导航到
/admin/plugins/discourse-data-explorer。 - 点击 Add(添加)以创建一个新查询。
- 将您的查询命名为“Admin Notices Count - Last 24 Hours”(管理员通知计数 - 过去 24 小时)。
- 添加以下 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”/每 24 小时)。
- 启用 Start date(开始日期)并选择您希望监控开始的时间。
配置脚本
在脚本部分,配置以下字段:
Send to User, Group or Email(发送至用户、组或电子邮件):输入您的管理员组名称(通常是 admins)。
Data Explorer Query(数据资源管理器查询):选择“Admin Notices Count - Last 24 Hours”(您之前创建的查询)。
Skip sending PM if there are no results(如果没有结果则跳过发送私信):启用此选项,以避免在计数为 0 时发送私信。
现在点击“Update automation”(更新自动化)按钮。
启用自动化
配置完所有设置后:
- 审阅您的配置。
- 点击页面顶部的 Enable automation(启用自动化)切换以激活该自动化。
- 可选:点击 Trigger now(立即触发)立即测试该自动化。
工作原理
启用后,系统运行如下:
- 每 24 小时(或您配置的时间间隔),自动化会自动触发。
- Data Explorer 查询运行并计算过去 24 小时内创建的管理员通知数量。
- 如果计数大于 0,则会向管理员组发送包含通知计数的私信。
- 如果未找到新通知,则不会发送私信(由于“如果没有结果则跳过发送私信”的设置)。
这可确保您的管理员团队及时收到有关新管理员通知的提醒,而不会被不必要的邮件淹没。
故障排除
自动化未运行
- 验证自动化是否已启用——检查自动化页面顶部的切换开关。
- 检查
/logs中是否有与自动化相关的任何错误消息。 - 确保 Automation 插件本身已在
/admin/plugins处启用。
未收到私信
- 验证“发送至”字段中的组名称是否正确。
- 检查管理员组是否具有接收私信的权限。
- 查看您的个人通知设置,以确保您收到私信的电子邮件通知。
通知存在时查询无结果
- 在 Data Explorer 中手动测试查询。
- 验证时间间隔参数是否与您的自动化频率匹配。
- 访问
/admin检查管理员通知是否实际存在。
