管理 IBM Cloud Logs 擴充套件

在 IBM Cloud Logs 中,擴充套件提供開箱即用的設定來管理日誌資料。 擴充套件包含一組預先定義的資源定義,例如警示、解析規則、儀表板等,您可以使用這些資源定義來快速啟動和運行,並監控及警示與擴充套件相關的資料。

  • 您可以在所選的應用程式和子系統的上下文中,部署擴充套件的所有資源或資源子集。

  • 您可以透過 UI 以圖形化方式管理擴充套件,或透過 API 以程式化方式管理擴充套件。

  • 從擴充套件部署資源後,您可以自訂這些資源。

    為了防止自訂變更覆蓋預定義資源,您必須從延伸部署中分拆這些資源。 您只能透過使用者介面以圖形化的方式分離資源。

  • 擴充套件依類型分類。 有效的類型是 Security,和 Observability。

  • 擴充套件包含標籤,您可以用來篩選它們。 例如,標籤 IBM 與您可用於監控 IBM Cloud 的擴展功能相關聯。

  • 擴充功能可包括預先定義的警示、解析規則、Events to Metrics 定義、儀表板和豐富功能。

可用的擴充套件清單

以下清單概述您可以部署用於監控日誌的擴充套件:

依 ID 列出可用的擴充套件清單

下表列出使用擴充套件 API 時必須使用的擴充套件 ID:

使用 IBM Cloud Logs REST API 進行擴充動作
延伸 ID
系統監視 SystemMonitoring
活動追蹤 ActivityTracking
IBM Cloud Kubernetes Service IBMCloudKubernetes
IBM Cloud® Databases for MySQL IBMMySQL
IBM Cloud Databases for PostgreSQL IBMPostgreSQL
IBM® Cloudant® for IBM Cloud® IBMCloudant
Cloudflare Cloudflare
IBM Cloud® Databases for Redis IBMRedis
Linux Linux
MongoDB MongoDB
NGINX NGINX

API 方法

下表列出您可以執行以管理擴充套件的動作:

使用 IBM Cloud Logs REST API 進行擴充動作
動作 REST API 方法 API_URL
列出延伸 GET <ENDPOINT>/v1/extensions
依 ID 取得擴充套件 GET <ENDPOINT>/v1/extensions/{id}
取得擴充套件的部署詳細資訊 GET <ENDPOINT>/v1/extensions/{id}/deployment
部署擴充套件 PUT <ENDPOINT>/v1/extensions/{id}/deployment
更新擴充套件 PUT <ENDPOINT>/v1/extensions/{id}/deployment
移除擴充套件 DELETE <ENDPOINT>/v1/extensions/{id}/deployment

您可以使用公用或私人 ENDPOINT 來管理擴充套件。 有關端點的詳細資訊,請參閱 服務 API 端點。

如需 REST API 的詳細資訊,請參閱 擴充 套件。

透過使用者介面取得可用的擴充套件清單

若要查看可透過 IBM Cloud Logs UI 使用的擴充套件,請完成下列步驟:

  1. 啟動 IBM Cloud Logs 使用者介面。

  2. 按一下 Integrations 圖示 Integrations 圖示 > Extensions。

顯示可用的擴充套件清單。

使用 API 取得可用擴充套件清單

若要取得可供部署的擴充套件清單,包括已部署擴充套件的其他詳細資訊,請完成下列步驟:

  1. 取得驗證標記。 請參閱 透過 API 進行驗證。

  2. 取得您要管理擴充套件的實體端點。 請參閱 服務 API 端點。

  3. 列出所有擴充套件,包括版本和每個擴充套件已部署的資源。

    curl -X GET --location --header "Authorization: Bearer ${IAM_TOKEN}"   --header "Accept: application/json"   "https://<API_ENDPOINT>/v1/extensions"
    

使用 API 取得已部署擴充套件的清單

若要取得 IBM Cloud Logs 範例中已部署的擴充套件資訊,您可以使用 Get list of extensions 方法。 資訊包括版本和已部署資源的詳細資訊。

例如,完成以下步驟:

  1. 取得驗證標記。 請參閱 透過 API 進行驗證。

  2. 取得您要部署延伸功能的實體端點。 請參閱 服務 API 端點。

  3. 取得已部署擴充套件的詳細資訊。

    curl -X GET --location --header "Authorization: Bearer ${IAM_TOKEN}"   --header "Accept: application/json"   "https://<API_ENDPOINT>/v1/extensions?deployed=true"
    

使用 API 取得未部署的擴充套件清單

若要取得 IBM Cloud Logs 範例中尚未部署的擴充套件資訊,您可以使用 Get list of extensions 方法。

例如,完成以下步驟:

  1. 取得驗證標記。 請參閱 透過 API 進行驗證。

  2. 取得您要部署延伸功能的實體端點。 請參閱 服務 API 端點。

  3. 取得已部署擴充套件的詳細資訊。

    curl -X GET --location --header "Authorization: Bearer ${IAM_TOKEN}"   --header "Accept: application/json"   "https://<API_ENDPOINT>/v1/extensions?deployed=false"
    

使用 API 部署擴充套件

若要部署擴充套件中包含的資源,您可以使用 API 方法 部署或更新擴充套件的部署。

完成下列步驟以部署延伸功能:

  1. 取得驗證標記。 請參閱 透過 API 進行驗證。

  2. 取得您要部署延伸功能的實體端點。 請參閱 服務 API 端點。

  3. 取得您要部署的擴充套件 ID。 請參閱 可用的擴充套件清單。

  4. 透過 ID 取得擴充套件的詳細資訊,包括已部署資源的相關資訊。

    curl -X GET --location --header "Authorization: Bearer ${IAM_TOKEN}"   --header "Accept: application/json"   "https://<API_ENDPOINT>/v1/extensions/<ExtensionID>"
    

    例如,若要取得 Kubernetes 擴充套件的資訊,請執行:

    curl -X GET --location --header "Authorization: Bearer ${IAM_TOKEN}"   --header "Accept: application/json"   "https://<ENDPOINT>/v1/extensions/IBMCloudKubernetes"
    

    您會看到如下的回應:

    {
    "id": "IBMCloudKubernetes",
    "name": "IBM Cloud Kubernetes Service",
    "revisions": [
        {
            "version": "1.0.0",
            "description": "# IBM Cloud Kubernetes Service\nThe dashboard provides an in-depth analysis of IBM Cloud Kubernetes Service, offering a comprehensive view of cluster performance, node activity, pod logs, and error analysis. It enables quick issue identification, trend analysis, and efficient Kubernetes monitoring.\n",
            "excerpt": "",
            "labels": [
                "IBM",
                "Kubernetes",
                "Сluster",
                "K8S",
                "Cloud",
                "Compute",
                "Observability"
            ],
            "items": [
                {
                    "id": "1405e028-dd50-48a0-86c5-b361e029a3f1",
                    "name": "IBM Kubernetes",
                    "description": "Dashboard for IBM Cloud Kubernetes Service.",
                    "target_domain": "dashboard"
                },
                {
                    "id": "93cda01a-526e-4872-b29a-125645abf784",
                    "name": "IBM Kubernetes - No logs from service",
                    "description": "No logs have been received from the kubernetes service, indicating potential issues with logging configuration, service downtime, or connectivity problems affecting log transmission.",
                    "target_domain": "alert"
                },
                {
                    "id": "9e2099ee-78f4-4070-a1fd-7be109f136ce",
                    "name": "IBM Kubernetes - More than 5 erroneous cluster logs within 15 minutes",
                    "description": "Over five error logs have been recorded at the cluster level within a 15-minute window, indicating potential issues affecting the Kubernetes cluster's overall health or configuration.",
                    "target_domain": "alert"
                },
                {
                    "id": "f242dd8a-138a-4dcc-92b9-09f5ec1b4840",
                    "name": "IBM Kubernetes - More than 5 erroneous pod logs within 15 minutes",
                    "description": "More than five error logs have been detected in pod-level operations within 15 minutes, suggesting issues with workloads or pod-level configurations.",
                    "target_domain": "alert"
                },
                {
                    "id": "504c4f1a-4185-4619-bc7c-9d011b3f3245",
                    "name": "IBM Kubernetes - Host change",
                    "description": "A host change event has been detected, which might indicate a node replacement, scaling operation, or unexpected infrastructure changes.",
                    "target_domain": "alert"
                },
                {
                    "id": "c179c165-b12e-4f40-8e87-e4627d6dbdef",
                    "name": "IBM Kubernetes - Permission denied",
                    "description": "A permission denial has occurred during a Kubernetes operation, possibly caused by misconfigured access controls or insufficient permissions for the requested action.",
                    "target_domain": "alert"
                }
            ]
        }
    ],
    "changelog": [
        {
            "version": "1.0.0",
            "description_md": "### Changed\nRelease of an extension for the IBM Cloud Kubernetes Service.\n"
        }
    ]
    }
    
  5. 部署擴充套件。 例如,您可以執行下列 cURL 指令來局部部署 Kubernetes 延伸。 此範例建立一個儀表板和 2 個警示:

    curl -X PUT --location --header "Authorization: Bearer ${IAM_TOKEN}"   --header "Accept: application/json"   --header "Content-Type: application/json"   --data   '{
    "version": "1.0.0",
    "item_ids": [
      "1405e028-dd50-48a0-86c5-b361e029a3f1",
      "93cda01a-526e-4872-b29a-125645abf784",
      "9e2099ee-78f4-4070-a1fd-7be109f136ce"
    ],
    "applications": [
      "myapp"
    ],
    "subsystems": [
      "mysubsystem"
    ]
    
    

}' "https:// /v1/extensions/IBMCloudKubernetes/deployment"



## 使用 API 更新擴充套件 {: #extensions-mgmt-update-api api}

您可能想要部署擴充套件的新版本、部署額外的資源,或修改設定為與擴充套件相關資料來源的應用程式和子系統。 若要更新擴充套件中包含的資源,您可以使用 API 方法 [部署或更新擴充套件的部署。](/apidocs/logs-service-api#update-extension-deployment)

完成下列步驟以更新擴充套件:

確保您在 API 呼叫中指定目前已部署的該擴充套件的所有資源。 如果您修改了先前從此擴充套件部署的任何資源,請在執行更新前將資源分離。 如果您未包含先前部署的所有資源,則會移除未包含的資源。
{: attention}

1. 取得驗證標記。 請參閱 [透過 API 進行驗證](/apidocs/logs-service-api#authentication)。

2. 取得您要部署延伸功能的實體端點。 請參閱 [服務 API 端點](/docs/cloud-logs?topic=cloud-logs-endpoints_api)。

3. 取得您要部署的擴充套件 ID。 請參閱 [可用的擴充套件清單](#extensions-mgmt-list)。

4. 透過 ID 取得擴充套件的詳細資訊,包括已部署資源的相關資訊。 檢查部署部分,查看已經部署的資源。

   ```text {: codeblock}
   curl -X GET --location --header "Authorization: Bearer ${IAM_TOKEN}"   --header "Accept: application/json"   "https://<API_ENDPOINT>/v1/extensions/<ExtensionID>"
  1. 更新擴充套件。 例如,您可以執行下列 cURL 指令來更新 Kubernetes 擴充套件,並只保留 1 個儀表板和 1 個警示:

    curl -X PUT --location --header "Authorization: Bearer ${IAM_TOKEN}"   --header "Accept: application/json"   --header "Content-Type: application/json"   --data   '{
    "version": "1.0.0",
    "item_ids": [
      "1405e028-dd50-48a0-86c5-b361e029a3f1",
      "93cda01a-526e-4872-b29a-125645abf784"
    ],
    "applications": [
      "myapp"
    ],
    "subsystems": [
      "mysubsystem"
    ]
    
    

}' "https:// /v1/extensions/IBMCloudKubernetes/deployment"

## 部署擴充套件 {: #extensions-mgmt-deploy-ui ui}

若要部署延伸功能,請完成下列步驟:

1. [登入您的 IBM Cloud 帳戶](https://cloud.ibm.com/login){: external}。

2. [存取您的 IBM Cloud Logs 範例](/docs/cloud-logs?topic=cloud-logs-instance-launch#instance-launch-cloud-ui)

3. 按一下 **Integrations 圖示** ![Integrations 圖示](/icons/integrations.svg "Integrations") > **Extensions**。

4. 按一下您要部署的延伸功能磁磚上的**部署**。

5. 選擇要套用延伸功能的*應用程式* *和子系統*。

6. 預設情況下,擴充套件中定義的所有內容都會被部署。 您可以移除任何不想部署的項目的核取標記。

7. 按一下 **+ 部署**,將擴展安裝在您的 IBM Cloud Logs 實體中。


## 修改已部署的擴充套件 {: #extensions-mgmt-modify-ui ui}

您可能想要部署擴充套件的新版本、部署額外的資源,或修改設定為與擴充套件相關資料來源的應用程式和子系統。

請確定您已選取該擴充套件中目前已部署的所有資源。 如果您修改了先前從此擴充套件部署的任何資源,請在執行更新前將資源分離。 如果您未包含先前部署的所有資源,則會移除未包含的資源。
{: attention}

完成下列步驟以更新擴充套件:

1. [登入您的 IBM Cloud 帳戶](https://cloud.ibm.com/login){: external}。

2. [存取您的 IBM Cloud Logs 範例](/docs/cloud-logs?topic=cloud-logs-instance-launch#instance-launch-cloud-ui)

3. 按一下 **Integrations 圖示** ![Integrations 圖示](/icons/integrations.svg "Integrations") > **Extensions**。

4. 按一下您要修改的已部署延伸功能的磁磚。

5. 根據需要變更 *Applications(應用程式)* 和 *Subsystem(子系統* )值。

   更新擴充套件中的 *Applications* 和 *Subsystems* 值時,您部署的擴充套件中的所有資源都會以新的 *Applications* 和 *Subsystems* 值清單更新。
   {: attention}

6. 按一下**更新**。

## 移除擴充套件 {: #extensions-mgmt-remove-ui ui}


若要移除您已部署在實例中的延伸功能,請完成下列步驟:

1. [登入您的 IBM Cloud 帳戶](https://cloud.ibm.com/login){: external}。

2. [存取您的 IBM Cloud Logs 範例](/docs/cloud-logs?topic=cloud-logs-instance-launch#instance-launch-cloud-ui)

3. 按一下 **Integrations 圖示** ![Integrations 圖示](/icons/integrations.svg "Integrations") > **Extensions**。

4. 按一下您要移除的已部署擴充套件的磁磚。

5. 按一下 **- 移除**。

6. 選擇要刪除或保留已部署的資產。

   如果您選擇刪除已部署的資產,擴充套件會連同該擴充套件在 IBM Cloud Logs 範例中部署的資產一併刪除。

   如果您在刪除延伸功能時選擇保留已部署的資產,延伸功能部署的資產將保留在您的 IBM Cloud Logs 範例中,但不再與延伸功能相關聯。 如果您再次部署擴充套件,將會部署新的擴充套件副本,而先前部署的資產將保留在您的 IBM Cloud Logs 範例中,不會被覆寫。

7. 按一下**移除**。

## 從已部署的擴充套件分離資源 {: #extensions-mgmt-dettach-ui ui}

若要從已部署的延伸功能分離資源,請完成下列步驟:

1. [登入您的 IBM Cloud 帳戶](https://cloud.ibm.com/login){: external}。

2. [存取您的 IBM Cloud Logs 範例](/docs/cloud-logs?topic=cloud-logs-instance-launch#instance-launch-cloud-ui)

3. 按一下 **Integrations 圖示** ![Integrations 圖示](/icons/integrations.svg "Integrations") > **Extensions**。

4. 按一下您要移除的已部署擴充套件的磁磚。

5. 按一下 **- 移除**。

6. 選擇 `Retain all assets`,將擴充套件部署的修改後資產保留在 IBM Cloud Logs 範例中。

7. 按一下**移除**。

   Dettach 資源將不再與擴充套件相關聯。

   如果您再次部署擴充套件,將會部署新的擴充套件副本,而先前部署的資產將保留在您的 IBM Cloud Logs 範例中,不會被覆寫。


## 移除擴充套件 {: #extensions-mgmt-remove-api api}


若要刪除分機,您可以執行下列 API 呼叫:

```text {: codeblock}
% curl -X DELETE --location --header "Authorization: Bearer ${IAM_TOKEN}"   --header "Accept: application/json"   "https://<ENDPOINT>/v1/extensions/<ExtensionID>/deployment"