Supported OS Linux Mac OS

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

Ceph ダッシュボード

概要

Datadog-Ceph インテグレーションを有効にすると、以下のことができます。

  • ストレージプール全体のディスク使用状況を追跡できます。
  • 問題が発生した場合にサービスチェックを受信できます。
  • I/O パフォーマンスメトリクスを監視できます。

セットアップ

インストール

Ceph チェックは Datadog Agent パッケージに含まれています。Ceph サーバーに追加でインストールする必要はありません。

構成

Agent のコンフィギュレーションディレクトリのルートにある conf.d/ フォルダーの ceph.d/conf.yaml ファイルを編集します。 使用可能なすべてのコンフィギュレーションオプションの詳細については、サンプル ceph.d/conf.yaml を参照してください。

init_config:

instances:
  - ceph_cmd: /path/to/your/ceph # default is /usr/bin/ceph
    use_sudo: true # ご利用のノードで ceph バイナリが sudo を必要とする場合のみ

use_sudo を有効にした場合は、sudoers ファイルに以下のような行を追加します。

dd-agent ALL=(ALL) NOPASSWD:/path/to/your/ceph

ログ収集

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

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

    logs_enabled: true
    
  2. 次に、下部にある logs 行のコメントを解除して、ceph.d/conf.yaml を編集します。ログの path を Ceph ログファイルの正しいパスで更新してください。

    logs:
      - type: file
        path: /var/log/ceph/*.log
        source: ceph
        service: "<APPLICATION_NAME>"
    
  3. Agent を再起動します

検証

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

収集データ

メトリクス

ceph.aggregate_pct_used
(gauge)
Overall capacity usage metric
Shown as percent
ceph.apply_latency_ms
(gauge)
Time taken to flush an update to disks
Shown as millisecond
ceph.commit_latency_ms
(gauge)
Time taken to commit an operation to the journal
Shown as millisecond
ceph.misplaced_objects
(gauge)
Number of objects misplaced
Shown as item
ceph.misplaced_total
(gauge)
Total number of objects if there are misplaced objects
Shown as item
ceph.num_full_osds
(gauge)
Number of full osds
Shown as item
ceph.num_in_osds
(gauge)
Number of participating storage daemons
Shown as item
ceph.num_mons
(gauge)
Number of monitor daemons
Shown as item
ceph.num_near_full_osds
(gauge)
Number of nearly full osds
Shown as item
ceph.num_objects
(gauge)
Object count for a given pool
Shown as item
ceph.num_osds
(gauge)
Number of known storage daemons
Shown as item
ceph.num_pgs
(gauge)
Number of placement groups available
Shown as item
ceph.num_pools
(gauge)
Number of pools
Shown as item
ceph.num_up_osds
(gauge)
Number of online storage daemons
Shown as item
ceph.op_per_sec
(gauge)
IO operations per second for given pool
Shown as operation
ceph.osd.pct_used
(gauge)
Percentage used of full/near full osds
Shown as percent
ceph.pgstate.active_clean
(gauge)
Number of active+clean placement groups
Shown as item
ceph.read_bytes
(gauge)
Per-pool read bytes
Shown as byte
ceph.read_bytes_sec
(gauge)
Bytes/second being read
Shown as byte
ceph.read_op_per_sec
(gauge)
Per-pool read operations/second
Shown as operation
ceph.recovery_bytes_per_sec
(gauge)
Rate of recovered bytes
Shown as byte
ceph.recovery_keys_per_sec
(gauge)
Rate of recovered keys
Shown as item
ceph.recovery_objects_per_sec
(gauge)
Rate of recovered objects
Shown as item
ceph.total_objects
(gauge)
Object count from the underlying object store. [v<=3 only]
Shown as item
ceph.write_bytes
(gauge)
Per-pool write bytes
Shown as byte
ceph.write_bytes_sec
(gauge)
Bytes/second being written
Shown as byte
ceph.write_op_per_sec
(gauge)
Per-pool write operations/second
Shown as operation

: Ceph luminous またはそれ以降を実行している場合、ceph.osd.pct_used メトリクスは含まれません。

イベント

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

サービスチェック

ceph.overall_status
Ceph クラスターのステータスが HEALTH_OK の場合は OK を、HEALTH_WARNING の場合は WARNING を、それ以外の場合は CRITICAL を返します。
Statuses: ok, 警告, クリティカル

ceph.osd_down
ダウンした OSD がない場合は、OK を返します。それ以外の場合、重大度が HEALTH_WARN なら WARNING、それ以外なら CRITICAL を返します。
Statuses: ok, 警告, クリティカル

ceph.osd_orphan
孤立した OSD がない場合は、OK を返します。それ以外の場合は、重大度が HEALTH_WARN なら WARNING、それ以外なら CRITICAL を返します。
Statuses: ok, 警告, クリティカル

ceph.osd_full
割当量に達している OSD がない場合は、OK を返します。それ以外の場合は、重大度が HEALTH_WARN なら WARNING、それ以外なら CRITICAL を返します。
Statuses: ok, 警告, クリティカル

ceph.osd_nearfull
ほぼ割当量に達している OSD がない場合は、OK を返します。それ以外の場合は、重大度が HEALTH_WARN なら WARNING、それ以外なら CRITICAL を返します。
Statuses: ok, 警告, クリティカル

ceph.pool_full
割当量に達しているプールがない場合は、OK を返します。それ以外の場合は、重大度が HEALTH_WARN なら WARNING、それ以外なら CRITICAL を返します。
Statuses: ok, 警告, クリティカル

ceph.pool_near_full
ほぼ割当量に達しているプールがない場合は、OK を返します。それ以外の場合は、重大度が HEALTH_WARN なら WARNING、それ以外なら CRITICAL を返します。
Statuses: ok, 警告, クリティカル

ceph.pg_availability
データ可用性が十分な場合は、OK を返します。それ以外の場合は、重大度が HEALTH_WARN なら WARNING、それ以外なら CRITICAL を返します。
Statuses: ok, 警告, クリティカル

ceph.pg_degraded
データ冗長性が十分である場合は、OK を返します。それ以外の場合は、重大度が HEALTH_WARN なら WARNING、それ以外なら CRITICAL を返します。
Statuses: ok, 警告, クリティカル

ceph.pg_degraded_full
クラスターにデータ冗長性のための十分なスペースがある場合は、OK を返します。それ以外の場合は、重大度が HEALTH_WARN なら WARNING、それ以外なら CRITICAL を返します。
Statuses: ok, 警告, クリティカル

ceph.pg_damaged
データの整理後に不一致がない場合は、OK を返します。それ以外の場合は、重大度が HEALTH_WARN なら WARNING、それ以外なら CRITICAL を返します。
Statuses: ok, 警告, クリティカル

ceph.pg_not_scrubbed
最近整理した PG がある場合は、OK を返します。それ以外の場合は、重大度が HEALTH_WARN なら WARNING、それ以外なら CRITICAL を返します。
Statuses: ok, 警告, クリティカル

ceph.pg_not_deep_scrubbed
最近徹底的に整理した PG がある場合は、OK を返します。それ以外の場合は、重大度が HEALTH_WARN なら WARNING、それ以外なら CRITICAL を返します。
Statuses: ok, 警告, クリティカル

ceph.cache_pool_near_full
ほぼ割当量に達しているキャッシュプールがない場合は、OK を返します。それ以外の場合は、重大度が HEALTH_WARN なら WARNING、それ以外なら CRITICAL を返します。
Statuses: ok, 警告, クリティカル

ceph.too_few_pgs
PG の数が最小しきい値を上回っている場合は、OK を返します。それ以外の場合は、重大度が HEALTH_WARN なら WARNING、それ以外なら CRITICAL を返します。
Statuses: ok, 警告, クリティカル

ceph.too_many_pgs
PG の数が最大しきい値を下回っている場合は、OK を返します。それ以外の場合は、重大度が HEALTH_WARN なら WARNING、それ以外なら CRITICAL を返します。
Statuses: ok, 警告, クリティカル

ceph.object_unfound
すべてのオブジェクトが見つかった場合は、OK を返します。それ以外の場合は、重大度が HEALTH_WARN なら WARNING、それ以外なら CRITICAL を返します。
Statuses: ok, 警告, クリティカル

ceph.request_slow
リクエストが通常の時間で処理されている場合は、OK を返します。それ以外の場合は、重大度が HEALTH_WARN なら WARNING、それ以外なら CRITICAL を返します。
Statuses: ok, 警告, クリティカル

ceph.request_stuck
リクエストが通常の時間で処理されている場合は、OK を返します。それ以外の場合は、重大度が HEALTH_WARN なら WARNING、それ以外なら CRITICAL を返します。
Statuses: ok, 警告, クリティカル

トラブルシューティング

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

その他の参考資料