すべてのプロダクト
Search
ドキュメントセンター

Managed Service for Prometheus:Managed Service for Prometheus を使用して Cassandra を監視する

最終更新日:Dec 27, 2024

このトピックでは、Alibaba Cloud Managed Service for Prometheus を使用して Cassandra を監視する方法について説明します。

前提条件

ECS 用の Prometheus インスタンスが作成されていること。詳細については、Prometheus インスタンスを作成して ECS インスタンスを監視する を参照してください。

制限事項

コンポーネントは、ECS 用の Prometheus インスタンスにのみインストールできます。

手順 1: Cassandra JMX エージェントをデプロイする

  1. Cassandra のバージョンに基づいて、Cassandra JMX エージェントを、Cassandra が存在する Elastic Compute Service (ECS) インスタンスにダウンロードします。

  2. パッケージを MCAC_ROOT に解凍します。cassandra-env.sh ファイルに次の情報を追加します。

    MCAC_ROOT=/path/to/directory
    JVM_OPTS="$JVM_OPTS -javaagent:${MCAC_ROOT}/lib/datastax-mcac-agent.jar"
    重要

    Cassandra JMX エージェントが Managed Service for Prometheus に公開するポート番号は 9103 です。ポート番号を変更するには、${MCAC_ROOT}/config/collectd.conf.tmpl ファイルの次の情報を変更します。

  3. Cassandra を再起動し、ECS インスタンスで curl localhost:{jmx port}/metrics コマンドを実行します。データが返されるかどうかを確認します。データが返された場合、Cassandra JMX エージェントはインストールされています。

手順 2: Cassandra を Managed Service for Prometheus に統合する

手順

エントリポイント 1: Prometheus インスタンスの統合センター

  1. Managed Service for Prometheus コンソール にログインします。

  2. 左側のナビゲーションペインで、インスタンス をクリックします。

  3. 管理する Prometheus インスタンス インスタンスの名前をクリックして、統合センターページに移動します。

エントリポイント 2: ARMS コンソールの統合センター

  1. Application Real-Time Monitoring Service (ARMS) コンソール にログインします。

  2. 左側のナビゲーションペインで、統合センター をクリックします。コンポーネント セクションで、Cassandra を見つけて 追加 をクリックします。表示されるパネルで、プロンプトに従って Cassandra を統合します。

Cassandra を統合する

このセクションでは、Prometheus インスタンスの統合センターで Cassandra コンポーネントを統合する方法について説明します。

  1. Cassandra コンポーネントをインストールまたは追加します。

    • Cassandra コンポーネントを初めてインストールする場合は、次の操作を実行します。

      統合センターページの 未インストール セクションで、Cassandra を見つけて インストール をクリックします。

      説明

      カードをクリックすると、表示されるパネルで一般的な Cassandra メトリックとダッシュボードのサムネイルを表示できます。リストされているメトリックは参考用です。Cassandra コンポーネントをインストールした後、Managed Service for Prometheus によって収集された実際のメトリックを表示できます。詳細については、主要なメトリック を参照してください。

    • Cassandra コンポーネントをインストール済みの場合は、コンポーネントを再度追加する必要があります。

      統合センターページの インストール済み セクションで、Cassandra を見つけて 追加 をクリックします。

  2. 設定手順 2 セクションの OK タブで、パラメータを構成し、 をクリックします。次の表にパラメータを示します。

    パラメータ

    説明

    インスタンス名

    エクスポーターの名前。

    • 名前に使用できるのは小文字、数字、ハイフン (-) のみで、ハイフン (-) で開始または終了することはできません。

    • 名前は一意である必要があります。

    ECS ラベルキー (サービスディスカバリ)

    エクスポーターのデプロイに使用される ECS タグとタグ値。Managed Service for Prometheus は、このタグをサービスディスカバリに使用します。有効な値: acs:emr:nodeGroupType および acs:emr:hostGroupType。

    ECS ラベル値

    ECS タグ値。デフォルト値: CORE、MASTER。複数の値はカンマ (,) で区切ります。

    JMX エージェントリスニングポート

    メトリックのリスニングポート。Managed Service for Prometheus は、このポートにアクセスしてメトリックデータを取得します。デフォルト値: 9103。

    メトリックパス

    Managed Service for Prometheus がエクスポーターからメトリックデータを収集するために使用する HTTP パス。デフォルト値: /metrics。

    メトリックスクレイピング間隔 (秒)

    Managed Service for Prometheus が監視データを収集する間隔。デフォルト値: 30。

    説明

    手順 2 セクションの メトリック タブで、監視メトリックを表示できます。

    インストールされたコンポーネントは、統合管理Managed Service for Prometheus コンソール の 統合管理 ページに表示されます。統合管理統合環境統合アドオンクエリダッシュボード の各タブで構成される ページでは、ターゲット、メトリック、ダッシュボード、アラートなどの情報を表示できます。

    ターゲット タブで、エクスポーターのステータスを表示することもできます。

手順 3: Cassandra のダッシュボードを表示する

ダッシュボードタブでは、可用性、クライアントの読み取りおよび書き込みレイテンシ、クライアントのスループットなどの監視データを表示できます。ノードの CPU 使用率、メモリ使用量、ディスク使用量を表示することもできます。

統合センター ページで、インストール済み セクションの Cassandra コンポーネントをクリックします。表示されるパネルで、ダッシュボード タブをクリックして、Cassandra ダッシュボードのサムネイルとハイパーリンクを表示します。ハイパーリンクをクリックして Grafana ページに移動し、ダッシュボードを表示します。このセクションでは、一般的なダッシュボードの監視メトリックについて説明します。

  • クラスター/ノード情報セクション

  • クライアントの読み取りレイテンシ、書き込み遅延、スループットセクション

  • 例外とエラーセクション

  • キャッシングとブルームフィルターセクション

  • ハードウェアリソース使用状況セクション

  • ストレージ占有率の詳細セクション

  • スレッドプールステータスセクション

  • JVM とガベージコレクションセクション

手順 4: アラートを構成する

統合センター ページで、インストール済み セクションの Cassandra コンポーネントをクリックします。表示されるパネルで、アラート タブをクリックして、Managed Service for Prometheus で構成されているすべての Cassandra アラートルールを表示します。

Managed Service for Prometheus を使用すると、簡単な構成で Cassandra エクスポーターを有効にできます。すぐに使える専用のダッシュボードとアラートが提供されています。ARMS コンソールを使用してエクスポーターを管理することで、ワークロードコストを削減できます。

Managed Service for Prometheus は、Cassandra の主要なメトリックに対して複数のデフォルトアラートルールを提供します。一般的な Cassandra アラートルールはテンプレートとしてプリセットされており、O&M 担当者がダッシュボードとアラートシステムを構築するのに役立ちます。次の表に、デフォルトのアラートルールを示します。

カテゴリ

メトリック

説明

ノードステータス

クラスター内の非アクティブノードの割合

値が 10 を超える場合、クラスター内の 1 つ以上のノードがダウンしています。

リソース使用量

CPU 使用率

ノードの CPU 使用率が過去 5 分間で 85% を超えた場合、CPU 使用率は上限に達しています。

メモリ使用量

ノードのメモリ使用量が 85% を超えた場合、メモリ使用量は上限に達しています。

ハードディスク使用量

ノードのハードディスク使用量が 85% を超えた場合、ハードディスクは上限に達しています。

読み取りおよび書き込みレイテンシとスループット

読み取りレイテンシ

ノードの読み取りレイテンシが過去 1 分間で 200 ミリ秒を超えた場合、読み取りレイテンシは高くなっています。

書き込みレイテンシ

ノードの書き込みレイテンシが過去 1 分間で 200 ミリ秒を超えた場合、書き込みレイテンシは高くなっています。

読み取りスループット

ノードの読み取り操作数が過去 1 分間で 1,000 を超えた場合、読み取りスループットは高くなっています。

書き込みスループット

ノードの書き込み操作数が過去 1 分間で 1,000 を超えた場合、書き込みスループットは高くなっています。

例外とエラー

タイムアウトしたリクエスト

ノードのタイムアウトしたリクエスト数が過去 1 分間で 10 を超えた場合、ノードは過負荷になっています。

失敗したリクエスト

ノードの失敗したリクエスト数が過去 1 分間で 10 を超えた場合、ノードは過負荷になっています。

ドロップされたメッセージ

ノードのドロップされたメッセージ数が過去 1 分間で 10 を超えた場合、ノードは過負荷になっています。

JVM

GC 時間比率

過去 5 分間のノードの GC 時間が 1% を超える場合、ガベージコレクションが頻繁に発生しています。

ビジネス要件に基づいてアラートルールを作成することもできます。詳細については、Prometheus インスタンスのアラートルールを作成する を参照してください。

主要なメトリック

クラスターとノードの情報

指標

レベル

説明

備考

mcac_client_connected_native_clients

メジャー

CQL 接続数

値が大きすぎると、多くのシステムリソースが占有され、クライアントのレイテンシが長くなります。

mcac_table_live_disk_space_used_total

メジャー

Cassandra が占有する容量

値が大きすぎると、ストレージ容量が不足し、アクセスレイテンシが長くなる可能性があります。

mcac_table_snapshots_size

推奨

Cassandra スナップショットファイルサイズ

スナップショットはデータの復元に使用されます。値が大きすぎると、完全なスナップショットを保存するためのストレージ容量が不足する可能性があります。

collectd_uptime

メジャー

ノードの起動時間

値が大きすぎると、システムが長時間再起動されておらず、セキュリティリスクに対して脆弱である可能性があります。

主要なパフォーマンス指標

指標

レベル

説明

備考

mcac_table_read_latency

クリティカル

クライアント読み取りレイテンシ

値が大きすぎる場合、アプリケーションの読み取り速度が遅くなり、ユーザーエクスペリエンスに影響します。

mcac_table_write_latency

クリティカル

クライアント書き込みレイテンシ

値が大きすぎる場合、アプリケーションの書き込み速度が遅くなり、ユーザーエクスペリエンスに影響します。

例外とエラー

メトリック

レベル

説明

備考

mcac_client_request_timeouts_total

クリティカル

タイムアウトしたクライアントリクエスト

値が大きすぎる場合、システムは過負荷状態であり、ユーザーエクスペリエンスに深刻な影響を与えます。

mcac_client_request_failures_total

クリティカル

異常なクライアントリクエスト

値が大きすぎる場合、システムは過負荷状態であり、ユーザーエクスペリエンスに深刻な影響を与えます。

mcac_dropped_message_dropped_total

クリティカル

ドロップされたメッセージ

値が大きすぎる場合、システムは過負荷状態であり、ユーザーエクスペリエンスに深刻な影響を与えます。

クラスターとノードの情報

メトリック

レベル

説明

備考

mcac_table_key_cache_hit_rate

メジャー

key_cache のヒット率

値が小さすぎると、アプリケーションの読み取り速度が遅くなり、ユーザー エクスペリエンスに影響を与える可能性があります。

mcac_client_connected_native_clients

主要

CQL 接続数

値が大きすぎる場合、多くのシステムリソースが占有され、クライアントのレイテンシが長くなります。

mcac_table_live_disk_space_used_total

主要

Cassandra によって占有されている容量

値が大きすぎる場合、ストレージ容量が不足し、アクセスレイテンシが長くなる可能性があります。

mcac_table_snapshots_size

推奨

Cassandra スナップショットファイルサイズ

スナップショットはデータの復元に使用されます。値が大きすぎる場合、完全なスナップショットを保存するのにストレージ容量が不足する可能性があります。

collectd_uptime

主要

ノードの起動時間

値が大きすぎる場合、システムが長時間再起動されておらず、セキュリティリスクに対して脆弱である可能性があります。

主要なパフォーマンスメトリック

メトリック

レベル

説明

備考

collectd_cpu_total

クリティカル

CPU使用率

値が大きすぎる場合、システムは過負荷になり、クライアント要求のレイテンシが長くなり、ユーザーエクスペリエンスに深刻な影響を与えます。

mcac_table_read_latency

クリティカル

クライアントの読み取りレイテンシ

値が大きすぎる場合、アプリケーションの読み取り速度が遅くなり、ユーザーエクスペリエンスに影響します。

mcac_table_write_latency

クリティカル

クライアントの書き込みレイテンシ

値が大きすぎる場合、アプリケーションの書き込み速度が遅くなり、ユーザーエクスペリエンスに影響します。

例外とエラー

メトリック

レベル

説明

備考

mcac_client_request_timeouts_total

クリティカル

タイムアウトしたクライアントリクエスト

値が大きすぎる場合、システムは過負荷になり、ユーザーエクスペリエンスに深刻な影響を与えます。

mcac_client_request_failures_total

クリティカル

異常なクライアントリクエスト

値が大きすぎる場合、システムは過負荷になり、ユーザーエクスペリエンスに深刻な影響を与えます。

mcac_dropped_message_dropped_total

クリティカル

ドロップされたメッセージ

値が大きすぎる場合、システムは過負荷になり、ユーザーエクスペリエンスに深刻な影響を与えます。

キャッシングとブルームフィルター

メトリック

レベル

説明

備考

mcac_table_live_ss_table_count

メジャー

SSTable の数

値が大きすぎると、ハードディスクの使用率が高くなり、読み取り/書き込みレイテンシが長くなります。SSTable の圧縮ポリシーを設定することをお勧めします。

mcac_table_live_disk_space_used_total

メジャー

SSTable によって占有されているハードディスク容量

値が大きすぎる場合、ハードディスクの使用率が高くなり、読み取り/書き込みレイテンシが長くなります。SSTable の圧縮ポリシーを設定することをお勧めします。

mcac_table_ss_tables_per_read_histogram

メジャー

読み取り操作ごとのSSTableの数

値が大きすぎると、クライアントの読み取りレイテンシが高くなります。

mcac_commit_log_total_commit_log_size

重大

コミットログが占有するハードディスク容量

値が大きすぎると、ハードディスク容量が不足し、読み取り/書き込みパフォーマンスが低下し、データ復旧時間が長くなります。

mcac_table_memtable_live_data_size

重大

MemTable が占有する領域

値が大きすぎると、データ書き込みパフォーマンスとノードの安定性が低下します。

mcac_table_waiting_on_free_memtable_space

重大

MemTable が解放されるのを待機していた時間

値が大きすぎる場合、データ書き込みパフォーマンスとノードの安定性が低下します。

スレッド プールの状態

メトリック

レベル

説明

備考

mcac_thread_pools_active_tasks

クリティカル

スレッドプール内のアクティブなタスクの数

値が大きすぎると、システムリソースが占有され、応答速度の低下やシステムクラッシュにつながる可能性があります。

mcac_thread_pools_total_blocked_tasks_total

クリティカル

スレッドプール内のブロックされたタスクの数

値が大きすぎると、システムリソースが占有され、応答速度の低下やシステムクラッシュにつながる可能性があります。

mcac_thread_pools_pending_tasks

クリティカル

スレッドプール内の保留中のタスクの数

値が大きすぎると、多くのシステムリソースが占有されます。保留中のタスクに対応するリクエストがタイムアウトすると、システムがクラッシュする可能性があります。

mcac_thread_pools_completed_tasks

メジャー

スレッドプール内の完了したタスクの数

このメトリックは、システムのスループットを示します。値が高いほど、システムのパフォーマンスは向上します。

CPU、メモリ、ディスクの使用量の傾向

メトリック

レベル

説明

備考

mcac_jvm_memory_used

クリティカル

使用済み JVM ヒープメモリのサイズ

値が大きすぎる場合、メモリが不足し、頻繁なガベージコレクションがトリガーされ、アプリケーションのスループットが低下する可能性があります。

mcac_jvm_gc_time

クリティカル

アプリケーションが GC に費やした時間

値が大きすぎる場合、GC が頻繁に行われ、システムがユーザータスクを実行する時間が少なくなり、クライアント要求のタイムアウト、さらにはシステムクラッシュにつながる可能性があります。