Supported OS Linux Windows Mac OS

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

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 サポート まで。

その他の参考資料

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