net-snmp, mrtgをyumでインストール

# yum install net-snmp net-snmp-utils mrtg

net-snmpのセットアップ

# vi /etc/snmp/snmpd.conf

communityはパスワードみたいなものなので適宜変更すること

#       sec.name       source          community
com2sec notConfigUser  localhost       public

#       groupName      securityModel securityName
group   notConfigGroup v1           notConfigUser
group   notConfigGroup v2c           notConfigUser

view    systemview    included       .1

#       group          context sec.model sec.level prefix read   write  notif
access  notConfigGroup ""      any       noauth    exact  systemview none none

proc mountd
proc ntalkd 4
proc sendmail 10 1
proc httpd

disk / 10000

net-snmpだけを動かして、別のサーバにてMRTGを動かす場合

#       sec.name       source          community
com2sec notConfigUser  localhost       public
com2sec notConfigUser  192.168.0.0/28  public

#       groupName      securityModel securityName
group   notConfigGroup v1           notConfigUser
group   notConfigGroup v2c           notConfigUser
group   ConfigGroup    v1            ConfigUser
group   ConfigGroup    v2c           ConfigUser

view    systemview    included       .1

#       group          context sec.model sec.level prefix read   write  notif
access  notConfigGroup ""      any       noauth    exact  systemview none none
access  ConfigGroup    ""      any       noauth    exact  systemview none none

proc mountd
proc ntalkd 4
proc sendmail 10 1
proc httpd

disk / 10000

httpd はSSLを利用しているとプロセス数が取れないかもしれない
その場合は libhttpd.ep を指定します

# /etc/rc.d/init.d/snmpd stop
# /etc/rc.d/init.d/snmpd start

確認
すらずらっとデータが出力されればOK

# snmpwalk -c public -v 1 localhost .1

mrtg設定

# vi /etc/mrtg/mrtg.cfg
HtmlDir: /home/user/public_html/mrtg
ImageDir: /home/user/public_html/mrtg/images
LogDir: /home/user/public_html/mrtg/logs
#ThreshDir: /home/user/public_html/mrtg/thresh
#RunAsDaemon: Yes        #cronで5分毎に実行されるようなのでデーモンとして起動させない
Interval: 5
Refresh: 300
Language: eucjp # 追加(日本語化)

# Traffic

Target[traffic]: 2:public@localhost
MaxBytes[traffic]: 1250000
Title[traffic]: Traffic Analysis
PageTop[traffic]: <H1>Traffic Analysis</H1>

# CPU Load Average

Options[cpu]: gauge,absolute,integer,nopercent
MaxBytes[cpu]: 100
YLegend[cpu]: CPU Load Average (%)
Legend1[cpu]: 1 min CPU Load Average
Legend2[cpu]: 5 min CPU Load Average
LegendI[cpu]: 1min
LegendO[cpu]: 5min
ShortLegend[cpu]: percent (%)
Unscaled[cpu]: dwmy
Target[cpu]: .1.3.6.1.4.1.2021.10.1.5.1&.1.3.6.1.4.1.2021.10.1.5.2:public@localhost
Title[cpu]: CPU Load Average
PageTop[cpu]: <H1>CPU Load Average</H1>

# Memory

Target[memory]: 1.3.6.1.4.1.2021.4.6.0&1.3.6.1.4.1.2021.4.4.0:public@localhost
MaxBytes1[memory]: 物理メモリのMAX値(下記参照)
MaxBytes2[memory]: スワップメモリのMAX値(下記参照)
Options[memory]: gauge,absolute
Unscaled[memory]: dwmy
kMG[memory]: k,M
Title[memory]: Memory Used
PageTop[memory]: <H1>Memory Used</H1>
YLegend[memory]: Memory Used(Bytes)
ShortLegend[memory]: (Bytes)
Legend1[memory]: Real Memory
Legend2[memory]: Swap Memory
LegendI[memory]: Real
LegendO[memory]: Swap

# Disk

Options[disk]: gauge,absolute,nopercent
MaxBytes[disk]: 100
YLegend[disk]: Disk Used (%)
LegendI[disk]: / Disk used
LegendO[disk]: / Disk used
Legend1[disk]: / Disk used
Legend2[disk]: / Disk used
ShortLegend[disk]: percent (%)
Unscaled[disk]: dwmy
Target[disk]: .1.3.6.1.4.1.2021.9.1.9.1&.1.3.6.1.4.1.2021.9.1.9.1:public@localhost
Title[disk]: Disk Used
PageTop[disk]: <H1>Disk Used</H1>

# Http

Options[httpd]: gauge,absolute,nopercent
MaxBytes[httpd]: 150
YLegend[httpd]: Number of httpd
LegendI[httpd]: httpd
LegendO[httpd]: httpd
Legend1[httpd]: httpd
Legend2[httpd]: httpd
ShortLegend[httpd]: process
Unscaled[httpd]: dwmy
Target[httpd]: .1.3.6.1.4.1.2021.2.1.5.4&.1.3.6.1.4.1.2021.2.1.5.4:public@localhost
Title[httpd]: Number of httpd
PageTop[httpd]: <H1>Number of httpd</H1>

# Rate of CPU use

Options[cpurate]: nopercent
MaxBytes[cpurate]: 100
YLegend[cpurate]: CPU usage(%)
Legend1[cpurate]: user
Legend2[cpurate]: system
LegendI[cpurate]: user
LegendO[cpurate]: system
ShortLegend[cpurate]: (%)
Unscaled[cpurate]: dwmy
Target[cpurate]: .1.3.6.1.4.1.2021.11.9.0&.1.3.6.1.4.1.2021.11.10.0:public@localhost
Title[cpurate]: Rate of CPU use
PageTop[cpurate]: <H1>Rate of CPU use</H1>

必要なディレクトリを作成して、mrtgを実行。
なんかWarningがでるが3回位実行すると出なくなる。

# mkdir /home/user/public_html/mrtg/images
# mkdir /home/user/public_html/mrtg/logs
# mrtg /etc/mrtg/mrtg.cfg

SNMPエージェントでは上記で設定したもの以外にもたくさんの情報が取得できる。
マイコミジャーナル マシンから収集した情報を活用〜MIBの基本

CPU Load Averageについて

.1.3.6.1.4.1.2021.10.1.5.1 は1分平均のLoad Average
.1.3.6.1.4.1.2021.10.1.5.2 は5分平均のLoad Average

topコマンドで右上に表示される部分のこと
load average: 0.40, 0.38, 0.37
であれば、40と38を取得することになる。

Rate of CPU useについて

.1.3.6.1.4.1.2021.11.9.0&.1.3.6.1.4.1.2021.11.10.0
で取れない場合はこちらで試してみよう
.1.3.6.1.4.1.2021.11.50.0&.1.3.6.1.4.1.2021.11.52.0

物理メモリとスワップメモリのMAX値の調べ方

物理メモリとスワップメモリはsnmpwalkコマンドでOIDを指定して調べる。
メモリに関する主なOIDは次の通り。

物理メモリの容量(Kb).1.3.6.1.4.1.2021.4.5.0
物理メモリの空き容量(Kb).1.3.6.1.4.1.2021.4.6.0
スワップメモリの容量(Kb).1.3.6.1.4.1.2021.4.3.0
スワップメモリの空き容量(Kb).1.3.6.1.4.1.2021.4.4.0

物理メモリMAX値

$ snmpwalk -v 2c -c コミュニティ名 IPアドレス .1.3.6.1.4.1.2021.4.5.0
UCD-SNMP-MIB::memTotalReal.0 = INTEGER: 3631912

スワップメモリMAX値

$ snmpwalk -v 2c -c コミュニティ名 IPアドレス .1.3.6.1.4.1.2021.4.3.0
UCD-SNMP-MIB::memTotalSwap.0 = INTEGER: 2031608

エラーが出てアクセスできない

RPM形式でApacheをインストールしていて、mrtgを /var/www/html/mrtg とした場合、Forbiddenになります。

これは /etc/httpd/conf.d/ 以下に mrtg.conf が出来ていてAliasを張られているからです。コメントアウトしましょう。

トラフィックが取れない

まれにNICの認識が違うことがあるようで値が取れない場合があるみたいです。
調べる場合は

$ snmpwalk -c public -v 1 localhost ipAdEntIfIndex
IP-MIB::ipAdEntIfIndex.127.0.0.1 = INTEGER: 1
IP-MIB::ipAdEntIfIndex.192.168.0.2 = INTEGER: 3

通常監視したいNICは2ですが、3だったりします。
それぞれIN,OUT値を調べ、値を取得できることを確認し、cfgファイルに設定します。

$ snmpwalk -c public -v 1 localhost ifInOctets.3
$ snmpwalk -c public -v 1 localhost ifOutOctets.3
Target[index]: ifInOctets.3&ifOutOctets.3:public@localhost

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS