本页面介绍了在 Compute Engine 虚拟机 (VM) 上部署 Extensible Service Proxy (ESP) 时的问题排查方法。
查看虚拟机实例上的日志
通过查看虚拟机实例上的 Endpoints 运行时日志,您可以对相关问题进行排查。
如需查看日志,请执行以下操作:
使用
ssh
连接到您的虚拟机:gcloud config set project YOUR_PROJECT_ID gcloud compute ssh INSTANCE_NAME
将
YOUR_PROJECT_ID
和INSTANCE_NAME
分别替换为您的 Google Cloud 项目 ID 和虚拟机实例名称。查看
nginx
错误日志:如果您在原始虚拟机上运行 endpoints-runtime:
tail -f /var/log/nginx/error.log
如果您在 Docker 中运行
endpoints-runtime
:docker ps docker logs CONTAINER_NAME
请将
CONTAINER_NAME
替换为容器名称。
显示 ESP 状态
如需显示 ESP 状态,请执行以下操作:
使用
ssh
连接到您的虚拟机:gcloud config set project YOUR_PROJECT_ID gcloud compute ssh INSTANCE_NAME
将
YOUR_PROJECT_ID
和INSTANCE_NAME
分别替换为您的 Google Cloud 项目 ID 和虚拟机实例名称。检索 ESP 容器的名称(容器名称通常为
esp
):docker ps
在容器中获取 bash shell:
docker exec -it ESP_CONTAINER_NAME /bin/bash
将
ESP_CONTAINER_NAME
替换为上一步中 ESP 容器的名称。安装
curl
。输入以下内容:
curl http://localhost:8090/endpoints_status
获取服务配置 ID
如果您在启动 ESP 时将 rollout_strategy
设置为 managed
,并且需要找到 ESP 实例正在使用的配置 ID,那么在 curl http://localhost:8090/endpoints_status
命令的输出结尾附近,输出类似于以下内容:
"serviceConfigRollouts": {
"rolloutId": "2017-08-09r27",
"percentages": {
"2017-08-09r26": "100"
}
}
rolloutId
中的值是 ESP 正在使用的服务配置 ID。此配置 ID 应与最新部署的配置相匹配。您可以在 Google Cloud 控制台中的 Endpoints > Services 页面上查看部署历史记录,以及查看对服务配置所做的更改。请参阅比较配置文件。