Cloud Composer のマイクロサービス アーキテクチャによって、Airflow 設定のエンドツーエンドのライブ モニタリングには複数の指標が含まれます。このチュートリアルでは、Google Cloud のオペレーション スイートのログベースの指標を使用して、カスタム指標に基づいてモニタリングとアラートを設定する方法を示します。
目標
- 数分ごとに実行されるシンプルな DAG を Cloud Composer 環境にデプロイする。
- ログベースの指標を使用してカスタム指標を作成し、Google Cloud のオペレーション スイートによって Cloud Composer 用に作成されたログを活用する。
- カスタマイズされた指標に基づいてモニタリングとアラートを設定する。
費用
このドキュメントでは、Google Cloud の次の課金対象のコンポーネントを使用します。
- Cloud Composer
料金計算ツールを使うと、予想使用量に基づいて費用の見積もりを生成できます。
始める前に
- Google Cloud アカウントにログインします。Google Cloud を初めて使用する場合は、アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
-
Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。
-
Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。
- Cloud Composer 環境を作成します。
- 適切な権限を確保します。Cloud Composer 環境のログと指標にアクセスするには、次の権限が必要になります。
- 読み取り専用のロギングとモニタリング:
logging.viewer
とmonitoring.viewer
- プライベート ログを含む読み取り専用のロギング:
logging.privateLogViewer
- 読み取りと書き込みのモニタリング:
monitoring.editor
詳細については、アクセス制御をご覧ください。
- 読み取り専用のロギングとモニタリング:
DAG を環境に追加する
Cloud Storage バケットに次の DAG をアップロードします。
import airflow from airflow import DAG from airflow.operators.bash_operator import BashOperator from datetime import timedelta default_args = { 'retries': 1, 'retry_delay': timedelta(minutes=5), 'start_date': airflow.utils.dates.days_ago(0) } dag = DAG( 'liveness', default_args=default_args, description='liveness monitoring dag', schedule_interval=timedelta(minutes=1)) t1 = BashOperator( task_id='echo', bash_command='echo test', dag=dag, depends_on_past=False)
Airflow が DAG のスケジュールを設定するまで待ちます。ステータスは Airflow ウェブ インターフェースで確認できます。
Google Cloud のオペレーション スイートでのログベースのカウンタ指標の作成
ログ エクスプローラに移動します。
ページの上部で正しいプロジェクトを選択するか、ページ上部のプルダウン メニューを使用してプロジェクトを選択します。
リソース フィールドで、[Cloud Composer Environment] を選択してから、ロケーションと環境の名前を選択します。
ログタイプ フィールドで、Airflow ワーカーを選択します。
フィルタバーで、「label:workflow:liveness」というラベルを入力して、ライブネス DAG が出力するログのみを表示するフィルタを作成します。
ページの上部にある [指標の作成] をクリックします。ページの右側に [指標エディタ] が表示されます。また、ページの左側にログを表示するビューアパネルが表示されます。
[指標エディタ] パネルで、次のフィールドを設定します。
- 名前: プロジェクトのログベースの指標で一意の名前を選択します(liveness-logs-cnt など)。
- 説明: 指標を説明します。
- タイプ: カウンタ。
[指標を作成] をクリックします。ログベースの指標ページが表示されます。
アラート ポリシーの作成
ログベースの指標ページで、ポリシーを作成する指標を選択してから、指標のリストの右側にあるメニューの [指標からアラートを作成] を選択します。[新しいアラート ポリシーの作成] ページが表示されます。
[新しいアラート ポリシーの作成] ページの [条件] セクションで [編集] をクリックします。自動入力された [指標を作成] ウィンドウが表示されます。
(省略可)条件の名前を入力します。
[ターゲット] セクションで、[アグリゲータ] に対して、[カウント] を選択します。
[構成] セクションで、[しきい値] に対して、必要に応じて値を設定します。
[保存] をクリックします。[新しいアラート ポリシーの作成] パネルに作成した条件が表示されます。
アラート ポリシーの [通知]、[ドキュメント]、[ポリシー名を入力] セクションに入力します。
[保存] をクリックします。
クリーンアップ
このチュートリアルで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、リソースを含むプロジェクトを削除するか、プロジェクトを維持して個々のリソースを削除します。
- Google Cloud コンソールで、[リソースの管理] ページに移動します。
- プロジェクト リストで、削除するプロジェクトを選択し、[削除] をクリックします。
- ダイアログでプロジェクト ID を入力し、[シャットダウン] をクリックしてプロジェクトを削除します。
次のステップ
カスタム ダッシュボードを使用して Cloud Composer 環境の指標を表示する方法について、Google Cloud のオペレーション スイートで環境とワークフローをモニタリングするで確認する。