[{"data":1,"prerenderedAt":935},["ShallowReactive",2],{"navigation_docs_zh":3,"blog_zh_application-health-inspection":293},[4,18,51,254,267,280],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":6},"入门",false,"/zh/docs/getting-started","zh/docs/1.getting-started",[10,14],{"title":11,"path":12,"stem":13},"简介","/zh/docs/getting-started/introduction","zh/docs/1.getting-started/1.introduction",{"title":15,"path":16,"stem":17},"快速开始","/zh/docs/getting-started/quick-start","zh/docs/1.getting-started/2.quick-start",{"title":19,"icon":6,"path":20,"stem":21,"children":22,"page":6},"功能","/zh/docs/features","zh/docs/2.features",[23,27,31,35,39,43,47],{"title":24,"path":25,"stem":26},"告警分诊","/zh/docs/features/alert-triage","zh/docs/2.features/2.alert-triage",{"title":28,"path":29,"stem":30},"事故调查","/zh/docs/features/incident-investigation","zh/docs/2.features/3.incident-investigation",{"title":32,"path":33,"stem":34},"部署验证","/zh/docs/features/deployment-verification","zh/docs/2.features/4.deployment-verification",{"title":36,"path":37,"stem":38},"数据探索","/zh/docs/features/data-exploration","zh/docs/2.features/5.data-exploration",{"title":40,"path":41,"stem":42},"知识库","/zh/docs/features/knowledges","zh/docs/2.features/6.knowledges",{"title":44,"path":45,"stem":46},"Castrel Proxy","/zh/docs/features/castrel-proxy","zh/docs/2.features/7.castrel-proxy",{"title":48,"path":49,"stem":50},"自动化","/zh/docs/features/automations","zh/docs/2.features/8.automations",{"title":52,"icon":6,"path":53,"stem":54,"children":55},"集成","/zh/docs/integrations","zh/docs/3.integrations/index",[56,57,62,67,72,77,81,85,89,94,99,104,109,113,117,122,127,131,136,141,146,151,156,160,165,170,174,178,183,188,193,198,203,208,212,216,220,224,229,234,239,244,249],{"title":52,"path":53,"stem":54},{"title":58,"path":59,"stem":60,"icon":61},"Prometheus","/zh/docs/integrations/prometheus","zh/docs/3.integrations/1.prometheus","i-simple-icons-prometheus",{"title":63,"path":64,"stem":65,"icon":66},"AWS","/zh/docs/integrations/aws","zh/docs/3.integrations/10.aws","i-simple-icons-amazonwebservices",{"title":68,"path":69,"stem":70,"icon":71},"阿里云（Aliyun）","/zh/docs/integrations/aliyun","zh/docs/3.integrations/12.aliyun","i-simple-icons-alibabacloud",{"title":73,"path":74,"stem":75,"icon":76},"腾讯云（Tencent Cloud）","/zh/docs/integrations/tencent-cloud","zh/docs/3.integrations/13.tencent-cloud","i-lucide-plug",{"title":78,"path":79,"stem":80,"icon":76},"华为云（Huawei Cloud）","/zh/docs/integrations/huaweicloud","zh/docs/3.integrations/14.huaweicloud",{"title":82,"path":83,"stem":84,"icon":76},"火山引擎（Volcengine）","/zh/docs/integrations/volcengine","zh/docs/3.integrations/15.volcengine",{"title":86,"path":87,"stem":88,"icon":76},"轻帆云（QingFanYun）","/zh/docs/integrations/qingfanyun","zh/docs/3.integrations/16.qingfanyun",{"title":90,"path":91,"stem":92,"icon":93},"Grafana","/zh/docs/integrations/grafana","zh/docs/3.integrations/17.grafana","i-simple-icons-grafana",{"title":95,"path":96,"stem":97,"icon":98},"VictoriaMetrics","/zh/docs/integrations/victoriametrics","zh/docs/3.integrations/18.victoriametrics","i-simple-icons-victoriametrics",{"title":100,"path":101,"stem":102,"icon":103},"New Relic","/zh/docs/integrations/new-relic","zh/docs/3.integrations/19.new-relic","i-simple-icons-newrelic",{"title":105,"path":106,"stem":107,"icon":108},"Elasticsearch","/zh/docs/integrations/elasticsearch","zh/docs/3.integrations/2.elasticsearch","i-simple-icons-elasticsearch",{"title":110,"path":111,"stem":112,"icon":76},"Zabbix","/zh/docs/integrations/zabbix","zh/docs/3.integrations/20.zabbix",{"title":114,"path":115,"stem":116,"icon":76},"监控宝（JianKongBao）","/zh/docs/integrations/jiankongbao","zh/docs/3.integrations/21.jiankongbao",{"title":118,"path":119,"stem":120,"icon":121},"PagerDuty","/zh/docs/integrations/pagerduty","zh/docs/3.integrations/22.pagerduty","i-simple-icons-pagerduty",{"title":123,"path":124,"stem":125,"icon":126},"Sentry","/zh/docs/integrations/sentry","zh/docs/3.integrations/23.sentry","i-simple-icons-sentry",{"title":128,"path":129,"stem":130,"icon":76},"Freshworks / Freshservice","/zh/docs/integrations/freshworks","zh/docs/3.integrations/24.freshworks",{"title":132,"path":133,"stem":134,"icon":135},"Linear","/zh/docs/integrations/linear","zh/docs/3.integrations/25.linear","i-simple-icons-linear",{"title":137,"path":138,"stem":139,"icon":140},"ClickHouse","/zh/docs/integrations/clickhouse","zh/docs/3.integrations/26.clickhouse","i-simple-icons-clickhouse",{"title":142,"path":143,"stem":144,"icon":145},"Kubernetes","/zh/docs/integrations/kubernetes","zh/docs/3.integrations/27.kubernetes","i-simple-icons-kubernetes",{"title":147,"path":148,"stem":149,"icon":150},"Terraform Cloud / HCP Terraform","/zh/docs/integrations/terraform","zh/docs/3.integrations/28.terraform","i-simple-icons-terraform",{"title":152,"path":153,"stem":154,"icon":155},"Jenkins","/zh/docs/integrations/jenkins","zh/docs/3.integrations/29.jenkins","i-simple-icons-jenkins",{"title":157,"path":158,"stem":159,"icon":93},"Grafana Loki","/zh/docs/integrations/grafana-loki","zh/docs/3.integrations/3.grafana-loki",{"title":161,"path":162,"stem":163,"icon":164},"Ansible / AWX","/zh/docs/integrations/ansible","zh/docs/3.integrations/30.ansible","i-simple-icons-ansible",{"title":166,"path":167,"stem":168,"icon":169},"GitLab","/zh/docs/integrations/gitlab","zh/docs/3.integrations/31.gitlab","i-simple-icons-gitlab",{"title":171,"path":172,"stem":173,"icon":76},"钉钉（DingTalk）","/zh/docs/integrations/dingtalk","zh/docs/3.integrations/32.dingtalk",{"title":175,"path":176,"stem":177,"icon":76},"飞书（Feishu / Lark）","/zh/docs/integrations/feishu","zh/docs/3.integrations/33.feishu",{"title":179,"path":180,"stem":181,"icon":182},"Telegram","/zh/docs/integrations/telegram","zh/docs/3.integrations/34.telegram","i-simple-icons-telegram",{"title":184,"path":185,"stem":186,"icon":187},"Email","/zh/docs/integrations/email","zh/docs/3.integrations/35.email","i-simple-icons-gmail",{"title":189,"path":190,"stem":191,"icon":192},"微信企业机器人（Weixin Clawbot）","/zh/docs/integrations/weixin-clawbot","zh/docs/3.integrations/36.weixin-clawbot","i-simple-icons-wechat",{"title":194,"path":195,"stem":196,"icon":197},"Notion","/zh/docs/integrations/notion","zh/docs/3.integrations/37.notion","i-simple-icons-notion",{"title":199,"path":200,"stem":201,"icon":202},"Confluence","/zh/docs/integrations/confluence","zh/docs/3.integrations/38.confluence","i-simple-icons-confluence",{"title":204,"path":205,"stem":206,"icon":207},"Google Docs","/zh/docs/integrations/google-docs","zh/docs/3.integrations/39.google-docs","i-simple-icons-googledocs",{"title":209,"path":210,"stem":211,"icon":93},"Grafana Tempo","/zh/docs/integrations/grafana-tempo","zh/docs/3.integrations/4.grafana-tempo",{"title":213,"path":214,"stem":215,"icon":76},"钉钉文档（DingTalk Docs）","/zh/docs/integrations/dingtalk-docs","zh/docs/3.integrations/40.dingtalk-docs",{"title":217,"path":218,"stem":219,"icon":76},"LDAP","/zh/docs/integrations/ldap","zh/docs/3.integrations/41.ldap",{"title":221,"path":222,"stem":223,"icon":76},"Dify","/zh/docs/integrations/dify","zh/docs/3.integrations/42.dify",{"title":225,"path":226,"stem":227,"icon":228},"自定义 MCP（Custom MCP）","/zh/docs/integrations/custom-mcp","zh/docs/3.integrations/43.custom-mcp","i-simple-icons-anthropic",{"title":230,"path":231,"stem":232,"icon":233},"GitHub","/zh/docs/integrations/github","zh/docs/3.integrations/5.github","i-simple-icons-github",{"title":235,"path":236,"stem":237,"icon":238},"Slack","/zh/docs/integrations/slack","zh/docs/3.integrations/6.slack","i-simple-icons-slack",{"title":240,"path":241,"stem":242,"icon":243},"Vercel","/zh/docs/integrations/vercel","zh/docs/3.integrations/7.vercel","i-simple-icons-vercel",{"title":245,"path":246,"stem":247,"icon":248},"Graylog","/zh/docs/integrations/graylog","zh/docs/3.integrations/8.graylog","i-simple-icons-graylog",{"title":250,"path":251,"stem":252,"icon":253},"Datadog","/zh/docs/integrations/datadog","zh/docs/3.integrations/9.datadog","i-simple-icons-datadog",{"title":255,"path":256,"stem":257,"children":258,"page":6},"开放平台","/zh/docs/open-platform","zh/docs/4.open-platform",[259,263],{"title":260,"path":261,"stem":262},"身份认证","/zh/docs/open-platform/authentication","zh/docs/4.open-platform/1.authentication",{"title":264,"path":265,"stem":266},"知识管理 API","/zh/docs/open-platform/knowledges","zh/docs/4.open-platform/2.knowledges",{"title":268,"path":269,"stem":270,"children":271,"page":6},"更多","/zh/docs/more","zh/docs/5.more",[272,276],{"title":273,"path":274,"stem":275},"路线图","/zh/docs/more/roadmap","zh/docs/5.more/1.roadmap",{"title":277,"path":278,"stem":279},"支持","/zh/docs/more/support","zh/docs/5.more/2.support",{"title":281,"path":282,"stem":283,"children":284,"page":6},"安全","/zh/docs/security","zh/docs/6.security",[285,289],{"title":286,"path":287,"stem":288},"隐私政策","/zh/docs/security/privacy-policy","zh/docs/6.security/1.privacy-policy",{"title":290,"path":291,"stem":292},"服务条款","/zh/docs/security/terms-of-service","zh/docs/6.security/2.terms-of-service",{"id":294,"title":295,"body":296,"description":924,"extension":925,"meta":926,"navigation":6,"path":931,"seo":932,"stem":933,"__hash__":934},"blogs_zh/zh/blogs/4.application-health-inspection.md","Castrel AI 健康巡检：在业务受影响前发现并关闭运行风险",{"type":297,"value":298,"toc":913},"minimark",[299,303,306,309,365,376,381,387,441,444,451,455,458,497,500,503,506,513,517,520,523,584,591,597,600,610,613,617,620,663,666,670,673,739,749,752,756,759,819,825,831,835,838,892,895,899,904,910],[300,301,302],"p",{},"当告警已经触发、用户请求已经失败，团队需要的是故障排查；当业务仍然正常，但风险正在积累，团队需要的是健康巡检。",[300,304,305],{},"Castrel AI 健康巡检的价值，就发生在这段仍可提前行动的时间里。Castrel AI 不只读取当前状态，而是按照巡检 SOP 主动检查 SLO、告警、指标、日志、调用链、Kubernetes 事件和依赖状态，与历史巡检结果对照，识别短暂波动背后的持续趋势，推演风险可能影响的业务链路，并给出可以验证的处置顺序。",[300,307,308],{},"健康巡检与故障排查都会使用日志、指标和调用链，但它们解决的问题不同：故障排查围绕已经发生的用户影响定位原因并尽快恢复服务；健康巡检则在影响发生前，将历史趋势、资源余量和依赖关系组织成可验证的风险判断，明确团队应在何时采取什么动作，以及满足哪些条件后才能关闭风险。",[310,311,312,328],"table",{},[313,314,315],"thead",{},[316,317,318,322,325],"tr",{},[319,320,321],"th",{},"维度",[319,323,324],{},"健康巡检",[319,326,327],{},"故障排查",[329,330,331,343,354],"tbody",{},[316,332,333,337,340],{},[334,335,336],"td",{},"触发时机",[334,338,339],{},"定期执行，或发现早期异常趋势时执行",[334,341,342],{},"告警触发、SLO 失守或用户已受影响后启动",[316,344,345,348,351],{},[334,346,347],{},"核心问题",[334,349,350],{},"风险是否在积累、会如何传导、何时需要行动",[334,352,353],{},"已发生的影响由什么造成、如何尽快恢复",[316,355,356,359,362],{},[334,357,358],{},"完成条件",[334,360,361],{},"根因或风险已被控制，且复检证明风险链关闭",[334,363,364],{},"服务恢复，用户影响停止，事故得到缓解",[300,366,367,368,372,373,375],{},"本文以典型电商微服务应用 ",[369,370,371],"code",{},"ShopOne"," 为例，展示 Castrel AI 如何在业务尚未受影响时发现并关闭一次容量风险。",[369,374,371],{}," 包含 11 个业务微服务，核心结账链路通过同步 HTTP 调用连接 gateway、order、inventory、catalog、payment 等服务。",[377,378,380],"h2",{"id":379},"最新仪表盘显示正常castrel-ai-仍将应用判定为-warning","最新仪表盘显示正常，Castrel AI 仍将应用判定为 Warning",[300,382,383,384,386],{},"巡检开始时，",[369,385,371],{}," 的业务状态没有明显异常：",[310,388,389,399],{},[313,390,391],{},[316,392,393,396],{},[319,394,395],{},"当前业务信号",[319,397,398],{},"巡检结果",[329,400,401,409,417,425,433],{},[316,402,403,406],{},[334,404,405],{},"gateway 可用性",[334,407,408],{},"99.96%",[316,410,411,414],{},[334,412,413],{},"gateway P95 延迟",[334,415,416],{},"168 毫秒，仍低于 200 毫秒目标",[316,418,419,422],{},[334,420,421],{},"gateway 错误率",[334,423,424],{},"0.04%",[316,426,427,430],{},[334,428,429],{},"服务目标",[334,431,432],{},"全部在线",[316,434,435,438],{},[334,436,437],{},"正在触发的严重告警",[334,439,440],{},"0",[300,442,443],{},"如果巡检止步于这组快照，结论很可能是“应用健康”。Castrel AI 没有在这里结束任务，而是继续执行三项工作：回看历史巡检趋势、检查高成本调用的运行证据、判断当前资源变化是否可能传导到核心结账链路。",[300,445,446,447,450],{},"Castrel AI 最终将状态标记为 ",[369,448,449],{},"warning","。原因不是当前已经发生业务故障，而是它发现了一个正在快速缩小的容量窗口。",[377,452,454],{"id":453},"castrel-ai-计算增长速度而不是只报告磁盘达到-824","Castrel AI 计算增长速度，而不是只报告磁盘达到 82.4%",[300,456,457],{},"单个磁盘数值很难直接指导行动。82.4% 可能是短时峰值，也可能是长期稳定基线。Castrel AI 将当前结果与过去 12 小时的巡检数据对齐后，得到一条持续上升的趋势：",[310,459,460,471],{},[313,461,462],{},[316,463,464,467],{},[319,465,466],{},"时间",[319,468,470],{"align":469},"right","磁盘使用率",[329,472,473,481,489],{},[316,474,475,478],{},[334,476,477],{},"12 小时前",[334,479,480],{"align":469},"74.2%",[316,482,483,486],{},[334,484,485],{},"6 小时前",[334,487,488],{"align":469},"78.6%",[316,490,491,494],{},[334,492,493],{},"当前",[334,495,496],{"align":469},"82.4%",[300,498,499],{},"过去 12 小时平均每小时增加约 0.68 个百分点。按当前速度线性外推，磁盘将在约 11 小时后进入 90% 高风险区间，并可能在约 26 小时后耗尽。",[300,501,502],{},"Castrel AI 没有把这个时间估算当作确定预言。报告明确说明：如果流量、数据量或清理策略变化，实际时间也会变化。但相比“磁盘当前为 82.4%”，风险窗口回答了更重要的问题——团队还有多少时间可以在不影响业务的情况下处理它。",[300,504,505],{},"这一步改变了处置优先级。磁盘尚未越过严重告警阈值，却已经不能再作为普通容量问题等待下一次值班检查。",[300,507,508],{},[509,510],"img",{"alt":511,"src":512},"模拟故障场景中的容量验证证据：异常 SQL 触发 MySQL 临时文件写入后，磁盘写入速率突增，根分区在同一窗口瞬时升至高位。","/images/blog/4.application-health-inspection/disk-zh.png",[377,514,516],{"id":515},"castrel-ai-跨越指标日志和调用链找到容量增长的驱动因素","Castrel AI 跨越指标、日志和调用链，找到容量增长的驱动因素",[300,518,519],{},"仅根据线性趋势扩容磁盘，只能延缓问题。Castrel AI 继续检查 MySQL、服务调用链与连接池状态，发现多项证据在同一时间窗口内同步变化：",[300,521,522],{},"健康巡检并不止于发现“磁盘偏高”。只有确认资源压力的来源、传播方向和业务后果，团队才能判断它是可观察的波动，还是需要提前处置的风险。",[310,524,525,538],{},[313,526,527],{},[316,528,529,532,535],{},[319,530,531],{},"证据",[319,533,534],{},"当前变化",[319,536,537],{},"Castrel AI 的判断",[329,539,540,551,562,573],{},[316,541,542,545,548],{},[334,543,544],{},"MySQL 查询 P95",[334,546,547],{},"从约 1.4 秒升至 5.8 秒",[334,549,550],{},"数据库工作量正在快速增加",[316,552,553,556,559],{},[334,554,555],{},"磁盘临时表创建速率",[334,557,558],{},"达到历史基线的 3.2 倍",[334,560,561],{},"更多查询结果正在落盘处理",[316,563,564,567,570],{},[334,565,566],{},"order 连接池",[334,568,569],{},"10 个连接中已有 7 个持续活跃，等待请求由 0 增至 4",[334,571,572],{},"尚未耗尽，但下游慢查询开始占用连接",[316,574,575,578,581],{},[334,576,577],{},"Tempo 慢调用",[334,579,580],{},"inventory 和 catalog 的慢调用指向同类查询",[334,582,583],{},"风险正在跨服务影响 Checkout 依赖",[300,585,586,587,590],{},"调用链中的 SQL 包含 ",[369,588,589],{},"JOIN user_behavior_log ubl ON TRUE","。缺少有效关联条件会形成笛卡尔积式的数据放大；当结果集继续增长，MySQL 需要写入更多临时文件，查询占用连接的时间也会延长。",[300,592,593],{},[509,594],{"alt":595,"src":596},"模拟故障场景中的根因验证证据：异常 SQL、MySQL 临时文件写入失败日志和相关调查结论共同说明资源压力的来源。","/images/blog/4.application-health-inspection/sql-zh.png",[300,598,599],{},"Castrel AI 因而没有输出四条相互独立的异常，而是形成了一条可验证的风险传播路径：",[601,602,608],"pre",{"className":603,"code":605,"language":606,"meta":607},[604],"language-text","异常 SQL 放大结果集\n    → 磁盘临时表与临时文件持续增长\n    → 可用磁盘空间快速下降\n    → 慢查询长时间占用数据库连接\n    → order 连接池排队和超时\n    → Checkout 链路延迟与失败\n","text","",[369,609,605],{"__ignoreMap":607},[300,611,612],{},"此时最后两步尚未发生。也正因为业务仍然正常，这条传播路径才具有提前处置价值。普通快照只能说明每个组件现在的状态；Castrel AI 将趋势、依赖关系和历史证据组合起来，判断如果不处理，当前资源压力将如何转化为业务风险。",[377,614,616],{"id":615},"castrel-ai-将风险判断转化为有顺序的处置方案","Castrel AI 将风险判断转化为有顺序的处置方案",[300,618,619],{},"Castrel AI 没有把“扩容磁盘”作为唯一建议，而是根据风险链条安排动作：",[621,622,623,639,645,651,657],"ol",{},[624,625,626,630,631,634,635,638],"li",{},[627,628,629],"strong",{},"先阻断增长来源","：检查 ",[369,632,633],{},"user_behavior_log"," 查询生成逻辑，移除 ",[369,636,637],{},"ON TRUE"," 笛卡尔积关联，补充正确的业务关联条件。",[624,640,641,644],{},[627,642,643],{},"恢复安全余量","：清理异常查询产生的临时文件，将磁盘使用率恢复到安全区间。",[624,646,647,650],{},[627,648,649],{},"降低重复风险","：优化大结果集排序和深分页，为临时文件空间设置独立容量与增长速率告警。",[624,652,653,656],{},[627,654,655],{},"观察放大机制","：持续检查连接池活跃连接、等待请求和超时，不以扩大连接池替代 SQL 修复。",[624,658,659,662],{},[627,660,661],{},"修复后重新巡检","：使用相同的 SLO、时间窗口和风险链验证处置结果。",[300,664,665],{},"这个顺序体现了 Castrel AI 与固定阈值脚本的区别。脚本可以在磁盘达到某个比例时通知值班人员；Castrel AI 进一步回答增长来自哪里、可能影响哪条业务链路、应该先修复什么，以及如何确认问题没有只是暂时消失。",[377,667,669],{"id":668},"第二次巡检确认风险已经关闭而不是只确认告警消失","第二次巡检确认风险已经关闭，而不是只确认告警消失",[300,671,672],{},"团队修正 SQL 关联条件并清理临时文件后，再次运行同一个 Castrel AI 巡检任务。Castrel AI 复用第一次报告中的时间窗口、指标定义和风险链，逐项验证结果：",[310,674,675,688],{},[313,676,677],{},[316,678,679,682,685],{},[319,680,681],{},"验证项",[319,683,684],{"align":469},"处置前",[319,686,687],{"align":469},"复检结果",[329,689,690,700,710,720,730],{},[316,691,692,694,697],{},[334,693,470],{},[334,695,696],{"align":469},"82.4%，每小时约增加 0.68 个百分点",[334,698,699],{"align":469},"63.1%，后续 6 小时保持在 63.0%–63.4%",[316,701,702,704,707],{},[334,703,544],{},[334,705,706],{"align":469},"5.8 秒",[334,708,709],{"align":469},"220 毫秒",[316,711,712,714,717],{},[334,713,555],{},[334,715,716],{"align":469},"历史基线的 3.2 倍",[334,718,719],{"align":469},"回到历史基线附近",[316,721,722,724,727],{},[334,723,566],{},[334,725,726],{"align":469},"7/10 持续活跃，出现 4 个等待请求",[334,728,729],{"align":469},"3–4/10 活跃，无等待请求",[316,731,732,734,736],{},[334,733,405],{},[334,735,408],{"align":469},[334,737,738],{"align":469},"99.98%",[300,740,741,742,744,745,748],{},"Castrel AI 将健康状态从 ",[369,743,449],{}," 更新为 ",[369,746,747],{},"healthy","，但依据不是“严重告警仍为 0”。真正的关闭条件是：磁盘增长趋势已经停止，异常查询耗时恢复，临时文件压力下降，连接池不再排队，核心业务指标保持正常。",[300,750,751],{},"第一次巡检给团队提供处置窗口，第二次巡检则提供可复核的关闭证据。健康巡检因此不再是一份定期生成后无人跟进的报告，而是一个从发现、判断、行动到验证的连续过程。",[377,753,755],{"id":754},"一次健康巡检交付的不是异常列表而是可执行的风险闭环","一次健康巡检交付的，不是异常列表，而是可执行的风险闭环",[300,757,758],{},"一次 Castrel AI 健康巡检会保留判断依据，并将它们组织成团队可以交接、执行和在下一轮继续验证的结果：",[310,760,761,771],{},[313,762,763],{},[316,764,765,768],{},[319,766,767],{},"交付内容",[319,769,770],{},"团队可据此做什么",[329,772,773,787,795,803,811],{},[316,774,775,778],{},[334,776,777],{},"健康状态与业务判断",[334,779,780,781,783,784,786],{},"明确应用是 ",[369,782,747],{},"、",[369,785,449],{}," 还是需要升级处理，以及 Checkout 是否已受影响",[316,788,789,792],{},[334,790,791],{},"风险窗口与优先级",[334,793,794],{},"判断资源何时可能越过风险阈值，决定应在本班次、当天还是后续迭代处理",[316,796,797,800],{},[334,798,799],{},"证据链与根因判断",[334,801,802],{},"从趋势、SQL、日志、调用链和连接池等证据理解问题为何会影响业务",[316,804,805,808],{},[334,806,807],{},"按顺序的处置方案",[334,809,810],{},"区分先做什么、哪些动作仅用于缓解、哪些措施用于防复发",[316,812,813,816],{},[334,814,815],{},"复检标准与历史基线",[334,817,818],{},"明确何时才算关闭，并让下一轮巡检能够对照本次结论继续验证",[300,820,821,822,824],{},"在 ",[369,823,371],{}," 场景中，团队最终拿到的不是“磁盘使用率 82.4%”这一条监控信息，而是一份可执行的风险闭环：当前 Checkout 仍正常，但容量窗口正在缩小；异常 SQL 是增长来源；连接池压力可能将数据库问题传导到下单链路；应优先修复 SQL 而非只扩容；只有磁盘趋势、查询耗时、临时文件、连接池和业务指标同时恢复，风险才可以关闭。",[300,826,827],{},[509,828],{"alt":829,"src":830},"Castrel AI 输出的处置与复检计划：先修复异常 SQL，再恢复容量余量、保护关键链路，并使用明确条件确认风险关闭。","/images/blog/4.application-health-inspection/dispositions-zh.png",[377,832,834],{"id":833},"castrel-ai-为不同运维对象保留独立基线再在业务链路上汇合","Castrel AI 为不同运维对象保留独立基线，再在业务链路上汇合",[300,836,837],{},"容量风险之所以容易被漏掉，是因为每个对象单独看都可能尚未越线。应用、服务、主机、基础设施和 MySQL 面对不同的风险，不能只依赖一套通用阈值。Castrel AI 可以为每类对象建立独立巡检任务和历史基线，再在应用级巡检中关联它们之间的影响关系：",[310,839,840,850],{},[313,841,842],{},[316,843,844,847],{},[319,845,846],{},"巡检对象",[319,848,849],{},"Castrel AI 重点判断的问题",[329,851,852,860,868,876,884],{},[316,853,854,857],{},[334,855,856],{},"应用",[334,858,859],{},"核心业务链路是否正在积累跨服务风险",[316,861,862,865],{},[334,863,864],{},"服务",[334,866,867],{},"错误率、延迟、重启和资源压力是否持续恶化",[316,869,870,873],{},[334,871,872],{},"主机",[334,874,875],{},"CPU、内存、磁盘和网络容量还能支撑多久",[316,877,878,881],{},[334,879,880],{},"基础设施",[334,882,883],{},"集群事件和资源饱和是否正在影响更多工作负载",[316,885,886,889],{},[334,887,888],{},"MySQL",[334,890,891],{},"慢查询、连接、临时表和磁盘行为是否会放大为应用故障",[300,893,894],{},"具体能执行哪些检查取决于已接入的集成、权限和巡检规则。但 Castrel AI 的判断结构保持一致：读取当前状态、对照历史趋势、关联上下游证据、推演业务后果、安排处置优先级，并通过复检确认风险关闭。",[377,896,898],{"id":897},"健康巡检的结果不止是一份报告而是一项提前行动的风险决策","健康巡检的结果不止是一份报告，而是一项提前行动的风险决策",[300,900,821,901,903],{},[369,902,371],{}," 场景中，Castrel AI 面对的是一个当前业务正常、没有严重告警的应用。它没有重复仪表盘结论，而是完成了仪表盘本身无法独立完成的工作：",[601,905,908],{"className":906,"code":907,"language":606,"meta":607},[604],"验证当前业务仍然健康\n    → 计算磁盘容量的增长速度和风险窗口\n    → 关联异常 SQL、临时文件与连接池压力\n    → 推演对 Checkout 链路的影响路径\n    → 给出按根因排序的提前处置方案\n    → 修复后复检并确认风险关闭\n",[369,909,907],{"__ignoreMap":607},[300,911,912],{},"这就是 Castrel AI 健康巡检的核心价值：不是等故障发生后解释过去，而是在业务仍然正常时识别未来风险，把分散证据转化为一项可以执行、可以复核、可以持续积累的运维决策。它既保留判断依据，明确处置顺序和关闭条件，也成为下一轮巡检的历史基线。",{"title":607,"searchDepth":914,"depth":914,"links":915},2,[916,917,918,919,920,921,922,923],{"id":379,"depth":914,"text":380},{"id":453,"depth":914,"text":454},{"id":515,"depth":914,"text":516},{"id":615,"depth":914,"text":616},{"id":668,"depth":914,"text":669},{"id":754,"depth":914,"text":755},{"id":833,"depth":914,"text":834},{"id":897,"depth":914,"text":898},"Castrel AI 不等待故障告警，而是主动关联历史趋势、SLO、指标、日志和调用链，计算风险窗口，定位正在放大资源压力的异常路径，并通过修复后复检确认风险关闭。","md",{"date":927,"order":928,"category":929,"image":930},"2026-08-17",4,"产品",{"src":512},"/zh/blogs/application-health-inspection",{"ogImage":512,"title":295,"description":924},"zh/blogs/4.application-health-inspection","Zi4UD9aWdcsm2kPV2_baHmdHRsfZp1FeqfxcN5FJMWg",1787301618514]