Cloud Composer 環境のヘルスチェック

Cloud Composer のマイクロサービス アーキテクチャによって、Airflow 設定のエンドツーエンドのライブ モニタリングには複数の指標が含まれます。このチュートリアルでは、Google Cloud のオペレーション スイートのログベースの指標を使用して、カスタム指標に基づいてモニタリングとアラートを設定する方法を示します。

目標

  • 数分ごとに実行されるシンプルな DAG を Cloud Composer 環境にデプロイする。
  • ログベースの指標を使用してカスタム指標を作成し、Google Cloud のオペレーション スイートによって Cloud Composer 用に作成されたログを活用する。
  • カスタマイズされた指標に基づいてモニタリングとアラートを設定する。

費用

Cloud Composer は有料プロダクトです。このチュートリアルには使用料金が発生します。詳細については、料金をご覧ください。 また、料金計算ツールを使用して、予測される使用量に基づいた費用の見積もりを生成することもできます。Google Cloud の新規ユーザーは無料トライアルをご利用いただける場合があります。

始める前に

  1. Google アカウントにログインします。

    Google アカウントをまだお持ちでない場合は、新しいアカウントを登録します。

  2. Cloud Console のプロジェクト セレクタページで、Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタのページに移動

  3. Google Cloud プロジェクトに対して課金が有効になっていることを確認します。プロジェクトに対して課金が有効になっていることを確認する方法を学習する

  4. Cloud Composer 環境を作成します。
  5. 適切な権限を確保します。Cloud Composer 環境のログと指標にアクセスするには、次の権限が必要になります。
    • 読み取り専用のロギングとモニタリング: logging.viewermonitoring.viewer
    • プライベート ログを含む読み取り専用のロギング: logging.privateLogViewer
    • 読み取りと書き込みのモニタリング: monitoring.editor

    詳細については、Cloud Composer のアクセス制御をご覧ください。

DAG を環境に追加する

  1. 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)
    
  2. Airflow が DAG のスケジュールを設定するまで待ちます。ステータスは Airflow ウェブ インターフェースで確認できます。

    Airflow ウェブ インターフェース

Google Cloud のオペレーション スイートでのログベースのカウンタ指標の作成

  1. ログビューアに移動します。

    ログビューアに移動

  2. ページの上部で正しいプロジェクトを選択するか、ページ上部のプルダウン メニューを使用してプロジェクトを選択します。

  3. リソース フィールドで、[Cloud Composer Environment] を選択してから、ロケーションと環境の名前を選択します。

  4. ログタイプ フィールドで、Airflow ワーカーを選択します。

  5. フィルタバーで、「label:workflow:liveness」というラベルを入力して、ライブネス DAG が出力するログのみを表示するフィルタを作成します。

  6. ページの上部にある [指標の作成] をクリックします。ページの右側に [指標エディタ] が表示されます。また、ページの左側にログを表示するビューアパネルが表示されます。

    指標の作成

  7. [指標エディタ] パネルで、次のフィールドを設定します。

    1. 名前: プロジェクトのログベースの指標で一意の名前を選択します(liveness-logs-cnt など)。
    2. 説明: 指標を説明します。
    3. タイプ: カウンタ
  8. [指標を作成] をクリックします。ログベースの指標ページが表示されます。

アラート ポリシーの作成

  1. ログベースの指標ページで、ポリシーを作成する指標を選択してから、指標のリストの右側にあるメニューの [指標からアラートを作成] を選択します。[新しいアラート ポリシーの作成] ページが表示されます。

    アラートの作成

  2. [新しいアラート ポリシーの作成] ページの [条件] セクションで [編集] をクリックします。自動入力された [指標を作成] ウィンドウが表示されます。

  3. (省略可)条件の名前を入力します。

  4. [ターゲット] セクションで、[アグリゲータ] に対して、[カウント] を選択します。

  5. [構成] セクションで、[しきい値] に対して、必要に応じて値を設定します。

    アラート ポリシー

  6. [保存] をクリックします。[新しいアラート ポリシーの作成] パネルに作成した条件が表示されます。

  7. アラート ポリシーの [通知]、[ドキュメント]、[ポリシー名を入力] セクションに入力します。

  8. [保存] をクリックします。

クリーンアップ

このチュートリアルで使用したリソースについて、Google Cloud Platform アカウントに課金されないようにする手順は次のとおりです。

  1. Cloud Console で [リソースの管理] ページに移動します。

    [リソースの管理] ページに移動

  2. プロジェクト リストで、削除するプロジェクトを選択し、[削除] をクリックします。
  3. ダイアログでプロジェクト ID を入力し、[シャットダウン] をクリックしてプロジェクトを削除します。

次のステップ

カスタム ダッシュボードを使用して Cloud Composer 環境の指標を表示する方法について、Google Cloud のオペレーション スイートで環境とワークフローをモニタリングするで確認する。