管理 IBM Cloud Logs 扩展名

在 IBM Cloud Logs 中,扩展提供了管理日志数据的开箱即用配置。 扩展包含一组预定义的资源定义,如警报、解析规则、仪表板等,您可以使用它们快速启动和运行,并对与扩展相关的数据进行监控和警报。

  • 您可以在选定的应用程序和子系统中部署扩展的所有资源或资源子集。

  • 您可以通过用户界面以图形方式管理扩展,也可以通过应用程序接口以编程方式管理扩展。

  • 从扩展中部署资源后,可以对其进行自定义。

    为防止覆盖对预定义资源的自定义更改,必须从扩展部署中分离这些资源。 您只能通过用户界面以图形方式分离资源。

  • 扩展按类型分类。 有效类型为 Security 和 Observability。

  • 扩展名包含标签,您可以使用标签对其进行筛选。 例如,标签 IBM 与扩展名相关联,您可以用它来监控 IBM Cloud。

  • 扩展功能可包括预定义警报、解析规则、“事件到指标”定义、仪表板和增强功能。

可用扩展名列表

以下列表概述了可用于监控日志的扩展:

按 ID 列出的可用扩展名列表

下表列出了使用扩展 API 时必须使用的扩展 ID:

使用 IBM Cloud Logs REST API 进行扩展操作
扩展 标识
系统监视 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 UI。

  2. 单击集成图标集成图标 > 扩展。

显示可用扩展名列表。

使用应用程序接口获取可用扩展程序列表

要获取可部署扩展的列表,包括已部署扩展的其他详细信息,请完成以下步骤:

  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 实例中部署的扩展信息,可以使用 获取扩展列表的 方法。 信息包括版本和部署资源的详细信息。

例如,请完成以下步骤:

  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 实例中尚未部署的扩展信息,可以使用 获取扩展列表的 方法。

例如,请完成以下步骤:

  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 方法部署 或更新扩展的部署。

完成以下步骤部署扩展:

  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"



## 使用应用程序接口更新扩展 {: #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. 单击**集成图标** ![集成图标](/icons/integrations.svg "集成") > **扩展**。

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. 单击**集成图标** ![集成图标](/icons/integrations.svg "集成") > **扩展**。

4. 单击要修改的已部署扩展的磁贴。

5. 根据需要更改*应用程序*和*子系统*值。

   更新扩展中的*应用程序*和*子系统*值时,扩展中部署的所有资源都会使用新的*应用程序*和*子系统*值列表进行更新。
   {: 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. 单击**集成图标** ![集成图标](/icons/integrations.svg "集成") > **扩展**。

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. 单击**集成图标** ![集成图标](/icons/integrations.svg "集成") > **扩展**。

4. 单击要删除的已部署扩展的磁贴。

5. 单击 **- 删除**。

6. 选择 `Retain all assets`,将扩展部署的修改过的资产保留在 IBM Cloud Logs 实例中。

7. 单击**除去**。

   脱离资源将不再与扩展名相关联。

   如果再次部署扩展,将部署新的扩展副本,而之前部署的资产将保留在 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"