Supported OS Linux Windows Mac OS

インテグレーションバージョン1.0.2

概要

このチェックは、Datadog Agent を通じて Argo Workflows を監視します。

セットアップ

Kubernetes 環境で実行されている Agent 用にこのチェックをインストールおよび構成する場合は、以下の手順に従ってください。コンテナ環境での構成の詳細については、オートディスカバリーのインテグレーションテンプレートのガイドを参照してください。

インストール

Agent リリース 7.53.0 から、Argo Workflows チェックは Datadog Agent パッケージに含まれています。お使いの環境に追加インストールする必要はありません。

このチェックは、OpenMetrics を使って、OpenMetrics エンドポイントからメトリクス を収集します。

構成

Argo Workflows ワークフローコントローラーでは、ポート 9090/metrics で Prometheus 形式のメトリクスが利用可能です。Agent がメトリクスの収集を開始するには、ワークフローコントローラーポッドにアノテーションを付ける必要があります。アノテーションの詳細については、オートディスカバリーインテグレーションテンプレートを参照してください。その他の構成オプションについては、サンプル argo_workflows.d/conf.yaml を参照してください。

Argo Workflows チェックの構成に必要なパラメーターは以下の 1 つだけです。

  • openmetrics_endpoint: このパラメーターには、Prometheus 形式のメトリクスが公開される場所を設定する必要があります。デフォルトのポートは 9090 です。コンテナ環境では、%%host%%ホストの自動検出に使用します。
apiVersion: v1
kind: Pod
# (...)
metadata:
  name: '<POD_NAME>'
  annotations:
    ad.datadoghq.com/argo-workflows.checks: |
      {
        "argo_workflows": {
          "init_config": {},
          "instances": [
            {
              "openmetrics_endpoint": "http://%%host%%:9090/metrics"
            }
          ]
        }
      }      
    # (...)
spec:
  containers:
    - name: 'argo-workflows'
# (...)

ログ収集

Agent バージョン 6.0 以降で利用可能

Argo Workflows のログは、Kubernetes を通じて、異なる Argo Workflows ポッドから収集することができます。Datadog Agent では、ログの収集はデフォルトで無効になっています。有効にするには、Kubernetes ログ収集を参照してください。

オートディスカバリーのインテグレーションテンプレートのガイドを参照して、次のパラメーターを適用してください。

パラメーター
<LOG_CONFIG>{"source": "argo_workflows", "service": "<SERVICE_NAME>"}

検証

Agent の status サブコマンドを実行し、Checks セクションで argo_workflows を探します。

収集データ

メトリクス

argo_workflows.current_workflows
(gauge)
Number of Workflows currently accessible by the controller by status (refreshed every 15s)
argo_workflows.error.count
(count)
Number of errors encountered by the controller by cause
Shown as error
argo_workflows.go.gc.duration.seconds.count
(count)
The summary count of garbage collection cycles in the Argo Workflows instance
argo_workflows.go.gc.duration.seconds.quantile
(gauge)
The pause duration of garbage collection cycles in the Argo Workflows instance by quantile
argo_workflows.go.gc.duration.seconds.sum
(count)
The sum of the pause duration of garbage collection cycles in the Argo Workflows instance
Shown as second
argo_workflows.go.goroutines
(gauge)
Number of goroutines that currently exist.
argo_workflows.go.info
(gauge)
Information about the Go environment.
argo_workflows.go.memstats.alloc_bytes
(gauge)
Number of bytes allocated and still in use.
Shown as byte
argo_workflows.go.memstats.alloc_bytes.count
(count)
Total number of bytes allocated, even if freed.
Shown as byte
argo_workflows.go.memstats.buck_hash.sys_bytes
(gauge)
Number of bytes used by the profiling bucket hash table.
Shown as byte
argo_workflows.go.memstats.frees.count
(count)
Total number of frees.
argo_workflows.go.memstats.gc.sys_bytes
(gauge)
Number of bytes used for garbage collection system metadata.
Shown as byte
argo_workflows.go.memstats.heap.alloc_bytes
(gauge)
Number of heap bytes allocated and still in use.
Shown as byte
argo_workflows.go.memstats.heap.idle_bytes
(gauge)
Number of heap bytes waiting to be used.
Shown as byte
argo_workflows.go.memstats.heap.inuse_bytes
(gauge)
Number of heap bytes that are in use.
Shown as byte
argo_workflows.go.memstats.heap.objects
(gauge)
Number of allocated objects.
argo_workflows.go.memstats.heap.released_bytes
(gauge)
Number of heap bytes released to OS.
Shown as byte
argo_workflows.go.memstats.heap.sys_bytes
(gauge)
Number of heap bytes obtained from system.
Shown as byte
argo_workflows.go.memstats.last_gc_time_seconds
(gauge)
Number of seconds since 1970 of last garbage collection.
Shown as second
argo_workflows.go.memstats.lookups.count
(count)
Total number of pointer lookups.
argo_workflows.go.memstats.mallocs.count
(count)
Total number of mallocs.
argo_workflows.go.memstats.mcache.inuse_bytes
(gauge)
Number of bytes in use by mcache structures.
Shown as byte
argo_workflows.go.memstats.mcache.sys_bytes
(gauge)
Number of bytes used for mcache structures obtained from system.
Shown as byte
argo_workflows.go.memstats.mspan.inuse_bytes
(gauge)
Number of bytes in use by mspan structures.
Shown as byte
argo_workflows.go.memstats.mspan.sys_bytes
(gauge)
Number of bytes used for mspan structures obtained from system.
Shown as byte
argo_workflows.go.memstats.next.gc_bytes
(gauge)
Number of heap bytes when next garbage collection will take place.
Shown as byte
argo_workflows.go.memstats.other.sys_bytes
(gauge)
Number of bytes used for other system allocations.
Shown as byte
argo_workflows.go.memstats.stack.inuse_bytes
(gauge)
Number of bytes in use by the stack allocator.
Shown as byte
argo_workflows.go.memstats.stack.sys_bytes
(gauge)
Number of bytes obtained from system for stack allocator.
Shown as byte
argo_workflows.go.memstats.sys_bytes
(gauge)
Number of bytes obtained from system.
Shown as byte
argo_workflows.go.threads
(gauge)
Number of OS threads created.
argo_workflows.k8s_request.count
(count)
Number of kubernetes requests executed. https://argo-workflows.readthedocs.io/en/release-3.5/metrics/#argoworkflowsk8srequesttotal
Shown as request
argo_workflows.log_messages.count
(count)
Total number of log messages.
Shown as message
argo_workflows.operation_duration_seconds.bucket
(count)
The count of observations in the histogram of durations of operations split into buckets by upper bound.
argo_workflows.operation_duration_seconds.count
(count)
The total count of observations in the histogram of durations of operations
argo_workflows.operation_duration_seconds.sum
(count)
Total time in seconds spent on operations
Shown as second
argo_workflows.pods
(gauge)
Number of Pods from Workflows currently accessible by the controller by status (refreshed every 15s)
argo_workflows.queue_adds.count
(count)
Adds to the queue
argo_workflows.queue_depth
(gauge)
Depth of the queue
argo_workflows.queue_latency.bucket
(count)
The count of observations for the time that objects spend waiting in the queue. Split into buckets by upper bounds
argo_workflows.queue_latency.count
(count)
The total count of observations for the time that objects spend waiting in the queue.
argo_workflows.queue_latency.sum
(count)
The total time that objects spend waiting in the queue.
Shown as second
argo_workflows.workers_busy
(gauge)
Number of workers currently busy
Shown as worker
argo_workflows.workflow_condition
(gauge)
Workflow condition. https://argo-workflows.readthedocs.io/en/release-3.5/metrics/#argoworkflowsworkflow_condition
argo_workflows.workflows_processed.count
(count)
Number of workflow updates processed

イベント

Argo Workflows インテグレーションには、イベントは含まれません。

サービスチェック

argo_workflows.openmetrics.health
Returns CRITICAL if the check cannot access the OpenMetrics metrics endpoint of Argo Workflows.
Statuses: ok, critical

トラブルシューティング

ご不明な点は、Datadog のサポートチームまでお問合せください。

その他の参考資料

お役に立つドキュメント、リンクや記事: