14.1 Service inventory & quick reference
บทนี้เป็นหน้าอ้างอิงเร็วที่ทีมปฏิบัติการควรเปิดดูเป็นอันดับแต่แรกเมื่อเริ่มงาน รวมตารางสรุป service ทั้งหมด, ตำแหน่ง, port, log path, และคำสั่งที่ใช้บ่อย
ตาราง inventory หลัก
| Service | Stack | Host ที่รัน | Container name | Internal port | External port | Image |
|---|---|---|---|---|---|---|
| vtrc-api #1 | Node 12 | vtrc-api host | vtrc-api-nodejs | 8081 | 8081 | vtrc-api_vtrc-api:latest |
| vtrc-api #2 | Node 12 | vtrc-api host | vtrc-api-nodejs-2 | 8081 | 8082 | (เดียวกัน) |
| vtrc-api #3 | Node 12 | vtrc-api host | vtrc-api-nodejs-3 | 8081 | 8083 | (เดียวกัน) |
| vtrc-api #5 | Node 12 | vtrc-api host | vtrc-api-nodejs-5 | 8081 | 8085 | (เดียวกัน) |
| vtrc-redis | Redis | vtrc-api host | vtrc-redis | 6379 | 6379 | build from docker-redis/ |
| vtrc-nginx | nginx | vtrc-api host | vtrc-web-server | 80/443 | 80/443 | nginx:latest + custom |
| vtrc-phpMyAdmin | phpMyAdmin | vtrc-api host | vtrc-phpMyAdmin | 80 | 8093 | phpmyadmin/phpmyadmin |
| cu-central-api #1 | Node 12.18.3 | cu-central host | cu-central-api | 8000 | 8000 | gcr.io/vtrc-nonprod/cu-centralize-api:latest |
| cu-central-api #2 | Node 12.18.3 | cu-central host | cu-central-api_2 | 8000 | 8002 | (เดียวกัน) |
| cu-central-api #3 | Node 12.18.3 | cu-central host | cu-central-api_3 | 8000 | 8003 | (เดียวกัน) |
| cu-redis | Redis | cu-central host | cu-centralize-redis | 6379 | 6379 | build from Dockerfile-redis |
| cu-nginx | nginx | cu-central host | cu-central-web-server | 443/25563 | 443/25563 | nginx:latest + custom |
| centralize-api | NestJS (Node 16) | centralize host | centralize-api | 3000 | 3000 | build from Dockerfile |
| vtrc-web | nginx serve static | vtrc-api host (mount) | (ไม่มี container แยก) | 80 | 80/443 | build from vtrc-web/Dockerfile |
| vtrc-rc-backoffice | nginx serve static | backoffice host | nginx-web-server | 80/443 | 80/443 | nginx:latest + custom |
หมายเหตุ:
- APP_NO=4 ถูกข้ามใน vtrc-api โดยไม่มีเอกสารอธิบาย — อาจเคยปิดไปด้วยเหตุผลด้านทรัพยากร
- centralize-api มีเพียง replica เดียว — เป็นจุด single point of failure
URL ที่ใช้ตรวจสอบสถานะ
| URL | หมายถึง | สถานะปกติ |
|---|---|---|
https://vtrc.redcross.or.th/ | vtrc-web | หน้า login ปรากฏ |
https://vtrcbackoffice.redcross.or.th/ | vtrc-rc-backoffice | หน้า login ปรากฏ |
https://vtrcapi.redcross.or.th/api/graphql | vtrc-api GraphQL endpoint | GraphQL playground ปรากฏ (เพราะ playground: true) |
https://uat-vtrc.redcross.or.th/ | vtrc-web UAT | หน้า login ปรากฏ |
https://uat-vtrcapi.redcross.or.th/api-uat/graphql | vtrc-api UAT | GraphQL playground |
https://centralizeapi.redcross.or.th/ | cu-central-api gateway | (ขึ้นกับ path ที่เรียก) |
https://centralizeapi.redcross.or.th:25563/ | cu-central-api gateway (port สำรอง) | (ขึ้นกับ path) |
centralize-api /docs | Swagger UI | Swagger UI ปรากฏ |
จุดสำคัญ — ไม่มี /health, /healthz, /ping ใน service ใด การตรวจสอบสถานะต้องใช้ URL เหล่านี้แทน
Log path ที่สำคัญ
vtrc-api host
| Path | เนื้อหา |
|---|---|
./api-logs/ (host) = /usr/src/app/logs/ (container) | log ของ vtrc-api ที่ wlog.js เขียน |
./api-storage/ (host) = /usr/src/app/storage/ (container) | PDF payslip, file upload |
./nginx-log/ (host) | nginx access/error log |
docker logs vtrc-api-nodejs | stdout/stderr ของ container (console.log) |
cu-central-api host
| Path | เนื้อหา |
|---|---|
./main-api/logs/ (host) = /usr/src/app/logs/ (container) | log ของ cu-central-api |
./main-api/storage/ (host) = /usr/src/app/storage/ (container) | file storage |
./nginx-log/ (host) | nginx access/error log |
centralize-api host
| Path | เนื้อหา |
|---|---|
./logs/ (host) = /usr/src/app/logs/ (container) | log ของ I3GatewayLogger |
คำสั่งที่ใช้บ่อย — quick reference
ตรวจสอบสถานะ container
bash
# ดู container ที่รันอยู่ทั้งหมด
docker ps
# ดูเฉพาะ vtrc-api
docker ps --filter "name=vtrc-api"
# ดู resource usage
docker statsอ่าน log
bash
# log ล่าสุด 100 บรรทัด
docker logs --tail 100 vtrc-api-nodejs
# ติดตาม log แบบ live
docker logs -f vtrc-api-nodejs
# log ของ replica เฉพาะ
docker logs -f vtrc-api-nodejs-2เข้า container
bash
# เปิด shell ใน container
docker exec -it vtrc-api-nodejs sh
# รันคำสั่งเดียว
docker exec vtrc-api-nodejs ls /usr/src/app/storage/prs/รีสตาร์ท service
bash
# รีสตาร์ท replica เดียว
docker restart vtrc-api-nodejs-2
# รีสตาร์ททั้ง compose stack
cd /path/to/vtrc-api && docker-compose restart
# ดึง image ใหม่แล้ว restart (ใช้ตอน deploy)
docker-compose up -d --no-deps vtrc-apiตรวจสอบ port ที่เปิด
bash
# ดู port ที่ container publish
docker port vtrc-api-nodejs
# ตรวจสอบว่า port 8081 รับ connection ได้
curl -v http://localhost:8081/api/graphqlตรวจสอบ disk usage
bash
# ดู disk usage ของ volume หลัก
du -sh /home/dev/vtrc-api/api-storage/
du -sh /home/dev/vtrc-api/api-logs/
du -sh /home/dev/vtrc-api/nginx-log/
du -sh /home/dev/vtrc-api/redis-db/data/
# ดู disk space ที่เหลือ
df -hโครงสร้าง host ที่ใช้งาน
vtrc-api host
├── /home/dev/vtrc-api/ ←── docker-compose ของ vtrc-api
│ ├── api/ ←── source code (git checkout)
│ ├── api-storage/ ←── volume: PDF payslip, file upload
│ ├── api-logs/ ←── volume: log ของ vtrc-api
│ ├── nginx/ ←── config ของ nginx
│ ├── nginx-log/ ←── log ของ nginx
│ ├── cert/ ←── SSL certificate
│ ├── redis-db/ ←── data ของ Redis
│ └── docker-compose.yml
├── /home/dev/vtrc-web/build/ ←── build ของ vtrc-web (mount เข้า nginx)
└── /home/dev/vtrc-mobile-app/ ←── build ของ mobile app (mount เข้า nginx)
cu-central-api host
├── /home/dev/cu-central-api/
│ ├── main-api/ ←── source code
│ ├── nginx/
│ ├── cert/
│ ├── redis-db/
│ └── docker-compose.yml
└── ...
centralize-api host
└── /home/dev/centralize-api/
├── src/ ←── TypeScript source
├── dist/ ←── compiled output
├── .env ←── config (รวม secret)
└── docker-compose.yml
vtrc-rc-backoffice host
└── /home/dev/vtrc-rc-backoffice/
├── build/ ←── build ของ backoffice (mount เข้า nginx)
├── nginx/
└── docker-compose.ymlหมายเหตุ: path จริงอาจแตกต่างจากนี้ในแต่ละ environment — ต้องสอบถามทีมที่ตั้งค่า server ครั้งแรก ชื่อ dev ใน path บ่งชี้ว่าเคยเป็น dev environment ที่ปรับมาเป็น production
ผู้ประสานงานที่ต้องรู้
ตารางนี้ต้องการให้ทีมเติมชื่อและช่องทางติดต่อจริง:
| บทบาท | ผู้รับผิดชอบ | ช่องทางติดต่อ |
|---|---|---|
| ผู้ดูแล vtrc-api | (เติม) | (เติม) |
| ผู้ดูแล cu-central-api | (เติม) | (เติม) |
| ผู้ดูแล centralize-api | (เติม) | (เติม) |
| ผู้ดูแล vtrc-web / backoffice | (เติม) | (เติม) |
| ผู้ดูแล database (MariaDB) | (เติม) | (เติม) |
| ผู้ดูแล MSSQL HRMI | (เติม) | (เติม) |
| ผู้ดูแล LDAP/AD (sso.redcross.or.th) | (เติม) | (เติม) |
| ผู้ดูแล network/firewall | (เติม) | (เติม) |
| ผู้ดูแล GCP project | (เติม) | (เติม) |
| ผู้ประสานงานธนาคาร (KBank, FMIS) | (เติม) | (เติม) |
สรุป
บทนี้เป็นจุดเริ่มต้นสำหรับทุกการดำเนินงาน — ก่อนทำอะไร ให้:
- ดูตาราง inventory เพื่อรู้ว่า service ใดอยู่ที่ใด
- ใช้ URL ในตาราง "URL ที่ใช้ตรวจสอบสถานะ" เพื่อยืนยันว่าระบบตอบสนอง
- ดู log path เพื่อรู้ว่าจะค้นหาอะไรที่ไหน
- ใช้ quick reference command เพื่อตรวจสอบสถานะ container
บทถัดไปจะลงรายละเอียดของแต่ละงานปฏิบัติการ