Datadog を使用した Ceph の監視ガイド

Red Hat Ceph Storage 4

Datadog による Ceph の監視ガイド

概要

本書では、Datadog 監視ツールを使用して Ceph Storage クラスターのステータスを監視する方法を説明します。
Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、今後の複数のリリースで段階的に用語の置き換えを実施して参ります。詳細は、弊社の CTO、Chris Wright のメッセージを参照してください。

第1章 Datadog および Ceph の監視

Datadog と Ceph の統合により、Datadog は以下からの出力を実行し、処理できます。

  • ceph status
  • ceph health detail
  • ceph df detail
  • ceph osd perf
  • ceph osd pool stats

統合により、Datadog では以下が可能になります。

  • Red Hat Ceph Storage クラスターのステータスおよび健常性を監視します。
  • I/O およびパフォーマンスメトリックを監視します。
  • ストレージプール全体でのディスク使用状況を追跡します。

Datadog の使用

Datadog を使用して Ceph を監視するには、少なくとも 1 つの Ceph monitor ノードに Datadog エージェントをインストールする必要があります。Ceph の監視時に、Datadog エージェントは Ceph コマンドライン引数を実行します。そのため、各 Ceph ノードには、クラスターへのアクセスを提供する適切な Ceph キー (通常は /etc/ceph) が必要です。エージェントが Ceph コマンドを実行すると、Red Hat Ceph Storage クラスターのステータスと統計を Datadog に戻します。次に、Datadog は Datadog ユーザーインターフェイスでステータスおよび統計を表示します。

Datadog はエージェントを使用するため、Red Hat Ceph Storage クラスターはインターネットにアクセスできるようにする必要があります。ただし、Red Hat Ceph Storage クラスターはインターネットからアクセスできるようにする必要はありません。

注記

Datadog は、Red Hat Ceph Storage バージョン 2 以降での ceph ステータス の取得をサポートします。Datadog は、dd-agent の後続のリリースで、Red Hat Ceph Storage クラスター 3 の ceph ステータス をサポートする更新を提供します。

重要

Red Hat は、弊社のテクノロジーパートナーと協力して、本書をお客様にサービスとして提供します。ただし、Red Hat はこの製品のサポートを提供しません。この製品の技術的なサポートが必要な場合は、Datadog にサポートを依頼してください。

第2章 Ceph 統合用の Datadog のインストール

Datadog エージェントをインストールしたら、Ceph メトリックを Datadog に報告するように Datadog エージェントを設定します。

前提条件

  • Ceph 監視ノードへのユーザーレベルのアクセス。
  • Red Hat Ceph Storage クラスターへのアクセスを提供する適切な Ceph キー。
  • インターネットアクセス。

手順

  1. Ceph 統合をインストールします。

    1. Datadog アプリケーション にログインします。ユーザーインターフェイスは、画面の左側にナビゲーションを表示します。
    2. Integrations をクリックします。
    3. ceph を検索フィールドに入力するか、スクロールして Ceph 統合を見つけます。ユーザーインターフェイスは、Ceph 統合が 利用可能 であるか、すでに インストールされている かを示します。
    4. 利用可能 な場合は、ボタンをクリックしてインストールします。

      datadog integrations
  2. Ceph 用 Datadog エージェントの設定

    1. Datadog Agent 設定ディレクトリーに移動します。

      [root@mon ~]# cd /etc/dd-agent/conf.d
    2. ceph.yml.sample ファイルから ceph.yaml ファイルを作成します。

      [root@mon ~]# cp ceph.yaml.example ceph.yaml
    3. ceph.yaml ファイルを変更します。

      [root@mon ~]# vim ceph.yaml

      以下は、変更した ceph.yaml ファイルのサンプルです。

      init_config:
      
      instances:
      #  - tags:
      #    - name:mars_cluster
      #
      #    ceph_cmd: /usr/bin/ceph
      #    ceph_cluster: ceph
      #
      # If your environment requires sudo, please add a line like:
      #          dd-agent ALL=(ALL) NOPASSWD:/usr/bin/ceph
      # to your sudoers file, and uncomment the below option.
      #
      #    use_sudo: True

      -tags-nameceph_commandceph_cluster、および use_sudo: True 行のコメントを解除します。ceph_command および ceph_cluster のデフォルト値は、それぞれ /usr/bin/cephceph です。

      完了したら、以下のようになります。

      init_config:
      
      instances:
        - tags:
          - name:ceph-RHEL
      #
          ceph_cmd: /usr/bin/ceph
          ceph_cluster: ceph
      #
      # If your environment requires sudo, please add a line like:
      #          dd-agent ALL=(ALL) NOPASSWD:/usr/bin/ceph
      # to your sudoers file, and uncomment the below option.
      #
          use_sudo: True
    4. sudoers ファイルを変更します。

      [root@mon ~]# visudo
    5. 以下の行を追加します。

      dd-agent ALL=(ALL) NOPASSWD:/usr/bin/ceph
    6. Ceph ホストがリブートする際に再起動するように、Datadog エージェントを有効にします。

      [root@mon ~]# systemctl enable datadog-agent
    7. Datadog エージェントを再起動します。

      [root@mon ~]# systemctl status datadog-agent

第3章 Ceph 用 Datadog エージェントのインストールおよび設定

Ceph 用 Datadog エージェントをインストールし、Ceph データを Datadog アプリケーションに報告するように設定します。

前提条件

  • Ceph 監視ノードへのユーザーレベルのアクセス。
  • Red Hat Ceph Storage クラスターへのアクセスを提供する適切な Ceph キー。
  • インターネットアクセス。

手順

  1. Datadog アプリケーション にログインします。ユーザーインターフェイスは、画面の左側にナビゲーションを表示します。
  2. Integrations をクリックします。コマンドラインからエージェントをインストールするには、画面上部の Agent タブをクリックします。

    datadog agent
  3. コマンドラインを開き、1 ステップのコマンドラインエージェントのインストールを入力します。

    [root@mon ~]# DD_API_KEY=KEY-STRING bash -c "$(curl -L https://raw.githubusercontent.com/DataDog/dd-agent/master/packaging/datadog-agent/source/install_agent.sh)"

注記

このキーは上記の例や各ユーザーアカウントと異なるため、Datadog ユーザーインターフェイスから例をコピーします。

第4章 Datadog を使用した Ceph の概要の表示

Ceph で Datadog の統合をインストールおよび設定したら、Datadog アプリケーション に戻ります。ユーザーインターフェイスは、画面の左側にナビゲーションを表示します。

前提条件

  • インターネットアクセス。

手順

  1. Dashboards にカーソルを合わせ、サブメニューを展開してから Ceph Overview をクリックします。

    ceph overview datadog

    Datadog は Ceph Storage クラスターの概要を表示します。

  2. Dashboards→New Dashboard をクリックして、カスタム Ceph ダッシュボードを作成します。

第5章 Datadog の Ceph メトリック

Datadog エージェントは、Ceph から以下のメトリックを収集します。これらのメトリックはカスタムダッシュボードおよびアラートに含めることができます。

メトリック名詳細

ceph.commit_latency_ms

操作をジャーナルにコミットするのにかかった時間。

ceph.apply_latency_ms

ディスクへの更新をフラッシュするのにかかった時間。

ceph.op_per_sec

指定のプールに対する 1 秒あたりの I/O 操作回数。

ceph.read_bytes_sec

読み取り中の 1 秒あたりのバイト数。

ceph.write_bytes_sec

書き込まれる 1 秒あたりのバイト数。

ceph.num_osds

既知のストレージデーモンの数。

ceph.num_in_osds

参加するストレージデーモンの数。

ceph.num_up_osds

オンラインストレージデーモンの数。

ceph.num_pgs

利用可能な配置グループの数。

ceph.num_mons

モニターデーモンの数。

ceph.aggregate_pct_used

容量使用量の全体的なメトリック。

ceph.total_objects

基礎となるオブジェクトストアのオブジェクト数。

ceph.num_objects

指定のプールのオブジェクト数。

ceph.read_bytes

プールごとの読み取りバイト。

ceph.write_bytes

プールごとの書き込みバイト。

ceph.num_pools

プールの数。

ceph.pgstate.active_clean

active+clean 配置グループの数。

ceph.read_op_per_sec

1 秒あたりのプールごとの読み取り操作。

ceph.write_op_per_sec

1 秒あたりのプールごとの書き込み操作。

ceph.num_near_full_osds

ほぼ完全な OSD の数。

ceph.num_full_osds

完全な OSD 数。

ceph.osd.pct_used

完全な OSD またはほぼ完全 OSD で使用されるパーセンテージ。

第6章 Datadog でのアラートの作成

管理者は、Red Hat Ceph Storage クラスターのメトリックを追跡し、アラートを生成するモニターを作成することができます。たとえば、OSD がダウンしている場合、Datadog は 1 つ以上の OSD がダウンしていることを管理者に警告できます。

前提条件

  • Ceph Monitor ノードへのユーザーレベルのアクセス。
  • Red Hat Ceph Storage クラスターへのアクセスを提供する適切な Ceph キー。
  • インターネットアクセス。

手順

  1. Monitors をクリックし、Datadog モニターの概要を表示します。

    datadog manage monitors
  2. モニターを作成するには、Monitors→New Monitor を選択します。
  3. 検出方法を選択します。たとえば、Threshold Alert などです。

    datadog new monitor
  4. メトリックを定義します。高度なアラートを作成するには、Advanced…​ リンクをクリックします。次に、コンボボックスからメトリックを選択します。たとえば、Ceph メトリック ceph.num_in_osds を選択します。
  5. Add Query+ をクリックして、別のクエリーを追加します。

    datadog monitor ceph metric 1
  6. コンボボックスから別のメトリックを選択します。たとえば、Ceph メトリクス ceph.num_up_osds を選択します。

    datadog monitor ceph metric 2
  7. Express these queries as: フィールドに a-b を入力します。ここで、aceph.num_in_osds の値になり、bceph.num_up_osds の値になります。違いが 1 以上の場合は、最低でも 1 つの OSD がダウンします。
  8. アラート条件を設定します。たとえば、トリガーを above or equal to に設定し、しきい値を in total に、経過する時間は 1 minute に設定します。
  9. Alert threshold フィールドを 1 に設定します。1 つ以上の OSD がクラスターにあり、これが稼働している場合、モニターはユーザーに警告を出します。
  10. Preview および Edit の下にある入力フィールドで、モニターにタイトルを付けます。これはモニターを保存するために必要です。
  11. テキストフィールドにアラートの説明を入力します。

    datadog monitor ceph metric 3
    注記

    テキストフィールドはメトリック変数およびマークダウン構文をサポートします。

  12. アラートの受信側を追加します。これにより、メールアドレスが text フィールドに追加されます。アラートが発生すると、受信側はアラートを受け取ります。