問題タブ [statsd]
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.
graphite - グラファイトから正確な数値を取得するのに問題がある
statsd を介して多数の統計をグラファイトに発行するアプリケーションがあります。統計の 1 つは、サービスがメッセージを受信するたびに統計の増分を statsd に送信するだけです。この統計の経時的な相対的なトラフィックを示すグラフを表示する必要があります。一般的に言えば、たとえば 10 秒ごとに更新されるグラフを表示し、その 10 秒間に受信したメッセージの数と、一定期間の履歴を表示できるはずです。ただし、API クエリをどのようにフォーマットしても、正確なデータを取得できないようです。私はこれを含む多くの記事を読みました:
http://code.hootsuite.com/accurate-counting-with-graphite-and-statsd/
それは良い洞察を与えるようですが、それでも私が必要とするものを十分に与えてはくれません. これは私が来た締めくくりです:
積分 (hitcount (stats.recieved、「10 秒」))
しかし、私はこれの累積的な結果が気に入らず、これを実行すると、受信したメッセージのログに表示されるものとはほど遠い統計が得られます。多少のパケット損失を受け入れても問題ありませんが、桁違いの話です。私は何か間違ったことをしていることを知っています。誰かが私に何についての洞察を与えることができるかを願っています。
php - Zend Framework アプリケーションで StatsD を使用するにはどうすればよいですか?
本質的に、私は他の人がどのようにそれを行うのか、特に興味があります.StatsDのサンプルPHPクライアントを独自のクラスにラップしていますか? その構成をどこに保存しますか? ZF ベースのアプリケーションで statsd を使用するための落とし穴はありますか?
ありがとうございました!
PS: ZF1 と ZF2 の両方を使用しているため、この質問は ZF の両方のバージョンに関係します。
graphite - Graphite でアクティブなユーザーの数を追跡する方法
Web サイトのアクティブ ユーザーの数をいつでも追跡する必要があります。このため、ユーザーがログインするたびに「users.loggedin」という名前のキーを増やし、ユーザーがサインアウトするたびに減らします。
StatD 経由でメトリクスを Graphite に送信しています。しかし、私が読んだことに基づいて、「インクリメント」は時間間隔ごとの変更を提供するため、グラファイトダッシュボードで変更を確認できましたが、しばらくすると再びゼロが表示されます。
graphite - グラファイトは、一貫性のないデータを返すことを要約します
以下を使用して接続された 2 ノードの Graphite クラスターをセットアップしましたcarbon-relay
。
cluster-test-500
約 1 分間、約 60/10 秒で、メトリクス用に 500 個のカウンターを送信しました。
私の集計ルールに基づいて:
データは両方のノードの Whisper DB に表示されました。
次に、summarize
関数を使用してグラファイトにクエリを実行すると、過去 1 日間で次のようになります。
同じクエリを再実行するだけで、一貫性のない結果が返されます。
これは、WhisperDB ファイル内のタイム セグメントが一見ランダムに合計された結果のようです。一体何がこれを引き起こしているのでしょうか?
statistics - 時間ではなく、特定のアイテムごとの Statsd & Graphite 統計
タイムスパンごとに測定されると仮定すると、統計情報とグラファイトを使用してメトリックを処理するのは簡単です。例として、1 秒あたりのリクエスト数を簡単に追跡できます。
一方、特定の「基本アイテム」に基づいてメトリックを追跡すると便利な場合があります。たとえば、データ セットを処理していて、無効なフィールドの割合、データ セットの処理に必要なアクションの数などを追跡したいとします。「データ セットには 1 秒あたり 10 個の無効な値がありました」という結果を簡単に確認できます。および「1 秒あたり平均 100 個のデータ フィールドを処理します」ですが、「100 個のフィールドに 10 個の無効な値がある」のようなものを見たいと思います。
これらのフィールドの処理にかかる時間が類似している場合、結果は類似しています。ただし、変動する場合 (特にデータの性質によって時間が異なる場合)、時間ベースの統計はやや混乱し、私が見たいものを反映していません。
私が言及した問題を解決するためにstatsd / Graphiteを設定する方法はありますか?
graphite - 異なるインスタンスからデータを集約する
node.js の statsD で使用している Graphite について質問があります。
複数のインスタンスを実行する予定のサーバーがあり、すべてのインスタンス間で次のような統計を集計したいと考えています。
- 平均応答時間
- アクティブなクライアントの数
コードは次のとおりであるため、現在、各インスタンスは独自のグラフで開始されるため、独自のフォルダーを取得します。
stats('/myServ/aggregates', reqCounter);
を使用して独自のグラフを追跡するだけでなく、各インスタンスがデータをグラファイトの同じグラフに送信するようにすることもできますstats.gauge('requestsPerSecond', reqCounter);
か?
graphite - Graphite + Statsd、異なる時間範囲で異なる値
StatsD と Graphite を使用しているときに、同じstats_counts.*
メトリック値を異なる時間範囲で表示すると問題が発生します。
上のグラフからわかるように、より大きな時間範囲を選択すると、同じ測定データが異なって表示されます。
古いデータで使用されている Whisper のストレージ集約スキームが原因で精度が低下していることは理解できますが、これは実際には、最近のデータがさまざまな時間範囲で異なる値を持つように表示される方法を説明していません。
記録のために、私のschema_aggregation.conf
見た目は次のとおりです。
そして私のstorage-schemas.conf
:
何が間違っているのでしょうか?多分私が逃した設定?