ワークスペースにおけるノートブックの可観測性とログ¶
概要¶
Snowflakeはコンテナのローカルファイルシステムにノートブックログを書き込み、それを イベントテーブル に取り込みます。これにより、クエリしてノートブック実行のトラブルシューティングを行い、実行履歴を確認し、長期的な分析を実行できます。
イベントテーブルを使用して、ワークスペース内のノートブックの操作データを一元化できます。たとえば、次のタスクがある場合:
スケジュールされた実行のトラブルシューティング(エラー、警告、タイムスタンプ)
誰が、何を、いつ(ワークロードによって出力され、コレクション用に構成されたとき)実行したかの監査
ノートブックアクティビティ(成功/失敗カウント、実行時間、ノイズエラー)用ダッシュボードの作成
注釈
ログがイベントテーブルに表示されるまでには、通常、3~5分の遅延があります。
ノートブックコードでログを有効にする¶
デフォルトでは、Pythonログは WARNING に設定されています。アプリケーションイベントをキャプチャするには、ログレベルを INFO または DEBUG に設定する必要があります。
以下のコードをPythonノートブックまたはスクリプトに追加します。
import logging
# Set the root logger to INFO level
logging.getLogger().setLevel(logging.INFO)
# Generate a test log entry
logging.info("APPLICATION_EVENT: Service initialization complete.")
Snowflake Trailを使用したログのクエリ¶
Snowflake Trailを介した Snowsight でログエントリを表示できます。
注釈
ログメッセージを表示する前に、 :doc:` テレメトリデータコレクションを有効にする </developer-guide/logging-tracing/logging-tracing-enabling>` 必要があります。
イベントテーブルを特定する¶
アカウントのイベントテーブルを見つけるには、 SQL ファイルで次のコマンドを実行します。
SHOW PARAMETERS LIKE 'event_table' IN ACCOUNT;
ログのクエリと分析¶
イベントテーブルがイベントの収集を開始した後、他のテーブルと同じようにクエリを実行して、時間範囲、重大度、ワークロード識別子でフィルタリングできます。イベントテーブルのスキーマと列定義について詳しくは、 イベントテーブル列 を参照してください。
最近のログイベントを調査するには、次のコードを実行します(プレースホルダーの値を実際の値に置き換えます)。
SELECT TIMESTAMP, VALUE AS LOG_MESSAGE, RESOURCE_ATTRIBUTES:"snow.service.name"::string AS SERVICE_NAME, RECORD:"severity_text"::string AS SEVERITY FROM <database_name>.<schema_name>.<event_table_name> WHERE RECORD_TYPE = 'LOG' AND RESOURCE_ATTRIBUTES:"snow.service.name" = '<your_service_name>' AND TIMESTAMP > DATEADD(hour, -1, CURRENT_TIMESTAMP()) ORDER BY TIMESTAMP DESC LIMIT 100;
Snowsight で実行されたスケジュールされたノートブックのログを表示する¶
スケジュールされた各ノートブックは、デプロイされたコード、実行履歴、アーティファクトを格納するノートブックのプロジェクトオブジェクトを使用します。
Snowsight でスケジュールされた実行のログを表示するには:
Snowsight にサインインします。
ナビゲーションメニューで Catalog » Database Explorer を選択します。
ノートブックプロジェクトオブジェクトを含むデータベースとスキーマを検索します。
ノートブックプロジェクトオブジェクトを選択してから Run history タブを選択します。
検査する実行の場合、 Logs 列で Logs を選択します。
ノートブックコードでログを有効にすると、カスタムログメッセージとインフラストラクチャの初期化ログがこのログビューに表示されます。
トラブルシューティング¶
期待されるイベントが表示されない場合は、イベントテーブルが作成され、イベントログがアカウントとワークロードに対して有効で構成されていることを確認してください。
スケジュールされた実行に失敗した場合、 ノートブックスケジューリング をクロスチェックし、同じ時間ウィンドウ中にイベントテーブルの相関エラーを検索します。