CentOS5.8 MRTGとSNMPのインストール・設定
まずMRTG(Multi Router Traffic Grapher)利用に当たり必要なSNMP(Simple Network Management Protocol)のインストール&設定
■SNMPのインストール
必要パッケージ
net-snmp
net-snmp-libs
net-snmp-utils
net-snmp-devel
既にインストールされているか確認
[code]yum list installed | grep snmp[/code]
結果、インストール net-snmp-devel がなかったのでインストール
[code]yum -y install net-snmp-devel[/code]
■SNMPの設定
[code]vi /etc/snmp/snmpd.conf[/code]
ネットワーク範囲とコミュニティ名
com2sec [セキュリティ名] [アクセス許可範囲] [コミュニティ名]
今回はサーバ自身以外はアクセスしないので
アクセス許可範囲は localhost
(コミュニティ名はアクセスに利用するのでホントは予測されにくい文字列がベター)
[code]#com2sec notConfigUser default public
com2sec local localhost public[/code]
アクセスグループ
group [グループ名] [セキュリティモデルの指定(v1, v2c, usm)] [セキュリティ名]
グループ名は適当。セキュリティモデルはSNMPのバージョン1.2.3を指すようだがよくわからんので全部記述。
セキュリティ名はcom2secで記述したもの。
[code]#group notConfigGroup v2c notConfigUser
group local_group v1 local
group local_group v2c local
group local_group usm local[/code]
情報閲覧範囲の指定(view)
view [ビュー名] [タイプ(included, exclude)] [MIBのオブジェクトID]
(MIBはSNMPで公開する情報の集合でツリー構造のオブジェクト:詳細不明)
ビュー名は適当。タイプはinclude(指定した範囲)としてMIBのOIDは.1を記述。
1(.iso)以下の全情報にアクセスできることになる。
[code]#view systemview included .1.3.6.1.2.1.1
#view systemview included .1.3.6.1.2.1.25.1.1
view all_view included .1[/code]
アクセス許可のための設定
access [グループ名] [Context] [セキュリティモデル名] [認証設定] [Contextマッチの方法] [読み(get)] [書き(set)] [通知(trap)]
グループ名はgroupで記述したもの。Contextは空欄(詳細不明)。セキュリティモデル名はany(全て)。認証設定はnoauth(認証なし)。Contextマッチの方法はexact(厳密に一致?)。読み・書き・通知の内読みにview名を記述。
[code]#access notConfigGroup “” any noauth exact systemview none none
access local_group “” any noauth exact all_view none none[/code]
httpdのプロセス監視のための設定
[code]#proc mountd
proc httpd[/code]
ディスク容量監視のための設定
[code]#disk / 10000
disk /[/code]
CPU監視(load average)のための設定
load [1分間の平均] [5分間の平均] [15分間の平均]
設定した数値を超えるとエラー扱いとなる
[code]#load 12 14 14
load 12 14 14[/code]
※load averageはrun queueに入っているジョブの数。使用率ではない。でも数値が多ければジョブがたくさん発生していることになるから、結果付加が高いと考えられる。
uptimeコマンドでも取得できる。
load average: 0.13, 0.21, 0.22
左から1分、5分、15分間の平均ジョブ数。
■自動起動設定
[code]chkconfig snmpd on[/code]
■SNMPの起動
[code]/etc/rc.d/init.d/snmpd start[/code]
■SNMPから各種値を取得してみる
httpdのプロセス
[code]snmpwalk -v 1 localhost -c public .1.3.6.1.4.1.2021.2[/code]
DISK
[code]snmpwalk -v 1 localhost -c public .1.3.6.1.4.1.2021.9[/code]
load average
[code]snmpwalk -v 1 localhost -c public .1.3.6.1.4.1.2021.10[/code]
総空きメモリ(実空きメモリ+スワップ空き容量)。キロバイト単位
[code]snmpwalk -v 1 localhost -c public .1.3.6.1.4.1.2021.4.11[/code]
※snmpwalkがエラーになるなら設定を見直す。
■MRTGのインストール
[code]yum install -y mrtg[/code]
■MRTGの設定ファイル作成
[code]cd /etc/mrtg/[/code]
既存バックアップ
[code]mv mrtg.cfg mrtg.cfg.bak[/code]
作成
[community名]@[ホスト]
[code]cfgmaker –output /etc/mrtg/mrtg.cfg public@localhost[/code]
■MRTGの設定
[code]vi mrtg.cfg[/code]
[code]
# WorkDir: /home/http/mrtg
WorkDir: /var/www/mrtg
# Options[_]: growright, bits
Options[_]: growright, bits
#以下追加
Language:eucjp
#(日本語を使う場合)
#
# CPU Load Avarage
#
Target[load]: .1.3.6.1.4.1.2021.10.1.5.1&.1.3.6.1.4.1.2021.10.1.5.2:public@localhost:
ThreshMaxI[load]: 50
MaxBytes[load]: 10000
Title[load]: CPU Load Average
PageTop[load]: <H1> Load Average on xxServer </H1>
Options[load]: gauge,absolute,nopercent,noinfo,
YLegend[load]: CPU Load Average
YTicsFactor[load]: 0.01
Factor[load]: 0.01
ShortLegend[load]: pt.
Legend1[load]: 1 Minite Average
Legend2[load]: 5 Minite Average
LegendI[load]: 1 Minute
LegendO[load]: 5 Minute
#
# Available Memory “real” and “swap”
#
Target[mem]: .1.3.6.1.4.1.2021.4.6.0&.1.3.6.1.4.1.2021.4.4.0:public@localhost:
MaxBytes1[mem]: 1035168
MaxBytes2[mem]: 2031608
Title[mem]: Available Memory “real” and “swap”
PageTop[mem]: <H1>Available Memory “real” and “swap” on xxServer </H1>
Options[mem]: gauge, growright, noinfo
YLegend[mem]: Available Memory
ShortLegend[mem]: Bytes
kilo[mem]: 1024
kMG[mem]: k,M,G,T,P
LegendI[mem]: real
LegendO[mem]: swap
Legend1[mem]: Available(real)[MBytes]
Legend2[mem]: Available(swap)[MBytes]
# 物理メモリ
# snmpwalk -v 1 localhost -c public .1.3.6.1.4.1.2021.4.5
# SWAP
# snmpwalk -v 1 localhost -c public .1.3.6.1.4.1.2021.4.3
# で値調査
#
# Number Of httpd process
#
Target[httpd]: .1.3.6.1.4.1.2021.2.1.5.1&.1.3.6.1.4.1.2021.2.1.4.1:public@localhost:
ThreshMaxI[httpd]: 50
MaxBytes[httpd]: 150
Title[httpd]: Number of httpd
PageTop[httpd]: <H1> Number of httpd on xxServer</H1>
YLegend[httpd]: Number of httpd
ShortLegend[httpd]: httpd
LegendI[httpd]: running httpd process
LegendO[httpd]: running httpd process
#
# Disk Usage
#
Target[df]: .1.3.6.1.4.1.2021.9.1.9.1&.1.3.6.1.4.1.2021.9.1.9.1:public@localhost:
ThreshMaxI[df]: 80
MaxBytes[df]: 100
Title[df]: Disk Usage “/”
PageTop[df]: <H1>Disk Usage “/” on xxServer </H1>
Options[df]: gauge
YLegend[df]: Disk Usage
ShortLegend[df]: %
Legend1[df]:/
LegendI[df]:/
#
# Rate of CPU use
#
Target[cpu_use]: .1.3.6.1.4.1.2021.11.50.0&.1.3.6.1.4.1.2021.11.52.0:public@localhost:
MaxBytes[cpu_use]: 100
Options[cpu_use]: growright, noinfo, nopercent
YLegend[cpu_use]: CPU usage(%)
ShortLegend[cpu_use]: (%)
LegendI[cpu_use]: User
LegendO[cpu_use]: System
Legend1[cpu_use]: CPU use(User)
Legend2[cpu_use]: CPU use(System)
Title[cpu_use]: Rate of CPU use
PageTop[cpu_use]: <H1>Rate of CPU use</H1>[/code]
■MRTG実行
[code]LANG=C LC_ALL=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg –lock-file /var/lock/mrtg/mrtg_l –confcache-file /var/lib/mrtg/mrtg.ok[/code]
(2回目まではWARNINGがでるので3回実行して確認)
■index.html 作成
[code]indexmaker /etc/mrtg/mrtg.cfg > /var/www/mrtg/index.html[/code]
■Apache設定
[code]/etc/httpd/conf.d/mrtg.conf[/code]
を任意編集。
Apache再起動。
/var/www/mrtg/index.html
へアクセスしてグラフ群が表示されればOK