FoundationDB

Supported OS Linux Windows

Integrationv1.2.0

概要

このチェックでは、Datadog Agent を通じて FoundationDB を監視します。FoundationDB クラスターが健全であることを確認するほか、多数のメトリクスを収集し、オプションで FoundationDB トランザクションログも収集します。

セットアップ

チェックとメトリクスはどちらも FoundationDB クラスター全体に適用され、1 つのホストにのみインストールする必要があります。このホストは FoundationDB を実行しているホストである必要はなく、アクセス可能なホストであれば問題ありません。

インストール

FoundationDB チェックは Datadog Agent パッケージに含まれていますが、FoundationDB クライアントがインストールされている必要があります。

コンフィギュレーション

ホスト

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

メトリクスの収集
  1. FoundationDB メトリクスの収集を開始するには、Agent の構成ディレクトリのルートにある conf.d/ フォルダ内の foundationdb.d/conf.yaml ファイルを編集します。 使用可能なすべての構成オプションの詳細については、サンプル foundationdb.d/conf.yaml を参照してください。

  2. チェックするクラスターは、デフォルトの場所にあるクラスターファイルを検索することで決定されます。クラスターファイルが他の場所にある場合は、 cluster_file プロパティを設定します。チェックインスタンスごとに監視できるクラスターは 1 つだけです。

  3. クラスターが TLS を使用するように構成されている場合、構成にさらなるプロパティを設定する必要があります。これらのプロパティは、 そのようなクラスターに接続するために fdbcli に与えられる TLS 関連のオプションの名前に従います。

  4. Agent を再起動します

ログの収集

FoundationDB はデフォルトで XML ログを書き込みますが、Datadog インテグレーションは JSON ログを想定しています。そのため、FoundationDB に構成変更を行う必要があります。

  1. foundationdb.conf ファイルを探します。fdbserver セクションで、 キー trace_format を追加または変更して、値を json にします。 また、logdir をメモしておきます。

    [fdbserver]
    ...
    logdir = /var/log/foundationdb
    trace_format = json
    
  2. FoundationDB サーバーを再起動し、変更を有効にします。 logdir にあるログが JSON で書き込まれていることを確認します。

  3. datadog.yaml ファイルでログ収集が有効になっていることを確認します。

    logs_enabled: true
    
  4. foundationdb.d/conf.yaml ファイルで、logs セクションのコメントを解除し、 パスを FoundationDB の構成ファイルにあるものに設定し、 *.json を追加します。

    logs:
      - type: file
        path: /var/log/foundationdb/*.json
        service: foundationdb
        source: foundationdb
    
  5. Datadog Agent が、ディレクトリの一覧表示とそのファイルの読み取りに必要な権限を 持っていることを確認します。

  6. Datadog Agent を再起動します。

コンテナ化

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

メトリクスの収集
パラメーター
<インテグレーション名>foundationdb
<初期コンフィギュレーション>空白または {}
<インスタンスコンフィギュレーション>{}
ログの収集

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

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

検証

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

収集データ

メトリクス

foundationdb.latency_probe.batch_priority_transaction_start_seconds
(gauge)
Batch priority transaction start seconds
Shown as second
foundationdb.latency_probe.commit_seconds
(gauge)

Shown as second
foundationdb.latency_probe.immediate_priority_transaction_start_seconds
(gauge)

Shown as second
foundationdb.latency_probe.read_seconds
(gauge)

Shown as second
foundationdb.latency_probe.transaction_start_seconds
(gauge)

Shown as second
foundationdb.machines
(gauge)

Shown as host
foundationdb.processes
(gauge)

Shown as process
foundationdb.degraded_processes
(gauge)

Shown as process
foundationdb.processes_per_role.master
(gauge)

Shown as process
foundationdb.processes_per_role.cluster_controller
(gauge)

Shown as process
foundationdb.processes_per_role.data_distributor
(gauge)

Shown as process
foundationdb.processes_per_role.ratekeeper
(gauge)

Shown as process
foundationdb.processes_per_role.coordinator
(gauge)

Shown as process
foundationdb.processes_per_role.proxy
(gauge)

Shown as process
foundationdb.processes_per_role.log
(gauge)

Shown as process
foundationdb.processes_per_role.storage
(gauge)

Shown as process
foundationdb.processes_per_role.resolver
(gauge)

Shown as process
foundationdb.workload.transactions.committed.counter
(count)

Shown as transaction
foundationdb.workload.transactions.committed.hz
(gauge)

Shown as transaction
foundationdb.workload.transactions.conflicted.counter
(count)

Shown as transaction
foundationdb.workload.transactions.conflicted.hz
(gauge)

Shown as transaction
foundationdb.workload.transactions.rejected_for_queued_too_long.counter
(count)

Shown as transaction
foundationdb.workload.transactions.rejected_for_queued_too_long.hz
(gauge)

Shown as transaction
foundationdb.workload.transactions.started.counter
(count)

Shown as transaction
foundationdb.workload.transactions.started.hz
(gauge)

Shown as transaction
foundationdb.workload.transactions.started_batch_priority.counter
(count)

Shown as transaction
foundationdb.workload.transactions.started_batch_priority.hz
(gauge)

Shown as transaction
foundationdb.workload.transactions.started_default_priority.counter
(count)

Shown as transaction
foundationdb.workload.transactions.started_default_priority.hz
(gauge)

Shown as transaction
foundationdb.workload.transactions.started_immediate_priority.counter
(count)

Shown as transaction
foundationdb.workload.transactions.started_immediate_priority.hz
(gauge)

Shown as transaction
foundationdb.workload.operations.location_requests.counter
(count)

Shown as operation
foundationdb.workload.operations.location_requests.hz
(gauge)

Shown as operation
foundationdb.workload.operations.low_priority_reads.counter
(count)

Shown as operation
foundationdb.workload.operations.low_priority_reads.hz
(gauge)

Shown as operation
foundationdb.workload.operations.memory_errors.counter
(count)

Shown as operation
foundationdb.workload.operations.memory_errors.hz
(gauge)

Shown as operation
foundationdb.workload.operations.read_requests.counter
(count)

Shown as operation
foundationdb.workload.operations.read_requests.hz
(gauge)

Shown as operation
foundationdb.workload.operations.reads.counter
(count)

Shown as operation
foundationdb.workload.operations.reads.hz
(gauge)

Shown as operation
foundationdb.workload.operations.writes.counter
(count)

Shown as operation
foundationdb.workload.operations.writes.hz
(gauge)

Shown as operation
foundationdb.data.system_kv_size_bytes
(gauge)

Shown as byte
foundationdb.data.total_disk_used_bytes
(gauge)

Shown as byte
foundationdb.data.total_kv_size_bytes
(gauge)

Shown as byte
foundationdb.data.least_operating_space_bytes_log_server
(gauge)

Shown as byte
foundationdb.data.moving_data.in_flight_bytes
(gauge)

Shown as byte
foundationdb.data.moving_data.in_queue_bytes
(gauge)

Shown as byte
foundationdb.data.moving_data.total_written_bytes
(gauge)

Shown as byte
foundationdb.datacenter_lag.seconds
(gauge)

Shown as second
foundationdb.instances
(count)

Shown as instance
foundationdb.process.role.input_bytes.hz
(gauge)

Shown as byte
foundationdb.process.role.input_bytes.counter
(count)

Shown as byte
foundationdb.process.role.durable_bytes.hz
(gauge)

Shown as byte
foundationdb.process.role.durable_bytes.counter
(count)

Shown as byte
foundationdb.process.role.queue_length
(gauge)

Shown as item
foundationdb.process.role.total_queries.hz
(gauge)

Shown as query
foundationdb.process.role.total_queries.counter
(count)

Shown as query
foundationdb.process.role.bytes_queried.hz
(gauge)

Shown as query
foundationdb.process.role.bytes_queried.counter
(count)

Shown as query
foundationdb.process.role.finished_queries.hz
(gauge)

Shown as query
foundationdb.process.role.finished_queries.counter
(count)

Shown as query
foundationdb.process.role.keys_queried.hz
(gauge)

Shown as key
foundationdb.process.role.keys_queried.counter
(count)

Shown as key
foundationdb.process.role.low_priority_queries.hz
(gauge)

Shown as query
foundationdb.process.role.low_priority_queries.counter
(count)

Shown as query
foundationdb.process.role.mutation_bytes.hz
(gauge)

Shown as byte
foundationdb.process.role.mutation_bytes.counter
(count)

Shown as byte
foundationdb.process.role.mutations.hz
(gauge)

Shown as item
foundationdb.process.role.mutations.counter
(count)

Shown as item
foundationdb.process.role.stored_bytes
(gauge)

Shown as byte
foundationdb.process.role.query_queue_max
(gauge)

Shown as query
foundationdb.process.role.local_rate
(gauge)

Shown as unit
foundationdb.process.role.kvstore_available_bytes
(gauge)

Shown as byte
foundationdb.process.role.kvstore_free_bytes
(gauge)

Shown as byte
foundationdb.process.role.kvstore_inline_keys
(gauge)

Shown as key
foundationdb.process.role.kvstore_total_bytes
(gauge)

Shown as byte
foundationdb.process.role.kvstore_total_nodes
(gauge)

Shown as byte
foundationdb.process.role.kvstore_total_size
(gauge)

Shown as byte
foundationdb.process.role.kvstore_used_bytes
(gauge)

Shown as byte
foundationdb.process.cpu.usage_cores
(gauge)

Shown as core
foundationdb.process.disk.free_bytes
(gauge)

Shown as byte
foundationdb.process.disk.reads.hz
(gauge)

Shown as read
foundationdb.process.disk.total_bytes
(gauge)

Shown as byte
foundationdb.process.disk.writes.hz
(gauge)

Shown as write
foundationdb.process.memory.available_bytes
(gauge)

Shown as byte
foundationdb.process.memory.limit_bytes
(gauge)

Shown as byte
foundationdb.process.memory.unused_allocated_memory
(gauge)

Shown as byte
foundationdb.process.memory.used_bytes
(gauge)

Shown as byte
foundationdb.process.network.connection_errors.hz
(gauge)

Shown as error
foundationdb.process.network.connections_closed.hz
(gauge)

Shown as connection
foundationdb.process.network.connections_established.hz
(gauge)

Shown as connection
foundationdb.process.network.current_connections
(gauge)

Shown as connection
foundationdb.process.network.megabits_received.hz
(gauge)
foundationdb.process.network.megabits_sent.hz
(gauge)
foundationdb.process.network.tls_policy_failures.hz
(gauge)

Shown as error
foundationdb.process.role.commit_latency_statistics.count
(count)

Shown as millisecond
foundationdb.process.role.commit_latency_statistics.max
(gauge)

Shown as millisecond
foundationdb.process.role.commit_latency_statistics.min
(gauge)

Shown as millisecond
foundationdb.process.role.commit_latency_statistics.p25
(gauge)

Shown as millisecond
foundationdb.process.role.commit_latency_statistics.p90
(gauge)

Shown as millisecond
foundationdb.process.role.commit_latency_statistics.p99
(gauge)

Shown as millisecond
foundationdb.process.role.data_lag.seconds
(gauge)

Shown as second
foundationdb.process.role.durability_lag.seconds
(gauge)

Shown as second
foundationdb.process.role.grv_latency_statistics.default.count
(count)

Shown as millisecond
foundationdb.process.role.grv_latency_statistics.default.max
(gauge)

Shown as millisecond
foundationdb.process.role.grv_latency_statistics.default.min
(gauge)

Shown as millisecond
foundationdb.process.role.grv_latency_statistics.default.p25
(gauge)

Shown as millisecond
foundationdb.process.role.grv_latency_statistics.default.p90
(gauge)

Shown as millisecond
foundationdb.process.role.grv_latency_statistics.default.p99
(gauge)

Shown as millisecond
foundationdb.process.role.read_latency_statistics.count
(count)

Shown as millisecond
foundationdb.process.role.read_latency_statistics.max
(gauge)

Shown as millisecond
foundationdb.process.role.read_latency_statistics.min
(gauge)

Shown as millisecond
foundationdb.process.role.read_latency_statistics.p25
(gauge)

Shown as millisecond
foundationdb.process.role.read_latency_statistics.p90
(gauge)

Shown as millisecond
foundationdb.process.role.read_latency_statistics.p99
(gauge)

Shown as millisecond

イベント

FoundationDB チェックには、イベントは含まれません。

トラブルシューティング

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