デプロイとメンテナンス / セルフモニタリングデータのアップロード
この記事では、DataFlux Func のセルフモニタリングデータのアップロードを設定する方法を主に紹介します。
1. はじめに
デフォルトでは、DataFlux Func のセルフモニタリングデータはローカルの Redis と MySQL に保存されます。
DataFlux Func を大量に使用すると、指標、ログなどのデータ量がかなり大きくなる可能性があります。ローカルのメモリ、ディスク使用量を制限するため、ローカルに保存されるシステム指標、タスク記録ログは削減され、保存総量も制限されます。
デプロイとメンテナンス / システム指標とタスク記録 / ローカル関数タスク記録を無効化 を参照して「ローカル関数タスク記録」を無効にし、MySQL のストレージ負荷を軽減できます。
DataFlux Func で生成されたシステム指標とタスク記録ログを完全に記録する必要がある場合は、システム設定からデータをデータプラットフォームにアップロードできます。
2. 「セルフモニタリングデータのアップロード」を有効にする
アップロードされたタスクログは完全なログであり、削減されません
ユーザーは 管理 / システム設定 / セルフモニタリングデータのアップロード で「セルフモニタリングデータのアップロード」を有効にできます。
URL アドレスには、DataWay または DataKit のアップロード先アドレスを入力できます:
| Text Only | |
|---|---|
1 | |
| Text Only | |
|---|---|
1 | |
また、現在の DataFlux Func の用途を示すために、サイト名を入力することをお勧めします。例:「テスト用 Func」
「セルフモニタリングデータのアップロード」を有効にした後、「ローカル関数タスク記録」も無効にして、ローカル DataFlux Func のストレージ負荷を軽減できます
3. データプラットフォームでシステム指標、タスク記録ログを確認する
「セルフモニタリングデータのアップロード」を正しく設定すると、データプラットフォームでアップロードされたシステム指標とタスクログを確認できます。
4. アップロードデータの説明
DataFlux Func は問題調査のためにさまざまなデータをアップロードします。
セルフモニタリングは随時調整される場合があります
セルフモニタリングデータは実際の状況に応じて、バージョン更新に伴い随時調整されます。本書は最新版のセルフモニタリングデータの説明のみを提供します。
service フィルターを追加してクエリ効率を向上させる
最新版では、すべての Logging セルフモニタリングデータに追加で service タグが付与され、値は Logging の source と同じです。これは ScopeDB の service パーティションストレージに適合させるためです。
したがって、Func の Logging セルフモニタリングデータをクエリする場合、フィルター条件 source:xxxxx に加えて service:xxxxx を追加すると、クエリ効率を大幅に向上させることができます。
遅延キュー(Metric)
トリガー時刻にまだ達していないタスクキュー
メトリクスセット:DFF_delay_queue
| フィールド | タイプ | 説明 | サンプル値 |
|---|---|---|---|
queue |
Tag | キュー | "8" |
length |
Field | キューの長さ | 100 |
ワーカーキュー(Metric)
トリガー時刻に達したタスクキュー
メトリクスセット:DFF_worker_queue
| フィールド | タイプ | 説明 | サンプル値 |
|---|---|---|---|
queue |
Tag | キュー | "8" |
length |
Field | キューの長さ | 100 |
worker_count |
Field | キューを監視するワーカー数 | 5 |
process_count |
Field | キューを監視するプロセス数 | 25 |
関数トリガー数(Metric)
メトリクスセット:DFF_func_trigger
| フィールド | タイプ | 説明 | サンプル値 |
|---|---|---|---|
func_id |
Tag | 関数 ID | "demo__test.run" |
trigger_count_per_minute |
Field | 1分あたりのトリガー数 | 100 |
関数実行数(Metric)
メトリクスセット:DFF_func_run
| フィールド | タイプ | 説明 | サンプル値 |
|---|---|---|---|
func_id |
Tag | 関数 ID | "demo__test.run" |
run_count_per_minute |
Field | 1分あたりの実行数 | 100 |
関数実行ステータス数(Metric)
メトリクスセット:DFF_func_status
| フィールド | タイプ | 説明 | サンプル値 |
|---|---|---|---|
status |
Tag | 関数の実行状態 | "success" |
status_count_per_minute |
Field | 1分あたりのステータス数 | 100 |
関数実行所要時間(Metric)
メトリクスセット:DFF_func_cost
| フィールド | タイプ | 説明 | サンプル値 |
|---|---|---|---|
wait_cost_sum_per_minute |
Field | 1分あたりの待機時間の合計(ミリ秒) | 10000 |
queue_cost_sum_per_minute |
Field | 1分あたりのキュー待ち時間の合計(ミリ秒) | 10000 |
run_cost_sum_per_minute |
Field | 1分あたりの実行時間の合計(ミリ秒) | 10000 |
total_cost_sum_per_minute |
Field | 1分あたりの総所要時間合計(ミリ秒) | 10000 |
cpu_cost_sum_per_minute |
Field | 1分あたりのCPU時間の合計(ミリ秒) | 10000 |
non_cpu_cost_sum_per_minute |
Field | 1分あたりの非CPU時間の合計(ミリ秒) | 10000 |
キャッシュデータベース(Metric)
メトリクスセット:DFF_cache_db
| フィールド | タイプ | 説明 | サンプル値 |
|---|---|---|---|
server |
Tag | 対象データベース(HOST:PORT/DB) |
"127.0.0.1:6379/5" |
keys |
Field | Key数 | 100 |
used_memory |
Field | メモリ使用量(バイト) | 10000 |
connected_clients |
Field | 接続中のクライアント数 | 100 |
uptime |
Field | サービス稼働時間(秒) | 60 |
データベーステーブル(Metric)
メトリクスセット:DFF_db_table
| フィールド | タイプ | 説明 | サンプル値 |
|---|---|---|---|
server |
Tag | 対象データベース(HOST:PORT/DB) |
"127.0.0.1:3306/dataflux_func" |
name |
Tag | テーブル名 | "biz_main_func_api" |
rows |
Field | 行数 | 10 |
data_size |
Field | データ占有サイズ(バイト) | 100 |
index_size |
Field | インデックス占有サイズ(バイト) | 100 |
total_size |
Field | 総占有サイズ(バイト) | 200 |
avg_row_size |
Field | 平均行占有サイズ(バイト) | 100 |
定期実行タスクのスケジュール(Metric)
メトリクスセット:DFF_cron_job_scheduled
| フィールド | タイプ | 説明 | サンプル値 |
|---|---|---|---|
scheduled_count_per_week |
Field | 1週間あたりのスケジュール実行数 | 604800 |
scheduled_count_per_day |
Field | 1日あたりのスケジュール実行数 | 86400 |
scheduled_count_per_hour |
Field | 1時間あたりのスケジュール実行数 | 3600 |
scheduled_count_per_minute |
Field | 1分あたりのスケジュール実行数 | 60 |
scheduled_count_per_second |
Field | 1秒あたりのスケジュール実行数 | 1 |
業務エンティティ(Metric)
メトリクスセット:DFF_entity
| フィールド | タイプ | 説明 | サンプル値 |
|---|---|---|---|
entity |
Tag | 業務エンティティ | "funcAPI" |
count |
Field | 件数 | 100 |
enabled_count |
Field | 有効な件数 | 99 |
セルフモニタリングデータのアップロード Panic レベル(Metric)
メトリクスセット:DFF_self_monitor_upload_panic_level
| フィールド | タイプ | 説明 | サンプル値 |
|---|---|---|---|
panic_level |
Field | Panic レベル | 10 |
Func サービス情報(Logging)
メトリクスセット:DFF_service_info
| フィールド | タイプ | 説明 | サンプル値 |
|---|---|---|---|
name |
Tag | サービス名 | "server"、"worker"、"beat" |
version |
Tag | バージョン | "7.1.11" |
edition |
Tag | エディション | "GSE" |
hostname |
Tag | ホスト名 | "web001" |
pid |
Tag | プロセス PID | 1234 |
uptime |
Field | サービス稼働時間(秒) | 60 |
システムタスク記録 / 関数タスク記録(Logging)
DataFlux Func は、内部システムタスクまたは関数タスクを実行した後、対応するタスクログをアップロードします。ログビューアで確認できます。
| メトリクスセット | 説明 |
|---|---|
DFF_task_record |
システムタスク記録 |
DFF_task_record_func |
関数タスク記録 |
| フィールド | 説明 | システムタスク記録 | 関数タスク記録 |
|---|---|---|---|
source |
データソース | DFF_task_record に固定 |
DFF_task_record_func に固定 |
site_name |
サイト名 | ||
id |
タスク ID | ||
name |
タスク名 | ||
queue |
所属キュー | ||
task_status |
タスクステータス(可能な値は後述) | ||
root_task_id |
ルートタスク ID | ||
script_set_id |
所属スクリプトセット ID | ||
script_id |
所属スクリプト ID | ||
func_id |
関数 ID | ||
func_name |
関数名 | ||
origin |
ソース(可能な値は後述) | ||
origin_id |
ソース ID 例:定期実行タスク ID |
||
script_set_title |
所属スクリプトセットタイトル | ||
script_title |
所属スクリプトタイトル | ||
func_title |
関数タイトル | ||
cron_job_exec_mode |
定期実行タスク実行モード | ||
func_call_kwargs |
関数に渡すパラメータ | ||
cron_expr |
定期実行タスク Crontab 式 | ||
call_chain |
呼び出しチェーン | ||
return_value |
Return 戻り値 | ||
message |
タスクログ | ||
kwargs |
タスクパラメータ | ||
eta |
予定実行時間 | ||
delay |
遅延実行時間(秒) | ||
timeout |
タイムアウト時間(秒) | ||
expires |
有効期限(秒) | ||
ignore_result |
結果を無視するかどうか | ||
result |
結果内容 | ||
exception_from |
例外の発生元 | ||
exception_type |
例外タイプ | ||
exception |
例外内容 | ||
origin_exception_type |
元の例外タイプ | ||
origin_exception |
元の例外内容 | ||
traceback |
トレースバック | ||
trigger_time_iso |
トリガー時間(ISO 日付形式) | ||
start_time_iso |
開始時間(ISO 日付形式) | ||
end_time_iso |
終了時間(ISO 日付形式) | ||
wait_cost |
待ち時間(ミリ秒) | ||
run_cost |
実行所要時間(ミリ秒) | ||
total_cost |
合計所要時間(ミリ秒) | ||
cpu_cost |
CPU 所要時間(ミリ秒) | ||
cpu_cost_percent |
CPU 所要時間の割合 | ||
non_cpu_cost |
非 CPU 所要時間(ミリ秒) | ||
non_cpu_cost_percent |
非 CPU 所要時間の割合 | ||
sys_db_query_count |
システム DB クエリ回数 | ||
sys_db_query_details |
システム DB クエリ詳細 | ||
sys_cache_db_query_count |
システムキャッシュ クエリ回数 | ||
sys_cache_db_query_details |
システムキャッシュ クエリ詳細 | ||
status |
ログステータス、可能な値は以下を参照 | ||
workspace_uuid |
ワークスペース ID | ||
df_monitor_checker_id |
モニター ID | ||
df_monitor_id |
アラートポリシー ID | ||
df_wksp_id |
wksp_xxxxx フィールドに関わる関数のみ |
||
df_rul_id |
rul_xxxxx フィールドに関わる関数のみ |
5. 関連フィールドの詳細
一部フィールドの詳細は以下のとおり
フィールド task_status と status
DataFlux Func のアップロードログでは、task_status と status は 1 対 1 の関係にあり、task_status はタスクステータスの説明、status はデータプラットフォームの仕様を満たすステータス値です。
具体的な対応表は以下のとおりです:
| task_status 値 | status 値 | 説明 |
|---|---|---|
success |
ok |
成功 |
failure |
critical |
失敗 |
skip |
warning |
タスクスキップ |
フィールド origin と origin_id
origin と origin_id フィールドは、関数タスクの実行ソースをマークするために使用され、具体的な値は以下のとおりです:
| origin 値 | 説明 | origin_id 値の意味 | 備考 |
|---|---|---|---|
funcAPI |
関数 API | 関数 API ID | |
cronJob |
定期実行タスク | 定期実行タスク ID | |
direct |
直接関数呼び出し 例:データプラットフォーム Studio がクラスター内から呼び出す |
direct に固定 |
|
integration |
スクリプトセット統合によりトリガー | {統合タイプ}.{起動方式}-{関数 ID} |
|
syncAPI |
同期 API | 同期 API ID | 最新版では funcAPI に置き換えられています |
asyncAPI |
非同期 API | 非同期 API ID | 最新版では funcAPI に置き換えられています |
authLink |
認証リンク | 認証リンク ID | 最新版では syncAPI に置き換えられています |
crontab |
自動トリガー設定 | 自動トリガー設定 ID | 最新版では cronJob に置き換えられています |
batch |
バッチ処理 | バッチ処理 ID | 最新版では asyncAPI に置き換えられています |