問題タブ [sensu]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
database - アプリケーションのヘルスチェックとしてのデータベース クエリ - 管理ツール
こんにちは、Stackoverflowers の皆さん。
当社では、さまざまな種類のデータベース (MySQL、PostgreSQL、MS SQL、Azure SQL など) で実行されているいくつかのアプリケーション スタックがあります。監視目的で、これらすべてのアプリケーション スタックのデータベースに対してスクリプト化されたクエリを使用し、Nagios が結果を電子メールで報告します。
現在、サポート チームはこれらのクエリに簡単にアクセスして手動で実行または変更したいと考えているため、クエリを保存、実行、および変更できるように特別に設計されたアプリケーションを構築することを検討していました。上記のデータベース タイプと、ユーザー フレンドリーな Web インターフェイスと、SENSU に基づく新しいレポート スタック用の JSON 出力を備えた REST API の両方を提供します。これは数か月以内に展開されます。
私の個人的な考えでは、このようなツールの使用例は非常に一般的であるため、このようなツールはすでに存在しているに違いありません。ただし、グーグルで調べても、探しているものに非常に似ている結果は得られませんでした。
だから私の質問は、あなたはそのようなツールを知っていますか? 自分で構築する必要があるとしたら、どのようなアプローチをとりますか? 私たちは主に Java/C++ チームですが、すべてのオプションを受け入れることができます。
json - Sensu チェック結果イベント データ
せんすに取り組んでいます。CentOS に sensu をインストールしました。Sensu チェックによって生成されるイベント メッセージを取得する必要があります。いくつかの sensu コミュニティ プラグインcheck-procs.rb,check-load.rb,check-banner.rb, metrics-ebs-volume.rb
などを追加しました。これらのファイルをイベント処理するためのハンドラ ファイルをいくつか作成しまし.rb
た。でイベントを取得していますsensu-server.log
。
例:
"nephele_events_handler.rb"
別のサーバーに残りの呼び出しを介してイベント メッセージを送信する ruby ファイルを作成しました。ruby ファイルは にあります"/etc/sensu/handlers/"
。STDIN.read からイベントを読み込んでいます。公式の sensu ドキュメントから、イベントが STDIN 内に保存されることを読みました。
場所「/etc/sensu/conf.d/handlers」内にハンドラー json ファイル「processor.json」を書き込んでいます。
しかし、直面している問題は、「check-procs」からのみイベントを取得していることです
実行中のチェック
base_with_jira.json
他のプラグインからイベントを取得していません。このために私がしなければならないことを説明してもらえますか。
sensu - 再起動せずに sensu ログをロールするにはどうすればよいですか?
Sensu ログは、大量のデータでいっぱいになる可能性があります。logrotate を使用して外部インフラストラクチャをセットアップし、定期的に sensu ソフトウェアを再起動して開いているファイル ハンドルをなくすことができますが、再起動しないことをお勧めします。
設定されたディスク使用量で設定された数のバックアップにログをロールする方法はありますか? log4j とローリング ファイル アペンダー/ロガーを使用して Java アプリケーションのログを構成する方法と同様の構成を探しています。sensuのウェブサイトで何も見つかりません。
sensu - Sense クライアント エラー「前のチェック コマンドを実行中です」
最新の sensu コア バージョン 0.26.1 を使用しており、ある CentOS マシンに sensu サーバーをセットアップし、別の sensu クライアントに 1 つの sensu クライアントをセットアップしています。
1 つの sensu クライアントで約 500 のチェックがあり"previous check command execution in progress"
、sensu-client.log で見続けていますが、各チェックは実際には非常に速く終了します (ほとんどのチェックは 0.1 秒未満で、間隔は 60 秒です)。sensu
ユーザーsudo su sensu -c "{run my check}"
。
しかし、実際の状況では、うちわダッシュボードで、私のチェックの多くが 1 分以上実行されていることが示されています。sensuクライアントが深刻なスタック/スローになっているようです。次のアプローチを試しました。
- 長時間実行されているいくつかのチェックを削除し、sensu サーバー/クライアントを再起動します
- チェックにタイムアウト定義を追加し、タイムアウトを 10 に制限すると、多くのチェック「実行タイムアウト」が発生しました。
- 1、10、50 のチェックのみを実行しようとしましたが、すべて正常に動作しているように見えましたが、チェックのカウントが特定の数 (おそらく 200 ~ 300) に達するとすぐに、問題が発生しました。
上記のどちらも機能しません。実際にブロックしているチェックをデバッグする方法はありますか? timeout
または、定義を超えたときにチェックを単純に強制終了するように sensu を構成できますか? ログにこのメッセージが表示されないように、「前のチェックコマンドの実行が進行中です」
私はこれによってブロックされ、助けが必要です:)