データベース管理は、スムーズな運用を保証するだけでなく、容量計画のベースラインを提供し、負荷スパイクのリアルタイムパフォーマンスを取得し、ノードの大規模なクラスターを自動化し、バックアップ計画を立てる過去のパフォーマンスを実現します。データベース。
Ansible、Salt、Puppetなど、これらのタスクの一部を実行できる自動化ツールはたくさんありますが、MongoDBOpsManagerはその機能を超えた機能を提供します。さらに、特定の時点でのデータベースの状態と、システムを最新の状態にするために必要な更新を知る必要があります。
MongoDB Ops Managerとは何ですか?
これは、MongoDBデータベースエンジニアによって作成されたMongoDBの管理アプリケーションであり、デプロイ、モニタリング、バックアップ、スケーリングのプロセスをより簡単に、より高速化するためのものです。 MongoDBEnterpriseAdvancedライセンスでのみ利用できます。
データベースの使用量は、使用するユーザーが増えるにつれて時間とともに増加し、関連するデータの脆弱性も増加します。データベースは、ネットワークのハミングやハッキングなどのリスクにさらされる可能性があるため、事業運営に影響を及ぼします。データベース管理グループは、データベースを最新のパッチとサービス機能で維持するために、変化する数値に注意する必要があります。 MongoDB Ops Managerは、次の方法でデータベースのパフォーマンスを向上させるためにこの拡張機能を提供します。
- GUI全体のパフォーマンスの可視性
一般的に、Ops Managerは自動化、監視、バックアップに役立ちます。
OpsManager自動化機能
大規模なクラスターの展開を自分で管理することは、特に時間の経過とともに同じ命令を実行する場合は面倒になる可能性があり、(要求に応じて)スケールアップまたはスケールダウンします。これらのタスクの中には、データベーススペシャリストを雇う必要がある場合があります。 Ops Manager GUIは、数回クリックするだけでこれらのアクションの一部を提供します。これを使用して、需要に応じてクラスターにノードを追加または削除できます。MongoDBは、ダウンタイムを最小限に抑えるか、まったく使用せずに、新しいトポロジに関して自動的にリバランスします。
手動で実行した操作の一部(新しいクラスターのデプロイ、ノードのアップグレード、レプリカセットメンバーとシャードの追加など)は、OpsManagerによって調整および自動化されます。次に手順を実行するときは、ボタンをクリックするだけで、すべてのタスクが実行されます。プログラムによる管理を統合できるようにするOpsManagerRESTfulAPIもあります。
このタイプの自動化により、運用コストとオーバーヘッドを削減できます。
OpsManagerを使用したMongoDGモニタリング
監視は、リソースの割り当てとデータベースの状態に関する通知に関して、データベースシステムにとって重要な機能です。データベースのパフォーマンスがわからない場合、技術的な問題が発生する可能性が高く、その結果、壊滅的です。 MongoDB Ops Managerは、グラフィカル表現で完全なパフォーマンスの可視性を備えており、ハードウェアリソースなどの主要業績評価指標に関するリアルタイムのレポートとアラート機能を提供します。
キャパシティプランニングの場合、Ops Managerは、運用ベースラインを導き出すことができる履歴パフォーマンスビューを提供します。
モニタリングは、同じMongoDBホストで有効にすることで実現されます。モニタリングは、デプロイメント内のすべてのノードからデータを収集し、エージェントはこれらの統計をOps Managerに送信し、OpsManagerはデプロイメントステータスに関するレポートをリアルタイムで作成します。
レポートから、低速および高速のクエリを簡単に確認し、平均的なパフォーマンスを得るためにそれらを最適化する方法を理解できます。
Ops Managerは、CPU使用率とメモリを含む主要なヘルスメトリックに関する多くのデータベースを追跡するためのカスタムダッシュボードとチャートを提供します。
データベースのどの主要な指標が範囲外であるかを知りたいので、OpsManagerでアラートを有効にすることが重要です。それらの構成は、個々のホスト、エージェント、レプリカセット、およびバックアップに影響を与えるパラメーターの点で異なります。 Ops Managerは、潜在的な技術的問題のオーバーヘッドを維持するための4つの主要なレポート戦略を提供します。インシデント管理システム、SMS、電子メール、またはSlackです。
Ops Manager RESTful APIを使用して、APMなどのプラットフォームにデータをフィードしてヘルスメトリックを表示することもできます。
OpsManagerを使用したMongoDBバックアップ
データの損失は、あらゆるビジネスの運営に影響を与える可能性のある最も苦痛な挫折の1つです。ただし、Ops Managerを使用すると、データは保護されます。データベースのダウンタイムは、停電やネットワークの切断などにより、いつでも発生する可能性があります。 Luckyは、スケジュールされたスナップショットモードまたはポイントインタイムリカバリのいずれかでバックアップを継続的に維持するため、MongoDBOpsManagerを使用する組織です。ある時点でMongoDBのデプロイが失敗した場合、最新のバックアップは、失敗する前の最後のデータベースステータスからほんの少し遅れて、データ損失が減少します。
このツールは、バックアップへのクエリを直接実行して、復元の正しいポイントを見つけるためのウィンドウを提供します。さらに、これを使用して、データ構造が時間とともにどのように変化したかを理解できます。
Ops Managerのバックアップは、クラスターまたはレプリカセットでのみ機能します。それ以外の場合、スタンドアロンのmongodプロセスの場合は、単一メンバーのレプリカセットに変換する必要があります。
MongoDBデプロイメントでバックアップを有効にした後、バックアップは、レプリカセットの新しい非表示メンバーを作成する場合と同じ方法で、デプロイメントのデータの初期同期を実行します。エージェントは、初期同期とoplogを送信します。 HTTPS経由でデータをOpsManagerに戻します。バックアッププロセス中、データベースはすべてのスループット操作を保留しますが、それらはoplogに記録されるため、最後の更新を取得するためにも送信されます。
次に、バックアップは各レプリカセットのoplogを調整して、バックアップされたレプリカセットごとにOps Managerによって維持されるディスク上のスタンドアロンデータベース(ヘッドデータベース)を維持します。このヘッドデータベースは、エージェントを介して提供された元のプライマリから最後のoplogまでの一貫性を保ちます。
シャードクラスターの場合、スナップショット間のチェックポイントから復元を実行できますが、レプリカセットの場合、選択した時点から復元を実行できます。
スナップショットの復元の場合、OpsManagerはスナップショットストレージから直接読み取ります。
ポイントインタイムまたはチェックポイントを使用する場合、Opsマネージャーはスナップショットストレージから完全なスナップショットを復元し、保存されたoplogを指定されたポイントに適用します。 Ops Managerは、HTTPSメカニズムを使用してスナップショットとoplogの更新を配信します。
バックアップごとに保持するoplogの量によって、チェックポイントとポイントインタイムの復元でカバーできる時間が決まります。
ClusterControlは代替手段を提供し、Ops Managerと同じ機能の多くを提供しますが、コストは半分以上です。 ClusterControlがMongoDBに対して行うことについて詳しくは、こちらをご覧ください。