Supported OS Linux Windows Mac OS

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

To find out if this integration is available in your organization, see your Datadog Integrations page or ask your organization administrator.

To initiate an exception request to enable this integration for your organization, email support@ddog-gov.com.

Consul Dash

概要

Datadog Agent は、以下のような多くのメトリクスを Consul ノードから収集します。

  • Consul ピアの合計数
  • サービス健全性 - 特定のサービスに対して、UP、PASSING、WARNING、CRITICAL なノードの数
  • ノード健全性 - 特定のノードに対して、UP、PASSING、WARNING、CRITICAL なサービスの数
  • ネットワーク座標系 - データセンター間およびデータセンター内のレイテンシー

Consul Agent は DogStatsD を使ってさらに多くのメトリクスを提供できます。これらは、Consul に依存するサービスではなく、Consul 自体の内部健全性に関連するメトリクスです。以下のメトリクスがあります。

  • Serf のイベントとメンバーフラップ
  • Raft プロトコル
  • DNS パフォーマンス

その他にも多数あります。

メトリクスに加えて、Datadog Agent は Consul の健全性チェックごとにサービスチェックを送信し、新しいリーダー選出ごとにイベントを送信します。

セットアップ

インストール

Datadog Agent の Consul チェックは Datadog Agent パッケージに含まれているため、Consul ノードに追加でインストールする必要はありません。

設定

ホスト

ホストで実行中の Agent に対してこのチェックを構成するには

メトリクスの収集
  1. Consul メトリクスの収集を開始するには、conf.d/ フォルダーにある consul.d/conf.yaml ファイルを編集してください。エージェントの設定ディレクトリ のルートにあります。すべての設定オプションについては、サンプル consul.d/conf.yaml を参照してください。

    init_config:
    
    instances:
      ## @param url - string - required
      ## Where your Consul HTTP server lives,
      ## point the URL at the leader to get metrics about your Consul cluster.
      ## Use HTTPS instead of HTTP if your Consul setup is configured to do so.
      #
      - url: http://localhost:8500
    
  2. Restart the Agent.

OpenMetrics

オプションで、use_prometheus_endpoint コンフィギュレーションオプションを有効にして、Consul Prometheus エンドポイントから追加のメトリクスセットを取得できます。

: DogStatsD または Prometheus メソッドを使用し、同じインスタンスに両方を有効化しないようご注意ください。

  1. Prometheus エンドポイントへメトリクスを公開するよう Consul を構成します。メインの Consul 構成ファイルのトップレベル telemetry キー配下に prometheus_retention_time を設定してください。

    {
      ...
      "telemetry": {
        "prometheus_retention_time": "360h"
      },
      ...
    }
    
  2. Prometheus エンドポイントを使用するには、Agent 構成ディレクトリ 直下の conf.d/ フォルダーにある consul.d/conf.yaml を編集します。

    instances:
        - url: <EXAMPLE>
          use_prometheus_endpoint: true
    
  3. Restart the Agent.

DogStatsD

Prometheus エンドポイントの代わりに、DogStatsD を使用して同じ追加メトリクスを Agent へ送信するよう Consul を構成できます。

  1. Consul のメインのコンフィギュレーションファイルで、最上位レベルの telemetry キーの下にネストした dogstatsd_addr を追加することで、DogStatsD メトリクスを送信するよう Consul を構成します。

    {
      ...
      "telemetry": {
        "dogstatsd_addr": "127.0.0.1:8125"
      },
      ...
    }
    
  2. メトリクスに正しいタグを付与するため、Datadog Agent メイン構成ファイル datadog.yaml を更新し、以下の設定を追加してください。

    # dogstatsd_mapper_cache_size: 1000  # default to 1000
    dogstatsd_mapper_profiles:
      - name: consul
        prefix: "consul."
        mappings:
          - match: 'consul\.http\.([a-zA-Z]+)\.(.*)'
            match_type: "regex"
            name: "consul.http.request"
            tags:
              method: "$1"
              path: "$2"
          - match: 'consul\.raft\.replication\.appendEntries\.logs\.([0-9a-f-]+)'
            match_type: "regex"
            name: "consul.raft.replication.appendEntries.logs"
            tags:
              peer_id: "$1"
          - match: 'consul\.raft\.replication\.appendEntries\.rpc\.([0-9a-f-]+)'
            match_type: "regex"
            name: "consul.raft.replication.appendEntries.rpc"
            tags:
              peer_id: "$1"
          - match: 'consul\.raft\.replication\.heartbeat\.([0-9a-f-]+)'
            match_type: "regex"
            name: "consul.raft.replication.heartbeat"
            tags:
              peer_id: "$1"
    
  3. Restart the Agent.

ログ収集

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

  1. Datadog Agent で、ログの収集はデフォルトで無効になっています。以下のように、datadog.yaml ファイルでこれを有効にします。

    logs_enabled: true
    
  2. consul.yaml ファイルでこのコンフィギュレーションブロックを編集して、Consul ログを収集します。

    logs:
      - type: file
        path: /var/log/consul_server.log
        source: consul
        service: myservice
    

    path パラメーターと service パラメーターの値を変更し、環境に合わせて構成してください。 利用可能なすべての設定オプションについては、サンプル consul.d/conf.yaml を参照してください。

  3. Restart the Agent.

コンテナ化

コンテナ化環境の場合は、パラメータの適用方法について 自動検出 インテグレーション テンプレート を参照してください。

メトリクスの収集
パラメーター
<INTEGRATION_NAME>consul
<INIT_CONFIG>空白または {}
<INSTANCE_CONFIG>{"url": "https://%%host%%:8500"}
ログ収集

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

Datadog Agent ではログ収集はデフォルトで無効になっています。有効にするには、Kubernetes のログ収集 を参照してください。

パラメーター
<LOG_CONFIG>{"source": "consul", "service": "<サービス名>"}

検証

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

: Consul ノードでデバッグログが有効になっている場合は、Datadog Agent の通常のポーリングが Consul ログに以下を表示します。

2017/03/27 21:38:12 [DEBUG] http: Request GET /v1/status/leader (59.344us) from=127.0.0.1:53768
2017/03/27 21:38:12 [DEBUG] http: Request GET /v1/status/peers (62.678us) from=127.0.0.1:53770
2017/03/27 21:38:12 [DEBUG] http: Request GET /v1/health/state/any (106.725us) from=127.0.0.1:53772
2017/03/27 21:38:12 [DEBUG] http: Request GET /v1/catalog/services (79.657us) from=127.0.0.1:53774
2017/03/27 21:38:12 [DEBUG] http: Request GET /v1/health/service/consul (153.917us) from=127.0.0.1:53776
2017/03/27 21:38:12 [DEBUG] http: Request GET /v1/coordinate/datacenters (71.778us) from=127.0.0.1:53778
2017/03/27 21:38:12 [DEBUG] http: Request GET /v1/coordinate/nodes (84.95us) from=127.0.0.1:53780

Consul Agent から DogStatsD へ

netstat を使用して、Consul のメトリクスも送信されていることを確認します。

$ sudo netstat -nup | grep "127.0.0.1:8125.*ESTABLISHED"
udp        0      0 127.0.0.1:53874         127.0.0.1:8125          ESTABLISHED 23176/consul

収集データ

メトリクス

consul.catalog.nodes_critical
(gauge)
[Integration] 登録済みノードのうち service ステータスが critical のノード数
node として表示
consul.catalog.nodes_passing
(gauge)
[Integration] 登録済みノードのうち service ステータスが passing のノード数
node として表示
consul.catalog.nodes_up
(gauge)
[Integration] ノード数
node として表示
consul.catalog.nodes_warning
(gauge)
[Integration] 登録済みノードのうち service ステータスが warning のノード数
node として表示
consul.catalog.services_count
(gauge)
[Integration] service タグ、ノード名、ステータスなどの条件に一致する service 数をカウントするメトリクス。sum by アグリゲータでクエリします。
service として表示
consul.catalog.services_critical
(gauge)
[Integration] ノード上の critical service 合計
service として表示
consul.catalog.services_passing
(gauge)
[Integration] ノード上の passing service 合計
service として表示
consul.catalog.services_up
(gauge)
[Integration] ノード上で登録されている service 合計
service として表示
consul.catalog.services_warning
(gauge)
[Integration] ノード上の warning service 合計
service として表示
consul.catalog.total_nodes
(gauge)
[Integration] Consul クラスターに登録されているノード数
node として表示
consul.check.up
(gauge)
サービス チェックのステータスを表すメトリクス。0 = unavailable、1 = passing、2 = warning、3 = critical。
consul.client.rpc
(count)
[DogStatsD] [Prometheus] クライアント モードの Consul エージェントが Consul サーバーへ RPC リクエストを送信するたびにインクリメントされます。これは当該エージェントが Consul サーバーに与える負荷を示します。サーバーでは生成されず、クライアント モードのエージェントのみが生成します。
request として表示
consul.client.rpc.failed
(count)
[DogStatsD] [Prometheus] クライアント モードの Consul エージェントが Consul サーバーへ RPC リクエストを送信し失敗したときにインクリメントされます
request として表示
consul.http.request
(gauge)
[DogStatsD] 指定された HTTP リクエスト (メソッドとパス) を処理するのにかかった時間を計測します。README で説明されている DogStatsD マッパを使用すると、パスはタグにマッピングされ、service 名やキー名などの詳細は含まれません。これらのパスにはプレースホルダーとしてアンダースコアが含まれます (例: http_method:GET, path:v1.kv._))
millisecond として表示
consul.http.request.count
(count)
[Prometheus] 指定された HTTP リクエスト (メソッドとパス) を処理するのにかかった時間のカウント。パスとメソッドのラベルを含みます。パスには service 名やキー名などの詳細は含まれず、プレースホルダーとしてアンダースコアが含まれます (例: path=v1.kv._))
millisecond として表示
consul.http.request.quantile
(gauge)
[Prometheus] 指定された HTTP リクエスト (メソッドとパス) を処理するのにかかった時間の分位数。パスとメソッドのラベルを含みます。パスには service 名やキー名などの詳細は含まれず、プレースホルダーとしてアンダースコアが含まれます (例: path=v1.kv._))
millisecond として表示
consul.http.request.sum
(count)
[Prometheus] 指定された HTTP リクエスト (メソッドとパス) を処理するのにかかった時間の合計。パスとメソッドのラベルを含みます。パスには service 名やキー名などの詳細は含まれず、プレースホルダーとしてアンダースコアが含まれます (例: path=v1.kv._))
millisecond として表示
consul.memberlist.degraded.probe
(gauge)
[DogStatsD] [Prometheus] このメトリクスは Consul エージェントが低速プローブ レートで他エージェントへ障害検出を実行した回数をカウントします。エージェントは自身のヘルス メトリクスを指標とし、ヘルス スコアが低いほどノードは健全であることを示します。
consul.memberlist.gossip.95percentile
(gauge)
[DogStatsD] ランダムに選択されたノード集合へブロードキャストされたゴシップ (メッセージ) 数の p95
message として表示
consul.memberlist.gossip.avg
(gauge)
[DogStatsD] ランダムに選択されたノード集合へブロードキャストされたゴシップ (メッセージ) 数の平均
message として表示
consul.memberlist.gossip.count
(count)
[DogStatsD] [Prometheus] consul.memberlist.gossip のサンプル数
consul.memberlist.gossip.max
(gauge)
[DogStatsD] ランダムに選択されたノード集合へブロードキャストされたゴシップ (メッセージ) 数の最大値
message として表示
consul.memberlist.gossip.median
(gauge)
[DogStatsD] ランダムに選択されたノード集合へブロードキャストされたゴシップ (メッセージ) 数の中央値
message として表示
consul.memberlist.gossip.quantile
(gauge)
[Prometheus] ランダムに選択されたノード集合へブロードキャストされたゴシップ (メッセージ) 数の分位数
message として表示
consul.memberlist.gossip.sum
(count)
[DogStatsD] [Prometheus] ランダムに選択されたノード集合へブロードキャストされたゴシップ (メッセージ) 数の合計
message として表示
consul.memberlist.health.score
(gauge)
[DogStatsD] [Prometheus] このメトリクスはプロトコルのソフト リアルタイム要件を満たす度合いに基づき、ノードが自身の健全性をどのように認識しているかを示します。値は 0〜8 で、0 は「完全に健全」を示します。詳細は Lifeguard ペーパー (セクション IV) を参照してください: https://arxiv.org/pdf/1707.00788.pdf
consul.memberlist.msg.alive
(count)
[DogStatsD] [Prometheus] ネットワーク レイヤーのメッセージ情報に基づいて、これまでに把握した稼働中の Consul エージェント数をカウントします。
consul.memberlist.msg.dead
(count)
[DogStatsD] [Prometheus] Consul エージェントが他エージェントを dead ノードとしてマークした回数をカウントします
message として表示
consul.memberlist.msg.suspect
(count)
[DogStatsD] [Prometheus] Consul エージェントがゴシップ プロトコルのプローブ中に他エージェントを失敗と疑った回数
consul.memberlist.probenode.95percentile
(gauge)
[DogStatsD] 選択された Consul エージェントに対して 1 回の障害検出ラウンドを実行するのに要した時間の p95
node として表示
consul.memberlist.probenode.avg
(gauge)
[DogStatsD] 選択された Consul エージェントに対して 1 回の障害検出ラウンドを実行するのに要した時間の平均
node として表示
consul.memberlist.probenode.count
(count)
[DogStatsD] [Prometheus] consul.memberlist.probenode のサンプル数
consul.memberlist.probenode.max
(gauge)
[DogStatsD] 選択された Consul エージェントに対して 1 回の障害検出ラウンドを実行するのに要した時間の最大値
node として表示
consul.memberlist.probenode.median
(gauge)
[DogStatsD] 選択された Consul エージェントに対して 1 回の障害検出ラウンドを実行するのに要した時間の中央値
node として表示
consul.memberlist.probenode.quantile
(gauge)
[Prometheus] 選択された Consul エージェントに対して 1 回の障害検出ラウンドを実行するのに要した時間の分位数
node として表示
consul.memberlist.probenode.sum
(count)
[DogStatsD] [Prometheus] 選択された Consul エージェントに対して 1 回の障害検出ラウンドを実行するのに要した時間の合計
node として表示
consul.memberlist.pushpullnode.95percentile
(gauge)
[DogStatsD] このエージェントと状態を交換した Consul エージェント数の p95
node として表示
consul.memberlist.pushpullnode.avg
(gauge)
[DogStatsD] このエージェントと状態を交換した Consul エージェント数の平均
node として表示
consul.memberlist.pushpullnode.count
(count)
[DogStatsD] [Prometheus] consul.memberlist.pushpullnode のサンプル数
consul.memberlist.pushpullnode.max
(gauge)
[DogStatsD] このエージェントと状態を交換した Consul エージェント数の最大値
node として表示
consul.memberlist.pushpullnode.median
(gauge)
[DogStatsD] このエージェントと状態を交換した Consul エージェント数の中央値
node として表示
consul.memberlist.pushpullnode.quantile
(gauge)
[Prometheus] このエージェントと状態を交換した Consul エージェント数の分位数
consul.memberlist.pushpullnode.sum
(count)
[DogStatsD] [Prometheus] このエージェントと状態を交換した Consul エージェント数の合計
consul.memberlist.tcp.accept
(count)
[DogStatsD] [Prometheus] Consul エージェントが受信 TCP ストリーム接続を受け入れた回数をカウントします
connection として表示
consul.memberlist.tcp.connect
(count)
[DogStatsD] [Prometheus] Consul エージェントが他エージェントと push/pull 同期を開始した回数をカウントします
connection として表示
consul.memberlist.tcp.sent
(count)
[DogStatsD] [Prometheus] Consul エージェントが TCP プロトコルで送信したバイト総数を計測します
byte として表示
consul.memberlist.udp.received
(count)
[DogStatsD] [Prometheus] Consul エージェントが UDP プロトコルで送受信したバイト総数を計測します
byte として表示
consul.memberlist.udp.sent
(count)
[DogStatsD] [Prometheus] Consul エージェントが UDP プロトコルで送受信したバイト総数を計測します
byte として表示
consul.net.node.latency.max
(gauge)
[Integration] このノードから他のすべてのノードへの最大レイテンシー
millisecond として表示
consul.net.node.latency.median
(gauge)
[Integration] このノードから他のすべてのノードへの中央値レイテンシー
millisecond として表示
consul.net.node.latency.min
(gauge)
[Integration] このノードから他のすべてのノードへの最小レイテンシー
millisecond として表示
consul.net.node.latency.p25
(gauge)
[Integration] このノードから他のすべてのノードへの P25 レイテンシー
millisecond として表示
consul.net.node.latency.p75
(gauge)
[Integration] このノードから他のすべてのノードへの P75 レイテンシー
millisecond として表示
consul.net.node.latency.p90
(gauge)
[Integration] このノードから他のすべてのノードへの P90 レイテンシー
millisecond として表示
consul.net.node.latency.p95
(gauge)
[Integration] このノードから他のすべてのノードへの P95 レイテンシー
millisecond として表示
consul.net.node.latency.p99
(gauge)
[Integration] このノードから他のすべてのノードへの P99 レイテンシー
millisecond として表示
consul.peers
(gauge)
[Integration] ピア セット内のピア数
consul.raft.apply
(count)
[DogStatsD] [Prometheus] 発生している Raft トランザクション数
transaction として表示
consul.raft.commitTime.95percentile
(gauge)
[DogStatsD] リーダーで Raft ログに新しいエントリをコミットするのに要する時間の p95
millisecond として表示
consul.raft.commitTime.avg
(gauge)
[DogStatsD] リーダーで Raft ログに新しいエントリをコミットするのに要する時間の平均
millisecond として表示
consul.raft.commitTime.count
(count)
[DogStatsD] [Prometheus] raft.commitTime のサンプル数
consul.raft.commitTime.max
(gauge)
[DogStatsD] リーダーで Raft ログに新しいエントリをコミットするのに要する時間の最大値
millisecond として表示
consul.raft.commitTime.median
(gauge)
[DogStatsD] リーダーで Raft ログに新しいエントリをコミットするのに要する時間の中央値
millisecond として表示
consul.raft.commitTime.quantile
(gauge)
[Prometheus] リーダーで Raft ログに新しいエントリをコミットするのに要する時間の分位数
millisecond として表示
consul.raft.commitTime.sum
(count)
[DogStatsD] [Prometheus] リーダーで Raft ログに新しいエントリをコミットするのに要する時間の合計
millisecond として表示
consul.raft.leader.dispatchLog.95percentile
(gauge)
[DogStatsD] リーダーがログ エントリをディスクに書き込むのに要する時間の p95
millisecond として表示
consul.raft.leader.dispatchLog.avg
(gauge)
[DogStatsD] リーダーがログ エントリをディスクに書き込むのに要する時間の平均
millisecond として表示
consul.raft.leader.dispatchLog.count
(count)
[DogStatsD] [Prometheus] raft.leader.dispatchLog のサンプル数
consul.raft.leader.dispatchLog.max
(gauge)
[DogStatsD] リーダーがログ エントリをディスクに書き込むのに要する時間の最大値
millisecond として表示
consul.raft.leader.dispatchLog.median
(gauge)
[DogStatsD] リーダーがログ エントリをディスクに書き込むのに要する時間の中央値
millisecond として表示
consul.raft.leader.dispatchLog.quantile
(gauge)
[Prometheus] リーダーがログ エントリをディスクに書き込むのに要する時間の分位数
millisecond として表示
consul.raft.leader.dispatchLog.sum
(count)
[DogStatsD] [Prometheus] リーダーがログ エントリをディスクに書き込むのに要する時間の合計
millisecond として表示
consul.raft.leader.lastContact.95percentile
(gauge)
[DogStatsD] フォロワーとのリースを最後に確認してから経過した時間の p95
millisecond として表示
consul.raft.leader.lastContact.avg
(gauge)
[DogStatsD] フォロワーとのリースを最後に確認してから経過した時間の平均
millisecond として表示
consul.raft.leader.lastContact.count
(count)
[DogStatsD] [Prometheus] raft.leader.lastContact のサンプル数
consul.raft.leader.lastContact.max
(gauge)
[DogStatsD] フォロワーとのリースを最後に確認してから経過した時間の最大値
millisecond として表示
consul.raft.leader.lastContact.median
(gauge)
[DogStatsD] フォロワーとのリースを最後に確認してから経過した時間の中央値
millisecond として表示
consul.raft.leader.lastContact.quantile
(gauge)
[Prometheus] フォロワーとのリースを最後に確認してから経過した時間の分位数
millisecond として表示
consul.raft.leader.lastContact.sum
(count)
[DogStatsD] [Prometheus] フォロワーとのリースを最後に確認してから経過した時間の合計
millisecond として表示
consul.raft.replication.appendEntries.logs
(count)
[DogStatsD] [Prometheus] エージェントへ複製されたログ エントリ数 (リーダーのログとの差分を解消するため)
entry として表示
consul.raft.replication.appendEntries.rpc.count
(count)
[DogStatsD] [Prometheus] append entries RFC がリーダー エージェントのログ エントリをフォロワー エージェントに複製するのに要した時間のカウント
millisecond として表示
consul.raft.replication.appendEntries.rpc.quantile
(gauge)
[Prometheus] append entries RFC がリーダー エージェントのログ エントリをフォロワー エージェントに複製するのに要した時間の分位数
millisecond として表示
consul.raft.replication.appendEntries.rpc.sum
(count)
[DogStatsD] [Prometheus] append entries RFC がリーダー エージェントのログ エントリをフォロワー エージェントに複製するのに要した時間の合計
millisecond として表示
consul.raft.replication.heartbeat.count
(count)
[DogStatsD] [Prometheus] appendEntries をピアに呼び出すのに要した時間のカウント
millisecond として表示
consul.raft.replication.heartbeat.quantile
(gauge)
[Prometheus] appendEntries をピアに呼び出すのに要した時間の分位数
millisecond として表示
consul.raft.replication.heartbeat.sum
(count)
[DogStatsD] [Prometheus] appendEntries をピアに呼び出すのに要した時間の合計
millisecond として表示
consul.raft.state.candidate
(count)
[DogStatsD] [Prometheus] 開始されたリーダー選挙の回数
event として表示
consul.raft.state.leader
(count)
[DogStatsD] [Prometheus] 完了したリーダー選挙の回数
event として表示
consul.runtime.gc_pause_ns.95percentile
(gauge)
[DogStatsD] Consul 起動以降の stop‑the‑world ガベージ コレクション (GC) ポーズに費やされたナノ秒数の p95
nanosecond として表示
consul.runtime.gc_pause_ns.avg
(gauge)
[DogStatsD] Consul 起動以降の stop‑the‑world ガベージ コレクション (GC) ポーズに費やされたナノ秒数の平均
nanosecond として表示
consul.runtime.gc_pause_ns.count
(count)
[DogStatsD] [Prometheus] consul.runtime.gc_pause_ns のサンプル数
consul.runtime.gc_pause_ns.max
(gauge)
[DogStatsD] Consul 起動以降の stop‑the‑world ガベージ コレクション (GC) ポーズに費やされたナノ秒数の最大値
nanosecond として表示
consul.runtime.gc_pause_ns.median
(gauge)
[DogStatsD] Consul 起動以降の stop‑the‑world ガベージ コレクション (GC) ポーズに費やされたナノ秒数の中央値
nanosecond として表示
consul.runtime.gc_pause_ns.quantile
(gauge)
[Prometheus] Consul 起動以降の stop‑the‑world ガベージ コレクション (GC) ポーズに費やされたナノ秒数の分位数
nanosecond として表示
consul.runtime.gc_pause_ns.sum
(count)
[DogStatsD] [Prometheus] Consul 起動以降の stop‑the‑world ガベージ コレクション (GC) ポーズに費やされたナノ秒数の合計
nanosecond として表示
consul.serf.coordinate.adjustment_ms.95percentile
(gauge)
[DogStatsD] ノード コーディネート 調整時間の p95 (ミリ秒)
millisecond として表示
consul.serf.coordinate.adjustment_ms.avg
(gauge)
[DogStatsD] ノード コーディネート 調整時間の平均 (ミリ秒)
millisecond として表示
consul.serf.coordinate.adjustment_ms.count
(count)
[DogStatsD] [Prometheus] consul.serf.coordinate.adjustment_ms のサンプル数
consul.serf.coordinate.adjustment_ms.max
(gauge)
[DogStatsD] ノード コーディネート 調整時間の最大値 (ミリ秒)
millisecond として表示
consul.serf.coordinate.adjustment_ms.median
(gauge)
[DogStatsD] ノード コーディネート 調整時間の中央値 (ミリ秒)
millisecond として表示
consul.serf.coordinate.adjustment_ms.quantile
(gauge)
[Prometheus] ノード コーディネート 調整時間の分位数 (ミリ秒)
millisecond として表示
consul.serf.coordinate.adjustment_ms.sum
(count)
[DogStatsD] [Prometheus] ノード コーディネート 調整時間の合計 (ミリ秒)
millisecond として表示
consul.serf.events
(count)
[DogStatsD] [Prometheus] Consul エージェントが serf イベントを処理するとインクリメントされます
event として表示
consul.serf.member.failed
(count)
[DogStatsD] [Prometheus] Consul エージェントが dead とマークされたときにインクリメントされます。これは、エージェントの過負荷、ネットワーク問題、または必須ポートで相互接続できない構成エラーを示す可能性があります。
consul.serf.member.flap
(count)
[DogStatsD] [Prometheus] Consul エージェントが dead とマークされ、その後すぐに復帰した回数
consul.serf.member.join
(count)
[DogStatsD] [Prometheus] Consul エージェントが join イベントを処理するとインクリメントされます
event として表示
consul.serf.member.left
(count)
[DogStatsD] [Prometheus] Consul エージェントがクラスターを離脱するとインクリメントされます
consul.serf.member.update
(count)
[DogStatsD] [Prometheus] Consul エージェントが更新されるとインクリメントされます
consul.serf.msgs.received.95percentile
(gauge)
[DogStatsD] serf メッセージ受信数の p95
message として表示
consul.serf.msgs.received.avg
(gauge)
[DogStatsD] serf メッセージ受信数の平均
message として表示
consul.serf.msgs.received.count
(count)
[DogStatsD] [Prometheus] serf メッセージ受信数のカウント
consul.serf.msgs.received.max
(gauge)
[DogStatsD] serf メッセージ受信数の最大値
message として表示
consul.serf.msgs.received.median
(gauge)
[DogStatsD] serf メッセージ受信数の中央値
message として表示
consul.serf.msgs.received.quantile
(gauge)
[Prometheus] serf メッセージ受信数の分位数
message として表示
consul.serf.msgs.received.sum
(count)
[DogStatsD] [Prometheus] serf メッセージ受信数の合計
message として表示
consul.serf.msgs.sent.95percentile
(gauge)
[DogStatsD] serf メッセージ送信数の p95
message として表示
consul.serf.msgs.sent.avg
(gauge)
[DogStatsD] serf メッセージ送信数の平均
message として表示
consul.serf.msgs.sent.count
(count)
[DogStatsD] [Prometheus] serf メッセージ送信数のカウント
consul.serf.msgs.sent.max
(gauge)
[DogStatsD] serf メッセージ送信数の最大値
message として表示
consul.serf.msgs.sent.median
(gauge)
[DogStatsD] serf メッセージ送信数の中央値
message として表示
consul.serf.msgs.sent.quantile
(gauge)
[Prometheus] serf メッセージ送信数の分位数
message として表示
consul.serf.msgs.sent.sum
(count)
[DogStatsD] [Prometheus] serf メッセージ送信数の合計
message として表示
consul.serf.queue.event.95percentile
(gauge)
[DogStatsD] serf イベント キュー サイズの p95
consul.serf.queue.event.avg
(gauge)
[DogStatsD] serf イベント キュー サイズの平均
consul.serf.queue.event.count
(count)
[DogStatsD] [Prometheus] serf イベント キュー内のアイテム数
consul.serf.queue.event.max
(gauge)
[DogStatsD] serf イベント キュー サイズの最大値
consul.serf.queue.event.median
(gauge)
[DogStatsD] serf イベント キュー サイズの中央値
consul.serf.queue.event.quantile
(gauge)
[Prometheus] serf イベント キュー サイズの分位数
consul.serf.queue.intent.95percentile
(gauge)
[DogStatsD] serf インテント キュー サイズの p95
consul.serf.queue.intent.avg
(gauge)
[DogStatsD] serf インテント キュー サイズの平均
consul.serf.queue.intent.count
(count)
[DogStatsD] [Prometheus] serf インテント キュー内のアイテム数
consul.serf.queue.intent.max
(gauge)
[DogStatsD] serf インテント キュー サイズの最大値
consul.serf.queue.intent.median
(gauge)
[DogStatsD] serf インテント キュー サイズの中央値
consul.serf.queue.intent.quantile
(gauge)
[Prometheus] serf インテント キュー サイズの分位数
consul.serf.queue.query.95percentile
(gauge)
[DogStatsD] serf クエリ キュー サイズの p95
consul.serf.queue.query.avg
(gauge)
[DogStatsD] serf クエリ キュー サイズの平均
consul.serf.queue.query.count
(count)
[DogStatsD] [Prometheus] serf クエリ キュー内のアイテム数
consul.serf.queue.query.max
(gauge)
[DogStatsD] serf クエリ キュー サイズの最大値
consul.serf.queue.query.median
(gauge)
[DogStatsD] serf クエリ キュー サイズの中央値
consul.serf.queue.query.quantile
(gauge)
[Prometheus] serf クエリ キュー サイズの分位数
consul.serf.snapshot.appendline.95percentile
(gauge)
[DogStatsD] Consul エージェントが既存ログへエントリを追加する時間の p95
millisecond として表示
consul.serf.snapshot.appendline.avg
(gauge)
[DogStatsD] Consul エージェントが既存ログへエントリを追加する時間の平均
millisecond として表示
consul.serf.snapshot.appendline.count
(count)
[DogStatsD] [Prometheus] consul.serf.snapshot.appendline のサンプル数
consul.serf.snapshot.appendline.max
(gauge)
[DogStatsD] Consul エージェントが既存ログへエントリを追加する時間の最大値
millisecond として表示
consul.serf.snapshot.appendline.median
(gauge)
[DogStatsD] Consul エージェントが既存ログへエントリを追加する時間の中央値
millisecond として表示
consul.serf.snapshot.appendline.quantile
(gauge)
[Prometheus] Consul エージェントが既存ログへエントリを追加する時間の分位数
millisecond として表示
consul.serf.snapshot.compact.95percentile
(gauge)
[DogStatsD] Consul エージェントがログをコンパクトする時間の p95 (スナップショットが十分大きい場合のみ実行)
millisecond として表示
consul.serf.snapshot.compact.avg
(gauge)
[DogStatsD] Consul エージェントがログをコンパクトする時間の平均 (スナップショットが十分大きい場合のみ実行)
millisecond として表示
consul.serf.snapshot.compact.count
(count)
[DogStatsD] [Prometheus] consul.serf.snapshot.compact のサンプル数
consul.serf.snapshot.compact.max
(gauge)
[DogStatsD] Consul エージェントがログをコンパクトする時間の最大値 (スナップショットが十分大きい場合のみ実行)
millisecond として表示
consul.serf.snapshot.compact.median
(gauge)
[DogStatsD] Consul エージェントがログをコンパクトする時間の中央値 (スナップショットが十分大きい場合のみ実行)
millisecond として表示
consul.serf.snapshot.compact.quantile
(gauge)
[Prometheus] Consul エージェントがログをコンパクトする時間の分位数 (スナップショットが十分大きい場合のみ実行)
millisecond として表示

DogStatsD が受信するメトリクスの説明については Consul Telemetry ドキュメント を参照してください。

ネットワーク レイテンシ メトリクスの計算方法については Consul Network Coordinates ドキュメント を参照してください。

イベント

consul.new_leader:
Datadog Agent は、Consul クラスターが新しいリーダーを選出すると、prev_consul_leadercurr_consul_leader、および consul_datacenter のタグを付けてイベントを送信します。

サービス チェック

consul.check

サービスが稼働中であれば OK、問題があれば WARNING、停止していれば CRITICAL を返します。

ステータス: ok, warning, critical, unknown

consul.up

Consul サーバーが稼働中であれば OK、それ以外は CRITICAL を返します。

Statuses: ok, critical

consul.can_connect

Agent が Consul へ HTTP リクエストを送信できれば OK、できなければ CRITICAL を返します。

Statuses: ok, critical

consul.prometheus.health

メトリクス エンドポイントへアクセスできない場合は CRITICAL、それ以外は OK を返します。

Statuses: ok, critical

トラブルシューティング

お問合せは、Datadog サポート まで。

その他の参考資料

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

Further Reading