postgresサーバーを監視する必要があります。一定時間後に特定のテーブルに変更がない場合は、アラームを取得する必要があります。私はこれを行うためにxymonとnagiosを取得しようとしてきましたが、できませんでした。助けてください
4 に答える
おそらく pg_stat_user_tables を見て、テーブルの行の挿入/削除/更新の統計が変更されたかどうかに注意してください。これは、監視ソフトウェアでこの種のアクティビティを確認する最も簡単な方法です。
また、ソース コードを見て、最高の PostgreSQL 監視プラグインである Nagios のプラグインである check_postgresを見ることで、この分野のアイデアを得ることができるかもしれません。
まず、任意の変更ステートメント (INSERT/UPDATE/DELETE) でアクティブになるテーブルにトリガーを作成します。このトリガーは、「最後に変更された」タイムスタンプをどこかで更新する必要があります (たとえば、他のコントロール テーブルのフィールド)。
次に、何らかの外部手段 (Unix の cron など) によって定期的に開始される別のプロセスが必要になります。このプロセスは、たとえば 10 分ごと、または 1 時間ごとなど、必要な粒度で実行されます。最後に変更されたタイムスタンプをチェックして、最後のチェック以降の期間にアクティビティがあったかどうかを判断するだけです。
これは無料のソリューションではありませんが、LogicMonitor のpostgres モニタリングはこれを簡単に行うことができます。