Red Hat Training

A Red Hat training course is available for Red Hat Ceph Storage

Datadog を使用した Ceph の監視

Red Hat Ceph Storage 3

Datadog による Ceph の監視ガイド

概要

本書では、Datadog 監視ツールを使用して Ceph Storage クラスターのステータスを監視する方法を説明します。

第1章 はじめに

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

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

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

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

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

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

注記

datadog は、RHCS 2 での ceph ステータス の取得をサポートします。Datadog は、dd-agent の後続のリリースで、RHCS 3 の ceph ステータス をサポートする更新を提供します。

重要

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

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

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

datadog integrations

Ceph 用 Datadog エージェントのインストール

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

datadog agent

RHEL 7 または Ubuntu 16.04 の Red Hat Ceph Storage の場合は、コマンドラインを開きます。次に、1 ステップのコマンドラインエージェントのインストールを入力します。以下に例を示します。

# 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 ユーザーインターフェースから例をコピーします。

第3章 Ceph 用 Datadog エージェントの設定

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

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

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

    # cp ceph.yaml.example ceph.yaml
  3. ceph.yaml ファイルを変更します。

    # vim 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、-name、ceph_command、および ceph_cluster 行のコメントを解除します。ceph_command および ceph_cluster のデフォルト値は、それぞれ /usr/bin/ceph と ceph です。RHEL 7 では、use_sudo: True をコメント解除します。ただし、Ubuntu は root ユーザーを無効にし、初期管理ユーザー root パーミッションを付与するため、この手順は Ubuntu ではオプションになります。

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

    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. RHEL 7 の場合は、sudoers ファイルを変更します。

    # visudo

    以下の行を追加します。

    dd-agent ALL=(ALL) NOPASSWD:/usr/bin/ceph
    注記

    Ubuntu の場合は、ceph.ymluse_sudo: True を有効にする場合は、この手順も行います。

  5. Ceph ホストがリブートする際に再起動するように Datadog エージェントを有効にします。

    # systemctl enable datadog-agent
  6. 最後に、Datadog エージェントを再起動します。
# systemctl status datadog-agent

第4章 Datadog を使用した Ceph の監視

Ceph で Datadog の統合をインストールおよび設定したら、Datadog アプリケーション に戻ります。ユーザーインターフェースは、画面の左側にナビゲーションを表示します。Dashboards にカーソルを合わせてサブメニューを表示し、Ceph Overview をクリックします。

ceph overview datadog

Datadog は Ceph Storage クラスターの概要を表示します。Dashboards→New Dashboard をクリックして、カスタム Ceph ダッシュボードを作成します。

第5章 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章 アラートの作成

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

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

datadog manage monitors

モニターを作成するには、Monitors→New Monitor を選択します。手順 1 で、検出方法を選択します。たとえば、「Threshold Alert」などです。

datadog new monitor

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

datadog monitor ceph metric 1

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

datadog monitor ceph metric 2

Express these queries as: フィールドに a-b を入力します。ここで、aceph.num_in_osds の値になり、bceph.num_up_osds の値になります。違いが 1 以上の場合は、最低でも 1 つの OSD がダウンします。

ステップ 3 で、アラート条件を設定します。たとえば、トリガーを above or equal to に設定し、しきい値を in total に、経過する時間は 1 minute に設定します。次に、Alert threshold フィールドを 1 に設定します。1 つ以上の OSD がクラスターにあり、これが稼働している場合、モニターはユーザーに警告を出します。

ステップ 4 で、プレビュー および 編集 の下にある入力フィールドにモニターにタイトルを付けます。これはモニターを保存するために必要です。テキストフィールドにアラートの説明を入力します。

datadog monitor ceph metric 3
注記

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

ステップ 5 で、アラートの受信側を追加します。これにより、メールアドレスがステップ 4 のテキストフィールドに追加されます。アラートが発生すると、受信側はアラートを受け取ります。