IBM Log Analysis から IBM Cloud Logs へのマイグレーション・ツールを使ってみた

# はじめに
IBM Log Analysis サービスが2025年3月30日をもって廃止され、サポートされなくなります。([参考1](http://ibm.biz/loganalysisdeprecation)) 後継サービスであるIBM Cloud Logへの移行を可能にするマイグレーション・ツールを使ってみました。

# 移行シナリオ
今回は図のように、シンプルな移行シナリオをテストしました。
* 東京リージョンでプラットフォーム・ログが有効化されたIBM Log AnalysisサービスのインスタンスをIBM Cloud Logsへ移行
* マイグレーション・ツール実行時に、新規のIBM Cloud Logsインスタンスを作成
* マイグレーション・ツールのオプション指定により、既存のIBM Log Analysisサービスのインスタンスと新規作成のIBM Cloud Logsインスタンス両方にプラットフォーム・ログを送信するよう構成
* IBM Code Engine上でジョブを起動し、出力されるプラットフォーム・ログが両方のインスタンスに出力されることを確認
![Migration.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/922552/825d752e-665e-ebdd-1757-232443a8b2c5.png)
図1. 移行シナリオ概要

# 移行の実施
この記事では、移行の前提条件を満たしているものとして手順が書かれています。
* リソース・グループ、IBM Log Analysis、IBM Cloud Logs 等への必要な権限がユーザーに付与されていること
* マイグレーション・ツールがユーザーのローカルPC等にインストールされ、CLIでログインしていること
    * スタンドアロンIBM Cloud CLIのインストール([参考2](https://cloud.ibm.com/docs/cli?topic=cli-install-ibmcloud-cli))
    * マイグレーションツールのインストール([参考3](https://cloud.ibm.com/docs/cloud-logs?topic=cloud-logs-migration-tool#migration-installing))

マイグレーション手順に沿って、今回の移行シナリオに応じたステップを実行します。

## ステップ1: マイグレーション・ツールのコマンドをテスト実行
```Shell
% ibmcloud logging migrate create-resources --scope instance --instance-crn (移行対象のIBM Log AnalysisサービスのCRN) --platform --ingestion-key (移行対象のIBM Log AnalysisのIngestion Key) --instance-name (新規作成するIBM Cloud Logsインスタンスに付ける名前) --instance-resource-group-id (新規作成するIBM Cloud Logsインスタンスをデプロイするリソース・グループのID) --terraform
Plugin Version : 0.1.22
OK
The migration process has completed successfully. You can find the information in the (現在のディレクトリ)/migration-test directory.
```
* コマンド・オプション `--platform` を使うことで、既存のIBM Log Analysisインスタンスと新規作成のIBM Cloud Logsインスタンス両方にプラットフォーム・ログを送信するよう構成します。
* Ingestion Keyは、IBM Log Analysisインスタンスのダッシュボード > Settings > Organization > API Keys から参照や設定可能です。
* コマンドを実行すると、migration-testというディレクトリの下にTerraform用のファイルが出力されます。ファイルの出力を確認してから、実際に適用します。

## ステップ2: マイグレーション・ツールのコマンド実行と適用
```Shell
% ibmcloud logging migrate create-resources --scope instance --instance-crn (移行対象のIBM Log AnalysisサービスのCRN) --platform --ingestion-key (移行対象のIBM Log Analysisのingestion key) --instance-name (新規作成するIBM Cloud Logsインスタンスに付ける名前) --instance-resource-group-id (新規作成するIBM Cloud Logsインスタンスをデプロイするリソース・グループのID) --api
Plugin Version : 0.1.22
OK
The migration process has completed successfully. You can find the information in the (現在のディレクトリ)/migration-test directory.
```
* コマンド・オプション `--api` を使うことで、ステップ1のようにTerraform用のファイルが出力されるだけでなく、IBM Cloud Logsインスタンスが作成されるなど設定が適用されます。
* コマンド結果のコンソール出力は、ステップ1と同様になります。

## ステップ3:  マイグレーション結果の確認
IBM Cloud Log インスタンスが作成されたことを確認します。

![LogAnalysis.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/922552/1fa3b641-71cd-a2ee-7e01-6d5e8cf3a383.png)
図2. 既存のLog Analysisインスタンス

![CloudLogs.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/922552/0af17de9-d843-f245-d414-8ba53b482315.png)
図3. 新規作成されたCloud Logsインスタンス 

既存のIBM Log Analysisインスタンスと新規に作成されたIBM Cloud Logsインスタンス両方にプラットフォーム・ログが出力されていることを確認します。(以下の図で詳細はマスクされています)

![LogAnalysis_msg.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/922552/7828d9e0-105a-53a4-e299-ef76c593b52a.png)
図4. 既存のLog Analysisインスタンスへ出力されたメッセージ

![CloudLogs-msg.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/922552/f56aed74-fe3b-d9f0-d626-aa2073a2537f.png)
図5. 新規作成されたCloud Logsインスタンスへ出力されたメッセージ

両方のインスタンスにプラットフォーム・ログが出力されたことを確認できました。既存のIBM Log Analysisインスタンスで、マイグレーション・ツール実行前と実行後に同じアプリケーションのプラットフォーム・ログのフォーマットが以下のように変わっていました。(詳細はマスクされています) 今回は、このようなフォーマット相違の原因を突き詰める調査は行いませんでした。
```Log:移行前
Oct 9 10:00:00 Code Engine app1-x5cqd info Successfully created jobRun.
```
```Log:移行後
Oct 10 10:00:01 loc-0a457355-b01c-4ea7-8f47-ed5342c122e3-0 app1-w564a info Successfully created jobRun.
```
既存のIBM Log Analysisインスタンスで、移行前と同じログを見つけるにはパターンを変えた検索の必要な場合が出てきます。

# まとめ
IBM Log Analysis から IBM Cloud Logs へのマイグレーション・ツールを使ってみて、ツール自体は問題なく動作しました。ただし、既存のIBM Log Analysisインスタンスでログのフォーマットが変わっていたことは、ログ検索などで留意点になると考えられます。
***
### 参考資料
1. IBM Log Analysis または IBM Cloud Activity Tracker から IBM Cloud Logs へのマイグレーション
    http://ibm.biz/loganalysisdeprecation
2. スタンドアロンIBM Cloud CLI のインストール
    https://cloud.ibm.com/docs/cli?topic=cli-install-ibmcloud-cli
3. マイグレーション・ツールのインストール
    https://cloud.ibm.com/docs/cloud-logs?topic=cloud-logs-migration-tool#migration-installing
4. マイグレーション手順
    https://cloud.ibm.com/docs/cloud-logs?topic=cloud-logs-migration-platform-logs#la-migration-steps