IBM Cloud Logs 拡張機能の管理

IBM Cloud Logs では、エクステンションはログデータを管理するための設定をすぐに提供する。 エクステンションには、アラート、解析ルール、ダッシュボードなど、あらかじめ定義されたリソース定義のセットが含まれており、これを使用することで、エクステンションに関連するデータを素早く立ち上げ、監視し、アラートを出すことができます。

  • 選択したアプリケーションとサブシステムのコンテキストに、エクステンションのすべてのリソースまたはリソースのサブセットをデプロイできます。

  • エクステンションは、UIを使ってグラフィカルに管理することも、APIを使ってプログラムで管理することもできます。

  • エクステンションからリソースをデプロイした後、それらをカスタマイズすることができます。

    定義済みリソースへのカスタム変更の上書きを防ぐには、これらのリソースをエクステンションの配置から切り離す必要があります。 リソースのデタッチは、UIを介してグラフィカルにしかできない。

  • エクステンションはタイプ別に分類されている。 有効な型は Security および Observability である。

  • エクステンションには、フィルタリングに使用できるラベルが含まれています。 例えば、 IBM というタグは、 IBM Cloud を監視するために使用できる拡張子に関連付けられています。

  • 拡張機能には、定義済みのアラート、解析ルール、Event to Metrics定義、ダッシュボード、エンリッチメントが含まれます。

利用可能な拡張子のリスト

以下のリストは、ログを監視するために導入できる拡張機能の概要です:

IDによる利用可能な拡張子のリスト

次の表は、Extensions API を使用する際に使用しなければならない拡張機能の ID の一覧です:

IBM Cloud Logs REST API を使用した拡張アクション
内線 ID
システム・モニター SystemMonitoring
Activity Tracking 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
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の詳細については、 拡張機能を 参照してください。

UIから利用可能な拡張機能のリストを取得する

IBM Cloud Logs UIから利用可能なエクステンションを確認するには、以下の手順を実行します:

  1. IBM Cloud Logs UI を起動します。

  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 メソッド Deploy を使用するか、拡張機能のデプロイを更新 します。

エクステンションをデプロイするには、以下の手順を実行します:

  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 メソッド [Deploy](/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. デプロイしたいエクステンションのタイルで **Deployを**クリックします。

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と* *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. **「削除」** をクリックします。

   デタッチリソースは、もはや拡張機能に関連付けられていません。

   拡張機能を再度デプロイすると、拡張機能の新しいコピーがデプロイされ、以前にデプロイされたアセットは 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"