今回ではサーバーの状態を取得しグラフ化するmrtgの設定方法を記します。mrtgはいろいろな情報を取得しグラフ化することができます。今回は基本となるトラフィック、CPU、メモリ、HDDのリソースを表示するようにします。なお、グラフを表示するためにはwebサーバの構築がすんでいる必要があります。webサーバの構築がまだの方はこちらから設定をおこなってください。
今回取得する基本情報はsnmpを利用して取得しますのではじめにsnmpの設定を行います。
fedora coreではnet-snmpを利用することができます。未インストールの人は以下のコマンドでnet-snmpをインストールしておきましょう。
# yum -y install net-snmp |
さて、それではまずsnmpで情報が収集できるように設定を行いましょう。snmpの設定は
/etc/snmp/snmp.cfg を編集することで設定を行います。以下の箇所を設定します。
この設定でコミュニティ名を設定します。IPアドレスは自分の環境に合わせて設定してください。
# sec.name source community
#com2sec notConfigUser default public
com2sec local localhost private
com2sec mynetwork 192.168.0.0/24 public
|
引き続きグループ設定を行います。
####
# Second, map the security name into a group name:
# groupName securityModel securityName
#group notConfigGroup v1 notConfigUser
#group notConfigGroup v2c notConfigUser
group MyROGroup v1 mynetwork
group MYROGroup v2c mynetwork
|
次にsnmpで取得する情報の範囲ですが、全部取得できるようにします。
####
# Third, create a view for us to let the group have rights to:
# Make at least snmpwalk -v 1 localhost -c public system fast again.
# name incl/excl subtree mask(optional)
#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
|
それぞれのグループの権限の設定をします。
####
# Finally, grant the group read-only access to the systemview view.
# group context sec.model sec.level prefix read write notif
#access notConfigGroup "" any noauth exact systemview none none
access MyROGroup "" any noauth exact all none none
access MyRWGroup "" any noauth exact all all none
|
さて、これでsnmpの設定は完了です。次にsnmpの起動と電源投入時に自動で起動するように設定しましょう。以下のコマンドで設定を行います。
#/etc/init.d/snmpd start
#chkconfig snmpd on
|
以上でsnmpの設定は完了です。
さて、それでは次にmrtgの設定に入っていきます。未インストールの方は以下のコマンドでインストールしておきましょう。
それでは、mrtgの設定を行いましょう。私のサーバのプライベートIPは192.168.0.150ですので、その際の記載になっていますが、そこはみなさんのIPに置き換えて設定してください。
初めに、設定ファイルをコマンドで作成します。
# cfgmaker --ifref=descr --ifdesc=descr public@192.168.0.150 > /etc/mrtg/mrtg.cfg
|
これで初期の設定ファイルが/etc/mrtg/mrtg.cfgに作成されました。次はこれを設定していきます。
初めにmrtgが出力するhetmlファイルの保存先を設定します。
# for UNIX
# WorkDir: /home/http/mrtg
WorkDir: /home/info/mrtg
|
それではeth0のトラフィック計測の設定をしましょう。
#Target[192.168.0.150_eth0]: \eth0:public@192.168.0.150:
Target[eth0]: \eth0:public@192.168.0.180:
#SetEnv[192.168.0.150_eth0]: MRTG_INT_IP="192.168.0.150" MRTG_INT_DESCR="eth0"
SetEnv[eth0]: MRTG_INT_IP="192.168.0.180" MRTG_INT_DESCR="eth0"
#MaxBytes[192.168.0.150_eth0]: 12500000
MaxBytes[eth0]: 3500000
#Title[192.168.0.150_eth0]: eth0 -- ns1.otyanoma.com
Title[eth0]: eth0 Traffic
#PageTop[192.168.0.150_eth0]: <H1>eth0 -- ns1.otyanoma.com</H1>
PageTop[eth0]: <H1>eth0 Traffic</H1>
# <TABLE>
# <TR><TD>System:</TD> <TD>ns1.otyanoma.com in Unknown
(edit /etc/snmp/snmpd.conf)</TD></TR>
# <TR><TD>Maintainer:</TD> <TD>Root <root@localhost> (configure /etc/snmp/snmp.local.conf)</TD></TR>
# <TR><TD>Description:</TD><TD>eth0 </TD></TR>
# <TR><TD>ifType:</TD> <TD>ethernetCsmacd (6)</TD></TR>
# <TR><TD>ifName:</TD> <TD></TD></TR>
# <TR><TD>Max Speed:</TD> <TD>12.5 MBytes/s</TD></TR>
# <TR><TD>Ip:</TD> <TD>192.168.0.180 ()</TD></TR>
# </TABLE>
|
次はeth1の背手値ですがこれはNICを2枚指している場合の設定です。1枚しかNICが無い場合は必要ありません。
#
# Target[192.168.0.150_eth1]: \eth1:public@192.168.0.150:
Target[eth1]: \eth1:public@192.168.0.150:
# SetEnv[192.168.0.150_eth1]: MRTG_INT_IP="192.168.30.200" MRTG_INT_DESCR="eth1"
SetEnv[eth1]: MRTG_INT_IP="192.168.30.200" MRTG_INT_DESCR="eth1"
# MaxBytes[192.168.0.150_eth1]: 12500000
MaxBytes[eth1]: 3500000
# Title[192.168.0.150_eth1]: eth1 -- ns1.otyanoma.com
Title[eth1]: eth1 Traffic
# PageTop[192.168.0.150_eth1]: <H1>eth1 -- ns1.otyanoma.com</H1>
PageTop[eth1]: <H1>eth1 Traffic</H1>
# <TABLE>
# <TR><TD>System:</TD> <TD>ns1.otyanoma.com in Unknown
(edit /etc/snmp/snmpd.conf)</TD></TR>
# <TR><TD>Maintainer:</TD> <TD>Root <root@localhost> (configure /etc/snmp/snmp.local.conf)</TD></TR>
# <TR><TD>Description:</TD><TD>eth1 </TD></TR>
# <TR><TD>ifType:</TD> <TD>ethernetCsmacd (6)</TD></TR>
# <TR><TD>ifName:</TD> <TD></TD></TR>
# <TR><TD>Max Speed:</TD> <TD>12.5 MBytes/s</TD></TR>
# <TR><TD>Ip:</TD> <TD>192.168.30.200 (ns1.otyanoma.com)</TD></TR>
# </TABLE>
|
次はCPU負荷を計測できるように以下の項目を追加します。
########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:public@192.168.0.150
MaxBytes[cpu]: 100
Unscaled[cpu]: dwmy
Options[cpu]: gauge, absolute, growright, noinfo, nopercent
YLegend[cpu]: CPU Load(%)
ShortLegend[cpu]: (%)
LegendI[cpu]: 1min
LegendO[cpu]: 5min
Legend1[cpu]: 1min(%)
Legend2[cpu]: 5min(%)
Title[cpu]: CPU Load Average
PageTop[cpu]: <H1>CPU Load Average</H1>
|
次は物理メモリとSWAPメモリの空き容量を計測できるように追加します。
########Memory Free########
Target[mem]: .1.3.6.1.4.1.2021.4.6.0&.1.3.6.1.4.1.2021.4.4.0:public@192.168.0.150
MaxBytes1[mem]: 1033780
MaxBytes2[mem]: 2031608
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]: Free[MBytes]
Legend2[mem]: Free[MBytes]
Title[mem]: Memory FREE
PageTop[mem]: <H1>Memory Free</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:public@192.168.0.150
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]: Disk Used
PageTop[disk]: <H1>Disk Used</H1>
|
これでmrtgの設定ファイルの設定は完了です。
次にmrtgのデータを作成します。mrtg過去3回分の記録を参照しますので手動で3回動かしておきます。
# mrtg /etc/mrtg/mrtg.cfg
# mrtg /etc/mrtg/mrtg.cfg
# mrtg /etc/mrtg/mrtg.cfg |
次にmrtgのインデックスページを作成します。
# indexmaker --columns=1 \ --addhead="<META HTTP-EQUIV=\"Content-Type\"
CONTENT=\"text/html; charset=euc-jp\">" \ /etc/mrtg/mrtg.cfg
> /home/info/mrtg/index.html |
次にグラフをWebで見えるようにするため、apacheの設定するため、以下のファイルを作成します。
/etc/httpd/conf.d/mrtg.conf
#
# This configuration file maps the mrtg output (generated daily)
# into the URL space. By default these results are only accessible
# from the local host.
#
Alias /mrtg /home/info/mrtg
<Location /mrtg>
Order deny,allow
Deny from all
Allow from 127.0.0.1 Allow from 192.168
Allow from ::1
</Location> |
さて最後にapacheの再起動を行います。
#/etc/init.d/httpd restart |
これで完成です。これで私の場合192.168.*.*のネットワークからのみ、サーバのIPアドレス/mrtgでmrtgでのグラフ監視ができるようになりました。
戻る
|