✅ Observability Setup - HOÀN THÀNH!
🎉 Tóm tắt
Đã fix thành công:
- ✅ ClickHouse connection string (path-style
/signoz) - ✅ Tạo bảng thủ công cho single-node ClickHouse
- ✅ Thêm các columns còn thiếu
- ✅ Recreate distributed tables
- ✅ OTEL Collector có thể ghi data
📊 Tables đã được tạo
signoz_traces (8 bảng):
signoz_index_v3+distributed_signoz_index_v3signoz_error_index_v2+distributed_signoz_error_index_v2span_attributes_keys+distributed_span_attributes_keystag_attributes_v2+distributed_tag_attributes_v2
signoz_metrics (6 bảng):
samples_v4+distributed_samples_v4(có columnflags)time_series_v4+distributed_time_series_v4(có columndescription)metadata+distributed_metadata(có columntype)
🚀 Bước tiếp theo - Kiểm tra data
1. Tạo traffic
# Gửi requests đến services
curl http://localhost:3000/health
# Hoặc nhiều requests
for i in {1..20}; do
curl http://localhost:3000/health
sleep 0.5
done
2. Kiểm tra trong Signoz UI
- Mở: http://localhost:3301
- Đăng nhập (hoặc tạo account)
- Vào Traces:
- Time range: "Last 15 minutes"
- Đợi 30-60 giây
-
Bạn nên thấy traces! 🎉
-
Vào Metrics:
- Time range: "Last 15 minutes"
- Query metrics
- Bạn nên thấy metrics! 🎉
3. Verify data trong ClickHouse
# Kiểm tra traces
docker exec football-booking-backend-boilerplate-clickhouse-1 \
clickhouse-client --password clickhouse123 \
--query "SELECT count() FROM signoz_traces.distributed_signoz_index_v3"
# Kiểm tra metrics
docker exec football-booking-backend-boilerplate-clickhouse-1 \
clickhouse-client --password clickhouse123 \
--query "SELECT count() FROM signoz_metrics.distributed_samples_v4"
Nếu count > 0 → ✅ Data đã được lưu!
✅ Checklist cuối cùng
- [x] ClickHouse tables đã được tạo (đầy đủ)
- [x] Columns đã được thêm
- [x] Distributed tables đã được recreate
- [x] OTEL Collector đã restart
- [ ] Services đang chạy (
yarn dev) - [ ] Đã tạo traffic
- [ ] Đã kiểm tra Signoz UI → THẤY DATA! 🎉
🔍 Verify Collector không còn lỗi
# Kiểm tra logs - không nên còn lỗi "Table does not exist" hoặc "No such column"
docker logs --tail 30 football-booking-backend-boilerplate-signoz-otel-collector-1 | grep -i "error.*table\|error.*column"
# Nếu không có output → ✅ Không còn lỗi!
📝 Scripts đã tạo
scripts/create-signoz-tables-manual.sh- Tạo bảng thủ công (đã update với đầy đủ schema)scripts/fix-observability.sh- Script fix tổng hợp
🎯 Kết luận
Setup đã hoàn tất! Bây giờ bạn chỉ cần:
- Start services (
yarn dev) - Tạo traffic
- Kiểm tra Signoz UI → Sẽ thấy data!
📚 Tài liệu
docs/OBSERVABILITY-SUCCESS.md- Tài liệu nàydocs/OBSERVABILITY-SUMMARY.md- Tóm tắtdocs/OBSERVABILITY-FIX-GUIDE.md- Fix guide