בדף הזה מוצגות טכניקות לפתרון בעיות כש-Extensible Service Proxy (ESP) נפרס במכונה וירטואלית (VM) של Compute Engine.
צפייה ביומנים במכונת ה-VM
כדי לפתור בעיות, אפשר לעיין ביומן של זמן הריצה של נקודות הקצה במכונת ה-VM.
כדי לראות את היומן:
משתמשים ב-
sshכדי להתחבר למכונה הווירטואלית:gcloud config set project YOUR_PROJECT_ID gcloud compute ssh INSTANCE_NAME
מחליפים את
YOUR_PROJECT_IDואתINSTANCE_NAMEבמזהה הפרויקט ובשם המכונה הווירטואלית, בהתאמה. Google Cloudצפייה ביומן השגיאות
nginx:אם אתם מריצים את endpoints-runtime במכונה וירטואלית לא מעובדת:
tail -f /var/log/nginx/error.logאם אתם מריצים את
endpoints-runtimeב-Docker:docker ps docker logs CONTAINER_NAME
מחליפים את
CONTAINER_NAMEבשם הקונטיינר.
הצגת הסטטוס של ספק שירותי הדואר האלקטרוני
כדי להציג את הסטטוס של ספק ה-ESP:
משתמשים ב-
sshכדי להתחבר למכונה הווירטואלית:gcloud config set project YOUR_PROJECT_ID gcloud compute ssh INSTANCE_NAME
מחליפים את
YOUR_PROJECT_IDואתINSTANCE_NAMEבמזהה הפרויקט ובשם המכונה הווירטואלית, בהתאמה.Google Cloudמאחזרים את השם של קונטיינר ה-ESP (בדרך כלל שם הקונטיינר הוא
esp):docker psמקבלים מעטפת bash בקונטיינר:
docker exec -it ESP_CONTAINER_NAME /bin/bash
מחליפים את
ESP_CONTAINER_NAMEבשם של קונטיינר ה-ESP מהשלב הקודם.מתקינים את
curl.כתבו:
curl http://localhost:8090/endpoints_status
איך מקבלים את מזהה הגדרת השירות
אם הגדרתם את rollout_strategy ל-managed כשהפעלתם את ESP, ואתם צריכים למצוא את מזהה ההגדרה שמופעיל את ESP, בסוף הפלט של הפקודה curl http://localhost:8090/endpoints_status, הפלט ייראה בערך כך:
"serviceConfigRollouts": {
"rolloutId": "2017-08-09r27",
"percentages": {
"2017-08-09r26": "100"
}
}
הערך ב-rolloutId הוא מזהה הגדרת השירות שבו משתמש ESP. מזהה ההגדרה הזה צריך להיות זהה להגדרה האחרונה שפרסתם.
אפשר לראות את היסטוריית הפריסה בדף Endpoints > Services במסוף Google Cloud ולראות את השינויים שבוצעו בהגדרות השירות. השוואה בין קובצי הגדרות