監視は、システムが正常に機能しているかどうかを知る方法です。 PostgreSQLのような堅牢なテクノロジーを使用している場合でも、ビジネスに影響を与える前に問題を防ぐことができる優れた監視システムを用意することが重要です。データベースをプロアクティブに監視する最善の方法は、データベースをワークロードに適合させるためのカスタムチェックと、障害が発生した場合に通知されることを確認するための通知を行うことです。
すべてを手動で作成する必要があるため、これは時間のかかる作業になる可能性がありますが、これにClusterControlを使用するのはどうでしょうか。はい、できます。このブログでは、その方法を説明します。
ClusterControl通知
ClusterControlには、障害や予期しない動作が発生した場合に通知するためにアドバイザを使用するアラームシステムがあります。事前定義されたアドバイザがいくつか付属していますが、Developer Studio統合ツールを使用して、アドバイザを変更したり、新しいアドバイザを作成したりすることもできます。また、SlackやPagerDutyなどのサードパーティツールと統合されているため、そこで通知を受け取ることもできます。
ClusterControlアドバイザ
ClusterControlには、Advisorsと呼ばれる内部ミニプログラムがあり、ClusterControlオブジェクトの構造内で動作および実行される小さなプログラムを記述します。これは、Developer Studioで作成されたスクリプトを実行し、ステータス、アドバイス、および正当化を含む結果を生成するスケジュールされた関数と考えることができます。これにより、ユーザーは、オンデマンドまたはスケジュールに従って実行できるカスタムアドバイザーを作成することにより、ClusterControlの機能を簡単に拡張できます。
ClusterControl->パフォーマンス-の下にある事前定義されたアドバイザがいくつかあります。>アドバイザですが、[アドバイザのスケジュール]オプションを使用して新しいアドバイザをスケジュールすることもできます。このオプションを使用すると、DeveloperStudioセクションに移動します。
既存のアドバイザの場合、スケジュール構成、最後の実行、および現在のステータス、データベースインスタンス、出力に関するメッセージ、必要に応じてアドバイスなどの情報を確認できます。
ClusterControl Developer Studio
上記のアドバイザは、Javascriptのような言語であるClusterControlドメイン固有言語(DSL)で記述されたミニスクリプトです。これらのスクリプトは、ClusterControlに統合されたDeveloper Studioツールを使用して、ClusterControlで作成、コンパイル、保存、実行、およびスケジュールできます。
このツールにアクセスするには、ClusterControl->管理->DeveloperStudioに移動します。 。そこに入ると、利用可能なスクリプトを確認できますが、新しいスクリプトを作成、インポート、またはエクスポートすることもできます。
スクリプトを変更または作成するときは、ジョブをコンパイルし、コンパイルして実行し、スケジュールを設定するか、完全に無効にすることができます。
新しいスクリプトをスケジュールする場合、構成は基本的にcronジョブであり、基本(ベース)または詳細の2つの異なるモードでスクリプトを実行するタイミングと頻度を指定できます。 。
既存のスクリプトをスケジュールしている場合は、出力を次のように確認できます。メッセージセクション。
そして、たとえば、新しいスクリプトを作成する場合は、 PostgreSQLデータベースでSQLクエリを実行して、現在のバージョンを確認します。基本的な例があります。
DSL言語の使用法の詳細については、以下を参照してください。公式ドキュメント。
優れた監視システムでは、通知を送信したり、アラームを表示したり、スクリプトをカスタマイズして会社に適合させることができる必要があります。
ClusterControlには、前述のすべての機能があります。自動リカバリ、バックアップ、展開、セキュリティなど、多くの管理および監視機能に至るまでの機能を提供できます。
最初は、JavaScriptデータベースとClusterControlに関する基本的な知識が必要なため、PostgreSQLデータベースのカスタムアドバイザを作成するのは難しいかもしれませんが、最初のアドバイザを作成したら、残りは簡単な作業になるはずです。