第7章 Ceph Orchestrator を使用したモニタリングスタックの管理
ストレージ管理者は、バックエンドにて Cephadm と Ceph Orchestrator を使用して、モニタリングおよびアラートスタックをデプロイできます。モニタリングスタックは、Prometheus、Prometheus エクスポーター、Prometheus Alertmanager、および Grafana で構成されます。ユーザーは、YAML 設定ファイルの Cephadm でこれらのサービスを定義するか、コマンドラインインターフェイスを使用してそれらをデプロイする必要があります。同じタイプの複数のサービスがデプロイされると、可用性の高い設定がデプロイされます。ノードエクスポーターはこのルールの例外です。
Red Hat Ceph Storage は、Prometheus、Grafana、Alertmanager、および node-exporter などのモニタリングサービスをデプロイするためのカスタムイメージをサポートしません。
以下のモニタリングサービスは、Cephadm でデプロイすることができます。
Prometheus はモニタリングおよびアラートツールキットです。これは、Prometheus エクスポーターによって提供されるデータを収集し、事前に定義されたしきい値に達した場合に事前設定されたアラートを実行します。Prometheus マネージャーモジュールは、
ceph-mgrのコレクションポイントから Ceph パフォーマンスカウンターに渡す Prometheus エクスポーターを提供します。デーモンを提供するメトリックなど、スクレープターゲットなどの Prometheus 設定は、Cephadm によって自動的に設定されます。Cephadm は、デフォルトのアラートのリスト (例: health error、10% OSDs down、pgs inactive) もデプロイします。
- Alertmanager は、Prometheus サーバーによって送信されるアラートを処理します。これは、正しい受信側にアラートを複製解除、グループ化、およびルーティングします。デフォルトでは、Ceph Dashboard は受信側として自動的に設定されます。Alertmanager は、Prometheus サーバーによって送信されるアラートを処理します。アラートは Alertmanager を使用して無音にすることができますが、無音は Ceph Dashboard を使用して管理することもできます。
Grafana は視覚化および警告ソフトウェアです。Grafana のアラート機能は、このモニタリングスタックによって使用されません。アラートについては、Alertmanager が使用されます。
デフォルトでは、Grafana へのトラフィックは TLS で暗号化されます。独自の TLS 証明書を指定するか、自己署名の証明書を使用できます。Grafana をデプロイする前にカスタム証明書が設定されていない場合、自己署名証明書が自動的に作成され、Grafana に設定されます。Grafana のカスタム証明書は、以下のコマンドを使用して設定できます。
構文
ceph config-key set mgr/cephadm/HOSTNAME/grafana_key -i PRESENT_WORKING_DIRECTORY/key.pem ceph config-key set mgr/cephadm/HOSTNAME/grafana_crt -i PRESENT_WORKING_DIRECTORY/certificate.pem
ceph config-key set mgr/cephadm/HOSTNAME/grafana_key -i PRESENT_WORKING_DIRECTORY/key.pem ceph config-key set mgr/cephadm/HOSTNAME/grafana_crt -i PRESENT_WORKING_DIRECTORY/certificate.pemCopy to Clipboard Copied! Toggle word wrap Toggle overflow
ノードエクスポーターは Prometheus のエクスポーターで、インストールされているノードに関するデータを提供します。ノードエクスポーターをすべてのノードにインストールすることが推奨されます。これは、node-exporter サービスタイプの monitoring.yml ファイルを使用して実行できます。
7.1. Ceph Orchestrator を使用したモニタリングスタックのデプロイ リンクのコピーリンクがクリップボードにコピーされました!
モニタリングスタックは、Prometheus、Prometheus エクスポーター、Prometheus Alertmanager、Grafana、および Ceph エクスポーターで構成されます。Ceph Dashboard はこれらのコンポーネントを使用して、クラスターの使用状況およびパフォーマンスの詳細なメトリックを保存し、可視化します。
YAML ファイル形式のサービス仕様を使用して、モニタリングスタックをデプロイできます。すべてのモニタリングサービスのバインド先のネットワークおよびポートは yml ファイルで設定できます。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- ノードへの root レベルのアクセス。
手順
Ceph Manager デーモンで prometheus モジュールを有効にします。これにより、内部 Ceph メトリックが公開され、Prometheus がそれらを読み取りできます。
例
[ceph: root@host01 /]# ceph mgr module enable prometheus
[ceph: root@host01 /]# ceph mgr module enable prometheusCopy to Clipboard Copied! Toggle word wrap Toggle overflow 重要このコマンドは、Prometheus のデプロイ前に実行されるようにします。デプロイメントの前にコマンドが実行されなかった場合は、Prometheus を再デプロイして設定を更新する必要があります。
ceph orch redeploy prometheus
ceph orch redeploy prometheusCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のディレクトリーに移動します。
構文
cd /var/lib/ceph/DAEMON_PATH/
cd /var/lib/ceph/DAEMON_PATH/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
[ceph: root@host01 mds/]# cd /var/lib/ceph/monitoring/
[ceph: root@host01 mds/]# cd /var/lib/ceph/monitoring/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記ディレクトリー
monitoringが存在しない場合は、作成します。monitoring.ymlファイルを作成します。例
[ceph: root@host01 monitoring]# touch monitoring.yml
[ceph: root@host01 monitoring]# touch monitoring.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の例のような内容で仕様ファイルを編集します。
例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記監視スタックコンポーネントの
alertmanager、prometheus、およびgrafanaが同じホストにデプロイされていることを確認します。node-exporterおよびceph-exporterコンポーネントは、すべてのホストにデプロイする必要があります。モニタリングサービスを適用します。
例
[ceph: root@host01 monitoring]# ceph orch apply -i monitoring.yml
[ceph: root@host01 monitoring]# ceph orch apply -i monitoring.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
サービスをリスト表示します。
例
[ceph: root@host01 /]# ceph orch ls
[ceph: root@host01 /]# ceph orch lsCopy to Clipboard Copied! Toggle word wrap Toggle overflow ホスト、デーモン、およびプロセスをリスト表示します。
構文
ceph orch ps --service_name=SERVICE_NAME
ceph orch ps --service_name=SERVICE_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 例
[ceph: root@host01 /]# ceph orch ps --service_name=prometheus
[ceph: root@host01 /]# ceph orch ps --service_name=prometheusCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Prometheus、Grafana、および Ceph Dashboard はすべて相互に対話するように自動設定されるため、Ceph Dashboard で Grafana 統合が完全に機能します。