[{"data":1,"prerenderedAt":887},["ShallowReactive",2],{"guide:zh:automations":3},{"id":4,"title":5,"body":6,"description":879,"extension":880,"meta":881,"navigation":882,"path":883,"seo":884,"stem":885,"__hash__":886},"guide_zh/zh/user/automations/index.md","自动化与监控",{"type":7,"value":8,"toc":852},"minimark",[9,12,37,49,53,56,131,135,160,171,175,188,192,195,358,361,364,384,387,491,514,518,528,569,592,596,599,609,612,619,621,650,653,668,671,681,700,702,713,753,777,780,787,790,806,810,815,833,836,842,845],[10,11,5],"h1",{"id":5},[13,14,15,16,20,21,24,25,28,29,32,33,36],"p",{},"自动化是 Aptli 的集成层——它决定了您的部署如何响应内部事件，并连接到外部系统。 它涵盖四个方面：当事件发生时触发操作的",[17,18,19],"strong",{},"规则","、将事件推送至其他系统的",[17,22,23],{},"钩子","、将传感器和设备数据",[17,26,27],{},"拉取","进来的",[17,30,31],{},"数据采集","，以及将这些传入数据转化为读数、图表和警报的",[17,34,35],{},"监控","。",[13,38,39,40,43,44,36],{},"自动化功能",[17,41,42],{},"包含在每个套餐中","。计费依据是您配置的外部连接数量——请参阅下方的",[45,46,48],"a",{"href":47},"#the-connection-allowance","连接配额",[50,51,52],"h2",{"id":52},"页面概览",[13,54,55],{},"“自动化”位于独立的导航组中，包含四个页面：",[57,58,59,75],"table",{},[60,61,62],"thead",{},[63,64,65,69,72],"tr",{},[66,67,68],"th",{},"页面",[66,70,71],{},"标签页",[66,73,74],{},"功能说明",[76,77,78,92,105,118],"tbody",{},[63,79,80,86,89],{},[81,82,83],"td",{},[17,84,85],{},"自动化",[81,87,88],{},"钩子 · 事件触发器 · 数据摄取",[81,90,91],{},"构建外发钩子、事件驱动规则和数据摄取连接器。",[63,93,94,99,102],{},[81,95,96],{},[17,97,98],{},"凭据",[81,100,101],{},"外发凭据 · 数据摄取密钥",[81,103,104],{},"存储外发操作所需的密钥，并生成发送方用于推送数据的 API 密钥。",[63,106,107,112,115],{},[81,108,109],{},[17,110,111],{},"交付",[81,113,114],{},"外发交付 · 内发运行",[81,116,117],{},"所有外发和内发操作的只读活动日志。",[63,119,120,125,128],{},[81,121,122],{},[17,123,124],{},"警报",[81,126,127],{},"—",[81,129,130],{},"阈值警报和静默警报的实时日志。",[50,132,134],{"id":133},"钩子-快速推送事件的途径","钩子 —— 快速推送事件的途径",[13,136,137,139,140,143,144,147,148,151,152,155,156,159],{},[17,138,23],{}," 是一个已签名的目标，用于订阅您选择的事件。这是最简单的出站集成：为其指定一个 ",[17,141,142],{},"名称","、一个 ",[17,145,146],{},"目标 URL","、 ",[17,149,150],{},"要发送的事件","、一个",[17,153,154],{},"签名密钥","（以便接收方验证有效载荷来自您），以及（可选）一个",[17,157,158],{},"有效载荷模板","。每个匹配的事件都会通过 POST 请求发送到该 URL。无需条件，无需分支；只需“将这些事件发送到那里”。",[13,161,162,163,167,168,36],{},"当其他系统只需",[164,165,166],"em",{},"知晓","发生了某件事时，请使用钩子。若需要条件判断或非 Webhook 操作，请使用下文介绍的 ",[17,169,170],{},"事件触发器",[50,172,174],{"id":173},"事件触发器-执行特定操作的规则","事件触发器 — 执行特定操作的规则",[13,176,177,179,180,183,184,187],{},[17,178,170],{},"是一个完整的 ",[17,181,182],{},"触发 → 条件 → 操作"," 引擎。当事件触发且满足条件时，将执行一项或多项操作。您可以从 ",[17,185,186],{},"“什么应该自动发生？”"," 配方库中创建一个新的触发器，或者直接进入完整编辑器。",[189,190,191],"h3",{"id":191},"触发器",[13,193,194],{},"触发器按其在 Aptli 中的来源进行分组。以下是一些示例：",[196,197,198,225,242,259,276,296,309,329,343],"ul",{},[199,200,201,204,205,209,210,209,213,209,216,209,219,209,222],"li",{},[17,202,203],{},"工作"," — ",[206,207,208],"code",{},"workOrder.created","、",[206,211,212],{},"workOrder.statusChanged",[206,214,215],{},"report.completed",[206,217,218],{},"report.validated",[206,220,221],{},"report.rejected",[206,223,224],{},"validation.statusChanged",[199,226,227,204,230,209,233,209,236,209,239],{},[17,228,229],{},"项目与任务",[206,231,232],{},"project.created",[206,234,235],{},"project.statusChanged",[206,237,238],{},"job.created",[206,240,241],{},"job.removed",[199,243,244,204,247,209,250,209,253,209,256],{},[17,245,246],{},"库存",[206,248,249],{},"inventory.created",[206,251,252],{},"stock.adjusted",[206,254,255],{},"stock.transferred",[206,257,258],{},"stock.low",[199,260,261,204,264,209,267,209,270,209,273],{},[17,262,263],{},"导入与版本",[206,265,266],{},"geo.import.completed",[206,268,269],{},"geo.import.failed",[206,271,272],{},"version.submittedForReview",[206,274,275],{},"version.committed",[199,277,278,204,281,209,284,209,287,209,290,209,293],{},[17,279,280],{},"用户、文件、求助请求",[206,282,283],{},"user.invited",[206,285,286],{},"file.uploaded",[206,288,289],{},"file.quarantine_failed",[206,291,292],{},"helpRequest.created",[206,294,295],{},"helpRequest.statusChanged",[199,297,298,204,301,304,305,308],{},[17,299,300],{},"传感器数据",[206,302,303],{},"sensor.reading","（每个数据采集",[17,306,307],{},"批次","触发一次，携带该批次的聚合数据——这是从数据采集到自动化的桥梁）",[199,310,311,204,314,317,318,321,322,324,325,328],{},[17,312,313],{},"告警",[206,315,316],{},"alarm.raised"," 和 ",[206,319,320],{},"alarm.resolved"," (§293)。与 ",[206,323,303],{}," 不同，这些事件携带",[17,326,327],{},"完整的操作集","，因此违规事件可以创建工单、更新字段或通知相关人员——而不仅仅是触发钩子",[199,330,331,204,334,209,337,209,340],{},[17,332,333],{},"定时任务",[206,335,336],{},"schedule.daily",[206,338,339],{},"schedule.weekly",[206,341,342],{},"schedule.monthly",[199,344,345,204,348,209,351,209,354,357],{},[17,346,347],{},"SLA 计时器",[206,349,350],{},"timer.threshold",[206,352,353],{},"timer.expired",[206,355,356],{},"timer.escalated","（由正在运行的生命周期计时器触发）",[189,359,360],{"id":360},"条件",[13,362,363],{},"条件用于限定触发器何时触发，它们基于事件上下文进行评估，并以“且”条件组合（所有条件必须都满足）：",[196,365,366,372,378],{},[199,367,368,371],{},[206,369,370],{},"workOrder.status == 'completed'"," —— 仅在任务完成时触发",[199,373,374,377],{},[206,375,376],{},"actor.email endsWith '@myorg.com'"," —— 仅限内部用户",[199,379,380,383],{},[206,381,382],{},"job.featureCount > 1000"," — 仅限大规模导入",[189,385,386],{"id":386},"操作",[57,388,389,398],{},[60,390,391],{},[63,392,393,395],{},[66,394,386],{},[66,396,397],{},"功能",[76,399,400,414,424,434,447,457,467,477],{},[63,401,402,411],{},[81,403,404,407,408],{},[17,405,406],{},"发送通知"," / ",[17,409,410],{},"发送电子邮件",[81,412,413],{},"通知用户、角色或记录的创建者/指派对象",[63,415,416,421],{},[81,417,418],{},[17,419,420],{},"调用 webhook",[81,422,423],{},"向外部 URL 发送经过签名的 JSON 有效载荷（POST 请求）",[63,425,426,431],{},[81,427,428],{},[17,429,430],{},"写入 Postgres",[81,432,433],{},"对外部 PostgreSQL 数据库执行带参数的写入操作",[63,435,436,441],{},[81,437,438],{},[17,439,440],{},"交付数据",[81,442,443,444],{},"将触发记录（JSON/CSV/GeoJSON）导出到目录、S3 兼容存储桶或 webhook。 ",[164,445,446],{},"(SFTP 虽可选但尚未启用——向其交付的操作将被记录为失败。)",[63,448,449,454],{},[81,450,451],{},[17,452,453],{},"创建工作单/任务/作业",[81,455,456],{},"生成一个履约记录",[63,458,459,464],{},[81,460,461],{},[17,462,463],{},"更新字段",[81,465,466],{},"设置触发记录上的某个字段",[63,468,469,474],{},[81,470,471],{},[17,472,473],{},"运行计算",[81,475,476],{},"执行已配置的计算规则",[63,478,479,484],{},[81,480,481],{},[17,482,483],{},"启动 SLA 计时器",[81,485,486,487,490],{},"在记录上启动生命周期计时器（该计时器随后会触发 ",[206,488,489],{},"timer.*"," 触发器）",[13,492,493,494,497,498,501,502,505,506,509,510,513],{},"每个触发器都带有内置的 ",[17,495,496],{},"测试运行"," 面板——通过一个按钮，即可针对该触发器的 ",[17,499,500],{},"合成样本上下文"," 触发规则。 使用前需了解两点：它会",[17,503,504],{},"跳过条件判断","（直接执行操作），且",[17,507,508],{},"并非干跑","——外发操作（Webhook、Postgres、工件交付） ",[17,511,512],{},"会实际执行","，目标是您配置的目标，只是在“交付”中会标记为测试状态。电子邮件会进行验证但不会发送，而会修改记录的操作（创建/更新）会被跳过。因此，请将测试指向一个安全的目标；此功能用于确认连接配置，而非无操作预览。",[50,515,517],{"id":516},"数据采集-导入传感器和设备数据","数据采集 — 导入传感器和设备数据",[13,519,520,523,524,527],{},[17,521,522],{},"采集连接器","是一种将读数输入到 Aptli 的外部数据源。每个连接器都有一个 ",[17,525,526],{},"模式","：",[196,529,530,559],{},[199,531,532,535,536,539,540,209,543,545,546,147,549,209,552,209,555,558],{},[17,533,534],{},"拉取（定时轮询）"," — Aptli 会按 ",[17,537,538],{},"间隔","（至少 30 秒）轮询供应商的 REST API。您需要设置 ",[17,541,542],{},"URL",[17,544,98],{}," 以及一个简短的响应映射（",[17,547,548],{},"读数路径",[17,550,551],{},"时间戳键",[17,553,554],{},"值键",[17,556,557],{},"指标键","），以便 Aptli 读取供应商的 JSON 数据。",[199,560,561,564,565,568],{},[17,562,563],{},"推送（发送方 POST）"," — 发送方将 JSON 批次数据通过 POST 方式发送到连接器自身的入站端点（保存连接器后会显示该端点），并使用 ",[17,566,567],{},"数据采集 API 密钥"," 进行身份验证。无需轮询；设备或网关会按照自己的时间表进行推送。",[13,570,571,572,575,576,580,581,584,585,587,588,591],{},"无论采用哪种方式，每个连接器都会指定一个 ",[17,573,574],{},"站点的特征 ID","（即读数所属的地图特征——参见 ",[45,577,579],{"href":578},"#monitoring--alarms","监控与告警","）和一个 ",[17,582,583],{},"单位","，且其摄入的每个批次都会触发 ",[206,586,303],{}," 触发器。 ",[17,589,590],{},"数据摄取"," 选项卡还会实时显示计划轮询的状态（包括活跃、延迟或失败的轮询数量）。",[50,593,595],{"id":594},"凭据密钥和连接配额","凭据、密钥和连接配额",[189,597,598],{"id":598},"外发凭据",[13,600,601,602,605,606,608],{},"访问外部系统的外发操作（Webhook、Postgres、S3/SFTP 构建产物交付）通过 ",[17,603,604],{},"存储的凭据"," 进行身份验证，而非内联密钥。请在 ",[17,607,98],{}," 页面上创建一次，并按名称引用它。 密钥在静止状态下经过加密，保存后将不再显示；而非密钥类配置（基础 URL、主机名、区域）仍可读取。类型包括：bearer / basic / API-key HTTP、S3、SFTP 和 Postgres。",[189,610,611],{"id":611},"入站数据导入密钥",[13,613,614,615,618],{},"机器 bearer 密钥允许发送方将数据推送至 Aptli。仅限摄入，其权限范围受限于允许的操作（推送读数或拉取门户提交），原始密钥仅在",[17,616,617],{},"创建时显示一次","——请届时复制。",[189,620,48],{"id":48},[13,622,623,624,627,628,209,631,634,635,638,639,641,642,645,646,649],{},"商业计费指标是 ",[17,625,626],{},"外部连接"," 的数量，而非功能本身。每个 ",[17,629,630],{},"数据导入连接器",[17,632,633],{},"API 密钥"," 和可重用的 ",[17,636,637],{},"出站钩子"," 都会从共享池中消耗一个 ",[17,640,583],{},"（内部事件触发规则不计入配额）。 “自动化”和“凭据”页面上的一个计数器会显示 ",[17,643,644],{},"“已使用 {used} 个，总计 {total} 个连接器/密钥”","，并详细列出连接器、API 密钥和钩子的使用情况。默认配额为 ",[17,647,648],{},"3","；当达到配额时，创建新连接器会提示您撤销一个未使用的连接器，或联系支持团队以增加配额。 即使后续配额减少，您已有的连接仍会继续运行。",[50,651,652],{"id":652},"监控与警报",[13,654,655,656,659,660,663,664,667],{},"数据采集负责将传感器数据",[164,657,658],{},"导入","系统；监控则是您",[164,661,662],{},"所见","的内容以及",[164,665,666],{},"会收到警告","的事项。",[189,669,670],{"id":670},"监测点与读数",[13,672,673,676,677,680],{},[17,674,675],{},"监测点"," 只是传感器用于上报数据的地图特征。 默认情况下，连接器的",[17,678,679],{},"站点要素 ID","即为该要素自身的 ID，因此读数会直接关联到该要素；使用自有站点代码的发送方可以显式关联。",[13,682,683,684,687,688,691,692,695,696,699],{},"一旦读数开始流转，该要素的记录中就会增加一个",[17,685,686],{},"传感器读数","部分：对于每个指标， 都会显示",[17,689,690],{},"最新数值和单位","，以及一条",[17,693,694],{},"7天趋势线","。如果某个站点停止发送数据，但其数据源仍在其他ID下继续发送（即传感器在源端被重命名），Aptli会标记该情况，并提供一键",[17,697,698],{},"重新链接","功能，以确保您不会丢失历史数据。",[189,701,124],{"id":124},[13,703,704,705,708,709,712],{},"警报规则位于 ",[17,706,707],{},"数据采集连接器"," 上。开启 ",[17,710,711],{},"触发警报"," 并设置：",[196,714,715,721,727,737,743],{},[199,716,717,720],{},[17,718,719],{},"当值达到"," — 高于或低于阈值时触发警报",[199,722,723,726],{},[17,724,725],{},"清除阈值范围"," —— 读数必须低于阈值多远，警报才会自动清除（即滞后效应，以防止值在阈值线上徘徊时警报频繁触发）",[199,728,729,732,733,736],{},[17,730,731],{},"（分钟）后静音告警"," —— 若在此时间段内未收到数据，则触发",[164,734,735],{},"静音","告警（传感器失效检测）",[199,738,739,742],{},[17,740,741],{},"告警接收者"," — 谁将收到通知",[199,744,745,748,749,752],{},[17,746,747],{},"若（分钟）后仍未确认则升级"," + ",[17,750,751],{},"升级接收者"," — 若无人及时确认，则触发第二级告警",[13,754,755,757,758,209,761,764,765,768,769,772,773,776],{},[17,756,313],{},"页面是实时记录。 每个警报状态为 ",[17,759,760],{},"活动",[17,762,763],{},"已确认"," 或 ",[17,766,767],{},"已解决","；您需 ",[17,770,771],{},"确认"," 警报以表明有人正在处理，并在问题处理完毕后 ",[17,774,775],{},"解决"," 警报（当读数恢复至安全阈值以上时，警报也会自动清除）。 阈值告警和静默（“未收到数据”）告警会清晰区分显示，每个告警包含其数值/阈值/峰值、确认人员，以及——若已升级——一条带有投递状态图标的**“已升级 {日期}”**行。 主仪表盘卡片会显示活跃警报，确保它们不会被忽略。警报页面对任何已登录的监督人员可见，而不仅限于自动化管理员，这样负责监督工作的人员就能实时查看警报。",[189,778,779],{"id":779},"双向工单闭环",[13,781,782,783,786],{},"每个警报都可携带一个 ",[17,784,785],{},"回写 URL","：您的外部工单系统会通过 POST 请求将状态变更发回，以确认或解决该警报，而工单的引用链接会显示在警报上。当警报在其他工具中得到处理时，这便形成了闭环。",[189,788,789],{"id":789},"成果与共享链接",[13,791,792,793,796,797,801,802,805],{},"在项目中，“",[17,794,795],{},"成果","”标签页会将监控的指标序列与已完成的工作里程碑进行对比图表展示——参见 ",[45,798,800],{"href":799},"/addons/fulfillment/projects/#outcomes--did-the-work-move-the-needle","项目","。 您可以为外部人员发布这些图表的只读、经过令牌加密的",[17,803,804],{},"共享链接","，并可随时撤销该链接。数据读数会与工作日期一同显示以提供背景信息；Aptli 不对因果关系作出任何声明，且该页面明确声明不属于经认证的测量数据。",[50,807,809],{"id":808},"交付-活动日志","交付 — 活动日志",[13,811,812,814],{},[17,813,111],{},"页面是只读历史记录，分为两个标签页：",[196,816,817,827],{},[199,818,819,822,823,826],{},[17,820,821],{},"外发交付"," —— 每次外发尝试占一行：日期、工作流、操作、目的地、结果（",[17,824,825],{},"成功 / 失败 / 重试 / 死信","）、尝试次数、持续时间以及任何错误。 测试运行会标有特殊标记。",[199,828,829,832],{},[17,830,831],{},"入站运行"," — 数据摄取历史记录：来源、结果、日期、持续时间、行数和错误。",[50,834,835],{"id":835},"快速连接",[13,837,838,839,841],{},"对于常见的集成，",[17,840,835],{},"向导会引导您完成配方配置，而无需使用原始编辑器——例如“将新的门户提交发送到我的系统”、“库存不足时向我的系统发送警报”， “触发警报时创建工单”，或“接收来自我的传感器或网关的读数”。它会为您自动配置连接器、钩子或规则。",[50,843,844],{"id":844},"权限",[13,846,847,848,851],{},"自动化功能不使用全局管理员权限矩阵。三个配置页面（自动化、凭据、交付）受自动化设置中",[17,849,850],{},"查看者/修改者","白名单的限制，因此您需要明确授予访问权限。 **“警报”**页面特意对所有已登录用户开放——监控警报属于运维任务，而非配置任务。如果列表为空，拥有“应用程序设置”权限的用户始终可通过恢复路径进行操作。",{"title":853,"searchDepth":854,"depth":854,"links":855},"",2,[856,857,858,864,865,870,876,877,878],{"id":52,"depth":854,"text":52},{"id":133,"depth":854,"text":134},{"id":173,"depth":854,"text":174,"children":859},[860,862,863],{"id":191,"depth":861,"text":191},3,{"id":360,"depth":861,"text":360},{"id":386,"depth":861,"text":386},{"id":516,"depth":854,"text":517},{"id":594,"depth":854,"text":595,"children":866},[867,868,869],{"id":598,"depth":861,"text":598},{"id":611,"depth":861,"text":611},{"id":48,"depth":861,"text":48},{"id":652,"depth":854,"text":652,"children":871},[872,873,874,875],{"id":670,"depth":861,"text":670},{"id":124,"depth":861,"text":124},{"id":779,"depth":861,"text":779},{"id":789,"depth":861,"text":789},{"id":808,"depth":854,"text":809},{"id":835,"depth":854,"text":835},{"id":844,"depth":854,"text":844},"将 Aptli 与外部世界连接起来：基于事件的规则和钩子、入站传感器数据采集、出站数据传输，以及带阈值告警的结果监控。","md",{},true,"/zh/user/automations",{"title":5,"description":879},"zh/user/automations/index","oKgq9tUywCMBcjBe4HJux9MEIlvght6jn-tbQjUDbU0",1783969907757]