問題タブ [collectd]
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.
mongodb - Collectdプラグインは、「Counter」タイプのようなRRDの場合、デルタではなく絶対値をmongoに報告しています。
そこで、私はCollectd用の読み取りプラグインopenvz_guest_bandwidthを作成しています。ここでは、 libiptcを使用して各ゲストが実行している外部帯域幅を照会することにより、 Openvzゲストが実行している帯域幅を読み取ります。
次に、この情報を、自分が作成したwrite_mongodbプラグインに報告します(これは破損に関連している可能性があります)
問題は、mongoで次のようなレコードが表示されていることです。
興味深い値が最後にあるところ。報告された値は、カウンターが読み取る値ではなく、連続するレコード間の差であると予想します。
これは、私が理解しているように、ABSOLUTEではなくCOUNTERのRRDカウンタータイプに類似しています。
私はこれにかなり固執していて、どこに障害があるのか、さらにそれを修正する方法がわかりません。障害は、読み取りまたは書き込みのいずれかにある可能性があります。
ちなみに、値がwrite_mongodbに到達する前に、値はcollectdネットワークプラグインを介して送信されます。
value_list.plugin
さらに、私はとの間で混乱しているようですvalue_list.plugin_instance
。"t: 'memory'"
他のプラグインは、メモリコレクション内など、本当に役に立たないフィールドを提供するタイプを使用しているようです。
ruby - rubyscript内からpassenger-statusコマンドを実行しようとしたときの特権の問題
私は、乗客のステータスをチェックし、さまざまな指標を報告することを想定した、Ruby で collectd プラグインを作成しました。すべてでスクリプトをテストすると問題なく動作しますが、collectd を介してスクリプトを実行しようとすると、次のメッセージが表示されて失敗します。
「エラー: この Phusion Passenger インスタンスのステータスを照会する権限がありません。'sudo' で再試行してください。」
次に、Ruby スクリプトを変更して、乗客ステータスに sudo コマンドを使用するようにしました。
「exec プラグイン: exec_read_one: エラー = sudo: 申し訳ありませんが、sudo を実行するには tty が必要です」
次に、collectd でスクリプトをルートとして実行しようとしましたが、次のようになりました。
「exec プラグイン: root としてプログラムを実行することを臆病に拒否しています。」
他に何を試すことができるかわかりません。root 以外のユーザーが使用すると失敗するコマンドpassenger-status
ここにスクリプトがあります
#!/usr/bin/env ruby
「getoptlong」が必要
# The name of the collectd plugin, something like apache, memory, mysql, interface, ...
PLUGIN_NAME = '乗客ステータス'def usage puts("#{$0} -h [-i ]") exit end
# Main
begin # stdout を同期して、collectd に正しくフラッシュされるようにします。$stdout.sync = true# コマンド ライン オプションの解析 hostname = nil sampling_interval = 20 # 秒、デフォルト値 opts = GetoptLong.new( [ '--hostid', '-h', GetoptLong::REQUIRED_ARGUMENT ], [ '--sampling-interval', ' -i', GetoptLong::OPTIONAL_ARGUMENT ] ) opts.each do |opt, arg| case opt when '--hostid' hostname = arg when '--sampling-interval' sampling_interval = arg.to_i end end 使い方 if !hostname
# コレクション ループ while true do start_run = Time.now.to_i next_run = start_run + sampling_interval
終了 終了
collectd - デフォルトのcollectdpluggindirはどこにありますか?
Collectdはデフォルトでプラグインをどこに保存しますか?私はperlプラグインがありません、そして私はインストールがホースで止められたのでそれがないことを確認したいです。
bug-reporting - Collectd memcachec プラグインが壊れていますか?
memcachec
プラグインを使用して memcached からデータを読み取ろうとしていますが、この構成を使用している場合:
memcachec plugin: Option 'server' not allowed here.
サーバーオプションを削除すると、 が得られますmemcachec plugin: 'Server' missing in 'Page' block.
。memcachec のソースを確認したところ、次のコードがあります (memcachec.c、329 行目):
2番目if
はelse if
プラグインが機能するためだったようです。これはバグですか?どこに報告すればよいですか?公式の修正が届くまでローカルで修正する適切な方法は何ですか?
rrdtool - データのエクスポート時に RRDtool がステップ パラメーターを強制する
javascript ライブラリを使用して rrdtool データを視覚化し、rrdtool xport を使用して rrd ファイルからデータを取得しています。
今日、私は次のことに気付きました: now-1day からのデータを表示すると: 100
のデータポイントがありますが、now-31day からのデータを表示すると、100 のデータポイントはどこにも見られません...
xport を使用しているときに、指定された時間内にすべてのデータポイントを確実に取得するにはどうすればよいですか?
--step 10 を使用していますが、違いはありませんでした。どんな --step を設定しても、慣れません。これは、1ピクセル未満の場合は無視されるためだと読んだので、この問題の推奨される解決策は何ですか?
追加情報:
デフォルトの RRDtool プラグイン オプションで Collectdtool を使用しています: http://collectd.org/documentation/manpages/collectd.conf.5.shtml#plugin_rrdtool
編集: RRDtool の本質は、1 か月、1 日、1 年などの複数のアーカイブを持つように思われるため、1 か月のアーカイブのすべてのデータポイントを取得できないのは理にかなっていますか?
linux - Linux の CPU パーセンテージの合計が 100% にならない
top
やmpstat
、特にサービスなどのコマンドから CPU 使用率を合計しようとするcollectd
と、正確な 100% の CPU 使用率に到達できません。
たとえばtop
、Amazon EC2 のテスト サーバーの結果は次のとおりです。
パーセンテージをどのように合計しても、CPU が 100% になることはありません。もちろん、論理的な方法ではありません。ほとんどの場合、丸め誤差のようです。100.1%か99.9%ですが、110%を超えることもあります。これは通常、steal
が比較的高い場合に発生します。たとえば、collectd
報告された ~21.44% のスチールと ~88% のアイドルからの 1 つの状況で、これら 2 つだけで既に 100% をはるかに超えています。ni
(nice) も (user) にカウントされることはわかっているus
ので、追加すべきではありませんが、それでもうまくいきません。
collectd
これらを 100% まで追加する方法や、時々報告される例外的なケースを解釈する方法を知っている人はいますか?
nagios - collectd は nagios の代替として動作できますか?
Collectd は、マシンの統計を測定する優れた方法を提供します。サポートするためにプラグイン システムを拡張する必要がある場合
- 被測定機の構成
- サーバー上で実行されているすべてのプロセスの一覧と、CPU、メモリ、およびディスクの使用率は?
- セキュリティの脆弱性をスキャンしますか?
- パッチ管理 - collectd クライアントをアップグレードする必要がある場合、ユーザーは再コンパイルして再インストールする必要があります。collectd エージェントを実行しているすべてのクライアント マシンにアップグレードをプッシュできますか? サーバーとクライアントはUDPでマルチキャストモードになっているため、可能であると思います(クライアントサーバーモードはありませんか?)
現在、データを収集するためのグラフと mongodb 用のグラファイト セットアップがあります。理想的には、数値以外のデータをmongodbに保存したいと考えています。
項目1、2、3は可能ですか?
c - そのネットワークプラグインまたは他のプラグインを使用してcollectdでSSL経由でサーバーにデータを送信する方法はありますか?
私の動機は、collectd によって記録されたすべての統計情報をクライアント マシンから SSL 暗号化を介してサーバーに送信することです。
Collectd には、collectd.conf ファイルで構成を設定できるサーバーに統計を送信する機能を実行するネットワーク プラグインがあります。
クライアント構成 -
サーバー構成 -
この構成は、認証を使用してデータをサーバーに送信するタスクも実行しています。
この構成でここに SSL 暗号化を追加する方法はありますか、または SSL 暗号化を collectd に追加する他の方法はありますか?
ただし 、 SecurityLevel Encryptは AES-256 で送信されるデータを暗号化します。しかし、必要な証明書を追加することで、 SSLでセキュリティを確保し、公開鍵と秘密鍵の概念に対応するにはどうすればよいでしょうか。
collectd - 不足しているプラグインを collectd に追加する方法
ubuntu マシンにcollectdをインストールしました。redisプラグインを有効にしたいのですが、デフォルトでは同梱されていません。そのプラグインをダウンロードする方法と場所を知っている人はいますか?