上一篇文章,是將 Cloud Logging 下載回 local,不過在扒 log 時發現 json log 其實閱讀難度不低。
從 Cloud Logging 上檢視記錄時,可以發現 MySQL slow query log 會有多行的資料,而 Cloud Logging 則是將將一行記錄轉成一個 json item:

這類資料還是不要轉為 JSON 比較容易閱讀 ….
軟體開發、伺服器和生活瑣事
上一篇文章,是將 Cloud Logging 下載回 local,不過在扒 log 時發現 json log 其實閱讀難度不低。
從 Cloud Logging 上檢視記錄時,可以發現 MySQL slow query log 會有多行的資料,而 Cloud Logging 則是將將一行記錄轉成一個 json item:

這類資料還是不要轉為 JSON 比較容易閱讀 ….
個人覺得 GCP 後端管理頁面很難操作,顯示方法也不直覺,所以決定把 Cloud Logging 上的資料全部拉回 local 來分析。
首先在 Cloud Logging 上面建立 filter 來篩選出需要的資料,以下範例是篩出 Cloud SQL 的 logs:

接下來透過 gcloud console 來組出命令,主要以 gcloud logging read 開始,在加入上圖的 filter ,最後選擇 log format :
gcloud logging read \
'resource.type=cloudsql_database AND \
resource.labels.database_id="my-database" AND \
logName=("projects/my-project/logs/cloudsql.googleapis.com%2Fmysql.err" OR \
"projects/my-project/logs/cloudsql.googleapis.com%2Fmysql-general.log" OR \
"projects/my-project/logs/cloudsql.googleapis.com%2Fmysql-slow.log") AND \
timestamp>="2022-04-26T07:00:00Z" AND timestamp<="2022-04-26T20:00:00Z" ' \
--project=my-project \
--format=json > local-logs.json
和常用的 tee 類似,tee 會將 input 同時書出到螢幕和檔案,而 pee 則是將 input 丟給多個工具。
首先安裝 moreutils:
apt install moreutils
以下範例,將下載的 DVD ISO 透過 pee 同時將檔案內容轉給 md5sum 和 sha256sum 計算 hash 值:
cat ubuntu-mate-22.04-desktop-amd64.iso | \
pee md5sum sha256sum
6fb51f15156b477955fff7732204a494 -
c441ba839ccaff67e27c15423da006dc7b708641973c5c82c2d67ea5799be34b -
如果剛好有 monitor 的話,可以注意到檔案只要讀取一次,就能讓 md5sum 和 sha256sum 同時計算 hash 值:

讀取 ISO 檔其實還不算太花時間,但若是要為 500 GB 的備份檔建立 hash 就頭大了,pee 這個工具可以在這類情境下節省不少時間。
Ubuntu 20.04 (臺灣時間) 今日開放下載。
除了 Ubuntu 以外,其他已 Ubuntu 為主的分支,也陸續開放下載: