使用 GCP Logs Viewer 與 gcloud logging read 查詢特定事件小記
之前有設定當 GCP IAM 內容有改變的時候, 使用 stackdriver 快訊通知
然後會到專案的首頁的活動進行查詢
但是如果專案的活動比較頻繁的時候, 就會發現比較不好過濾出相關事件
那要如何快速找出對應的活動呢?
可以利用以下 2 種方式達成
==== Logs Viewer ====
登入 GCP console
點選 紀錄 -- > 點選 紀錄檢視器
我是使用紀錄顯示器的預覽版
可點點選上方的下拉式選單 -- > 點選 預覽新版紀錄檢視器
那要如何知道如何對特定行爲下查詢呢?
最簡單的方式就是去觀察出現的 log, 他上面會標示一些行為
以設定 IAM 來說, 該 log 就會有 SetIamPolicy 標示出來
嘗試點選 SetIamPolicy
點選 顯示相符的項目
這個時候就可以觀察到相關查詢就會被加入到查詢產生器內
例如 protoPayload.serviceName=cloudresourcemanager.googleapis.com AND protoPayload.methodName=SetIamPolicy
就算查詢語法不熟也沒有關係, 可以多利用按鈕來達成 :)
這樣就可以快速查詢想要找的行為
==== gcloud 指令 ====
另外一種方式是透過 gcloud 指令來達成
# gcloud logging read 'protoPayload.serviceName=cloudresourcemanager.googleapis.com AND protoPayload.methodName=SetIamPolicy timestamp>="2020-07-15T23:59:59Z"' --project YOUR_PROJECT
這邊要注意的是, 不知道預設的搜尋時間區間是多長, 我猜應該是 1 小時, 所以如果要搜尋的話, 最好加上 timestamp
# gcloud logging read 'protoPayload.serviceName=cloudresourcemanager.googleapis.com AND protoPayload.methodName=SetIamPolicy timestamp>="2020-07-15T23:59:59Z"' --project YOUR_PROJECT | egrep 'methodName|principalEmail|bindingDeltas|action|member:|timestamp:'
可以按照自己的需求 grep 要的資訊
輸出的結果參考
時間的部分, 都是 UTC Time (時間結尾有 Z ), 所以要看當地時間進行調整, 台灣就是加上 8 小時
趁沒有忘記的時候趕快記下來
~ enjoy it
Reference
沒有留言:
張貼留言