4

我有一個GKE應用程序,其中包含20個運行Go的節點。我想合併所有日誌以在Google Developers Console日誌查看器中查看,但我遇到了2個問題。我無法獲得嚴重程度篩選,並且我的日誌消息中的每個換行都會在查看器中啓動一個新的日誌條目(日誌中的換行符有問題)。使用Go在Google Container/Compute Engine中登錄Google Cloud

我有google-fluent-d安裝程序,所以所有的stdout都被記錄在雲中,並且我使用了log.Lshortfile,調用深度和log.Logger.Output來從「日誌中獲取文件名和行號「 圖書館。

我看過這個庫:「google.golang.org/cloud/logging」,但我無法正常工作。

有沒有圖書館或者在GKE和GCE中寫日誌的最佳方式的例子?

回答

4

根據你的感覺有多野心,你可以做幾件事情。

最簡單的選擇可能是將您的日誌格式切換爲JSON。 google-fluentd代理會自動爲您解析JSON,將每條消息的結構化數據導出到雲端日誌API。如果severity字段位於JSON中,則它會自動獲取嚴重性信息,並且使用JSON可以防止它在郵件中折斷(轉義)換行符。

更強硬(但更靈活)的選擇將獲得您發現工作的客戶端庫。我不確定它是否與您鏈接的相同,但我相信this is the most recent one。如果您可以提供有關您遇到的問題的更多背景信息,我可以幫助或協調來自雲端日誌記錄團隊的人員。

+0

謝謝! 有什麼可以添加到JSON日誌的文檔?例如,實際消息或標誌的關鍵是什麼。 – Michael

+2

它似乎沒有很好的記錄,對不起。特殊字段對於日誌嚴重性只有真正的「嚴重性」,對於實際的日誌消息只有「消息」。該代碼本身是我從這裏得到的地方:https://github.com/GoogleCloudPlatform/fluent-plugin-google-cloud/blob/master/lib/fluent/plugin/out_google_cloud.rb –

+0

這似乎已停止工作,因爲將節點升級到> = 1.6。現在,整個JSON對象在'textPayload'下顯示爲未解析:-( –

相關問題