Show Table of Contents
このページには機械翻訳が使用されている場合があります (詳細はこちら)。
19.6.4. SNMP によるパフォーマンスデータの取得
Red Hat Enterprise Linux の Net-SNMP Agent は、SNMP プロトコルによりパフォーマンスの各種情報を提供します。さらにエージェントは、システム上のインストールされた RPM パッケージの一覧、システム上で現在実行中のプロセス一覧、またはシステムのネットワーク設定をクエリすることもできます。
本項では、SNMP による利用可能なパフォーマンスチューニングに関連する OID の概要について説明します。本項では、net-snmp-utils パッケージがインストールされ、「認証の設定」 で説明のとおりユーザーは SNMP ツリーへのアクセスが許可されていることを前提としています。
19.6.4.1. ハードウェアの設定
Net-SNMP に含まれている
Host Resources MIB
は、ホストのハードウェア及びソフトウェアの現行設定に関する情報をクライアントユーティリティに表示します。表19.3「利用可能な OID」 には、その MIB で利用可能な様々な OID を要約した内容が記載されています。
表19.3 利用可能な OID
OID | 詳細 |
---|---|
HOST-RESOURCES-MIB::hrSystem | アップタイム、ユーザー数、実行中のプロセス数などのシステム情報全般が含まれています。 |
HOST-RESOURCES-MIB::hrStorage | メモリ及びファイルシステムの使用に関するデータが含まれています。 |
HOST-RESOURCES-MIB::hrDevices | すべてのプロセッサー、ネットワークデバイス、ファイルシステムの一覧が含まれています。 |
HOST-RESOURCES-MIB::hrSWRun | 実行中の全プロセス一覧が含まれています。 |
HOST-RESOURCES-MIB::hrSWRunPerf | HOST-RESOURCES-MIB::hrSWRun からのプロセステーブル上のメモリと CPU 統計が含まれています。 |
HOST-RESOURCES-MIB::hrSWInstalled | RPM データベースの一覧が含まれています。 |
入手可能な情報のサマリを取得するために使用できる Host Resources MIB には、多くの SNMP テーブルがあります。次の例は、
HOST-RESOURCES-MIB::hrFSTable
を表示しています:
~]$ snmptable -Cb localhost HOST-RESOURCES-MIB::hrFSTable
SNMP table: HOST-RESOURCES-MIB::hrFSTable
Index MountPoint RemoteMountPoint Type
Access Bootable StorageIndex LastFullBackupDate LastPartialBackupDate
1 "/" "" HOST-RESOURCES-TYPES::hrFSLinuxExt2
readWrite true 31 0-1-1,0:0:0.0 0-1-1,0:0:0.0
5 "/dev/shm" "" HOST-RESOURCES-TYPES::hrFSOther
readWrite false 35 0-1-1,0:0:0.0 0-1-1,0:0:0.0
6 "/boot" "" HOST-RESOURCES-TYPES::hrFSLinuxExt2
readWrite false 36 0-1-1,0:0:0.0 0-1-1,0:0:0.0
HOST-RESOURCES-MIB
の詳細については、/usr/share/snmp/mibs/HOST-RESOURCES-MIB.txt
ファイルを参照して下さい。
19.6.4.2. CPU とメモリ情報
大半のシステムのパフォーマンスデータは
UCD SNMP MIB
にあります。systemStats
OID は、プロセッサー使用率に関する多くのカウンターを提供します:
~]$ snmpwalk localhost UCD-SNMP-MIB::systemStats
UCD-SNMP-MIB::ssIndex.0 = INTEGER: 1
UCD-SNMP-MIB::ssErrorName.0 = STRING: systemStats
UCD-SNMP-MIB::ssSwapIn.0 = INTEGER: 0 kB
UCD-SNMP-MIB::ssSwapOut.0 = INTEGER: 0 kB
UCD-SNMP-MIB::ssIOSent.0 = INTEGER: 0 blocks/s
UCD-SNMP-MIB::ssIOReceive.0 = INTEGER: 0 blocks/s
UCD-SNMP-MIB::ssSysInterrupts.0 = INTEGER: 29 interrupts/s
UCD-SNMP-MIB::ssSysContext.0 = INTEGER: 18 switches/s
UCD-SNMP-MIB::ssCpuUser.0 = INTEGER: 0
UCD-SNMP-MIB::ssCpuSystem.0 = INTEGER: 0
UCD-SNMP-MIB::ssCpuIdle.0 = INTEGER: 99
UCD-SNMP-MIB::ssCpuRawUser.0 = Counter32: 2278
UCD-SNMP-MIB::ssCpuRawNice.0 = Counter32: 1395
UCD-SNMP-MIB::ssCpuRawSystem.0 = Counter32: 6826
UCD-SNMP-MIB::ssCpuRawIdle.0 = Counter32: 3383736
UCD-SNMP-MIB::ssCpuRawWait.0 = Counter32: 7629
UCD-SNMP-MIB::ssCpuRawKernel.0 = Counter32: 0
UCD-SNMP-MIB::ssCpuRawInterrupt.0 = Counter32: 434
UCD-SNMP-MIB::ssIORawSent.0 = Counter32: 266770
UCD-SNMP-MIB::ssIORawReceived.0 = Counter32: 427302
UCD-SNMP-MIB::ssRawInterrupts.0 = Counter32: 743442
UCD-SNMP-MIB::ssRawContexts.0 = Counter32: 718557
UCD-SNMP-MIB::ssCpuRawSoftIRQ.0 = Counter32: 128
UCD-SNMP-MIB::ssRawSwapIn.0 = Counter32: 0
UCD-SNMP-MIB::ssRawSwapOut.0 = Counter32: 0
特に、
ssCpuRawUser
、ssCpuRawSystem
、ssCpuRawWait
及び ssCpuRawIdle
の OID は、システムがカーネル領域、ユーザー領域または I/O でプロセッサー時間の大半を費やしているかどうかを知る時に役立つカウンターを提供します。ssRawSwapIn
と ssRawSwapOut
は、システムがメモリ消費不足かどうかを知る際にも有用な場合もあります。
さらなるメモリ情報は、
free
コマンドと類似するデータを提供する UCD-SNMP-MIB::memory
OID で入手できます:
~]$ snmpwalk localhost UCD-SNMP-MIB::memory
UCD-SNMP-MIB::memIndex.0 = INTEGER: 0
UCD-SNMP-MIB::memErrorName.0 = STRING: swap
UCD-SNMP-MIB::memTotalSwap.0 = INTEGER: 1023992 kB
UCD-SNMP-MIB::memAvailSwap.0 = INTEGER: 1023992 kB
UCD-SNMP-MIB::memTotalReal.0 = INTEGER: 1021588 kB
UCD-SNMP-MIB::memAvailReal.0 = INTEGER: 634260 kB
UCD-SNMP-MIB::memTotalFree.0 = INTEGER: 1658252 kB
UCD-SNMP-MIB::memMinimumSwap.0 = INTEGER: 16000 kB
UCD-SNMP-MIB::memBuffer.0 = INTEGER: 30760 kB
UCD-SNMP-MIB::memCached.0 = INTEGER: 216200 kB
UCD-SNMP-MIB::memSwapError.0 = INTEGER: noError(0)
UCD-SNMP-MIB::memSwapErrorMsg.0 = STRING:
負荷平均は、
UCD SNMP MIB
でも入手可能です。SNMP テーブル UCD-SNMP-MIB::laTable
には、1 分、5 分、15 分の負荷平均を示した一覧があります:
~]$ snmptable localhost UCD-SNMP-MIB::laTable
SNMP table: UCD-SNMP-MIB::laTable
laIndex laNames laLoad laConfig laLoadInt laLoadFloat laErrorFlag laErrMessage
1 Load-1 0.00 12.00 0 0.000000 noError
2 Load-5 0.00 12.00 0 0.000000 noError
3 Load-15 0.00 12.00 0 0.000000 noError
19.6.4.3. ファイルシステムとディスク情報
Host Resources MIB
は、ファイルシステムのサイズと使用量についての情報を表示します。HOST-RESOURCES-MIB::hrStorageTable
テーブルには、各ファイルシステム (及び各メモリプール) のエントリがあります:
~]$ snmptable -Cb localhost HOST-RESOURCES-MIB::hrStorageTable
SNMP table: HOST-RESOURCES-MIB::hrStorageTable
Index Type Descr
AllocationUnits Size Used AllocationFailures
1 HOST-RESOURCES-TYPES::hrStorageRam Physical memory
1024 Bytes 1021588 388064 ?
3 HOST-RESOURCES-TYPES::hrStorageVirtualMemory Virtual memory
1024 Bytes 2045580 388064 ?
6 HOST-RESOURCES-TYPES::hrStorageOther Memory buffers
1024 Bytes 1021588 31048 ?
7 HOST-RESOURCES-TYPES::hrStorageOther Cached memory
1024 Bytes 216604 216604 ?
10 HOST-RESOURCES-TYPES::hrStorageVirtualMemory Swap space
1024 Bytes 1023992 0 ?
31 HOST-RESOURCES-TYPES::hrStorageFixedDisk /
4096 Bytes 2277614 250391 ?
35 HOST-RESOURCES-TYPES::hrStorageFixedDisk /dev/shm
4096 Bytes 127698 0 ?
36 HOST-RESOURCES-TYPES::hrStorageFixedDisk /boot
1024 Bytes 198337 26694 ?
HOST-RESOURCES-MIB::hrStorageSize
及び HOST-RESOURCES-MIB::hrStorageUsed
の OID を使用すると、それぞれマウントされたファイルシステムの残容量を算出することができます。
I/O データは
UCD-SNMP-MIB::systemStats
(ssIORawSent.0
と ssIORawRecieved.0
) 及び UCD-DISKIO-MIB::diskIOTable
にあります。後者は、前者と比べてより詳細なデータを提供します。このテーブルには、diskIONReadX
及び diskIONWrittenX
の OID があり、システムブートから問題のブロックデバイスに対し読み取り及び書き込みを実行したバイト数のカウンターを提供します:
~]$ snmptable -Cb localhost UCD-DISKIO-MIB::diskIOTable
SNMP table: UCD-DISKIO-MIB::diskIOTable
Index Device NRead NWritten Reads Writes LA1 LA5 LA15 NReadX NWrittenX
...
25 sda 216886272 139109376 16409 4894 ? ? ? 216886272 139109376
26 sda1 2455552 5120 613 2 ? ? ? 2455552 5120
27 sda2 1486848 0 332 0 ? ? ? 1486848 0
28 sda3 212321280 139104256 15312 4871 ? ? ? 212321280 139104256
19.6.4.4. ネットワーク情報
Interfaces MIB
はネットワークデバイスの情報を提供します。IF-MIB::ifTable
は、SNMP テーブルにシステム上の各インターフェースのエントリ、インターフェースの設定、インターフェース用の各種パケットカウンターを提供します。以下の例は、2 つの物理ネットワークインターフェースを持つシステム上の ifTable
の最初の数カラムを示しています。
~]$ snmptable -Cb localhost IF-MIB::ifTable
SNMP table: IF-MIB::ifTable
Index Descr Type Mtu Speed PhysAddress AdminStatus
1 lo softwareLoopback 16436 10000000 up
2 eth0 ethernetCsmacd 1500 0 52:54:0:c7:69:58 up
3 eth1 ethernetCsmacd 1500 0 52:54:0:a7:a3:24 down
ネットワークトラフィックは、
IF-MIB::ifOutOctets
及び IF-MIB::ifInOctets
の OID にあります。以下の SNMP クエリは、このシステム上の各インターフェースに対するネットワークトラフィックを取得します:
~]$snmpwalk localhost IF-MIB::ifDescr
IF-MIB::ifDescr.1 = STRING: lo IF-MIB::ifDescr.2 = STRING: eth0 IF-MIB::ifDescr.3 = STRING: eth1 ~]$snmpwalk localhost IF-MIB::ifOutOctets
IF-MIB::ifOutOctets.1 = Counter32: 10060699 IF-MIB::ifOutOctets.2 = Counter32: 650 IF-MIB::ifOutOctets.3 = Counter32: 0 ~]$snmpwalk localhost IF-MIB::ifInOctets
IF-MIB::ifInOctets.1 = Counter32: 10060699 IF-MIB::ifInOctets.2 = Counter32: 78650 IF-MIB::ifInOctets.3 = Counter32: 0
このページには機械翻訳が使用されている場合があります (詳細はこちら)。