私たちは仮想の「専用」サーバーで動作します。これは理論的にはサーバー上の唯一のサーバーであることを意味します。実は…私の考えにはおそらくそうではないと思います。
マシンを殺すように見えますが、「盗む時間」は71%です。
負荷に関する統計を作成していますが、残念ながら統計はグラフに表示されません。これを監視するのに役立つツールがありますか?
追加情報:
私たちは4つのコアを実行しています。モデル:
# grep "model name" /proc/cpuinfo | sort -u
model name : Intel(R) Core(TM)2 Duo CPU E7500 @ 2.93GHz
答え1
あなたの質問は明確に定義されていますが、環境、現在の監視方法、または使用しているグラフィックツールに関する多くの情報を提供していません。しかし、一般的なSNMPの使用方法を考えると、これを使用していて少なくともある程度慣れているとします。
(私が知っている限り)現在、snmpdではCPU Steal Timeを使用できませんが、オブジェクトUCD-SNMP-MIB::extOutput
とexec
コマンドを使用して直接拡張できます。
盗まれた時間を取得する最も簡単な方法は、iostat
次の設定を使用することです。ただ盗む時間:
$ iostat -c | awk 'NR==4 {print $5}'
0.00
そのため、snmpd.conf に以下を追加します。
exec cpu_steal_time /usr/bin/iostat -c | /usr/bin/awk 'NR==4 {print $5}'
(またはコマンドをラッパースクリプトに入れてからラッパーを呼び出すこともできますsnmpd.conf
。)
各exec
呼び出しのインデックスはsnmpd.conf
1から始まります。したがって、execステートメントが1つしかない場合は、pollが必要ですUCD-SNMP-MIB::extOutput.1
。これが5番目のexec文であれば、世論調査UCD-SNMP-MIB::extOutput.5
などです。
数値OIDは、インデックス1にある場合はインデックス5などUCD-SNMP-MIB::extOutput
です。.1.3.6.1.4.1.2021.8.1.101
.1.3.6.1.4.1.2021.8.1.101.1
.1.3.6.1.4.1.2021.8.1.101.5
次に、0〜100の範囲のゲージタイプのSNMPD OIDをポーリングするグラフを作成します。すると、素敵なグラフが出てきます。
答え2
sar -u
あなたの場合は役に立ちます。 sarは通常システム状態-パック。
答え3
最も多くの賛成票を得た答えは素晴らしいですが、まだ完全には機能していません。ネットワークSNMP呼び出し中にパイプが失われたため、exec
次のようにする必要があります。
extend-sh cpu_steal_time /usr/bin/iostat -c 1 1 | /usr/bin/awk '!/%user|Linux|^$/ {print $5}'
結果は以下の通りですnsExtendOutput1Table
。
# snmpwalk localhost NET-SNMP-EXTEND-MIB::nsExtendOutput1Table
NET-SNMP-EXTEND-MIB::nsExtendOutput1Line."cpu_steal_time" = STRING: 0.60
NET-SNMP-EXTEND-MIB::nsExtendOutputFull."cpu_steal_time" = STRING: 0.60
NET-SNMP-EXTEND-MIB::nsExtendOutNumLines."cpu_steal_time" = INTEGER: 1
NET-SNMP-EXTEND-MIB::nsExtendResult."cpu_steal_time" = INTEGER: 0
nsExtendOutput1Line
oidが.1.3.6.1.4.1.8072.1.3.2.3.1.1の場合:
snmpwalk localhost .1.3.6.1.4.1.8072.1.3.2.3.1.1
NET-SNMP-EXTEND-MIB::nsExtendOutput1Line."cpu_steal_time" = STRING: 0.60