@umacloud/knowledge 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (418) hide show
  1. package/00-governance/governance-capabilities.md +557 -0
  2. package/00-governance/knowledge-map.md +39 -0
  3. package/00-governance/maintenance-policy.md +76 -0
  4. package/00-governance/review-checklist.md +81 -0
  5. package/README.md +13 -0
  6. package/ai/01-standards/agent-development-complete.md +691 -0
  7. package/ai/01-standards/llm-application-complete.md +488 -0
  8. package/ai/01-standards/mlops-complete.md +798 -0
  9. package/ai/01-standards/prompt-engineering-complete.md +646 -0
  10. package/ai/01-standards/rag-architecture-complete.md +649 -0
  11. package/ai/02-playbooks/llm-evaluation-playbook.md +847 -0
  12. package/ai/03-checklists/ai-project-checklist.md +215 -0
  13. package/ai/04-antipatterns/ai-antipatterns.md +661 -0
  14. package/ai/05-cases/case-rag-production.md +147 -0
  15. package/ai/06-glossary/ai-glossary.md +162 -0
  16. package/ai/agent-evaluation-benchmark.md +53 -0
  17. package/ai/ai-agent-memory-context-management.md +41 -0
  18. package/ai/ai-cost-capacity-optimization-playbook.md +42 -0
  19. package/ai/ai-data-security-and-compliance-playbook.md +37 -0
  20. package/ai/ai-domain-index-and-checklist.md +40 -0
  21. package/ai/ai-governance-maturity-model.md +50 -0
  22. package/ai/ai-model-selection-and-routing-strategy.md +47 -0
  23. package/ai/ai-observability-and-oncall-runbook.md +52 -0
  24. package/ai/ai-rag-engineering-playbook.md +42 -0
  25. package/ai/ai-red-team-and-safety-evaluation.md +42 -0
  26. package/ai/ai-release-readiness-and-rollback-gate.md +42 -0
  27. package/ai/llm-agent-engineering-deep-dive.md +57 -0
  28. package/ai/prompt-and-tool-guardrails.md +52 -0
  29. package/api/01-standards/enterprise-api-standards.md +198 -0
  30. package/api/01-standards/rest-api-design-guide.md +63 -0
  31. package/api/02-playbooks/api-pagination-playbook.md +93 -0
  32. package/api/02-playbooks/graphql-production-playbook.md +176 -0
  33. package/api/03-checklists/api-review-checklist.md +55 -0
  34. package/api/04-antipatterns/api-antipatterns.md +112 -0
  35. package/architecture/01-standards/api-gateway-patterns.md +496 -0
  36. package/architecture/01-standards/cloud-native-patterns.md +644 -0
  37. package/architecture/01-standards/distributed-systems-patterns.md +591 -0
  38. package/architecture/01-standards/event-driven-architecture.md +595 -0
  39. package/architecture/01-standards/microservices-patterns-complete.md +968 -0
  40. package/architecture/01-standards/microservices-patterns.md +495 -0
  41. package/architecture/01-standards/system-design-interview.md +664 -0
  42. package/architecture/02-playbooks/microservices-patterns-playbook.md +137 -0
  43. package/architecture/02-playbooks/migration-playbook.md +780 -0
  44. package/architecture/02-playbooks/system-design-playbook.md +779 -0
  45. package/architecture/03-checklists/architecture-decision-checklist.md +297 -0
  46. package/architecture/04-antipatterns/architecture-antipatterns.md +417 -0
  47. package/architecture/05-cases/case-netflix-microservices.md +413 -0
  48. package/architecture/06-glossary/architecture-glossary.md +164 -0
  49. package/architecture/adr-template-and-examples.md +38 -0
  50. package/architecture/api-gateway-deep-dive.md +1291 -0
  51. package/architecture/configuration-management.md +1162 -0
  52. package/architecture/distributed-transactions.md +1220 -0
  53. package/architecture/microservices-complete.md +735 -0
  54. package/architecture/resilience-and-disaster-patterns.md +37 -0
  55. package/architecture/service-governance.md +1198 -0
  56. package/architecture/system-architecture-deep-dive.md +37 -0
  57. package/backend/01-standards/analytics-and-growth.md +65 -0
  58. package/backend/01-standards/api-and-error-conventions.md +120 -0
  59. package/backend/01-standards/application-layering-and-packaging.md +160 -0
  60. package/backend/01-standards/auth-implementation.md +104 -0
  61. package/backend/01-standards/backend-framework-idioms.md +74 -0
  62. package/backend/01-standards/background-jobs-and-async.md +66 -0
  63. package/backend/01-standards/caching-strategies-complete.md +390 -0
  64. package/backend/01-standards/config-and-observability.md +77 -0
  65. package/backend/01-standards/data-modeling-and-persistence.md +94 -0
  66. package/backend/01-standards/django-complete.md +1765 -0
  67. package/backend/01-standards/email-and-notifications.md +64 -0
  68. package/backend/01-standards/fastapi-complete.md +925 -0
  69. package/backend/01-standards/file-upload-and-storage.md +66 -0
  70. package/backend/01-standards/graphql-api-complete.md +416 -0
  71. package/backend/01-standards/llm-application-standard.md +78 -0
  72. package/backend/01-standards/message-queue-patterns.md +379 -0
  73. package/backend/01-standards/microservices-and-distributed.md +78 -0
  74. package/backend/01-standards/nestjs-complete.md +2167 -0
  75. package/backend/01-standards/payment-integration.md +80 -0
  76. package/backend/01-standards/rate-limiting-complete.md +451 -0
  77. package/backend/01-standards/realtime-and-websocket.md +65 -0
  78. package/backend/01-standards/search-and-filtering.md +64 -0
  79. package/backend/01-standards/spring-boot-complete.md +445 -0
  80. package/backend/02-playbooks/api-design-playbook.md +718 -0
  81. package/backend/02-playbooks/email-send-playbook.md +130 -0
  82. package/backend/02-playbooks/file-upload-s3-playbook.md +153 -0
  83. package/backend/02-playbooks/typescript-enterprise-playbook.md +133 -0
  84. package/backend/02-playbooks/websocket-realtime-playbook.md +154 -0
  85. package/backend/03-checklists/api-launch-checklist.md +189 -0
  86. package/backend/04-antipatterns/backend-antipatterns.md +1051 -0
  87. package/blockchain/01-standards/blockchain-basics.md +557 -0
  88. package/blockchain/01-standards/smart-contract-development.md +1315 -0
  89. package/cicd/01-standards/deployment-and-delivery-standard.md +96 -0
  90. package/cicd/01-standards/github-actions-complete.md +473 -0
  91. package/cicd/01-standards/release-and-store-submission.md +75 -0
  92. package/cicd/02-playbooks/cicd-pipeline-playbook.md +144 -0
  93. package/cicd/02-playbooks/release-management-playbook.md +605 -0
  94. package/cicd/03-checklists/pipeline-security-checklist.md +168 -0
  95. package/cicd/04-antipatterns/cicd-antipatterns.md +589 -0
  96. package/cicd/05-cases/case-deployment-automation.md +221 -0
  97. package/cicd/05-cases/case-gitops-transformation.md +212 -0
  98. package/cicd/06-glossary/cicd-glossary.md +114 -0
  99. package/cicd/cicd-blueprint-deep-dive.md +38 -0
  100. package/cicd/release-readiness-gate.md +37 -0
  101. package/cloud-native/01-standards/container-security.md +741 -0
  102. package/cloud-native/01-standards/kubernetes-complete.md +812 -0
  103. package/cloud-native/02-playbooks/api-gateway-playbook.md +155 -0
  104. package/cloud-native/02-playbooks/gitops-with-argocd.md +760 -0
  105. package/cloud-native/02-playbooks/k8s-troubleshooting-playbook.md +1942 -0
  106. package/cloud-native/02-playbooks/message-queue-playbook.md +129 -0
  107. package/cloud-native/02-playbooks/multicloud-governance.md +726 -0
  108. package/cloud-native/02-playbooks/serverless-patterns.md +788 -0
  109. package/cloud-native/02-playbooks/service-mesh-playbook.md +612 -0
  110. package/cloud-native/02-playbooks/terraform-iac-playbook.md +143 -0
  111. package/cloud-native/03-checklists/container-security-checklist.md +431 -0
  112. package/cloud-native/03-checklists/k8s-production-readiness-checklist.md +460 -0
  113. package/cloud-native/04-antipatterns/container-antipatterns.md +660 -0
  114. package/cloud-native/04-antipatterns/k8s-antipatterns.md +743 -0
  115. package/cloud-native/05-cases/case-k8s-migration.md +478 -0
  116. package/cloud-native/05-cases/case-k8s-scaling.md +642 -0
  117. package/cloud-native/05-cases/case-k8s-security-incident.md +397 -0
  118. package/cloud-native/06-glossary/cloud-native-glossary.md +337 -0
  119. package/cross-platform/01-standards/cross-platform-frameworks.md +83 -0
  120. package/cross-platform/01-standards/platform-selection-and-architecture.md +77 -0
  121. package/data/01-standards/elasticsearch-complete.md +2098 -0
  122. package/data/01-standards/postgresql-complete.md +1613 -0
  123. package/data/01-standards/redis-complete.md +1527 -0
  124. package/data/02-playbooks/database-optimization-playbook.md +403 -0
  125. package/data/02-playbooks/elasticsearch-production-playbook.md +132 -0
  126. package/data/03-checklists/database-launch-checklist.md +187 -0
  127. package/data/04-antipatterns/database-antipatterns.md +873 -0
  128. package/data/05-cases/case-database-migration.md +310 -0
  129. package/data/06-glossary/database-glossary.md +440 -0
  130. package/data/data-governance-and-modeling-deep-dive.md +39 -0
  131. package/data-engineering/01-standards/airflow-complete.md +523 -0
  132. package/data-engineering/01-standards/kafka-complete.md +1521 -0
  133. package/data-engineering/02-playbooks/spark-etl-playbook.md +496 -0
  134. package/data-engineering/03-checklists/pipeline-launch-checklist.md +194 -0
  135. package/data-engineering/04-antipatterns/data-pipeline-antipatterns.md +684 -0
  136. package/data-engineering/05-cases/case-real-time-pipeline.md +355 -0
  137. package/data-engineering/06-glossary/data-engineering-glossary.md +429 -0
  138. package/database/01-standards/database-schema-standards.md +147 -0
  139. package/database/02-playbooks/postgresql-optimization-quick.md +52 -0
  140. package/database/02-playbooks/postgresql-performance-optimization.md +58 -0
  141. package/database/02-playbooks/postgresql-production-playbook.md +146 -0
  142. package/database/02-playbooks/redis-caching-playbook.md +117 -0
  143. package/database/03-checklists/database-review-checklist.md +50 -0
  144. package/database/04-antipatterns/database-antipatterns.md +112 -0
  145. package/design/01-standards/ui-design-system-complete.md +423 -0
  146. package/design/02-playbooks/design-handoff-playbook.md +254 -0
  147. package/design/02-playbooks/design-review-playbook.md +388 -0
  148. package/design/03-checklists/design-review-checklist.md +246 -0
  149. package/design/04-antipatterns/design-antipatterns.md +378 -0
  150. package/design/05-cases/case-design-system-adoption.md +328 -0
  151. package/design/06-glossary/design-glossary.md +329 -0
  152. package/design/ui-full-lifecycle-cross-platform-playbook.md +571 -0
  153. package/design/ux-system-deep-dive.md +38 -0
  154. package/design-systems/00-craft-rules.md +71 -0
  155. package/design-systems/aesthetic-families.md +43 -0
  156. package/design-systems/anti-ai-slop.md +162 -0
  157. package/design-systems/bold-geometric.md +120 -0
  158. package/design-systems/brutalist-bold.md +103 -0
  159. package/design-systems/editorial-clean.md +109 -0
  160. package/design-systems/glass-aurora.md +108 -0
  161. package/design-systems/modern-minimal.md +145 -0
  162. package/design-systems/premium-luxury.md +106 -0
  163. package/design-systems/product-type-design-map.md +48 -0
  164. package/design-systems/soft-warm.md +123 -0
  165. package/design-systems/tech-utility.md +113 -0
  166. package/desktop/01-standards/desktop-app-standard.md +72 -0
  167. package/desktop/01-standards/desktop-design.md +71 -0
  168. package/development/00-governance/document-template.md +41 -0
  169. package/development/01-standards/api-versioning-strategies.md +432 -0
  170. package/development/01-standards/authentication-patterns-complete.md +479 -0
  171. package/development/01-standards/css-architecture-complete.md +550 -0
  172. package/development/01-standards/database-migration-strategies.md +484 -0
  173. package/development/01-standards/elasticsearch-complete.md +347 -0
  174. package/development/01-standards/git-complete.md +371 -0
  175. package/development/01-standards/golang-complete.md +1565 -0
  176. package/development/01-standards/graphql-complete.md +298 -0
  177. package/development/01-standards/javascript-bundlers-complete.md +469 -0
  178. package/development/01-standards/javascript-typescript-complete.md +528 -0
  179. package/development/01-standards/jest-complete.md +275 -0
  180. package/development/01-standards/linux-complete.md +234 -0
  181. package/development/01-standards/logging-observability-complete.md +526 -0
  182. package/development/01-standards/microservices-communication.md +502 -0
  183. package/development/01-standards/mongodb-complete.md +406 -0
  184. package/development/01-standards/oauth2-complete.md +285 -0
  185. package/development/01-standards/performance-optimization-complete.md +289 -0
  186. package/development/01-standards/playwright-complete.md +247 -0
  187. package/development/01-standards/postgresql-complete.md +456 -0
  188. package/development/01-standards/pytest-complete.md +340 -0
  189. package/development/01-standards/python-async-programming.md +902 -0
  190. package/development/01-standards/python-complete.md +956 -0
  191. package/development/01-standards/python-decorators-complete.md +799 -0
  192. package/development/01-standards/python-design-patterns.md +2854 -0
  193. package/development/01-standards/python-packaging-distribution.md +420 -0
  194. package/development/01-standards/python-testing-strategies.md +607 -0
  195. package/development/01-standards/python-web-frameworks-comparison.md +471 -0
  196. package/development/01-standards/redis-complete.md +317 -0
  197. package/development/01-standards/rest-api-complete.md +316 -0
  198. package/development/01-standards/rust-complete.md +578 -0
  199. package/development/01-standards/typescript-advanced-types.md +1513 -0
  200. package/development/01-standards/web-security-complete.md +292 -0
  201. package/development/02-playbooks/api-design-playbook.md +810 -0
  202. package/development/02-playbooks/database-migration-playbook.md +580 -0
  203. package/development/02-playbooks/debugging-playbook.md +692 -0
  204. package/development/02-playbooks/feature-delivery-playbook.md +430 -0
  205. package/development/02-playbooks/incident-hotfix-playbook.md +387 -0
  206. package/development/02-playbooks/performance-optimization-playbook.md +531 -0
  207. package/development/02-playbooks/performance-tuning-playbook.md +652 -0
  208. package/development/02-playbooks/refactor-playbook.md +403 -0
  209. package/development/02-playbooks/release-playbook.md +469 -0
  210. package/development/03-checklists/architecture-review-checklist.md +168 -0
  211. package/development/03-checklists/data-migration-checklist.md +157 -0
  212. package/development/03-checklists/oncall-handover-checklist.md +173 -0
  213. package/development/03-checklists/pr-checklist.md +158 -0
  214. package/development/03-checklists/production-readiness-checklist.md +190 -0
  215. package/development/03-checklists/release-readiness-checklist.md +154 -0
  216. package/development/03-checklists/security-review-checklist.md +182 -0
  217. package/development/04-antipatterns/api-antipatterns.md +657 -0
  218. package/development/04-antipatterns/architecture-antipatterns.md +686 -0
  219. package/development/04-antipatterns/backend-antipatterns.md +648 -0
  220. package/development/04-antipatterns/cicd-antipatterns.md +540 -0
  221. package/development/04-antipatterns/code-smell-antipatterns.md +571 -0
  222. package/development/04-antipatterns/data-antipatterns.md +658 -0
  223. package/development/04-antipatterns/database-antipatterns.md +578 -0
  224. package/development/04-antipatterns/frontend-antipatterns.md +635 -0
  225. package/development/04-antipatterns/reliability-antipatterns.md +700 -0
  226. package/development/04-antipatterns/security-antipatterns.md +747 -0
  227. package/development/05-cases/case-api-version-migration.md +428 -0
  228. package/development/05-cases/case-authorization-hardening.md +383 -0
  229. package/development/05-cases/case-bluegreen-rollback.md +466 -0
  230. package/development/05-cases/case-cache-snowball-protection.md +485 -0
  231. package/development/05-cases/case-ci-cd-pipeline.md +544 -0
  232. package/development/05-cases/case-database-scaling.md +500 -0
  233. package/development/05-cases/case-db-hotspot-optimization.md +487 -0
  234. package/development/05-cases/case-incident-mttr-reduction.md +563 -0
  235. package/development/05-cases/case-microservice-migration.md +375 -0
  236. package/development/05-cases/case-performance-optimization.md +406 -0
  237. package/development/05-cases/case-security-incident-response.md +345 -0
  238. package/development/06-glossary/full-stack-glossary.md +166 -0
  239. package/development/09-maturity/quarterly-audit-template.md +35 -0
  240. package/development/11-ui-excellence/ui-aesthetic-system.md +41 -0
  241. package/development/11-ui-excellence/ui-engineering-excellence.md +435 -0
  242. package/development/12-scenarios/development-scenarios-guide.md +565 -0
  243. package/development/13-implementation-assets/implementation-toolkit.md +282 -0
  244. package/development/13-implementation-assets/knowledge-gates-execution.md +43 -0
  245. package/development/14-full-lifecycle/software-lifecycle-gates.md +511 -0
  246. package/development/15-lifecycle-templates/project-templates-collection.md +791 -0
  247. package/development/api-contract-and-versioning-guide.md +36 -0
  248. package/development/api-governance-complete.md +43 -0
  249. package/development/backend-engineering-complete.md +43 -0
  250. package/development/code-review-quality-complete.md +43 -0
  251. package/development/concurrency-reliability-complete.md +43 -0
  252. package/development/database-engineering-complete.md +43 -0
  253. package/development/engineering-effectiveness-complete.md +43 -0
  254. package/development/engineering-standards-deep-dive.md +38 -0
  255. package/development/frontend-engineering-complete.md +43 -0
  256. package/development/performance-capacity-complete.md +43 -0
  257. package/development/refactor-migration-complete.md +42 -0
  258. package/development/refactoring-and-techdebt-playbook.md +37 -0
  259. package/development/security-in-development-complete.md +43 -0
  260. package/devops/01-standards/cicd-pipeline-complete.md +262 -0
  261. package/devops/01-standards/docker-complete.md +1490 -0
  262. package/devops/01-standards/github-actions-complete.md +337 -0
  263. package/devops/01-standards/kubernetes-complete.md +638 -0
  264. package/devops/01-standards/terraform-complete.md +2117 -0
  265. package/devops/02-playbooks/docker-compose-playbook.md +233 -0
  266. package/devops/02-playbooks/docker-k8s-production-playbook.md +186 -0
  267. package/devops/02-playbooks/docker-production-playbook.md +952 -0
  268. package/edge-iot/01-standards/edge-iot-complete.md +473 -0
  269. package/experts/architect/api-design.md +178 -0
  270. package/experts/architect/methodology.md +124 -0
  271. package/experts/architect/security.md +75 -0
  272. package/experts/backend-lead/methodology.md +216 -0
  273. package/experts/devops/methodology.md +160 -0
  274. package/experts/frontend-lead/methodology.md +178 -0
  275. package/experts/product-manager/industry/ecommerce.md +43 -0
  276. package/experts/product-manager/industry/saas.md +40 -0
  277. package/experts/product-manager/methodology.md +97 -0
  278. package/experts/qa-lead/methodology.md +123 -0
  279. package/experts/qa-lead/test-strategy.md +128 -0
  280. package/experts/uiux-designer/methodology.md +125 -0
  281. package/frontend/01-standards/accessibility-complete.md +532 -0
  282. package/frontend/01-standards/accessibility-standard.md +74 -0
  283. package/frontend/01-standards/admin-dashboard-and-crud.md +72 -0
  284. package/frontend/01-standards/design-tokens-complete.md +444 -0
  285. package/frontend/01-standards/forms-and-validation.md +77 -0
  286. package/frontend/01-standards/frontend-architecture-and-layering.md +119 -0
  287. package/frontend/01-standards/i18n-and-localization.md +65 -0
  288. package/frontend/01-standards/nextjs-complete.md +451 -0
  289. package/frontend/01-standards/react-complete.md +713 -0
  290. package/frontend/01-standards/react-hooks-complete-guide.md +1100 -0
  291. package/frontend/01-standards/react-hooks-complete.md +1171 -0
  292. package/frontend/01-standards/seo-and-web-vitals.md +77 -0
  293. package/frontend/01-standards/state-management-complete.md +444 -0
  294. package/frontend/01-standards/vue-complete.md +499 -0
  295. package/frontend/01-standards/vue3-complete.md +2002 -0
  296. package/frontend/01-standards/web-framework-best-practices.md +64 -0
  297. package/frontend/01-standards/web-performance-complete.md +495 -0
  298. package/frontend/02-playbooks/accessibility-a11y-playbook.md +161 -0
  299. package/frontend/02-playbooks/frontend-performance-playbook.md +707 -0
  300. package/frontend/02-playbooks/i18n-internationalization-playbook.md +120 -0
  301. package/frontend/02-playbooks/performance-optimization-playbook.md +163 -0
  302. package/frontend/02-playbooks/react-nextjs-production-playbook.md +167 -0
  303. package/frontend/02-playbooks/react-state-management-playbook.md +173 -0
  304. package/frontend/03-checklists/component-quality-checklist.md +166 -0
  305. package/frontend/03-checklists/frontend-launch-checklist.md +299 -0
  306. package/frontend/04-antipatterns/frontend-antipatterns.md +886 -0
  307. package/frontend/05-cases/case-performance-optimization.md +274 -0
  308. package/harmony/01-standards/harmonyos-arkts-standard.md +75 -0
  309. package/harmony/01-standards/harmonyos-design.md +65 -0
  310. package/high-quality-engineering-playbook.md +54 -0
  311. package/incident/01-standards/incident-response-complete.md +303 -0
  312. package/incident/02-playbooks/chaos-engineering-playbook.md +883 -0
  313. package/incident/02-playbooks/postmortem-playbook.md +398 -0
  314. package/incident/03-checklists/incident-readiness-checklist.md +181 -0
  315. package/incident/04-antipatterns/incident-antipatterns.md +490 -0
  316. package/incident/05-cases/case-cascade-failure.md +176 -0
  317. package/incident/06-glossary/incident-glossary.md +114 -0
  318. package/incident/postmortem-and-response-deep-dive.md +39 -0
  319. package/industries/ecommerce/ecommerce-complete.md +631 -0
  320. package/industries/education/education-complete.md +555 -0
  321. package/industries/fintech/fintech-complete.md +501 -0
  322. package/industries/gaming/gaming-complete.md +587 -0
  323. package/industries/healthcare/healthcare-complete.md +452 -0
  324. package/low-code/01-standards/low-code-complete.md +944 -0
  325. package/miniprogram/01-standards/ai-common-mistakes.md +61 -0
  326. package/miniprogram/01-standards/miniprogram-custom-navbar-capsule.md +77 -0
  327. package/miniprogram/01-standards/miniprogram-design.md +61 -0
  328. package/miniprogram/01-standards/miniprogram-standard.md +81 -0
  329. package/mobile/01-standards/android-material-design.md +70 -0
  330. package/mobile/01-standards/flutter-complete.md +384 -0
  331. package/mobile/01-standards/ios-design-hig.md +78 -0
  332. package/mobile/01-standards/mobile-app-standard.md +85 -0
  333. package/mobile/01-standards/react-native-complete.md +352 -0
  334. package/mobile/02-playbooks/mobile-cross-platform-playbook.md +175 -0
  335. package/mobile/02-playbooks/mobile-performance.md +473 -0
  336. package/mobile/03-checklists/mobile-release-checklist.md +234 -0
  337. package/mobile/04-antipatterns/mobile-antipatterns.md +798 -0
  338. package/mobile/05-cases/case-app-performance.md +500 -0
  339. package/mobile/05-cases/case-app-startup-optimization.md +218 -0
  340. package/mobile/06-glossary/mobile-glossary.md +484 -0
  341. package/observability/01-standards/observability-standards.md +103 -0
  342. package/observability/02-playbooks/prometheus-grafana-playbook.md +135 -0
  343. package/observability/02-playbooks/structured-logging-playbook.md +73 -0
  344. package/observability/03-checklists/observability-checklist.md +54 -0
  345. package/observability/04-antipatterns/observability-antipatterns.md +106 -0
  346. package/operations/01-standards/prometheus-monitoring-complete.md +1578 -0
  347. package/operations/02-playbooks/capacity-planning-playbook.md +620 -0
  348. package/operations/03-checklists/production-launch-checklist.md +365 -0
  349. package/operations/04-antipatterns/operations-antipatterns.md +664 -0
  350. package/operations/05-cases/case-sre-practices.md +581 -0
  351. package/operations/06-glossary/operations-glossary.md +120 -0
  352. package/operations/aiops-anomaly-detection.md +758 -0
  353. package/operations/capacity-planning.md +1061 -0
  354. package/operations/chaos-engineering.md +659 -0
  355. package/operations/incident-command-system.md +38 -0
  356. package/operations/observability-complete.md +442 -0
  357. package/operations/slo-sli-playbook.md +517 -0
  358. package/operations/sre-operations-deep-dive.md +39 -0
  359. package/package.json +8 -0
  360. package/performance/01-standards/performance-and-scalability.md +80 -0
  361. package/performance/01-standards/performance-standards.md +156 -0
  362. package/performance/02-playbooks/query-optimization-playbook.md +103 -0
  363. package/performance/03-checklists/performance-checklist.md +56 -0
  364. package/performance/04-antipatterns/performance-antipatterns.md +146 -0
  365. package/product/01-standards/product-management-complete.md +285 -0
  366. package/product/02-playbooks/feature-launch-playbook.md +207 -0
  367. package/product/02-playbooks/user-research-playbook.md +532 -0
  368. package/product/03-checklists/feature-launch-checklist.md +275 -0
  369. package/product/04-antipatterns/product-antipatterns.md +355 -0
  370. package/product/05-cases/case-mvp-to-scale.md +384 -0
  371. package/product/06-glossary/product-glossary.md +462 -0
  372. package/product/feature-prioritization-framework.md +40 -0
  373. package/product/kpi-and-metric-tree.md +37 -0
  374. package/product/product-discovery-and-prd-deep-dive.md +41 -0
  375. package/quantum/01-standards/quantum-complete.md +1186 -0
  376. package/security/01-standards/api-security-complete.md +511 -0
  377. package/security/01-standards/container-runtime-security.md +574 -0
  378. package/security/01-standards/data-protection-gdpr.md +543 -0
  379. package/security/01-standards/owasp-top10-complete.md +1890 -0
  380. package/security/01-standards/secure-coding-baseline.md +90 -0
  381. package/security/01-standards/supply-chain-security.md +441 -0
  382. package/security/01-standards/web-security-checklist.md +108 -0
  383. package/security/01-standards/zero-trust-architecture.md +521 -0
  384. package/security/02-playbooks/auth-sso-playbook.md +166 -0
  385. package/security/02-playbooks/incident-response-security-playbook.md +588 -0
  386. package/security/02-playbooks/owasp-api-security-playbook.md +129 -0
  387. package/security/02-playbooks/payment-integration-playbook.md +119 -0
  388. package/security/02-playbooks/penetration-testing-playbook.md +517 -0
  389. package/security/03-checklists/security-audit-checklist.md +356 -0
  390. package/security/04-antipatterns/security-coding-antipatterns.md +580 -0
  391. package/security/05-cases/case-log4shell-incident.md +537 -0
  392. package/security/05-cases/case-major-breaches.md +468 -0
  393. package/security/06-glossary/security-glossary.md +212 -0
  394. package/security/compliance-automation.md +993 -0
  395. package/security/container-security.md +680 -0
  396. package/security/devsecops-complete.md +426 -0
  397. package/security/sast-dast-sca.md +775 -0
  398. package/security/secrets-management.md +594 -0
  399. package/security/security-architecture-deep-dive.md +37 -0
  400. package/security/threat-modeling-stride-playbook.md +40 -0
  401. package/seed-templates/auth-system.md +59 -0
  402. package/seed-templates/blog-content.md +94 -0
  403. package/seed-templates/dashboard.md +89 -0
  404. package/seed-templates/docs-site.md +73 -0
  405. package/seed-templates/e-commerce.md +50 -0
  406. package/seed-templates/saas-landing.md +92 -0
  407. package/seed-templates/settings-page.md +51 -0
  408. package/testing/01-standards/test-strategy-and-layering.md +83 -0
  409. package/testing/01-standards/testing-strategy-complete.md +422 -0
  410. package/testing/01-standards/unit-testing-best-practices.md +118 -0
  411. package/testing/02-playbooks/e2e-testing-playbook.md +988 -0
  412. package/testing/02-playbooks/testing-strategy-playbook.md +126 -0
  413. package/testing/03-checklists/test-strategy-checklist.md +208 -0
  414. package/testing/04-antipatterns/testing-antipatterns.md +718 -0
  415. package/testing/05-cases/case-testing-transformation.md +300 -0
  416. package/testing/06-glossary/testing-glossary.md +110 -0
  417. package/testing/risk-based-test-matrix.md +36 -0
  418. package/testing/testing-strategy-deep-dive.md +37 -0
@@ -0,0 +1,526 @@
1
+ ---
2
+ id: logging-observability-complete
3
+ title: 日志与可观测性指南
4
+ domain: development
5
+ category: 01-standards
6
+ difficulty: intermediate
7
+ tags: [agent, checklist, complete, development, logging, observability, 实战代码示例, 常见陷阱]
8
+ quality_score: 70
9
+ last_updated: 2026-06-15
10
+ ---
11
+ # 日志与可观测性指南
12
+
13
+ ## 概述
14
+ 可观测性(Observability)是理解分布式系统内部状态的能力,由日志(Logs)、指标(Metrics)、追踪(Traces)三大支柱组成。本指南覆盖结构化日志、ELK/Loki、OpenTelemetry、分布式追踪的完整实践。
15
+
16
+ ## 核心概念
17
+
18
+ ### 1. 可观测性三支柱
19
+ - **日志(Logs)**: 离散事件记录,描述"发生了什么"
20
+ - **指标(Metrics)**: 聚合数值,描述"系统整体状态"
21
+ - **追踪(Traces)**: 请求链路,描述"请求经过了哪里"
22
+
23
+ ### 2. 日志级别规范
24
+ | 级别 | 用途 | 示例 |
25
+ |------|------|------|
26
+ | DEBUG | 开发调试,生产关闭 | 变量值、函数入参 |
27
+ | INFO | 正常业务事件 | 用户登录、订单创建 |
28
+ | WARNING | 异常但可恢复 | 重试成功、配额接近上限 |
29
+ | ERROR | 失败需要关注 | API调用失败、数据库连接断开 |
30
+ | CRITICAL | 系统级故障 | 数据库不可用、OOM |
31
+
32
+ ### 3. 工具栈对比
33
+
34
+ | 方案 | 日志 | 指标 | 追踪 | 成本 | 适用规模 |
35
+ |------|------|------|------|------|----------|
36
+ | ELK | Elasticsearch+Logstash+Kibana | Elastic Metrics | Elastic APM | 高(ES资源) | 中大型 |
37
+ | PLG | Loki+Promtail+Grafana | Prometheus | Tempo | 低 | 中小型 |
38
+ | OpenTelemetry + 后端 | 灵活对接 | 灵活对接 | 灵活对接 | 看后端 | 任意 |
39
+ | Datadog/New Relic | 全集成 | 全集成 | 全集成 | 按量付费 | 企业级 |
40
+
41
+ ### 4. OpenTelemetry
42
+ - CNCF标准,厂商中立的遥测数据收集框架
43
+ - 支持Logs/Metrics/Traces三种信号
44
+ - 自动和手动埋点
45
+ - 导出到任意后端(Jaeger/Zipkin/Datadog/Grafana)
46
+
47
+ ## 实战代码示例
48
+
49
+ ### 结构化日志(Python)
50
+
51
+ ```python
52
+ # 使用structlog实现结构化日志
53
+ import structlog
54
+ import logging
55
+ import sys
56
+
57
+ def configure_logging(environment: str = "production"):
58
+ """配置结构化日志"""
59
+ # 处理器链
60
+ shared_processors = [
61
+ structlog.contextvars.merge_contextvars,
62
+ structlog.stdlib.add_log_level,
63
+ structlog.stdlib.add_logger_name,
64
+ structlog.processors.TimeStamper(fmt="iso"),
65
+ structlog.processors.StackInfoRenderer(),
66
+ structlog.processors.UnicodeDecoder(),
67
+ ]
68
+
69
+ if environment == "development":
70
+ # 开发环境: 彩色终端输出
71
+ renderer = structlog.dev.ConsoleRenderer()
72
+ else:
73
+ # 生产环境: JSON格式
74
+ renderer = structlog.processors.JSONRenderer()
75
+
76
+ structlog.configure(
77
+ processors=[
78
+ *shared_processors,
79
+ structlog.stdlib.ProcessorFormatter.wrap_for_formatter,
80
+ ],
81
+ logger_factory=structlog.stdlib.LoggerFactory(),
82
+ wrapper_class=structlog.stdlib.BoundLogger,
83
+ cache_logger_on_first_use=True,
84
+ )
85
+
86
+ formatter = structlog.stdlib.ProcessorFormatter(
87
+ processors=[
88
+ structlog.stdlib.ProcessorFormatter.remove_processors_meta,
89
+ renderer,
90
+ ],
91
+ )
92
+
93
+ handler = logging.StreamHandler(sys.stdout)
94
+ handler.setFormatter(formatter)
95
+ root_logger = logging.getLogger()
96
+ root_logger.addHandler(handler)
97
+ root_logger.setLevel(logging.INFO)
98
+
99
+ # 使用
100
+ logger = structlog.get_logger()
101
+
102
+ async def create_order(user_id: int, items: list):
103
+ log = logger.bind(user_id=user_id, action="create_order")
104
+ log.info("order_creation_started", item_count=len(items))
105
+
106
+ try:
107
+ order = await order_repo.create(user_id, items)
108
+ log.info("order_created", order_id=order.id, total=order.total)
109
+ return order
110
+ except InsufficientStockError as e:
111
+ log.warning("order_creation_failed", reason="insufficient_stock", product_id=e.product_id)
112
+ raise
113
+ except Exception as e:
114
+ log.error("order_creation_error", error=str(e), error_type=type(e).__name__)
115
+ raise
116
+ ```
117
+
118
+ ### 请求上下文追踪
119
+
120
+ ```python
121
+ # FastAPI中间件 — 请求ID和上下文注入
122
+ import uuid
123
+ import structlog
124
+ from starlette.middleware.base import BaseHTTPMiddleware
125
+ from contextvars import ContextVar
126
+
127
+ request_id_var: ContextVar[str] = ContextVar("request_id", default="")
128
+
129
+ class RequestContextMiddleware(BaseHTTPMiddleware):
130
+ async def dispatch(self, request, call_next):
131
+ request_id = request.headers.get("X-Request-ID", str(uuid.uuid4()))
132
+ request_id_var.set(request_id)
133
+
134
+ # 绑定结构化日志上下文
135
+ structlog.contextvars.clear_contextvars()
136
+ structlog.contextvars.bind_contextvars(
137
+ request_id=request_id,
138
+ method=request.method,
139
+ path=request.url.path,
140
+ client_ip=request.client.host,
141
+ )
142
+
143
+ logger = structlog.get_logger()
144
+ logger.info("request_started")
145
+
146
+ import time
147
+ start = time.perf_counter()
148
+
149
+ try:
150
+ response = await call_next(request)
151
+ duration = time.perf_counter() - start
152
+
153
+ logger.info(
154
+ "request_completed",
155
+ status_code=response.status_code,
156
+ duration_ms=round(duration * 1000, 2),
157
+ )
158
+
159
+ response.headers["X-Request-ID"] = request_id
160
+ return response
161
+ except Exception as e:
162
+ duration = time.perf_counter() - start
163
+ logger.error(
164
+ "request_failed",
165
+ error=str(e),
166
+ error_type=type(e).__name__,
167
+ duration_ms=round(duration * 1000, 2),
168
+ )
169
+ raise
170
+
171
+ app.add_middleware(RequestContextMiddleware)
172
+ ```
173
+
174
+ ### OpenTelemetry集成
175
+
176
+ ```python
177
+ # OpenTelemetry完整配置
178
+ from opentelemetry import trace, metrics
179
+ from opentelemetry.sdk.trace import TracerProvider
180
+ from opentelemetry.sdk.trace.export import BatchSpanExporter
181
+ from opentelemetry.sdk.metrics import MeterProvider
182
+ from opentelemetry.sdk.metrics.export import PeriodicExportingMetricReader
183
+ from opentelemetry.sdk.resources import Resource, SERVICE_NAME
184
+ from opentelemetry.exporter.otlp.proto.grpc.trace_exporter import OTLPSpanExporter
185
+ from opentelemetry.exporter.otlp.proto.grpc.metric_exporter import OTLPMetricExporter
186
+ from opentelemetry.instrumentation.fastapi import FastAPIInstrumentor
187
+ from opentelemetry.instrumentation.httpx import HTTPXClientInstrumentor
188
+ from opentelemetry.instrumentation.sqlalchemy import SQLAlchemyInstrumentor
189
+ from opentelemetry.instrumentation.redis import RedisInstrumentor
190
+
191
+ def setup_telemetry(service_name: str, otlp_endpoint: str = "http://otel-collector:4317"):
192
+ """初始化OpenTelemetry"""
193
+ resource = Resource.create({
194
+ SERVICE_NAME: service_name,
195
+ "deployment.environment": os.getenv("ENV", "production"),
196
+ "service.version": os.getenv("APP_VERSION", "unknown"),
197
+ })
198
+
199
+ # Traces
200
+ tracer_provider = TracerProvider(resource=resource)
201
+ tracer_provider.add_span_processor(
202
+ BatchSpanExporter(OTLPSpanExporter(endpoint=otlp_endpoint))
203
+ )
204
+ trace.set_tracer_provider(tracer_provider)
205
+
206
+ # Metrics
207
+ metric_reader = PeriodicExportingMetricReader(
208
+ OTLPMetricExporter(endpoint=otlp_endpoint),
209
+ export_interval_millis=60000,
210
+ )
211
+ meter_provider = MeterProvider(resource=resource, metric_readers=[metric_reader])
212
+ metrics.set_meter_provider(meter_provider)
213
+
214
+ # 自动埋点
215
+ FastAPIInstrumentor.instrument()
216
+ HTTPXClientInstrumentor().instrument()
217
+ SQLAlchemyInstrumentor().instrument(engine=engine)
218
+ RedisInstrumentor().instrument()
219
+
220
+ # 手动埋点
221
+ tracer = trace.get_tracer(__name__)
222
+ meter = metrics.get_meter(__name__)
223
+
224
+ # 自定义指标
225
+ order_counter = meter.create_counter(
226
+ "orders.created",
227
+ unit="1",
228
+ description="Number of orders created",
229
+ )
230
+ order_duration = meter.create_histogram(
231
+ "orders.creation_duration",
232
+ unit="ms",
233
+ description="Order creation duration",
234
+ )
235
+
236
+ async def create_order(user_id: int, items: list):
237
+ with tracer.start_as_current_span("create_order") as span:
238
+ span.set_attribute("user.id", user_id)
239
+ span.set_attribute("order.item_count", len(items))
240
+
241
+ start = time.perf_counter()
242
+ try:
243
+ # 子Span: 库存检查
244
+ with tracer.start_as_current_span("check_inventory"):
245
+ await check_inventory(items)
246
+
247
+ # 子Span: 支付处理
248
+ with tracer.start_as_current_span("process_payment"):
249
+ payment = await process_payment(user_id, calculate_total(items))
250
+ span.set_attribute("payment.id", payment.id)
251
+
252
+ # 子Span: 创建订单记录
253
+ with tracer.start_as_current_span("save_order"):
254
+ order = await save_order(user_id, items, payment)
255
+
256
+ span.set_attribute("order.id", order.id)
257
+ span.set_status(trace.StatusCode.OK)
258
+ order_counter.add(1, {"status": "success"})
259
+ return order
260
+
261
+ except Exception as e:
262
+ span.set_status(trace.StatusCode.ERROR, str(e))
263
+ span.record_exception(e)
264
+ order_counter.add(1, {"status": "error"})
265
+ raise
266
+ finally:
267
+ duration = (time.perf_counter() - start) * 1000
268
+ order_duration.record(duration)
269
+ ```
270
+
271
+ ### Prometheus指标暴露
272
+
273
+ ```python
274
+ # FastAPI + prometheus-client
275
+ from prometheus_client import (
276
+ Counter, Histogram, Gauge, Info,
277
+ generate_latest, CONTENT_TYPE_LATEST,
278
+ )
279
+ from starlette.responses import Response
280
+
281
+ # 定义指标
282
+ REQUEST_COUNT = Counter(
283
+ 'http_requests_total',
284
+ 'Total HTTP requests',
285
+ ['method', 'endpoint', 'status_code'],
286
+ )
287
+ REQUEST_DURATION = Histogram(
288
+ 'http_request_duration_seconds',
289
+ 'HTTP request duration',
290
+ ['method', 'endpoint'],
291
+ buckets=[0.01, 0.05, 0.1, 0.25, 0.5, 1.0, 2.5, 5.0, 10.0],
292
+ )
293
+ ACTIVE_REQUESTS = Gauge(
294
+ 'http_requests_active',
295
+ 'Active HTTP requests',
296
+ )
297
+ APP_INFO = Info(
298
+ 'app',
299
+ 'Application info',
300
+ )
301
+ APP_INFO.info({
302
+ 'version': '1.2.0',
303
+ 'environment': os.getenv('ENV', 'production'),
304
+ })
305
+
306
+ # 业务指标
307
+ DB_POOL_SIZE = Gauge('db_pool_size', 'Database connection pool size')
308
+ CACHE_HIT_RATE = Gauge('cache_hit_rate', 'Cache hit rate percentage')
309
+
310
+ class MetricsMiddleware(BaseHTTPMiddleware):
311
+ async def dispatch(self, request, call_next):
312
+ ACTIVE_REQUESTS.inc()
313
+ method = request.method
314
+ path = request.url.path
315
+
316
+ with REQUEST_DURATION.labels(method=method, endpoint=path).time():
317
+ try:
318
+ response = await call_next(request)
319
+ REQUEST_COUNT.labels(
320
+ method=method,
321
+ endpoint=path,
322
+ status_code=response.status_code,
323
+ ).inc()
324
+ return response
325
+ except Exception as e:
326
+ REQUEST_COUNT.labels(
327
+ method=method, endpoint=path, status_code=500
328
+ ).inc()
329
+ raise
330
+ finally:
331
+ ACTIVE_REQUESTS.dec()
332
+
333
+ @app.get("/metrics")
334
+ async def metrics_endpoint():
335
+ return Response(
336
+ content=generate_latest(),
337
+ media_type=CONTENT_TYPE_LATEST,
338
+ )
339
+ ```
340
+
341
+ ### Grafana Loki日志查询
342
+
343
+ ```promql
344
+ # LogQL查询示例
345
+
346
+ # 查看特定服务的错误日志
347
+ {service="order-service"} |= "error"
348
+
349
+ # JSON解析并过滤
350
+ {service="order-service"} | json | level="error" | duration_ms > 1000
351
+
352
+ # 统计5分钟内的错误率
353
+ sum(rate({service="order-service"} |= "error" [5m])) /
354
+ sum(rate({service="order-service"} [5m])) * 100
355
+
356
+ # 查看特定请求ID的完整链路
357
+ {service=~".*"} |= "request_id=abc-123"
358
+
359
+ # P99延迟
360
+ quantile_over_time(0.99,
361
+ {service="order-service"} | json | unwrap duration_ms [5m]
362
+ )
363
+ ```
364
+
365
+ ### 告警规则配置
366
+
367
+ ```yaml
368
+ # Prometheus告警规则
369
+ groups:
370
+ - name: application
371
+ rules:
372
+ - alert: HighErrorRate
373
+ expr: |
374
+ sum(rate(http_requests_total{status_code=~"5.."}[5m])) /
375
+ sum(rate(http_requests_total[5m])) > 0.05
376
+ for: 5m
377
+ labels:
378
+ severity: critical
379
+ annotations:
380
+ summary: "High error rate ({{ $value | humanizePercentage }})"
381
+ description: "Error rate exceeds 5% for 5 minutes"
382
+
383
+ - alert: HighLatency
384
+ expr: |
385
+ histogram_quantile(0.99, rate(http_request_duration_seconds_bucket[5m])) > 2
386
+ for: 5m
387
+ labels:
388
+ severity: warning
389
+ annotations:
390
+ summary: "High P99 latency ({{ $value }}s)"
391
+
392
+ - alert: DatabaseConnectionPoolExhausted
393
+ expr: db_pool_size < 5
394
+ for: 2m
395
+ labels:
396
+ severity: critical
397
+ annotations:
398
+ summary: "DB connection pool nearly exhausted"
399
+
400
+ - name: infrastructure
401
+ rules:
402
+ - alert: PodCrashLooping
403
+ expr: rate(kube_pod_container_status_restarts_total[15m]) > 0
404
+ for: 15m
405
+ labels:
406
+ severity: warning
407
+
408
+ - alert: HighMemoryUsage
409
+ expr: |
410
+ container_memory_usage_bytes / container_spec_memory_limit_bytes > 0.9
411
+ for: 10m
412
+ labels:
413
+ severity: warning
414
+ ```
415
+
416
+ ## 最佳实践
417
+
418
+ ### 1. 日志规范
419
+ - 使用结构化日志(JSON),而非纯文本
420
+ - 每条日志包含: timestamp、level、service、request_id、message
421
+ - 敏感数据脱敏(密码/Token/身份证号)
422
+ - 避免在循环中打日志(性能影响)
423
+ - 日志级别在运行时可调(不需重启)
424
+
425
+ ### 2. 指标设计
426
+ - 遵循RED方法: Rate(请求率)、Errors(错误率)、Duration(延迟)
427
+ - 遵循USE方法: Utilization(利用率)、Saturation(饱和度)、Errors
428
+ - 标签基数控制(避免高基数标签如user_id)
429
+ - 使用Histogram而非Summary(更灵活)
430
+
431
+ ### 3. 追踪策略
432
+ - 采样率根据流量调整(高流量服务降低采样率)
433
+ - 关键路径100%采样(支付/登录)
434
+ - 传播Context跨服务(W3C Trace Context标准)
435
+ - Span名称语义化(http.get /api/users而非handler_123)
436
+
437
+ ### 4. 告警原则
438
+ - 告警应可操作(收到告警知道该做什么)
439
+ - 避免告警疲劳(控制数量和阈值)
440
+ - 分层告警(Warning→仪表盘,Critical→通知)
441
+ - 定期review告警规则(删除无人处理的告警)
442
+
443
+ ### 5. 数据保留策略
444
+ - 日志: 热数据7天,温数据30天,冷存储90天
445
+ - 指标: 原始数据15天,降采样数据1年
446
+ - 追踪: 7-30天(按采样率和存储预算)
447
+
448
+ ## 常见陷阱
449
+
450
+ ### 陷阱1: 日志中包含敏感数据
451
+ ```python
452
+ # 错误
453
+ logger.info("User login", email=email, password=password)
454
+ logger.info("API call", headers=dict(request.headers)) # 可能含Auth头
455
+
456
+ # 正确
457
+ logger.info("User login", email=mask_email(email))
458
+ safe_headers = {k: v for k, v in request.headers.items() if k.lower() != "authorization"}
459
+ logger.info("API call", headers=safe_headers)
460
+ ```
461
+
462
+ ### 陷阱2: 指标标签爆炸
463
+ ```python
464
+ # 错误: user_id作为标签,百万用户=百万时间序列
465
+ REQUEST_COUNT = Counter('requests', 'Total requests', ['user_id'])
466
+
467
+ # 正确: 使用低基数标签
468
+ REQUEST_COUNT = Counter('requests', 'Total requests', ['method', 'endpoint', 'status'])
469
+ # user_id放日志中而非指标标签
470
+ ```
471
+
472
+ ### 陷阱3: 异步日志丢失上下文
473
+ ```python
474
+ # 错误: 异步任务中丢失request_id
475
+ async def background_task(data):
476
+ logger.info("Processing", data=data) # 缺少request_id!
477
+
478
+ # 正确: 传递上下文
479
+ async def background_task(data, request_id: str):
480
+ structlog.contextvars.bind_contextvars(request_id=request_id)
481
+ logger.info("Processing", data=data) # 包含request_id
482
+ ```
483
+
484
+ ### 陷阱4: 只在出错时打日志
485
+ ```python
486
+ # 错误: 只有error日志,无法追踪正常流程
487
+ try:
488
+ result = await process(data)
489
+ except Exception as e:
490
+ logger.error("Failed", error=str(e))
491
+
492
+ # 正确: 关键步骤都有日志
493
+ logger.info("processing_started", data_id=data.id)
494
+ try:
495
+ result = await process(data)
496
+ logger.info("processing_completed", data_id=data.id, result_size=len(result))
497
+ except Exception as e:
498
+ logger.error("processing_failed", data_id=data.id, error=str(e))
499
+ ```
500
+
501
+ ## Agent Checklist
502
+
503
+ ### 日志规范
504
+ - [ ] 使用结构化日志(JSON格式)
505
+ - [ ] 每条日志包含request_id
506
+ - [ ] 敏感数据已脱敏
507
+ - [ ] 日志级别使用合理
508
+ - [ ] 日志输出到stdout(容器友好)
509
+
510
+ ### 指标覆盖
511
+ - [ ] RED指标已覆盖(Rate/Errors/Duration)
512
+ - [ ] 业务关键指标已定义
513
+ - [ ] 标签基数可控
514
+ - [ ] /metrics端点已暴露
515
+
516
+ ### 分布式追踪
517
+ - [ ] OpenTelemetry SDK已集成
518
+ - [ ] 自动埋点覆盖HTTP/DB/Redis
519
+ - [ ] 关键业务有手动Span
520
+ - [ ] Trace Context跨服务传播
521
+
522
+ ### 告警和仪表盘
523
+ - [ ] 核心告警规则已配置
524
+ - [ ] 仪表盘覆盖关键指标
525
+ - [ ] 告警通知渠道已设置
526
+ - [ ] 数据保留策略已定义