本文說明如何將 Grafana JSON 格式的資訊主頁檔案匯入 Cloud Monitoring。您可以透過下列方式匯入 Grafana 資訊主頁:
匯入程序會將 Grafana 使用的 JSON 格式資訊主頁檔案,轉換為 Cloud Monitoring 使用的 JSON 格式。轉換後的資訊主頁可能與原始 Grafana 資訊主頁不同。舉例來說,如果 Grafana 資訊主頁使用的功能在 Cloud Monitoring 資訊主頁中無法使用,則 Grafana 資訊主頁的這些部分不會轉換。匯入結果會列出這些差異。
您只能匯入使用 PromQL 運算式和 Prometheus 資料來源的資訊主頁。如果資訊主頁使用其他形式的查詢或資料來源,可能無法順利匯入。
如要瞭解如何將 Prometheus 快訊匯入 Cloud Monitoring,請參閱「從 Prometheus 遷移快訊規則和接收者」。
如需管理匯入資訊主頁的一般資訊,請參閱「建立及管理自訂資訊主頁」一文。
事前準備
無論是使用 Google Cloud 控制台或匯入工具匯入資訊主頁,您都必須具備足夠的授權,且需要匯入資訊主頁。使用匯入工具時,需要符合其他必要條件。
授權
如要取得建立及修改自訂資訊主頁所需的權限,請要求管理員為您授予專案的Monitoring 編輯者 (roles/monitoring.editor
) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
如要進一步瞭解角色,請參閱「使用身分與存取權管理功能控管存取權」一文。
收集要匯入的 Grafana 資訊主頁
如要匯入 Grafana 資訊主頁,您必須先將這些資訊主頁以 JSON 格式儲存在本機檔案中。您可能需要專門為這些資訊主頁檔案建立目錄。
使用 Google Cloud 控制台匯入資訊主頁
您可以在 Google Cloud 控制台的 Monitoring「資訊主頁」頁面,將 Grafana 資訊主頁匯入 Cloud Monitoring。
匯入 Grafana 資訊主頁
如要匯入一或多個 Grafana 資訊主頁,請按照下列步驟操作:
-
在 Google Cloud 控制台中,前往「Dashboards」(資訊主頁)
頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果。
在 Google Cloud 控制台的工具列中,選取您的 Google Cloud 專案。如要進行 App Hub 設定,請選取 App Hub 主專案或已啟用應用程式的資料夾管理專案。
按一下「匯入資訊主頁」。
按一下「瀏覽」,前往您以 JSON 格式儲存 Grafana 資訊主頁的目錄,然後選取要匯入的資訊主頁。
選取每個 JSON 檔案後,系統會暫存這些檔案;「暫存檔案」窗格會指出轉換作業是否有任何問題。
- 按一下「查看轉換後的 JSON」code,即可查看轉換結果。
- 按一下「移除檔案」close,即可從匯入作業中移除資訊主頁。
按一下「匯入」save_alt。「匯入結果」窗格會指出每個資訊主頁是否已成功匯入。
如要查看成功匯入的資訊主頁,請按一下「查看」圖示 open_in_new。
查看匯入的資訊主頁
如要查看匯入的資訊主頁,請按照下列步驟操作:
-
在 Google Cloud 控制台中,前往「Dashboards」(資訊主頁)
頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果。
- 在 Google Cloud 控制台的工具列中,選取您的 Google Cloud 專案。如要進行 App Hub 設定,請選取 App Hub 主專案或已啟用應用程式的資料夾管理專案。
在清單中找到要查看的資訊主頁。 如要篩選資訊主頁清單,請執行下列操作:
- 在「Type」(類型) 選單中,選取「Custom」(自訂)。
在「Labels」(標籤) 窗格中,選取
cloud-monitoring-dashboard-importer
標籤,即可只查看使用 Google Cloud 控制台匯入的 Grafana 資訊主頁。使用篩選列依名稱搜尋。
新增或移除使用者定義的標籤
標籤只能新增至自訂資訊主頁,包括您匯入的資訊主頁。如果資訊主頁顯示「在資訊主頁中新增標籤」
按鈕,您就可以設定要套用至資訊主頁的標籤。如要為資訊主頁新增或移除使用者定義的標籤,請按照下列步驟操作:
-
在 Google Cloud 控制台中,前往「Dashboards」(資訊主頁)
頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果。
- 在資訊主頁清單中找到所需資訊主頁,然後按一下 「為資訊主頁新增標籤」。
- 執行下列任一操作:
如要建立標籤並新增至資訊主頁,請在「建立新標籤」部分,於文字方塊中輸入標籤名稱,然後按一下「建立並套用」。
- 如要設定要在資訊主頁中加入哪些標籤,請按一下 arrow_drop_down「選取要套用的標籤」,選取標籤,然後按一下「確定」。
- 如要儲存變更,請按一下「確認」。
使用匯入工具匯入資訊主頁
您可以使用匯入工具轉換 Grafana 資訊主頁,並以單一作業上傳至 Cloud Monitoring,也可以分別執行轉換和上傳步驟。如果您想在轉換後編輯資訊主頁,再上傳,可以選擇這個方法。
其他必要條件
安裝及執行資訊主頁匯入工具前,請務必完成下列事項:
- 使用支援 Bash 殼層指令碼的環境。
- 擁有或安裝 Git。
- 擁有或安裝 Node.js 20.4.1 以上版本。
- 安裝或使用 Google Cloud CLI。如果您已安裝 gcloud CLI,請執行
gcloud components update
指令,確保您使用的是最新版本。
取得資訊主頁匯入工具
資訊主頁匯入工具儲存在 monitoring-dashboard-samples
GitHub 存放區。如要取得及設定匯入工具,請按照下列步驟操作:
複製存放區:
git clone https://github.com/GoogleCloudPlatform/monitoring-dashboard-samples
變更為資訊主頁匯入工具的目錄:
cd monitoring-dashboard-samples/scripts/dashboard-importer
安裝節點模組並建構檔案
npm install && npm run build
資訊主頁匯入工具包含下列指令碼:
import.sh
,可轉換資訊主頁,並視需要將轉換後的資訊主頁上傳至 Cloud Monitoring。upload.sh
,將轉換後的資訊主頁 (或任何 Monitoring 資訊主頁) 上傳至 Cloud Monitoring。import.sh
指令碼會呼叫這個指令碼來執行上傳作業。
使用 import.sh
指令碼時,您必須指定要轉換的 Grafana 資訊主頁位置。匯入工具會建立目錄,內含轉換後的資訊主頁和其他資訊。以下各節將說明這些目錄。
要轉換的 Grafana 資訊主頁
您可以指定資訊主頁檔案的路徑,使用資訊主頁匯入工具一次轉換一或多個資訊主頁。
您可以指定包含資訊主頁的目錄路徑。 系統只會處理目錄中副檔名為
.json
的檔案。您可以指定單一 JSON 檔案的路徑。檔案名稱的副檔名必須是
.json
。
轉換後的資訊主頁和其他資訊
匯入工具首次執行時,會建立 reports
子目錄。每次執行匯入工具時,reports
目錄下都會產生新的輸出目錄,並以日期和時間命名。輸出目錄的名稱結構如下:
reports/YYYY-M-D/HH:MM:SS
每次叫用匯入工具時,輸出目錄都會包含下列項目:
- 檔案名稱與原始 Grafana 資訊主頁相同,但現在是 Cloud Monitoring JSON 格式。
report.json
檔案,其中記錄每個轉換後資訊主頁的下列資訊:- 轉換後的 Grafana 資訊主頁檔案名稱和位置。
- 轉換後的監控資訊主頁檔案名稱和位置。
- Grafana 資訊主頁中的任何功能若沒有對應的 Cloud Monitoring 功能,因此無法納入轉換後的資訊主頁,系統會發出通知。
- 轉換過程中發生的任何錯誤。
如果您已上傳資訊主頁,報表目錄也會包含 upload_HH:MM:SS.txt
檔案,其中含有資訊主頁的上傳網址。
匯入 Grafana 資訊主頁
如要轉換 Grafana 資訊主頁並上傳至 Cloud Monitoring,請使用 import.sh
指令碼:
./import.sh PATH_TO_DIRECTORY_OR_FILE PROJECT_ID
這個指令碼會執行下列作業:
- 將
PATH_TO_DIRECTORY_OR_FILE
中的資訊主頁從 Grafana 使用的 JSON 格式,轉換為 Cloud Monitoring 使用的 JSON 格式。 使用 Google Cloud CLI,將轉換後的資訊主頁上傳至 Google Cloud 專案PROJECT_ID。
如果尚未向 gcloud CLI 進行驗證,請先執行
gcloud auth login
指令,再執行import.sh
腳本。
您可以匯入目錄中的所有 Grafana 資訊主頁,也可以指定要匯入目錄中的單一資訊主頁。
如要將
GRAFANA_DASHBOARDS_DIR
目錄中的所有資訊主頁匯入 PROJECT_ID Google Cloud 專案,請在叫用指令碼時指定目錄 (相對於匯入工具目錄) 和目的地專案 ID:./import.sh GRAFANA_DASHBOARDS_DIR PROJECT_ID
如要只轉換
MY_GRAFANA_DASHBOARD.json
目錄中的MY_GRAFANA_DASHBOARD.json
資訊主頁,請在叫用指令碼時加入資訊主頁檔案名稱 (相對於匯入工具目錄):GRAFANA_DASHBOARDS_DIR
./import.sh GRAFANA_DASHBOARDS_DIR/MY_GRAFANA_DASHBOARD.json PROJECT_ID
資訊主頁匯入工具包含範例 Grafana 資訊主頁,如 examples/k8s_cluster_example.json
所示。下列指令會將該資訊主頁匯入指定專案:
./import.sh examples/k8s_cluster_example.json PROJECT_ID
使用 PROJECT_ID my-project-test-1
叫用時,輸出內容會類似以下內容:
Converting: Kubernetes Cluster Overview ✓ Kubernetes Cluster Overview converted successfully Conversion of examples/k8s_cluster_example.json complete. Conversion Report located at: reports/2023-9-28/22:14:57/report.json To upload these dashboard(s) manually, you can run: ./upload.sh reports/2023-9-28/22:14:57/ <PROJECT_ID> Conversion Complete. Proceeding to uploading... Now running: ./upload.sh reports/2023-9-28/22:14:57/ my-project-test-1 Uploading 1 dashboard(s) from a directory with the following args: Directory: reports/2023-9-28/22:14:57/ Project: my-project-test-1 The following are your dashboards: - k8s_cluster_example.json
import.sh
指令碼建立輸出目錄並轉換資訊主頁後,會先提示您確認,再將轉換後的資訊主頁上傳至專案。輸入 y
,腳本會上傳資訊主頁,並列印新資訊主頁的網址:
Would you like to continue? (y/n) y ✓ k8s_cluster_example.json successfully uploaded: https://console.cloud.google.com/monitoring/dashboards/builder/9c341ef8-cfef-4bdd-98d5-821571c520ef?project=my-project-test-1 Upload log created in reports/2023-9-28/22:14:57/upload_22:14:57.txt Need to troubleshoot? Please visit: https://github.com/GoogleCloudPlatform/monitoring-dashboard-samples/tree/master/scripts/dashboard-importer/README.md#troubleshooting
免上傳即可轉換 Grafana 資訊主頁
如要在上傳轉換後的資訊主頁前檢查或編輯,請在叫用 import.sh
指令碼時省略 PROJECT_ID 值:
./import.sh PATH_TO_DIRECTORY_OR_FILE
匯入工具會按照「匯入 Grafana 資訊主頁」一文所述轉換資訊主頁,但不會將轉換後的資訊主頁上傳至 Cloud Monitoring。
您可以使用 upload.sh
指令碼手動執行上傳步驟。
手動上傳資訊主頁
如要手動上傳 Cloud Monitoring JSON 格式的資訊主頁,請使用 upload.sh
指令碼。
./upload.sh PATH_TO_DIRECTORY_OR_FILE PROJECT_ID
upload.sh
指令碼會使用 Google Cloud CLI 上傳 JSON 檔案。如未向 gcloud CLI 進行驗證,請先執行 gcloud auth login
指令,再執行 upload.sh
指令碼。
如要上傳
reports/YYYY-M-D/HH:MM:SS
目錄中的所有資訊主頁,請在叫用指令碼時,指定相對於匯入工具目錄的目錄,以及目的地專案 ID:./upload.sh
reports/YYYY-M-D/HH:MM:SS
PROJECT_ID從目錄上傳所有資訊主頁時,指令碼會提示您繼續或退出,再上傳資訊主頁。
如要上傳
reports/YYYY-M-D/HH:MM:SS
目錄中的特定資訊主頁,請在叫用指令碼時,指定相對於匯入工具目錄的目錄和檔案名稱,以及目的地專案 ID:./upload.sh
reports/YYYY-M-D/HH:MM:SS
/MY_MONITORING_DASHBOARD.json PROJECT_ID從目錄上傳單一資訊主頁時,指令碼會在未提示的情況下執行,然後上傳資訊主頁。
舉例來說,下列指令會將儲存在 reports
子目錄中的資訊主頁上傳至 Google Cloud 專案 my-project-test-1
:
./upload.sh reports/2023-9-26/22:48:31/k8s_cluster_example.json my-project-test-1 Uploading json file: k8s_cluster_example.json to project: my-project-test-1... ✓ k8s_cluster_example.json successfully uploaded: https://console.cloud.google.com/monitoring/dashboards/builder/25956d9a-93e2-410c-ada1-ec6872cb6665?project=my-project-test-1
查看上傳的資訊主頁
如要查看已上傳的資訊主頁,請按照下列步驟操作:
-
在 Google Cloud 控制台中,前往「Dashboards」(資訊主頁)
頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果。
在清單中找到要查看的資訊主頁。 如要篩選資訊主頁清單,請執行下列操作:
- 選取「自訂」類別,即可只查看使用者定義的資訊主頁。
- 選取
cloud-ops-grafana-importer
標籤,即可只查看使用匯入工具匯入的 Grafana 資訊主頁。 - 使用篩選列依名稱搜尋。
疑難排解
我們會不時發布工具的小型更新和錯誤修正。在嘗試進一步排解問題之前,請先使用 git pull
下拉式選單,取得最新版本的存放區,然後再次匯入,藉此修正問題。
如要瞭解轉換後的資訊主頁問題 (例如圖表未顯示資料),請參閱匯入工具的 README
檔案。