
我們運行手機遊戲後端的計算引擎今天(2018 年 8 月 3 日)隨機關閉,日誌無法告訴我哪個用戶或 IP 位址啟動了它。
我一直在進行一些挖掘並進入系統日誌,其中顯示以下內容:
Mar 8 10:58:10 redis-prod-vm systemd[1]: Started Synchronise Hardware Clock to System Clock.
Mar 8 10:58:10 redis-prod-vm systemd[1]: Stopping Session 5 of user redis.
Mar 8 10:58:10 redis-prod-vm systemd[1]: Stopping User Manager for UID 999...
Mar 8 10:58:10 redis-prod-vm systemd[7558]: Stopping Default.
Mar 8 10:58:10 redis-prod-vm systemd[1]: Stopping Graphical Interface.
Mar 8 10:58:10 redis-prod-vm systemd[1]: Stopped target Graphical Interface.
Mar 8 10:58:10 redis-prod-vm systemd[1]: Stopping Entropy daemon using the HAVEGE algorithm...
Mar 8 10:58:10 redis-prod-vm haveged[369]: haveged: Stopping due to signal 15
Mar 8 10:58:10 redis-prod-vm haveged[369]: haveged starting up
Mar 8 10:58:10 redis-prod-vm systemd[1]: Stopping Multi-User System.
Mar 8 10:58:10 redis-prod-vm systemd[1]: Stopped target Multi-User System.
Mar 8 10:58:10 redis-prod-vm systemd[7558]: Stopped target Default.
Mar 8 10:58:10 redis-prod-vm systemd[7558]: Stopping Basic System.
Mar 8 10:58:10 redis-prod-vm systemd[7558]: Stopped target Basic System.
Mar 8 10:58:10 redis-prod-vm systemd[7558]: Stopping Paths.
Mar 8 10:58:10 redis-prod-vm systemd[7558]: Stopped target Paths.
Mar 8 10:58:10 redis-prod-vm systemd[7558]: Stopping Timers.
Mar 8 10:58:10 redis-prod-vm systemd[7558]: Stopped target Timers.
Mar 8 10:58:10 redis-prod-vm systemd[7558]: Stopping Sockets.
Mar 8 10:58:10 redis-prod-vm systemd[7558]: Stopped target Sockets.
Mar 8 10:58:10 redis-prod-vm systemd[7558]: Starting Shutdown.
Mar 8 10:58:10 redis-prod-vm systemd[7558]: Reached target Shutdown.
Mar 8 10:58:10 redis-prod-vm systemd[1]: Stopping Deferred execution scheduler...
Mar 8 10:58:10 redis-prod-vm systemd[1]: Stopping vsftpd FTP server...
Mar 8 10:58:10 redis-prod-vm systemd[1]: Stopping LSB: bitnami init script...
Mar 8 10:58:10 redis-prod-vm systemd[1]: Stopping Regular background program processing daemon...
Mar 8 10:58:10 redis-prod-vm systemd[7558]: Starting Exit the Session...
Mar 8 10:58:10 redis-prod-vm systemd[1]: Stopping Google Compute Engine user shutdown scripts...
Mar 8 10:58:10 redis-prod-vm systemd[1]: Stopping OpenBSD Secure Shell server...
這一直持續到虛擬機器完成關閉為止,日誌如下:
2018-03-08 10:59:46.073 GMT compute.instances.stop {
"event_timestamp_us":"XXX",
"actor":{"user":""},
"resource":{
"name":"redis-prod-vm",
"type":"instance",
"zone":"us-central1-f","id":"XXX"
},
"event_type":"GCE_OPERATION_DONE",
"trace_id":"XXX",
"operation":{"type":"operation",…
為了安全起見,我已將一些可能重要的數字替換為 XXX。有人可以幫忙解釋一下發生了什麼事嗎?
答案1
我發布此答案是為了提出建議@塔赫評論區更明顯:
請查看文檔可搶佔式虛擬機器實例:
可搶佔式虛擬機器是一種可以以比普通實例低得多的價格建立和運行的實例。然而,如果 Compute Engine 需要存取這些資源以執行其他任務,則可能會停止(搶佔)這些執行個體。搶佔式執行個體是多餘的 Compute Engine 容量,因此它們的可用性會隨使用情況而變化。
如果您的應用程式具有容錯能力並且可以承受可能的執行個體搶佔,那麼搶佔式執行個體可以顯著降低您的 Compute Engine 成本。例如,批次作業可以在搶佔式實例上執行。如果其中一些實例在處理過程中停止,作業會減慢但不會完全停止。搶佔式實例可以完成您的批次任務,而不會給您現有的實例帶來額外的工作負載,也不需要您為額外的普通實例支付全價。
請檢查您的實例是否是可搶佔的。
另外,您可以按照文件進行操作查看串口輸出並檢查是否有任何有用的日誌資訊。
此外,請考慮使用使用日誌瀏覽器收集更多故障排除資訊。