KB-843B
Báo cáo điều tra log 48h — Agent Data / Claude Desktop
12 min read Revision 1
reportscodexhistorical-sync
Báo cáo điều tra log 48h — Agent Data / Claude Desktop
Ngày: 2026-04-14
Agent: Codex
Mode: Read-only investigation
0. 3 câu Tuyên ngôn
- Vĩnh viễn? Báo cáo này không fix triệu chứng bằng tay trên VPS. Kết luận ưu tiên nguyên nhân gốc có thể lặp lại: discovery path sai/lệch, background job lỗi định kỳ, DB error storm, security scan noise.
- Nhầm được không? Mọi nhận định dưới đây đều bám log thật 48h, trạng thái container thật, resource thật và probe thật. Chỗ nào chưa đủ log timing sẽ ghi rõ
thiếu bằng chứng. - 100% tự động? Nếu muốn chẩn đoán dứt điểm về “chậm”, hệ thống phải bổ sung access log có
request_time/upstream_response_timecho/api/mcp,/api/kb/list, search endpoints và app-level timing cho MCP/search handlers.
1. Phạm vi kiểm tra
- Thời gian kiểm tra thực tế:
- Cửa sổ log:
--since 48htính tại thời điểm bắt đầu điều tra khoảng2026-04-14 04:39:48 +02 - Tương đương khoảng
2026-04-12 02:39 UTC→2026-04-14 02:47 UTC
- Cửa sổ log:
- Nguồn log:
docker logs --since 48h incomex-agent-datadocker logs --since 48h incomex-nginxdocker logs --since 48h incomex-directusdocker logs --since 48h postgresdocker logs --since 48h incomex-qdrantjournalctl --since "48 hours ago" -k --no-pager
- Service/container đã kiểm tra:
incomex-agent-dataincomex-nginxincomex-directuspostgresincomex-qdrantincomex-nuxt
- Runtime/resource đã kiểm tra:
docker ps,docker inspect,docker stats --no-streamfree -m,df -h/proc/pressure/{cpu,memory,io}- Probe HTTP thực tế qua public HTTPS và direct container
2. Tóm tắt điều hành
- Có/không có dấu hiệu chậm: Có một phần. Có bằng chứng rõ cho overhead lúc khởi tạo kết nối MCP/discovery, nhưng không có bằng chứng đủ mạnh cho việc Agent Data server-side bị chậm liên tục trong 48h.
- Có/không có lỗi đáng chú ý: Có. Nổi bật nhất là lỗi nền lặp lại ở Directus/Postgres và 1 đợt scan bên ngoài tạo rất nhiều 5xx nhiễu.
- 3 phát hiện quan trọng nhất:
POST /api/mcpvàGET /api/healthổn định: nginx ghi4038lầnPOST /api/mcpmã200,1lần204,0lần 5xx;10696lầnGET /api/healthmã200,0lần 5xx.- Có discovery sai path trước MCP: các request
/.well-known/oauth-authorization-server*đi nhầm vào Nuxt, trả404body rất lớn (~130 KBđến~239 KB) và mất khoảng240–257 msmỗi request; đúng/api/mcpinit chỉ mất khoảng13–23 mspublic hoặc33 msdirect. - Có lỗi nền thực sự nhưng không trỏ thẳng vào MCP path:
72lỗi Postgres/46lỗi Directus vềmeta_catalogbị security guard chặn,40deadlock DB,922lỗiinvalid input syntax for type bigint: "undefined",9lỗi Agent DataVector count failed: Server disconnected without sending a response.
3. Bằng chứng chính
[2026-04-14 02:27:03 UTC]GET /.well-known/oauth-authorization-server/api/mcp->404, body239545bytes, nginx warnbuffered to a temporary file[2026-04-14 02:27:09 UTC]GET /.well-known/oauth-authorization-server->404, body130010bytes, nginx warnbuffered to a temporary file[2026-04-14 02:27:10 UTC]ngay sau đó client mới vàoPOST /api/mcp->200,204,200[live probe 2026-04-14]https://vps.incomexsaigoncorp.vn/.well-known/oauth-authorization-server/api/mcp->404,240.4 ms,239545bytes[live probe 2026-04-14]https://vps.incomexsaigoncorp.vn/.well-known/oauth-authorization-server->404,257.1 ms,239537bytes[live probe 2026-04-14]https://vps.incomexsaigoncorp.vn/api/mcp/.well-known/oauth-authorization-server->404,13.0 ms,22bytes[live probe 2026-04-14]external MCP init ->200,22.8 / 13.3 / 13.4 ms[live probe 2026-04-14]direct container MCP init ->200,33.0 ms[runtime 2026-04-14]incomex-agent-data restart=0,health=healthy, RAM hiện tại1.096 GiB / 2.5 GiB, CPU hiện tại0.93%[runtime 2026-04-14]không có OOM trong kernel journal 48h, disk/dùng43%, swap0, PSI memory/io gần như0[2026-04-13 23:00:04 UTC]Agent Data log:ERROR - Vector count failed: Server disconnected without sending a response.[2026-04-13 18:01:11 UTC]Postgres/Directus:Direct UPDATE of meta_catalog counting fields is blocked...+PATCH /items/meta_catalog/... 500[48h aggregate]nginx/api/*5xx top IP =148.113.214.89với3977lần, chủ yếu scan/injection vào/api/directus/*và/api/registry/matrix
4. Phân tích vấn đề Claude Desktop chậm
- Triệu chứng:
- User báo Claude Desktop thao tác với Agent Data chậm.
- Trong log 48h, có một phiên client thật (IP
123.24.183.10) đi qua chuỗi discovery trước khi vào MCP.
- Bằng chứng:
- Với client đó, thứ tự request là:
GET /.well-known/oauth-authorization-server/api/mcp->404 239545 bytesGET /api/mcp/.well-known/oauth-authorization-server->404 22 bytesGET /.well-known/oauth-authorization-server->404 130010 bytes- sau đó mới
POST /api/mcp->200/204/200
- Live probe hiện tại lặp lại đúng pattern:
- 2 wrong-path 404 lớn mất khoảng
240–257 msmỗi cái - MCP init đúng chỉ mất khoảng
13–23 msqua public HTTPS
- 2 wrong-path 404 lớn mất khoảng
- Trong 48h:
- nginx
POST /api/mcp:4038 x 200,1 x 204,0 x 5xx - nginx
GET /api/health:10696 x 200,0 x 5xx - agent-data
POST /mcp:4039 x 200,1 x 204,1 x 401
- nginx
- Runtime hiện tại ổn:
- container không restart
- không OOM
- CPU/RAM/disk/I/O không có áp lực bất thường
- Với client đó, thứ tự request là:
- Nghi ngờ nguyên nhân:
- Nguyên nhân gần có khả năng nhất: chậm ở giai đoạn client-side / connection setup / discovery, không phải do Agent Data service đang nghẽn hoặc crash. Cụ thể, client thử sai discovery path và nhận 404 body quá lớn từ Nuxt trước khi vào MCP thật.
- Nguyên nhân phụ có thể góp phần nhỏ: public HTTPS path có overhead cỡ
~280–370 mscho/api/healthvà~300–450 mscho/api/kb/list(payload~200 KB), nhưng đây chưa phải mức “hệ thống bị nghẽn”. - Chưa đủ bằng chứng để kết luận: không có
request_time/upstream_response_timetrong nginx access log và không có app-level timing cho search/query MCP, nên chưa chứng minh được lịch sử “query search thật” có chậm hay không.
- Mức độ chắc chắn:
MEDIUM
5. Các lỗi khác phát hiện được
Lỗi 1
- Mô tả:
meta_catalogbị background update/flow chạm security guard, gây lỗi DB và HTTP 500 lặp lại theo chu kỳ. - Bằng chứng:
- Postgres:
72lầnDirect UPDATE of meta_catalog counting fields is blocked... - Directus:
46lầnPATCH /items/meta_catalog/<id> 500 - Phân bố theo chu kỳ gần rõ: khoảng
00:00,06:00,12:00,18:00 - Đồng thời có
641lần[WATCHDOG] Update on meta_catalogvà641lần[DOT-REG] Flow triggered: meta_catalog.items.update on meta_catalog
- Postgres:
- Ảnh hưởng: tạo noise lớn trong log, có thể làm các tác vụ metadata/integrity bị fail từng đợt; chưa có bằng chứng kéo chậm
api/mcp - Mức độ nghiêm trọng:
MEDIUM
Lỗi 2
- Mô tả: Postgres có error storm
invalid input syntax for type bigint: "undefined" - Bằng chứng:
- Tổng
922lỗi trong 48h - Riêng
2026-04-12 21:00 UTCcó733lỗi
- Tổng
- Ảnh hưởng: có khả năng là bug input validation/query builder ở tầng app; tạo tải và nhiễu đáng kể cho DB/log
- Mức độ nghiêm trọng:
MEDIUM
Lỗi 3
- Mô tả: DB deadlock lặp lại
- Bằng chứng:
- Tổng
40lầndeadlock detected - Phân bố rải từ
2026-04-12đến2026-04-14, không phải một lần đơn lẻ
- Tổng
- Ảnh hưởng: có thể làm một số transaction nền fail/retry; chưa có bằng chứng đánh vào MCP path
- Mức độ nghiêm trọng:
MEDIUM
Lỗi 4
- Mô tả: Agent Data background/vector count lỗi ngắt kết nối
- Bằng chứng:
9lầnVector count failed: Server disconnected without sending a response.- Mốc thấy rõ:
2026-04-12 06:19:56,09:32:57;2026-04-13 00:00:03,00:53:58,01:15:58,01:47:58,02:15:58,10:07:59,23:00:04UTC - Qdrant container vẫn healthy, không có WARN/ERROR tương ứng trong 48h
- Ảnh hưởng: khả năng cao ảnh hưởng tới tác vụ đếm vector/monitoring hơn là request MCP chính; cần điều tra code path gọi vector count
- Mức độ nghiêm trọng:
LOW-MEDIUM
Lỗi 5
- Mô tả: 5xx
/api/*rất nhiều nhưng gần như toàn bộ là từ external scan độc hại, không phải client MCP thật - Bằng chứng:
- nginx
/api/*5xx top IP:148.113.214.89với3977lần - route top:
/api/directus/items/knowledge_documents,/api/directus/items/workflows,/api/directus/items/task_comments,/api/registry/matrix... - payload/referrer/user-agent cho thấy pattern scan/injection (
PG_SLEEP,DBMS_PIPE, random probes)
- nginx
- Ảnh hưởng: tăng noise, che mất lỗi thật, có thể làm dashboard 5xx nhìn xấu; không có bằng chứng trực tiếp gây chậm Claude Desktop vào
/api/mcp - Mức độ nghiêm trọng:
MEDIUM
Lỗi 6
- Mô tả: discovery sai path trả 404 body lớn từ Nuxt
- Bằng chứng:
/.well-known/oauth-authorization-server/api/mcpthấy2lần trong 48h/.well-known/oauth-authorization-serverthấy3lần/api/mcp/.well-known/oauth-authorization-serverthấy2lần- live probe: 404 sai path mất
240–257 msvà trả~239 KB
- Ảnh hưởng: gây chậm khởi tạo session MCP/Claude Desktop theo từng phiên; đây là lỗi gần nhất liên quan trực tiếp đến cảm giác “connect chậm”
- Mức độ nghiêm trọng:
MEDIUM
6. Kết luận gốc rễ
- Nguyên nhân có khả năng cao nhất: không có bằng chứng cho thấy Agent Data server bị chậm liên tục ở tầng CPU/RAM/disk/container/network nội bộ. Dấu hiệu mạnh nhất hiện có là client MCP/Claude Desktop phải đi qua chuỗi OAuth discovery sai path, nhận 404 lớn từ Nuxt rồi mới vào
/api/mcp, tạo overhead kết nối đầu phiên. - Nguyên nhân phụ nếu có:
- overhead public HTTPS/TLS mức vài trăm ms
/api/kb/listpayload lớn~200 KB, nginx đôi lúc phải buffer ra file tạm- background errors ở Directus/Postgres làm hệ thống “ồn” và có thể gây nhiễu/gián đoạn tác vụ nền, nhưng chưa có link mạnh tới MCP path
- Điểm còn thiếu bằng chứng:
- không có timing lịch sử cho từng request MCP/search
- không có log
upstream_response_time - không có trace để nối “request Claude Desktop cụ thể” sang “query Agent Data cụ thể”
7. Khuyến nghị
- Cần làm ngay:
- Sửa discovery/404 handling cho
/.well-known/oauth-authorization-server* - Trả 404 nhỏ gọn hoặc route đúng về MCP metadata thay vì để Nuxt trả HTML lớn
- Bổ sung access log có
request_timevàupstream_response_timecho nginx trên/api/mcp,/api/kb/list,/api/search* - Điều tra flow/job đang ghi trực tiếp vào
meta_catalogđể dừng chu kỳPATCH 500 - Điều tra nguồn phát sinh
invalid bigint "undefined"vì số lượng lỗi quá lớn
- Sửa discovery/404 handling cho
- Nên theo dõi:
- deadlock Postgres theo giờ
Vector count failedtrong Agent Data- tần suất
api/kb/listvà size payload nếu dùng bởi client thật - scan/external abuse vào
/api/directus/*và/api/registry/*
- Chưa nên kết luận gì vội:
- chưa thể kết luận semantic search/query của Agent Data chậm trong 48h
- chưa thể kết luận Qdrant là thủ phạm vì Qdrant log sạch, health tốt và chưa có trace tương ứng
8. Process Checklist
- Đọc skill
.claude/skills/incomex-rules.md - Đọc SSOT qua
search_knowledge("operating rules SSOT") - Đọc hiến pháp qua
search_knowledge("hiến pháp v4.0 constitution") - Đọc luật/báo cáo liên quan qua
search_knowledge(...) - Xác định nguồn log, service, container
- Thu thập evidence 48h
- Kiểm tra runtime/resource thật
- Kết luận theo mức độ chắc chắn