Log Service を使用すると、変換タスクの運用メトリックをダッシュボードでいつでも表示できます。 ダッシュボードをサブスクライブして、ダッシュボード上のメトリックをモニターしたりアラートを設定したりすることもできます。
ここでは、変換タスクのメトリックをモニターしたり、アラートを設定したりする方法について例を交えて説明します。
このタスクについて
データ変換タスクをモニタリングすると、データトラフィック、変換ロジック、およびシステム操作の潜在的な例外を見つけることができます。 これにより、企業はタイムリーに例外をトラブルシューティングすることができます。
概要
ここで示すメトリックのほとんどは、
[データ変換トラブルシューティング] ダッシュボードに表示されます。
ダッシュボードの詳細は、「データ変換ダッシュボード」を参照してください。 次のメトリックに注目することを推奨します。
- システムメトリック:ストリーム変換の消費レイテンシと、可能性のあるエラー。
- ビジネスメトリック:処理されたログの行数と出力ログの行数。
- Log Service コンソールにログインし、プロジェクト名をクリックします。
- 左側のナビゲーションペインの [ダッシュボード] アイコンをクリックして、ダッシュボードリストページに移動します。
- ダッシュボード名をクリックして、ダッシュボードを表示します。
さまざまなメトリックを選択して、ビジネスニーズに基づいたアラートを設定できます。 アラートの設定方法については、「アラームの設定」をご参照ください。 ダッシュボードのサブスクライブの詳細については、「ダッシュボードのサブスクリプション方式での購入方法」をご参照ください。
変換レイテンシ
- [シャードの消費遅延] グラフの、右上隅のアイコンをクリックして [アラートを作成] を選択します。
- トリガー条件を設定します。
たとえば、次の条件を設定して、変換レイテンシがしきい値の 120 秒に達したとき、にアラートがトリガーされるようにします。
[delay (s)] > 120

- 通知方法を設定します。
次の図に示すように、[通知] を [WebHook-DingTalk ボット] に設定します。 設定の詳細については、「
アラーム通知の設定」をご参照ください。

- アラート通知を表示します。
例外報告
- [例外の詳細] セクションの右上隅にあるアイコンをクリックして、[アラートを作成] を選択します。
- トリガー条件を設定します。
たとえば、トリガー条件を
level == 'ERROR'
のように設定します。

- 通知方法を設定します。
詳細については、[変換レイテンシ] セクションの
ステップ 3 をご参照ください。
- アラート通知を表示します。
注 一般的に、変換ロジックまたはコードが不適切なときに ERROR
ログが生成されます。 コードを変更した後、変換タスクを再起動 (停止して再開) し、新しくエラーが発生するかどうか確認できます。
変換トラフィック (絶対値)
- [変換速度] グラフの右上隅のアイコンをクリックして [アラートを作成] を選択します。
- トリガー条件を設定します。
たとえば、次の条件を設定して、1 秒あたりに処理されるログの数が 40,000 未満になったときにアラートがトリガーされるようにします。
accept < 40000

- 通知方法を設定します。
詳細については、[変換レイテンシ] セクションの
ステップ 3 をご参照ください。
- アラート通知を表示します。
変換トラフィック (日別の比較)
- モニタリングメトリックをカスタマイズします。
- 変換タスクが配置されているプロジェクトで、
internal-etl-log
Logstore を選択します。
- 次のクエリと分析ステートメントを入力して、[検索と分析] をクリックします。
この SQL ステートメントは、当該日における 5 分ごとに書き込まれたログの数と前日のログの数を比率計算します。
__topic__: __etl-log-status__ AND __tag__:__schedule_type__: Resident and event_id: "shard_worker:metrics:checkpoint" |
select dt, today, yesterday, round((today - yesterday) * 100.0 / yesterday, 3) as inc_ration from
(select dt, (case when diff[1] is null then 0 else diff[1] end) as today, (case when diff[2] is null then 0 else diff[2] end) as yesterday from
(select dt, compare("delivered lines", 86400) as diff from
(select date_format(__time__ - __time__ % 300, '%H:%i') as dt, sum("progress.delivered") as "delivered lines" from log group by dt order by dt asc limit 5000)
group by dt order by dt asc limit 5000))
注 SQL 文を変更して、より正確なアラートメトリックを設定することができます。 たとえば、ID が 06f239b7362ad238e613abb3f7fe3c87
であるタスクに対してのみアラートを設定できます。
__topic__: __etl-log-status__ AND __tag__:__schedule_type__: Resident and event_id: "shard_worker:metrics:checkpoint" and __tag__:__schedule_id__: 06f239b7362ad238e613abb3f7fe3c87 |
select ...
- [ダッシュボードに追加] をクリックして、この検索条件を
etl-monitor
ダッシュボードに追加します。
etl-monitor
ダッシュボードの右上隅のアイコンをクリックして、[アラートを作成] を選択します 。
- トリガー条件を設定します。
たとえば、次の条件を設定して、ログ処理率が前日の処理率と比べて 40% 低いときに、アラートがトリガーされるようにします。
inc_ration < (-40)

- 通知方法を設定します。
詳細については、[変換レイテンシ] セクションの
ステップ 3 をご参照ください。
- アラート通知を表示します。
アラート関連操作
アラートリストのアラートを削除、変更、または無効にすることができます。

アラートの操作方法についての詳細は、「アラームの設定」をご参照ください。