タイトルが私の実際の問題を表現するのに最適な方法であるかどうかはわかりません。これが一般的すぎる質問である場合はお詫びしますが、何かを行う方法に頭を悩ませています。
私がやろうとしていること:アイデアは、私が監視を担当している何千ものサーバーの「停止」のMySQLデータベースを作成することです。これにより、ダウンタイムの履歴が記録され、何が起こったかをさかのぼって簡単に知ることができます。データベースは、日付やサーバーのホスト名などでこれらの停止を参照できる非常に単純なPHPフォームによって照会されます。
これまでのところ:定期的にcronとして実行されてPingdom APIを呼び出し、pingdomサービスによって報告された現在のダウンアラートのリストを取得するPythonスクリプトがあります。ダウンアラートごとに、ホスト名、タイムスタンプ、pingdomチェックIDなどを含む行がデータベースに挿入されます。次に、ダウンアラートを照会するために正常に機能する単純なphpフォームがあります。
問題:私が今持っているものにはいくつかの重要な機能が欠けており、私が探しているものではありません。現在、このデータベースにクエリを実行すると、次のようなダウンアラートの簡単なリストが表示されます。
2012-05-01から2012-06-30までのTest_CheckのPindomアラート:
test_checkは2012-05-2400:11:11にDOWNと報告されましたtest_checkは2012-05-2400:17:28にDOWNと報告されましたtest_checkは2012-05-2400:25:24にDOWNと報告されましたtest_checkはでDOWNと報告されました2012-05-24 00:25:48
代わりに私が欲しいのはこのようなものです:
test_checkは15分間報告されました(2012-05-2400:11:11から2012-05-2400:25:48)(この停止に関するコメントへのリンク)(この停止に関する情報へのリンク)。
この理想的な最終結果では、停止ID、サーバーpingdomのホスト名が報告されている行、そのボックスが最初に報告されたときのタイムスタンプ、および'コメントとともに再度報告されたときのタイムスタンプを含む1つの行があります。 'フィールドI(および他の管理者)は、事後にこの特定のイベントに関するメモを追加するために使用します。pingdomからアラートをプルするときにこれを実行する必要があるのか、それとも新しいテーブルにデータを入力するためにアラートを収集した後でアラートを再処理する必要があるのかがわかりません。また、どのように処理するのかよくわかりません。それらのオプションの。
短期間に発生するいくつかのダウンアラートを単一の「停止」に結合し、現在個々のダウンアラートが存在する既存のMySQLデータベースの別のテーブルに挿入する方法について少し迷っています。保存されています。これにより、コメントを付けたり、将来の参照用に特定の詳細を追加したりできるようになり、通常、これがはるかに使いやすくなります。pingdomからアラートをプルするときにこれを実行する必要があるのか、それとも新しいテーブルにデータを入力するためにアラートを収集した後でアラートを再処理する必要があるのかがわかりません。また、どのように処理するのかよくわかりません。それらのオプションの。
私はこれを行う方法を理解しようとして頭を悩ませてきました。単純な概念のように見えますが、私はやや経験の浅いプログラマー(私は専門職によるLinux管理者です)であり、この時点で困惑しています。
私は、正しい方向に向けるために、ここでやろうとしていることについての考え、アドバイス、例、またはさらに技術的な説明を探しています。これが理にかなっていることを願っています。アドバイスを事前に感謝します:)