サルでもわかる!? Cacti入門[1]

「ふっ、MRTGとは違うんだよ。Cactiはさ!」

と、いうわけで図もこんなに立派になりますw

image

image

さて、Cacti/MRTG共にSNMPのデータを元に、グラフを作成します。CPUだったり、メモリだったり、DISK容量だったり、Networkトラフィックだったり。そのため、SNMPを理解しないと正しくグラフが書かれません。ちなみに、Cacti/ZABBIX等の比較は以下のサイトを参照の事。

第1回:「Nagios」「Hobbit」「ZABBIX」「Hinemos」を徹底比較

で、今日はSNMPの話を。SNMPとは「Simple Network Management Protocol」の略称。Wikipediaにはこう書かれています。

Simple Network Management Protocol(シンプル ネットワーク マネージメント プロトコル、SNMP)は、IP ネットワーク上のネットワーク機器を監視(モニタリング)・制御するための情報の通信方法を定めるプロトコルである。

なるほどー。また、SNMPは単体ではどうさせず、エージェントと呼ばれるプログラムに実装されるらしい。そして、そのエージェントはManagement Information Base(MIB)と呼ばれる一種のデータベースを持っている。そう! CactiおよびSNMPを理解するには、MIBを理解しないといけないのだ!

SNMPによるネットワークモニタリング
図解で知るSNMP――MIB情報のすべて

Linuxで動くsnmpdと会話するには、snmpwalk というプログラムを使う。たとえば、CPUのロードアベレージを取得するには、こんな感じに問い合わせる。

# snmpwalk -v1 -c public [IPアドレス] .1.3.6.1.4.1.2021.11
UCD-SNMP-MIB::ssIndex.0 = INTEGER: 1
UCD-SNMP-MIB::ssErrorName.0 = STRING: systemStats
UCD-SNMP-MIB::ssSwapIn.0 = INTEGER: 0
UCD-SNMP-MIB::ssSwapOut.0 = INTEGER: 0
UCD-SNMP-MIB::ssIOSent.0 = INTEGER: 2
UCD-SNMP-MIB::ssIOReceive.0 = INTEGER: 32
UCD-SNMP-MIB::ssSysInterrupts.0 = INTEGER: 45
UCD-SNMP-MIB::ssSysContext.0 = INTEGER: 23
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: 3671876
UCD-SNMP-MIB::ssCpuRawNice.0 = Counter32: 369475
UCD-SNMP-MIB::ssCpuRawSystem.0 = Counter32: 1144888
UCD-SNMP-MIB::ssCpuRawIdle.0 = Counter32: 1836471935
UCD-SNMP-MIB::ssCpuRawWait.0 = Counter32: 705721
UCD-SNMP-MIB::ssCpuRawKernel.0 = Counter32: 883340
UCD-SNMP-MIB::ssCpuRawInterrupt.0 = Counter32: 50133
UCD-SNMP-MIB::ssIORawSent.0 = Counter32: 1172551872
UCD-SNMP-MIB::ssIORawReceived.0 = Counter32: 73453124
UCD-SNMP-MIB::ssRawInterrupts.0 = Counter32: 829574332
UCD-SNMP-MIB::ssRawContexts.0 = Counter32: 417776103
UCD-SNMP-MIB::ssCpuRawSoftIRQ.0 = Counter32: 211415
UCD-SNMP-MIB::ssRawSwapIn.0 = Counter32: 22
UCD-SNMP-MIB::ssRawSwapOut.0 = Counter32: 47

メモリならこんな感じ。

# snmpwalk -v1 -c public [IPアドレス] .1.3.6.1.4.1.2021.4
UCD-SNMP-MIB::memIndex.0 = INTEGER: 0
UCD-SNMP-MIB::memErrorName.0 = STRING: swap
UCD-SNMP-MIB::memTotalSwap.0 = INTEGER: 3911816
UCD-SNMP-MIB::memAvailSwap.0 = INTEGER: 3911720
UCD-SNMP-MIB::memTotalReal.0 = INTEGER: 4036308
UCD-SNMP-MIB::memAvailReal.0 = INTEGER: 64624
UCD-SNMP-MIB::memTotalFree.0 = INTEGER: 3976344
UCD-SNMP-MIB::memMinimumSwap.0 = INTEGER: 16000
UCD-SNMP-MIB::memShared.0 = INTEGER: 0
UCD-SNMP-MIB::memBuffer.0 = INTEGER: 258456
UCD-SNMP-MIB::memCached.0 = INTEGER: 3381344
UCD-SNMP-MIB::memSwapError.0 = INTEGER: 0
UCD-SNMP-MIB::memSwapErrorMsg.0 = STRING:

Linuxサーバの状況がよく判る。(snmpdの設定によるんだけど)

Cactiは、このSNMPのMIB情報を使ってグラフを作るんだね~

[以降、2に続く]

Related Posts with Thumbnails
カテゴリー: お仕事, 日記   タグ: , , , , ,   この投稿のパーマリンク

サルでもわかる!? Cacti入門[1] への1件のコメント

  1. ピンバック: わがまま大王@みらにすた - サルでもわかる!? Cacti入門[2]