2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

IBM Cloud Activity TrackerでWatson Discoveryの操作ログ取得を試してみた

Last updated at Posted at 2022-07-12

はじめに

IBM Cloudでは Activity Trackerというサービスでユーザーの操作やAPIの使用状況を記録することができます。サービスからのイベントをキャプチャして「いつ誰がどこで何をしたか」を記録し、検索、アーカイブ保存、アラート通知、グラフ描画などの機能により監査、セキュリティ監視、運用トラブルシューティングに利用できます。
Activity Trackerに対応したサービスにはWatson DiscoveryWatson AssistantなどのWatson APIも含まれています。既存のWatson Discoveryのインスタンスを対象としてどんなことができるのか試してみました。

目次

Activity Trackerイベントを生成するWatson Discovery関連のアクティビティ
Activity Trackerインスタンスをデプロイする
Activity Trackerを使ってみる
Watson Discoveryのイベントに絞り込んで表示する
ログをエクスポートする
参考リンク

Activity Trackerイベントを生成するWatson Discovery関連のアクティビティ

ユーザーによる成果物の作成、変更、削除などの操作やAPIの使用についてイベントが生成されます。対象アクティビティの一覧はこちら

Activity Trackerインスタンスをデプロイする

IBM Cloudコンソールにログインし、ダッシュボード左上角のメニューアイコン をクリックし、線グラフのアイコン「プログラム識別情報」 > 「Activity Tracker」を選択します。
図1.png

日本語のUIで「プログラム識別情報」となっていますが、マニュアル原文と英語UIでは"Observability"です(同じものと分からずちょっと迷いました...)。

右上の「作成」をクリックします。
図0a.png

リージョンには今回対象とするWatson Discoveryのインスタンスと同じリージョンを、プランは有料プランから7日間を選択し、同意のチェックボックスをチェックして「作成」をクリックします。

図0-1.png

リアルタイムにユーザの操作イベントを受信できるかどうか動作確認するなら無料のLite Planでも可能です。イベントログの保存・検索やアラート通知など本格的に利用するための機能は有料プランで提供されています。プランについては詳しくはこちら

デプロイが完了するとリソース一覧にも表示されます。Activity Trackerが開始すると、追加の設定などをすることなく、同じリージョン内の全ての対応サービスインスタンスからのイベントがキャプチャされ記録されていきます。

Activity Trackerを使ってみる

IBM Cloudコンソールにログインし、ダッシュボード左上角のメニューアイコン をクリックし、「プログラム識別情報」 > 「Activity Tracker」で表示されるインスタンスの「ダッシュボードを開く」をクリックします。
図2−1a.png

ダッシュボードを開くと記録されたイベントが1イベント1行ずつメインのペインに表示されています。データ項目によっては色分けされています。各イベントにマウスオーバーし左に表示される右向きの三角▶をクリックすると、イベント詳細が表示されます。またデフォルトでは直近60分に記録されたイベントが表示されていますが、期間は右上のToggle timelineをクリックしてウィンドウ右にTimelineペインを開き変更できました。
図2-1-1.png

Timelineペインではイベント数の棒グラフも表示されます。スパイク的な傾向があるなど気になる期間をクリックし「Jump to」と進むと、メインペインの表示をその期間にジャンプし、ガイドとして使える区切り線を追加表示してくれます。
図2-1-2.png

イベントが記録されることを確認する目的で、Watson Discoveryでダミーの分析プロジェクトを削除してみました。Criticalなアクティビティとして記録され、日時、ユーザー名、削除したプロジェクトのIDなどが確認できました。
図2-2a.png

イベントを絞り込んで表示する

同じリージョンにある全てのActivity Tracker対応サービスインスタンスのアクティビティがキャプチャされているので、Watson Discovery関連のみ表示するよう絞り込んでみます。
Appsで表示される検索窓に「discovery」と入力するとWatson Discoveryインスタンスがリストされました。「SELECT ALL」、「APPLY」をクリックしてWatson Discoveryインスタンスからのイベントのみを表示させるようにしました。
図3-1a.png

この絞り込み設定を次回以降もすぐに利用できるように、viewとして保存してみます。左のペインでViewsをクリックし、Unsaved Viewのドロップダウンから「Save as a new view」をクリックしviewの名前を入力して保存しました。
図3−2.png

ログをエクスポートする

Viewで絞り込んだ状態で、View名 > 「Export lines」でエクスポートしてみました。
図4.png

アーカイブ目的の場合IBM Cloud Object Storageへのアーカイブ機能を使うのが良さそうです。アーカイブしたログを検索するにはIBM Cloud Data Engine serviceを別途デプロイして使います。

これ以降の手順はブラウザ上で直接ダウンロードする方法ではなく、よりセキュリティを考慮した方法となっていました。
指定したイベントのJSONLファイルが圧縮されてIBM Cloud Object Storage上に保存され、ダウンロードのためのURLがエクスポートを実行したユーザーのEメールアドレス宛てに送付されてきます。
Eメール内のリンクをクリックしてダウンロードすることでエクスポートしたログを取得できました。ダウンロードリンクは12時間の期限付きでした。
図3a.png

JSONL(JSON Lines)は改行区切りで1行にJSONの1レコードを記述することで複数のJSON レコードを構造化して格納できるファイル形式です。JSONLファイルは、たとえばJQコマンドで絞り込みや整形、JSON、CSVへの変換などが可能です。

参考リンク

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?