1

バックグラウンドで継続的に実行され、それを実行するデーモンを作成しています。パフォーマンスやその他のさまざまな変数を監視したいと思います。これには、Web リクエストのレイテンシ、エラー、処理されたアイテムの数などが含まれます。

データは、グラフ、レポート (平均値、異常値) および制限を超えた場合のアラートと共に確認できるようになります。

Windows のパフォーマンス カウンターは、これに最も近いものです。独自のカウンターを定義して、コードから簡単にアクセスできます。

名前が付けられている「パフォーマンス」カウンターを探しているのではなく、アプリケーションカウンターに似ていることに注意してください。つまり、実行された命令やキャッシュミスの数は気にしませんが、カスタムカウンターについては気にしません。応答が要点を逃した、これに似た StackOverflow の質問は次のとおりです。 Linux のアプリケーション カウンター? (そしてOSX?)

私はCacti(および代替案)を見てきましたが、データを提供するスケジュールでスクリプトを実行しているようです。つまり、ある種の IPC 呼び出しを待機しているスレッドとともに、カウンターをデーモンに格納する必要があるということです。次に、この IPC インターフェイスを介して接続し、保存された値を取得する 2 つ目のアプリケーション/スクリプトを作成する必要があります。

より良い方法はありますか?単一の関数呼び出しでカウンターをインクリメントし、フロントエンド経由で自動的に処理される C ライブラリはありますか?

4

2 に答える 2

3

statsDは、メトリクスの収集を開始するのに適した場所です。

statsD を使用すると、大きなオーバーヘッドを発生させることなく、アプリケーションから直接カウンターを送信できます。コードは実行時にカウンターを生成するため、コード内でそれを追跡する必要はありません。

オールインワン (ただし永続性なし) のパッケージが必要な場合は、pupを使用できます。

永続化とグラフ化が必要な場合は、グラファイトを参照してください。

グラファイトは statsd に接続し、生成したカウンターをグラフ化します。それはかなり軽量であり、この組み合わせは Nagios のようなもの (展開と学習曲線の点でサボテンにはるかに近い) よりも展開と保守が容易であることは間違いありません。

永続性と API をさらに統合したものが必要な場合は、グラフ作成を行うための多数のサービスがあります。ここでは、オープンソース ソフトウェアに限定しています。

于 2013-08-16T21:10:13.633 に答える