sql >> データベース >  >> RDS >> PostgreSQL

PostgreSQLに最適なアラートおよび通知ツール

    組織は、エンタープライズ監視システムの一部として、高可用性を実現し、その結果として停止コストを削減するための最初の防衛線として、アラートと通知に依存しています。

    アラートと通知は同じ意味で使用されることがあります。たとえば、「高負荷のシステムアラートを受信しました」と言うことができます。「アラート」を「通知」に置き換えても、メッセージの意味は変わりません。ただし、管理システムの世界では、違いに注意することが重要です。アラートはシステムのトラブルの結果として生成されるイベントであり、通知はトラブルを含むシステムのステータスに関する情報を配信するために使用されます。例として、Severeninesのブログ「ClusterControlアラート統合の紹介」では、ClusterControlの統合機能の1つである、電子メール、チャットサービス、およびインシデント管理システムを介してアラートを配信できる通知システムについて説明しています。 PostgreSQL Wiki —アラートとステータス通知も参照してください。

    PostgreSQLデータベースアクティビティを正確に監視するために、管理システムはデータベースアクティビティメトリック、カスタム機能または監視アドバイザ、および監視ログファイルに依存しています。

    この記事では、PostgreSQL Wiki、監視、およびPostgreSQL GUIセクションにリストされているツールを確認し、アクティブに保守されていないツール、または製品内または無料の試用アカウントでアラートと通知を提供しないツールをスキップします。徹底的なレビューではありませんが、各ツールは、アラートと通知の機能を理解できるところまでインストールおよび構成されていました。

    Nagios

    Nagiosは、幅広いプラグインを提供する、人気のあるオンプレミスの汎用監視システムです。 Nagios Coreはオープンソースですが、PostgreSQLを監視するための推奨ソリューションはNagiosXIです。

    通知設定はユーザーごとであり、それらを変更するには、管理者はユーザーとして「ログイン」する必要があります—Nagiosは仮面舞踏会という用語を使用します 。アカウント設定ページが表示されると、ユーザーは通知方法を有効にするか無効にするかを選択できます。

    NagaosXI通知設定

    通知の種類を設定するには、「通知方法」ページにアクセスしてください。

    NagaosXI通知メソッド

    詳細については、NagiosXIユーザーガイドを参照してください。

    アラートを構成するには、管理者としてログインし、データベース構成ウィザードを選択します。

    NagaosXIデータベース構成ウィザード

    構成が完了すると、デフォルトのビュー、ダッシュボードのいずれかを選択してアラートを表示したり、カスタムビューを構成したりできます。箱から出して、NagiosXIは次のPostgreSQLモニターを提供します:

    NagaosXIPostgreSQLモニター

    Nagios XIは、すぐにPostgreSQL Statistics Collectorに基づくメトリックを提供しないことに注意してください。代わりに、各メトリックは「PostgresQuery」構成ウィザードを使用して定義する必要があります。

    NagaosXIPostgresクエリ

    Datadog

    Datadogは、さまざまなサービスとの非常に多くの統合を特徴とする汎用SaaS監視ツールです。監視を開始するには、PostgreSQL統合を選択してから、電子メール、チャット(Slackなど)などの通知統合、またはPagerDutyなどのインシデント対応システムを選択します。

    Datadogの統合

    以前に構成された統合チャネルを介して通知を受信するには、PostgreSQLが「統合」モニタータイプを監視する場合、少なくとも1つのDatadogモニターを作成する必要があります。

    DatadogPostgreSQL統合

    モニターを構成する最初のステップは、アラートタイプを選択することです:

    データドッグ検出方法

    次に、1つ以上のメトリックを構成します。

    Datadorメトリクスの構成

    アラートをトリガーするための条件を構成します:

    Datadogアラートトリガー

    通知は、テンプレート変数を使用してカスタマイズできます:

    DatadogPostgres統合

    最後に、通知を受け取る受信者のリストを提供します:

    Datadog通知受信者

    Datadogが監視できるイベントは、PostgreSQL統合の「メトリクス」セクションにリストされており、PostgreSQLStatisticsCollectorの事前定義されたビューに基づいています。

    DatadogPostgres統合メトリクス

    デフォルトの統合では提供されないイベントを監視するために、Datadogは、Datadogプランに限定されたカスタムメトリックを作成するオプションを顧客に提供します。

    オクメーター

    OkmeterもSaaS汎用監視ファミリーの一部であり、他のSaaSツールと同様に、監視対象ホストにエージェントが必要です。エージェントがインストールされると、PostgreSQL接続チェックを含む一連のデフォルトイベントトリガーが有効になります:

    Okmeter Autotriggers

    より多くのPostgreSQLメトリックを取得するには、PostgreSQL「サーバー」を追加する必要があります:

    Okmeter-サーバーの追加

    NagiosやDatadogと同様に、PostgreSQL統計を監視するには、Okmeterドキュメント—カスタムメトリックの送信で説明されているようにカスタムメトリックを構成する必要があります。または、上記の「PostgreSQLサーバー」メトリックを編集して、「okmeter.pg_stats」関数のビューに含めます。

    Okmeterクエリ統計のドキュメントページでは、SQLステートメントの実行統計の追跡を有効にする方法について説明しています。 「pg_stat_statements」ビューの使用にはいくつかの制限があることに注意してください。モジュールで記録できる個別のステートメントの最大数—詳細については、pg_stat_statementsのPostgreSQLドキュメントを参照してください。

    通知の連絡先ページでは、ユーザーごとに通知を構成します。

    Okmeter連絡先通知

    通知メッセージは、テンプレートを使用してさらにカスタマイズできます:

    Okmeter通知メッセージテンプレート

    サーコナス

    別のSaaS一般監視製品であるCirconusは、PostgreSQLの「チェック」機能を備えており、個別に有効にすることも、ワンステップインストールの一部として追加することもできます。

    サーコナスチェックの設定

    Circonus PostgreSQLのドキュメントによると、チェックはリモートの場所から直接SQLステートメントを介して実行されます。 Circonusブローカーからの接続を受け入れるようにPostgreSQLホストを構成した後、ウィザードは使用可能なメトリックのリストを表示します。

    CirconusPostgreSQLチェック

    アラートを構成するために、各メトリックは一連のルールと通知される連絡先のリストに関連付けられています。

    サーコナスメトリックの詳細

    アラートは重大度レベルに基づいて分類されます:

    Circonusルールセットの重大度レベル

    通知チャネルには、SMS、OpsGenie、Slack、VictorOps、およびPagerDuty(電子メールなし)が含まれます。以下のスクリーンショットは、Slack統合を示しています:

    Circonusコンタクトグループ

    通知を構成するには、チェックの各メトリックにルールと連絡先を割り当てる必要があります。指標を編集する前に連絡先を作成する必要があることに注意してください:

    Circonusルールセット

    New Relic

    New Relicは、もう1つのSaaS一般監視システムです。 PostgreSQLに関しては、(この記事の執筆時点で)3つの利用可能なプラグインがあります。最新のものはBlueMedoraプラグインです:

    BlueMedoraの新しいRelicPostgreSQLプラグイン

    プラグインが機能すると、プラグインページに表示され、アラートを構成する準備が整います。

    新しいRelicアラートの設定

    New Relicは、アラートポリシーの概念を使用して、アラートをインシデントにグループ化します。ポリシーを構成する前に、通知チャネルを設定する必要があります。箱から出してすぐに、New Relicはすべての一般的なインシデント対応システムおよび電子メールと統合されます:

    新しいRelicチャンネルタイプ

    統合は、通知アプリケーションで最初に有効にする必要があることに注意してください。たとえば、チャネルタイプのリストからSlackを選択します。

    NewRelicSlack統合

    次に、「アラートポリシー」を作成します:

    新しいRelicアラートポリシー

    アラートポリシーには「アラート条件」が必要です。次のスクリーンショットのセットは、まさにそれを達成するための手順を示しています。

    NewRelicPostgreSQL条件カテゴリ NewRelicPostgreSQL条件エンティティ NewRelicPostgreSQL条件のしきい値

    最後に、デフォルトを変更するために[通知チャネル]タブを選択します。

    NewRelicPostgreSQL通知チャネル

    必要に応じて、アラート条件をNew Relic Insightsに追加します(追加のサブスクリプションが必要です):

    New Relic Insights

    Postgres Enterprise Manager

    PEMまたはPostgresEnterpriseManagerは、PostgreSQLを管理、調整、および監視するためのツールです。

    事前定義されたメトリックの非常に豊富なセットが付属しています:

    PostgresEnterpriseManagerの事前定義されたメトリック

    デフォルトのアラートを変更したり、カスタムアラートを作成したりするには、アラートテンプレートを使用します。

    PostgresEnterpriseManagerカスタムアラートテンプレート

    PEMは通知を電子メールとSNMPに依存しているため、Nagiosなどの監視システムと簡単に統合できますが、一般的なインシデント管理システム(PagerDuty、VictorOps、OpsGenie)やチャットサービス(Slack)との統合はありません。他の製品。

    PostgresEnterpriseManagerの電子メールとSNMPアラート

    pgwatch2

    pgwatch2は、別のPostgreSQL中心の監視ツールであるセルフホストソリューションです。

    アラートを定義するには、最初にカスタムダッシュボードを作成し、指標を定義する必要があります。

    pgwatch2ダッシュボードメトリック

    次に、アラートを構成します:

    pgwatch2ダッシュボードアラート構成

    設定が完了すると、アラートは[アラートリスト]ページに表示されます:

    pgwatch2ダッシュボードアラートリスト

    pgwatch2は、一般的なすべての通知システムと統合されています。 Slackチャネルを追加する例を次に示します。

    pgwatch2Slack統合

    システムで構成されている通知チャネルを表示するには、「通知チャネル」ページを開きます。

    pgwatch2通知チャネル

    pgwatch2の機能セクションに記載されているように、追加のメトリックを追加できます。

    ClusterControl

    ClusterControlは、PostgreSQL、MySQL、MariaDB、およびMongoDBをサポートするオンプレミスのデータベース指向の管理システムです。

    最初のステップは、通知統合を追加することです。利用可能な統合の詳細については、ClusterControlアラート統合の紹介をご覧ください:

    ClusterControlの統合

    このデモの目的で、Slackを構成しました:

    ClusterControlSlack統合

    ClusterControlには、電子メールで通知するオプションもあります:

    電子メールによるClusterControl通知

    通知が配置されたら、特定の基準に基づいてアラートをトリガーするためのカスタムアドバイザを作成します。

    ClusterControlカスタムアドバイザー今日のホワイトペーパーをダウンロードClusterControlを使用したPostgreSQLの管理と自動化デプロイ、監視、 PostgreSQLの管理とスケーリングホワイトペーパーをダウンロード

    結論

    この記事は、各ツールの機能を深く掘り下げることを目的としたものではなく、特にPostgreSQLのアラートと通知に関連する重要な機能と思われるものの概要を説明しようとしました。

    学んだ教訓の1つは、選択プロセスではいくつかの要素を考慮に入れる必要があるということです。

    • オンプレミスまたはSaaS
    • エージェントベースまたはリモートチェック
    • インシデント管理システムおよびチャットサービスとの統合
    • 監視対象のメトリック、すぐに使用できる、プラグインの可用性
    • カスタムメトリックを追加する機能
    • アラート管理機能(グループ化など)
    • ユーザーインターフェースの複雑さと粒度
    • 追加機能(管理、チューニング、APIなど)

    また、1つのソリューションですべてのビジネス要件や技術要件を満たしていない場合でも、サービスを組み合わせて使用​​することは常に可能です。


    1. PostgreSQLを使用して同じクエリの複数の行を更新する

    2. MariaDBで重複する行を選択する4つの方法

    3. SQLServerで単一列にチェック制約を作成する方法-SQLServer/TSQLチュートリアルパート83

    4. 移動可能なタイプのデータベース接続または認証エラー