sql >> データベース >  >> NoSQL >> MongoDB

SCUMM:ClusterControlのエージェントベースのデータベース監視インフラストラクチャ

    フラッグシップ製品であるClusterControlの1.7リリースで、新しいエージェントベースの監視インフラストラクチャであるSCUMMを導入しました。これについては、このブログで詳しく説明しています。

    ClusterControlは、当社の製品のコア要素として、現在何が起こっているかを知るためのリアルタイムデータを備えた完全な監視システムを提供し、精度を高めるための高解像度のメトリック、事前構成されたダッシュボード、およびアラート用のさまざまなサードパーティの通知サービスを提供します。

    オンプレミスとクラウドシステムは、1つのポイントから監視および管理できます。

    インテリジェントなヘルスチェックは、分散トポロジに実装されます。たとえば、データベースノードのロードバランサーのビューを活用してネットワークパーティションを検出します。

    そして...監視はSSHまたはエージェントベースを介してエージェントレスにすることができます...これがSCUMMの出番です!

    ClusterControlの新しいSCUMMシステムはエージェントベースであり、サーバーは監視対象データベースと同じホストで実行されるエージェントからメトリックを取得し、データベースクラスターの監視中にPrometheusエージェントを使用して精度とカスタマイズオプションを向上させます。

    しかし、なぜSCUMMとは何なのか?

    SCUMMの紹介

    SCUMM(Severenines CMON Unified Monitoring and Management)は、新しいエージェントベースの監視インフラストラクチャです。

    この監視インフラストラクチャは、次の2つの主要コンポーネントで構成されています。

    最初のコンポーネントは、時系列データベースとして機能し、収集されたメトリックを格納するPrometheusサーバーです。

    2番目のコンポーネントはエクスポーターです。ノードまたはサービスからメトリックを収集する責任を負う1つ以上のエクスポーターが存在する場合があります。 Prometheusサーバーは、HTTPを介してエクスポーターからこれらのメトリック(これはスクレイピングと呼ばれます)を収集します。さらに、収集されたメトリックを視覚化するための一連のダッシュボードを作成しました。

    主な利点は次のとおりです。

    1. コミュニティがサポートするPrometheusエクスポーターで指標を収集する
      1. たとえば、MySQLパフォーマンススキーマまたはProxySQLからのデータ
    2. 監視対象の各サービスの最も重要な指標と過去の傾向を示す多数の専用ダッシュボード
    3. 高周波モニタリングにより、1秒間隔でターゲットをこすり落とすことができます
    4. データベースサーバーとクラスターの数に応じて拡張できるアーキテクチャ。 1つのPrometheusインスタンスで、1秒あたり数千のサンプルを取り込むことができます。
    5. ホストとプロセスのメトリックを収集するためにSSH接続に依存しないため、エージェントレス監視ソリューションと比較してよりスケーラブルなシステムを意味します
    6. カスタムルールを使用してカスタムダッシュボードを作成する機能(今後のリリースに注意してください)

    監視対象ノードにインストールされているSCUMMエージェント/エクスポーターは、Prometheusエクスポーターと呼ばれます。エクスポータは、ノード(CPU、RAM、ディスク、ネットワークなど)およびMySQLやPostgreSQLサーバーなどのサービスからメトリックを収集します。 Prometheusサーバーはサーバーにインストールされ、カスタム間隔でエクスポーターをスクレイプ(サンプル)します。

    なぜプロメテウスなのか?

    Prometheusは非常に人気のある時系列データベースであり、アクティブなエコシステムで広く採用されています。豊富なデータモデルとhttpベースのポーリングシステムを備えたクエリ言語を提供します。 HAセットアップでも簡単にインストール、保守、構成できます。

    Prometheusは、インストルメント化されたジョブから、直接または短期間のジョブの中間プッシュゲートウェイを介してメトリックを取得します。取得したすべてのサンプルをローカルに保存し、このデータに対してルールを実行して、既存のデータから新しい時系列を集約して記録するか、アラートを生成します。

    Prometheusは、純粋に数値の時系列を記録するのに適しています。これは、マシン中心の監視と、非常に動的なサービス指向アーキテクチャの監視の両方に適合します。マイクロサービスの世界では、多次元データの収集とクエリのサポートが特に強みです。

    Prometheusは信頼性を考慮して設計されており、停止時に問題を迅速に診断できるようにするためのシステムになります。各Prometheusサーバーはスタンドアロンであり、ネットワークストレージやその他のリモートサービスに依存しません。インフラストラクチャの他の部分が壊れている場合でも信頼でき、使用するために大規模なインフラストラクチャをセットアップする必要はありません。したがって、高可用性を実現するために、最初のPrometheusサーバーと同じデータをスクレイピングする2番目のPrometheusサーバーをインストールするだけで済みます。

    さらに、Prometheusは非常に人気のある時系列データベースであり、その採用は非常に急速に成長しています。組織の上位にある別のPrometheusサーバーが、データベース層に近いPrometheusサーバーをスクレイプする可能性があります。これにより、データベース層でデータ解像度が組織の上位よりも高いスケーラブルな監視インフラストラクチャが可能になります。

    輸出業者

    1つ以上のエクスポーターが監視対象サーバーにインストールされ、インフラストラクチャの特定の部分に関するメトリックを収集する責任があります。たとえば、ホスト固有の情報をキャプチャするエクスポータ、MySQLメトリックをキャプチャするエクスポータ、およびProxySQLメトリックが1つある場合があります。

    また、サーバーの実行中のプロセスを監視する特定のプロセスエクスポーターを作成しました。このエクスポーターは、ClusterControlの高可用性機能にとって重要であり、ClusterControlがプロセスの障害とプロセスの状態に迅速に対応できるようにします。プロセスエクスポーター(エージェントベースの監視が有効になっている場合にデフォルトでインストールされます)を使用すると、監視対象サーバーのシステム負荷が軽減されます。

    ClusterControlでのエージェントベースの監視の有効化

    エージェントベースの監視を有効にするには、ダッシュボードをクリックしてから[エージェントベースの監視を有効にする]をクリックするだけです。 Prometheusサーバーをインストールするホストを選択します。このPrometheusサーバーは、他のクラスターと共有できます。

    1.7.1リリースでは、ClusterControlに次のダッシュボードが付属しています。

    • システムの概要
    • クラスターの概要
    • MySQLServer-一般
    • MySQLServer-キャッシュ
    • MySQLInnoDBメトリクス
    • ガレラクラスターの概要
    • Galeraサーバーの概要
    • PostgreSQLの概要
    • ProxySQLの概要
    • HAProxyの概要
    • MongoDBクラスターの概要
    • MongoDBレプリカセット
    • MongoDBサーバー

    要約するには…

    監視エージェントを使用するか、エージェントレスルートを使用するかは、組織のポリシー要件とカスタムニーズに完全に基づいています。また、監視対象のデータベースホストにエージェントをインストールまたは管理する必要がないというシンプルさが気に入っていますが、エージェントベースのアプローチでは、監視データの解像度が高くなり、セキュリティの面で一定の利点があります。

    ClusterControlの新しいSCUMMシステムは、Prometheusエージェントを使用して、データベースクラスターを監視しながら、精度とカスタマイズオプションを向上させます。

    試してみて、自分の目で確かめてみませんか!

    今すぐClusterControlをインストールするか(Community Editionでは無料です)、製品の詳細を最初に読みたい場合は、新しいClusterControlガイドをダウンロードしてください。


    1. MongoObjectIDから作成日を抽出するにはどうすればよいですか

    2. パフォーマンスを再実行し、jsonオブジェクトを文字列として保存します

    3. マスターとスレーブとのRedis接続を作成する方法

    4. Redisで参照セットを実装する