Odoo
Odoo 工作流
安装 blipit_monitor 1.15.0 from the Odoo Apps store
Odoo 工作流会显示用户在 Odoo 中执行的每个业务步骤,例如确认报价单、过账发票、验证交货、登记付款和关闭 POS 会话,以及每个计划任务。对每一个步骤,Blipit 都会告诉你它的成功频率、它阻止了谁、哪些单据在等待处理以及失败的原因,让你在任何人打电话来之前就知道某个流程出了问题。
1启用
将 Blipit 模块升级到 1.15.0 或更高版本:应用 › Blipit Error Monitoring › 升级。无需其他任何设置。从用户下一次点击按钮开始计数,已连接 Odoo 的项目会在 app.blipit.io 侧边栏中出现“工作流”。在第一个步骤到达之前,页面会提示正在等待来自你数据库的第一个工作流。
2工作流页面显示的内容
顶部的卡片统计失败中的工作流、受影响的人员、等待处理的单据和受影响的公司。下方按应用(销售、会计、库存、POS、计划任务等)对工作流分组,每个工作流都显示成功率以及“失败中”“降级”或“健康”状态。可按应用、公司以及最近 24 小时、7 天或 30 天筛选。打开一个工作流可查看:
- 尝试次数、失败次数、受影响的人员和公司,以及该时间范围内的成功率趋势。
- 失败原因:导致失败的问题,每个都标为“崩溃”或“被阻止”,并链接到问题页面。
- 等待处理的单据:失败步骤涉及的每张订单、发票或交货单,每一项都直接链接回你 Odoo 中的记录。
- 问题页面从另一侧显示同样的关联:某个错误破坏了哪些工作流、涉及哪些记录。概览页显示你最差的三个工作流。
3哪些步骤会被计数
Blipit 统计推动单据向前的按钮:Odoo 自带的按钮,例如确认报价单、创建发票、过账发票、登记付款、贷项通知单、验证交货、确认采购订单和关闭 POS 会话;以及你自定义模块中的 action_ 和 button_ 方法,它们会显示在所属应用下,名称由方法名生成(action_approve_order 显示为 Approve order)。每次计划任务运行也会计数,包括“手动运行”,从“动作”菜单启动的服务器动作同样计数。打开视图、打印以及其他读取类调用不计数,因此列表保持简短。
4被阻止、崩溃和超时
每次尝试都会以四种方式之一结束。成功:步骤已完成。被阻止:Odoo 用一条用户可以处理的消息阻止了用户(UserError、ValidationError 或 AccessError,例如缺少科目或缺少路线)。崩溃:意外错误。超时:Odoo 因计划任务运行时间过长而将其停止。被阻止的步骤会全部计入成功率,并且每 20 次保留 1 次作为警告事件,方便你查看原因;被阻止的步骤绝不会呼叫任何人。崩溃和超时会像其他错误一样作为错误事件到达。
5每分钟计数
每个 Odoo worker 在内存中累计尝试次数,每分钟用一个小请求发送给 Blipit 一次,空闲时不发送任何内容。判断一个调用是否属于工作流只是一次简单查找,不做数据库查询,因此不会拖慢页面。这些计数不按事件计费;只有错误和被阻止步骤的样本计入你套餐的事件数。
7告警
“告警”页面有一个“工作流告警”部分,包含两条规则,一开始就都已开启。“多人失败”在 10 分钟内有 3 人或更多人在同一工作流上遇到崩溃时触发。“计划任务失败”在某个计划任务连续 2 次运行失败或超时时触发。你可以更改阈值和时间窗口,也可以关闭某条规则。工作流告警发送给与你其他告警相同的人员和渠道(邮件规则、Slack、Microsoft Teams 和 webhook,没有时发给所有者),遵守暂停设置和每小时告警额度,每个工作流只发一条通知,并在问题消失 15 分钟后发送恢复通知。被阻止的步骤绝不会触发告警。
8套餐
- 所有套餐:按工作流划分的失败、受影响的人员、带 Odoo 链接的等待处理单据、失败原因,以及“多人失败”告警。
- Solo 及以上:成功率、尝试次数和趋势、“计划任务失败”告警,以及 Odoo 中记录上的横幅。
- 历史记录:Free 7 天,付费套餐 30 天。
- 所有套餐都会统计尝试次数,因此一升级,你近期历史的成功率就会立即显示。
9隐私
成功的步骤只以计数形式发送:工作流、公司和次数。失败的步骤还会发送它涉及的单据的记录 ID(最多 20 个)、Odoo 用户 ID 和公司 ID,全部是纯数字。工作流数据绝不包含金额、姓名或消息。Odoo 向被阻止用户显示的消息保留在你自己的 Odoo 数据库中,由横幅读取。每 20 次保留 1 次的被阻止样本属于错误事件,其消息中的数字和引号内的值会在离开 Odoo 之前被删除。
须知
- 适用于部署在你自己服务器上的 Odoo 和 Odoo.sh。Odoo Online 不允许第三方模块。
- 当 Odoo 重启某个 worker 时(例如达到 limit_request 后),该 worker 最多一分钟的计数可能会丢失。成功率可以容忍这种情况。
- 当 Odoo 在数据库冲突后重试某个步骤时,只计入最终结果。
- 来自旧版本模块的错误,只要请求中带有按钮名称,仍会在问题页面上显示其工作流;但成功率和等待处理的单据需要 1.15.0。
- 记录链接会按模块连接时上报的地址打开你的 Odoo,格式为 /odoo/<model>/<id>。
- 失败步骤的记录遵循你套餐的工作流历史保留期;之后步骤成功的记录会在 7 天后删除。
遇到问题?发邮件至 support@blipit.io。每个项目的密钥和确切的 DSN 在 app.blipit.io 的“API 密钥”下。
