技能 编程开发 Flexport API 故障诊断包

Flexport API 故障诊断包

v20260423
flexport-debug-bundle
当您在使用 Flexport API遇到持续的连接或认证问题时,该脚本可自动收集所有必要的诊断信息。它包括API连接测试、最近的错误日志、环境配置和平台状态,并将所有敏感信息(如密钥)进行脱敏处理,生成完整的支持工单包,便于寻求技术支持。
获取技能
225 次下载
概览

Flexport Debug Bundle

Overview

Collect all necessary diagnostic information for Flexport support tickets. The bundle captures API connectivity, authentication status, recent shipment data, and error logs while automatically redacting secrets.

Instructions

Step 1: Create Debug Bundle Script

#!/bin/bash
# flexport-debug.sh — run with: bash flexport-debug.sh
set -euo pipefail

BUNDLE="flexport-debug-$(date +%Y%m%d-%H%M%S)"
mkdir -p "$BUNDLE"

echo "=== Flexport Debug Bundle ===" | tee "$BUNDLE/summary.txt"
echo "Generated: $(date -u +%Y-%m-%dT%H:%M:%SZ)" >> "$BUNDLE/summary.txt"
echo "Node: $(node --version 2>/dev/null || echo 'not found')" >> "$BUNDLE/summary.txt"
echo "API Key set: ${FLEXPORT_API_KEY:+YES}" >> "$BUNDLE/summary.txt"

Step 2: Test API Connectivity

# API health and auth check
echo -e "\n--- API Connectivity ---" >> "$BUNDLE/summary.txt"
RESPONSE=$(curl -s -w "\n%{http_code}" \
  -H "Authorization: Bearer $FLEXPORT_API_KEY" \
  -H "Flexport-Version: 2" \
  https://api.flexport.com/shipments?per=1 2>&1)

HTTP_CODE=$(echo "$RESPONSE" | tail -1)
BODY=$(echo "$RESPONSE" | head -n -1)

echo "HTTP Status: $HTTP_CODE" >> "$BUNDLE/summary.txt"
echo "$BODY" | jq '{total_count: .data.total_count, has_records: (.data.records | length > 0)}' \
  >> "$BUNDLE/api-test.json" 2>/dev/null || echo "Parse failed" >> "$BUNDLE/api-test.json"

Step 3: Capture Recent Errors

# Collect recent error logs (redacted)
echo -e "\n--- Recent Errors ---" >> "$BUNDLE/summary.txt"
grep -i "flexport\|FLEXPORT" /var/log/app/*.log 2>/dev/null | \
  tail -50 | \
  sed 's/Bearer [^ ]*/Bearer ***REDACTED***/g' \
  >> "$BUNDLE/errors.txt" 2>/dev/null || echo "No app logs found" >> "$BUNDLE/errors.txt"

# Capture env config (redacted)
env | grep -i FLEXPORT | sed 's/=.*/=***REDACTED***/' >> "$BUNDLE/env-redacted.txt"

Step 4: Check Status Page and Package

# Flexport platform status
echo -e "\n--- Platform Status ---" >> "$BUNDLE/summary.txt"
curl -s https://status.flexport.com/api/v2/status.json | \
  jq '{status: .status.description, updated: .page.updated_at}' \
  >> "$BUNDLE/status.json" 2>/dev/null || echo "Status page unreachable" >> "$BUNDLE/status.json"

# Package and output
tar -czf "$BUNDLE.tar.gz" "$BUNDLE"
rm -rf "$BUNDLE"
echo "Bundle created: $BUNDLE.tar.gz"
echo "Review contents before sharing: tar -tzf $BUNDLE.tar.gz"

Checklist Before Submitting

Item Included Sensitive?
API connectivity test Yes No
HTTP status codes Yes No
Platform status Yes No
Error logs (redacted) Yes Redacted
Environment vars Yes Redacted
Request IDs Include from X-Request-Id header No

ALWAYS verify: No API keys, tokens, passwords, or PII in the bundle before submitting.

Resources

Next Steps

For rate limit issues, see flexport-rate-limits.

信息
Category 编程开发
Name flexport-debug-bundle
版本 v20260423
大小 3.52KB
更新时间 2026-04-28
语言