はじめに
2024年6月頃、IBM Cloudでは既存の監視ツールであるLog AnalysisとActivity Trackerの後継サービスであるIBM Cloud LogsをFrankfurtとMadridリージョンにGAし、2024年9月にはTokyoとOsakaリージョンでGAされました。
そのため、既存のLog AnalysisとActivity Trackerのインスタンスを後継のCloud Logsに移行する検証を行いました。
今回は既存のログがLog Analysisに表示されるように設定されていたLogs Routing機能をCloud Logsに表示されるように設定変更する流れを整理します。
Log AnalysisとActivity Trackerは2025年3月30日でEOSされる予定です。
そのため、EOSまでに既存インスタンスのマイグレーションが必要となりますので、ご注意ください。
また、今回の内容にはIBM Cloudのアカウント(無料利用可能)が前提となっています。
Logs Routing機能とは
Logs Routingとは、プラットフォームログやAgentからのログを特定のインスタンス(Cloud Logs、Cloud Log Analysis)に送信できるように設定する機能です。これによって、複数リージョンから発生するログを一つのインスタンスに集約することができます。
現在、Cloud Logs Routingは以下のリージョンで使用可能です。
- 東京、大阪、シドニー、ダラス、ワシントンDC、トロント、フランクフルト、ロンドン、マドリッド、サンパウロ
全体的な流れ
まずはLogs Routing設定をする事前準備として、必要な各インスタンス(IBM Cloud Object Storage、Cloud Logs)を以下の手順に沿って作成し、インスタント間のマウント設定を行います。
IBM Cloud Object Storage(ICOS)のインスタンス作成
ログデータの永続化のためには保管ストレージとしてICOSが必要でるため、まずはICOSインスタンスを作成します。
ICOS画面にてインスタンスの作成
をクリックします。
インフラの選択やインスタンス名、リソースグループなどの設定を行ってインスタンスを作成します。
ICOSのインスタンスが作成されたら、次は「バケット」を作成します。
「バケット」とは、インタンス内で実際ログデータが保管される論理的区域であり、名前通りデータを入れておく箱のようなものとなります。
Quick Startテンプレートを含め、複数のテンプレートが用意されていますが、今回はカスタムテンプレートにて作成しました。
バケット名や可用性の設定、リージョン、Storage Tierなどを設定し、バケットを作成します。こちらの設定はバケット作成後には変更ができませんのでご注意ください。
なお、今回の検証を実施した際にはまだ国内リージョンがGAされる前だったため、フランクフルト(eu-de)リージョンで作成しています。
Cloud Logsのインスタンス作成
次は上記の通りログデータを集約するためのCloud Logsのインスタンスを作成します。
コンソールでロギングインスタンスにアクセスすると、既存のLog Analysisに加え、Cloud Logsのカテゴリーが新たに表示されています。ここで作成
をクリックします。
また、リージョンはICOSと同様にフランクフルトに設定し、7日間の保管で作成しています。こちらの設定はご用件に応じて適宜可能です。
インスタンスが作成されたら、Cloud Logsからのログデータを永続的に保管するためにCloud LogsとICOSを間でマウントさせる必要があります。
Cloud Logsインスタンスのストレージタブに入ってログ・データ
→接続
にて、使用するICOSのバケットとマウントします。
なお、メトリック・データへのイベント
はActivity Trackerからのイベントを接続する項目となり、今回は使用しません。
ここでサービス許可が必要です
という画面が表示された場合、今すぐ許可
をクリックするとインスタンスが表示されます。
先ほど作成したICOSのインスタンスを検索し、使用するバケットを選択して接続します。
Cloud Logs Routingの設定
次はリージョンで収集されたプラットフォームログのターゲットの宛先を定義します。
「ルーティング」タブにアクセスすると、各リージョンごとの宛先インスタンスを設定することができます。
現在はリージョンごとのルールの状況
に「未構成」と表示されていますが、こちらのルールを構成する必要があり、今回は前の段階で作成したCloud Logsのインスタンスに全て絞って設定しています。
まずは︙
ボタンをクリックし、Logs Routingのターゲット設定画面に入ります。
その後、ログを流すターゲット・インスタンスを選択します。今回はCloud Logsに集約しますので、先ほど作成したCloud Logsインスタンスを選択します。
全てのターゲット・インスタンスを設定すると、以下のように「ルールの状況」部分にアクティブ
マークが付くようになり、問題なくルール設定できたことがわかります。
これでインスタンスの作成とLogs Routingの設定は完了です。
ログの確認
マイグレーション実行から少し時間が経ったら、最初デプロイしてCloud LogsとマウントしたICOSのバケットにデータが入ってきていることがわかります。
また、Cloud Logsのダッシュボードを確認したら、デプロイした時間からのログが記録されていることがわかります。
ログの内容を既存のLog Analysisのログと比較してみたところ、correlationId
generation
logSourceCRN
messageID
msg_timestamp
requestId
など、Log Analysisログと表示される内容が全く同じであることも確認でき、違和感なくすぐ利用することができるかと思います。
参考
IBM Cloud Docs