- 追加された行はこの色です。
- 削除された行はこの色です。
* 概要 [#ze50d9a2]
MRTG(The Multi Router Traffic Grapher)
http://www.mrtg.jp/doc/
MRTGは、ネットワークのトラフィックやハードウェアの情報を知ることができます。
MRTG(The Multi Router Traffic Grapher)は、ネットワークのトラフィックやハードウェアの情報を知ることができます。
*設定手順 [#p79ce450]
** 事前にnet-snmpのインストールを行います [#hbf8919c]
# apt-get install net-snmp
パッケージリストを読みこんでいます... 完了
依存情報ツリーを作成しています... 完了
以下の追加パッケージがインストールされます:
libelf
以下のパッケージが新たにインストールされます:
libelf net-snmp
アップグレード: 0 個, 新規インストール: 2 個, 削除: 0 個, 保留: 1 個
2002kB のアーカイブを取得する必要があります。
展開後に 6478kB のディスク容量が追加消費されます。
続行しますか? [Y/n]y
取得:1 http://updates.vinelinux.org 3.1/i386/main libelf 0.8.2-2vl2 [41.0kB]
取得:2 http://updates.vinelinux.org 3.1/i386/plus net-snmp 5.1.1-0vl1 [1961kB]
2002kB を 3s 秒で取得しました (577kB/s)
変更を適用しています...
Preparing... ########################################### [100%]
1:libelf ########################################### [ 50%]
2:net-snmp ########################################### [100%]
完了
** snmpd.confの編集 [#u99f8332]
# vi /etc/snmp/snmpd.conf
>
#com2sec notConfigUser default public
com2sec local localhost private
com2sec mynetwork 192.168.0.0/24 public
#group notConfigGroup v1 notConfigUser
#group notConfigGroup v2c notConfigUser
group MyROGroup v1 mynetwork
group MyROGroup v2c mynetwork
#view systemview included .1.3.6.1.2.1.1
#view systemview included .1.3.6.1.2.1.25.1.1
view all included .1 80
#access notConfigGroup "" any noauth exact systemview none none
access MyROGroup "" any noauth exact all none none
access MyRWGroup "" any noauth exact all all none
#disk / 10000
disk / 10000
snmpdの起動
**snmpdの起動 [#c84499f9]
# /etc/rc.d/init.d/snmpd start
snmpdを起動中: [ OK ]
自動起動の設定
**自動起動の設定 [#af327abd]
# chkconfig --level 3 snmpd on
# chkconfig --list snmpd
snmpd 0:off 1:off 2:off 3:on 4:off 5:off 6:off
** gdも必要みたいなのでインストールします。 [#ke1bbe28]
# apt-get install gd gd-devel
パッケージリストを読みこんでいます... 完了
依存情報ツリーを作成しています... 完了
以下の追加パッケージがインストールされます:
XOrg-libs freetype2 libexpat
以下のパッケージが新たにインストールされます:
XOrg-libs freetype2 gd gd-devel libexpat
アップグレード: 0 個, 新規インストール: 5 個, 削除: 0 個, 保留: 1 個
2603kB のアーカイブを取得する必要があります。
展開後に 6388kB のディスク容量が追加消費されます。
続行しますか? [Y/n]y
取得:1 http://updates.vinelinux.org 3.1/i386/main libexpat 1.95.7-1vl1 [70.4kB]
取得:2 http://updates.vinelinux.org 3.1/i386/main freetype2 2.1.7-0vl4 [274kB]
取得:3 http://updates.vinelinux.org 3.1/i386/updates XOrg-libs 6.7.0-0vl6.1 [2068kB]
取得:4 http://updates.vinelinux.org 3.1/i386/updates gd 2.0.27-0vl2 [95.5kB]
取得:5 http://updates.vinelinux.org 3.1/i386/updates gd-devel 2.0.27-0vl2 [95.6kB]
2603kB を 16s 秒で取得しました (161kB/s)
変更を適用しています...
Preparing... ########################################### [100%]
1:libexpat ########################################### [ 20%]
2:freetype2 ########################################### [ 40%]
3:XOrg-libs ########################################### [ 60%]
4:gd ########################################### [ 80%]
5:gd-devel ########################################### [100%]
完了
** MRTGのダウンロード、解凍 [#ff11f1ca]
** MRTGのインストール [#ff11f1ca]
# wget http://people.ee.ethz.ch/~oetiker/webtools/mrtg/pub/mrtg-2.12.1.tar.gz
--17:04:47-- http://people.ee.ethz.ch/%7Eoetiker/webtools/mrtg/pub/mrtg-2.12.1.tar.gz
=> `mrtg-2.12.1.tar.gz'
people.ee.ethz.ch をDNSに問いあわせています... 129.132.2.203
people.ee.ethz.ch[129.132.2.203]:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 1,134,805 [application/x-tar]
100%[==============================================>] 1,134,805 186.43K/s ETA 00:00
17:04:54 (170.99 KB/s) - `mrtg-2.12.1.tar.gz' を保存しました [1134805/1134805]
# tar zxf mrtg-2.12.1.tar.gz
# cd mrtg-2.12.1/
** コンフィギュア、メイク [#e91a813b]
# ./configure --prefix=/usr/local/mrtg-2
# ./configure
# make
# make install
** configファイルの作成 [#bcc507c0]
** mrtg.cfgの作成 [#bcc507c0]
# /usr/local/mrtg-2/bin/cfgmaker --output=/usr/local/mrtg-2/lib/mrtg.cfg [email protected]
** メモリ容量の確認 [#l201a1c3]
configファイルに記述する値を確認します
mrtg.cfgに記述する値をあらかじめ確認しておきます。
# free
合計 使用済 空き領域 共有領域 バッファ キャッシュ
Mem: 376728 212256 164472 0 45460 71048
-/+ バッファ: 95748 280980
Swap: 779112 0 779112
↑ここの値をメモる(Mem/Swap)
** configファイルの編集 [#c2bd8323]
** mrtg.cfgの編集 [#c2bd8323]
# vi /usr/local/mrtg-2/lib/mrtg.cfg
>
# for UNIX
WorkDir: /home/httpd/mrtg
WorkDir: /home/httpd/html/mrtg
# to get bits instead of bytes and graphs growing to the right
Options[_]: growright, noinfo
Language:eucjp
### Interface 2 >> Descr: 'eth0'
Target[eth0]: 2:[email protected]:
SetEnv[eth0]: MRTG_INT_IP="192.168.0.2" MRTG_INT_DESCR="eth0"
MaxBytes[eth0]: 12500000
Title[eth0]: Traffic Analysis for eth0
PageTop[eth0]: <h1>Traffic Analysis for eth0</h1>
### CPU Load Average ###
Target[cpu]: .1.3.6.1.4.1.2021.10.1.5.1&.1.3.6.1.4.1.2021.10.1.5.2:[email protected]
MaxBytes[cpu]: 100
Unscaled[cpu]: dwmy
Options[cpu]: gauge, absolute, growright, noinfo, nopercent
YLegend[cpu]: CPU Load(%)
ShortLegend[cpu]: (%)
LegendI[cpu]: 1分間平均
LegendO[cpu]: 5分間平均
Legend1[cpu]: 1分間平均(%)
Legend2[cpu]: 5分間平均(%)
Title[cpu]: CPU使用率
PageTop[cpu]: <H1>CPU使用率</H1>
### Memory Free ####
Target[mem]: .1.3.6.1.4.1.2021.4.6.0&.1.3.6.1.4.1.2021.4.4.0:[email protected]
MaxBytes1[mem]: 376728 ←freeで調べた値を記述する(Mem)
MaxBytes2[mem]: 779112 ←freeで調べた値を記述する(Swap)
Unscaled[mem]: dwmy
Options[mem]: gauge, absolute, growright, noinfo
YLegend[mem]: Mem Free(Bytes)
ShortLegend[mem]: Bytes
kilo[mem]: 1024
kMG[mem]: k,M,G,T,P
LegendI[mem]: Real
LegendO[mem]: Swap
Legend1[mem]: 空き物理メモリ[MBytes]
Legend2[mem]: 空きスワップメモリ[MBytes]
Title[mem]: 空きメモリ量
PageTop[mem]: <H1>空きメモリ量</H1>
### Disk Used ####
Target[disk]: .1.3.6.1.4.1.2021.9.1.9.1&.1.3.6.1.4.1.2021.9.1.9.1:[email protected]
MaxBytes[disk]: 100
Unscaled[disk]: dwmy
Options[disk]: gauge, absolute, growright, nopercent, noinfo
YLegend[disk]: Disk Used(%)
ShortLegend[disk]: (%)
LegendI[disk]: / Disk used
LegendO[disk]: / Disk Used
Legend1[disk]: / Disk used
Legend2[disk]: / Disk used
Title[disk]: ディスク使用率
PageTop[disk]: <H1>ディスク使用率</H1>
** 実行 [#y1193ee8]
# /usr/local/mrtg-2/bin/mrtg /usr/local/mrtg-2/lib/mrtg.cfg
エラーが出なくなるまで何回か実行する。
** インデックスページを作る [#b5cee815]
# /usr/local/mrtg-2/bin/indexmaker --columns=1 \
--addhead="<META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=euc-jp\">" \
/usr/local/mrtg-2/lib/mrtg.cfg > /home/httpd/mrtg/index.html
/usr/local/mrtg-2/lib/mrtg.cfg > /home/httpd/html/mrtg/index.html
** httpd.confの編集 [#n473b907]
# vi /usr/local/apache2/conf/httpd.conf
一番最後に追加
Alias /mrtg /home/httpd/mrtg
<Location /mrtg>
Order deny,allow
Deny from all
Allow from All
Allow from ::1
</Location>
** apacheの再起動 [#c50db164]
# /etc/init.d/apache2 restart
httpdを停止中: [ OK ]
httpdを起動中: [ OK ]
** 動作の確認 [#z8f2b1b5]
http://ホスト名/mrtg/にアクセスして表示されればOK。
** 定期的に実行する [#k3099e86]
# crontab -e
以下を追加
>以下を追加
0-59/5 * * * * /usr/local/mrtg-2/bin/mrtg /usr/local/mrtg-2/lib/mrtg.cfg
5分ごとに実行します。
* tips [#fef78796]
** HDDの温度監視をしたいとき [#p62672e8]
- smartmontoolsのインストール
# apt-get install smartmontools
パッケージリストを読みこんでいます... 完了
依存情報ツリーを作成しています... 完了
以下のパッケージが新たにインストールされます:
smartmontools
アップグレード: 0 個, 新規インストール: 1 個, 削除: 0 個, 保留: 1 個
351kB のアーカイブを取得する必要があります。
展開後に 608kB のディスク容量が追加消費されます。
取得:1 http://updates.vinelinux.org 3.1/i386/plus smartmontools 5.33-1vl0.6 [351kB]
351kB を 1s 秒で取得しました (196kB/s)
変更を適用しています...
Preparing... ########################################### [100%]
Note that you can use a configuration file /etc/smartd.conf to control the
startup behavior of the smartd daemon. See man 8 smartd for details.
Run "/sbin/chkconfig --add smartd", to start smartd service on system boot
1:smartmontools ########################################### [100%]
Run "/etc/rc.d/init.d/smartd start" to start smartd service now.
完了
- /dev/hdaの情報を表示
# smartctl -a /dev/hda
smartctl version 5.33 [i686-pc-linux-gnu] Copyright (C) 2002-4 Bruce Allen
Home page is http://smartmontools.sourceforge.net/
:
:
193 Load_Cycle_Count 0x0012 100 100 050 Old_age Always - 248
194 Temperature_Celsius 0x0002 122 122 000 Old_age Always - 45 (Lifetime Min/Max 13/61)
196 Reallocated_Event_Count 0x0032 100 100 000 Old_age Always - 0
:
:
194 Temperature_Celsius・・・
が表示されればOKです。右っ側の45という数字が現在の温度です。
- 自動起動の設定
# chkconfig --level 3 smartd on
# chkconfig --list smartd
snmpd 0:off 1:off 2:off 3:on 4:off 5:off 6:off
- 温度取得スクリプトの作成
# vi /usr/local/mrtg-2/hdd_temp.cgi
新規
#!/usr/bin/perl
#
$machine="tp390x.niwaka.ddo.jp";
$smart=`/usr/sbin/smartctl -a /dev/hda`;
@smart = split(/\n/, $smart);
foreach $data (@smart){
if($data =~ /Temperature_Celsius(.*?)0x(\d+)(.*?)(\d+)(.*?)(\d+)(.*?)(\d+)(.*?)(\d+)/)
{
$temp = $10;
}
}
$utime = `uptime`;
$utime =~ /up(.*?),/;
$uptime = $1;
$uptime =~ s/^\s*//g;
print "$temp\n";
print "$temp\n";
# Print uptime
print "$uptime\n";
# Print machine name for mrtg
print "$machine\n";
exit;
- 実行権限を与える
# chmod 755 /usr/local/mrtg-2/hdd_temp.cgi
- mrcg.cfgの編集
# vi /usr/local/mrtg-2/lib/mrtg.cfg
追加
### HDD Temperature ###
Target[htemp]: `perl /usr/local/mrtg-2/hdd_temp.cgi`
MaxBytes[htemp]: 60
Options[htemp]: gauge, growright, absolute, integer, nopercent, noinfo
Unscaled[htemp]: dwmy
YLegend[htemp]: Temperature
ShortLegend[htemp]: deg.
LegendI[htemp]: TEMP
LegendO[htemp]: TEMP
Legend1[htemp]: HDD温度
Legend2[htemp]: HDD温度
Title[htemp]: HDDの温度
PageTop[htemp]: <H1>HDDの温度</H1>
- 実行
# /usr/local/mrtg-2/bin/mrtg /usr/local/mrtg-2/lib/mrtg.cfg
- インデックスページを作る
# /usr/local/mrtg-2/bin/indexmaker --columns=1 \
--addhead="<META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=euc-jp\">" \
/usr/local/mrtg-2/lib/mrtg.cfg > /home/httpd/mrtg/index.html
* コメント [#d8ed30ef]
#pcomment(MRTG/コメント)
#comment