日別アーカイブ: 2016年4月6日

MRTGでサーバー監視(さくらのVPS設定8)

mrtgMRTGを使ってサーバの状況をグラフィカルに確認します。昔からあるツールなので、見たことあるかも。

まあ、さくらのVPSには最初から同じような機能が付いてるから、わざわざ入れる必要ないんだけどね。

CentOS6.7です。

まずは必要なパッケージをインストール。

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

SNMP設定

SNMPの設定をしていきます。これが実際にサーバを監視するツールです。

# vi /etc/snmp/snmpd.conf

コメントアウト
com2sec notConfigUser   default       public
↓
#com2sec notConfigUser   default       public

有効化して書き換え
#com2sec local     localhost       COMMUNITY
#com2sec mynetwork NETWORK/24      COMMUNITY
↓
com2sec local     localhost       (任意の名前)
com2sec mynetwork 127.0.0.0/24    (任意の名前)

有効化
#group MyRWGroup  any        local
#group MyROGroup  any        mynetwork
↓
group MyRWGroup  any        local
group MyROGroup  any        mynetwork

有効化
#view all    included  .1                               80
↓
view all    included  .1                               80

有効化して書き換え
#access MyROGroup ""      any       noauth    0      all    none   none
#access MyRWGroup ""      any       noauth    0      all    all    all
↓
access MyROGroup ""      any       noauth    exact  all    none   none
access MyRWGroup ""      any       noauth    exact  all    all    all

SNMPを起動します。

# service snmpd start
# chkconfig snmpd on

動作確認します。エラーとか出てなければOK。

# snmpwalk -v2c -c (任意の名前) localhost system

設定ファイルに反映させます。

# cfgmaker (任意の名前)@127.0.0.1 > /etc/mrtg/mrtg.cfg

MRTG設定

MRTGの設定をしていきます。これはSNMPの結果などをグラフィカルに表示してくれます。

# vi /etc/mrtg/mrtg.cfg

有効化して任意のパスに書き換え
# WorkDir: /home/http/mrtg
↓
WorkDir: /var/www/mrtg

有効化
# Options[_]: growright, bits
↓
Options[_]: growright, bits

末尾に以下を全部追加。おまじない。

# トラフィック量
Target[eth0]: 1:(任意の名前)@127.0.0.1:
SetEnv[eth0]: MRTG_INT_IP="127.0.0.1" MRTG_INT_DESCR="lo"
MaxBytes[eth0]: 12500000
Title[eth0]: eth0 -- centos
PageTop[eth0]: <h1>eth0</h1>

# CPU使用率
Target[cpu]: .1.3.6.1.4.1.2021.10.1.5.1&.1.3.6.1.4.1.2021.10.1.5.2:(任意の名前)@127.0.0.1
MaxBytes[cpu]: 100
Unscaled[cpu]: dwmy
Options[cpu]: gauge, absolute, growright, noinfo, nopercent
YLegend[cpu]: CPU Load(%)
ShortLegend[cpu]: (%)
LegendI[cpu]: 1 min CPU Load Average
LegendO[cpu]: 5 min CPU Load Average
Legend1[cpu]: 1 min CPU Load Average(%)
Legend2[cpu]: 5 min CPU Load Average(%)
Title[cpu]: CPU Load Average
PageTop[cpu]: <H1>CPU Load Average</H1>

# メモリ使用量
Target[mem]: .1.3.6.1.4.1.2021.4.6.0&.1.3.6.1.4.1.2021.4.4.0:(任意の名前)@127.0.0.1
# Mem total
MaxBytes1[mem]: 1937120
# Swap total
MaxBytes2[mem]: 8191992
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]: Real Memory[MBytes]
Legend2[mem]: Swap Memory[MBytes]
Title[mem]: Memory Used
PageTop[mem]: <H1>Memory Used</H1>

設定が完了したので手作業で3回実行します。データが3つ以上ないと表示されないらしいので。

# env LANG=C mrtg /etc/mrtg/mrtg.cfg
# env LANG=C mrtg /etc/mrtg/mrtg.cfg
# env LANG=C mrtg /etc/mrtg/mrtg.cfg

mrtg.cfgで指定した任意のパスにインデックスページを作成します。

# indexmaker --columns=1 /etc/mrtg/mrtg.cfg > /var/www/mrtg/index.html

デフォではWebからアクセス出来ないようになっているので、アクセス許可します。

# vi /etc/httpd/conf.d/mrtg.conf

Alias /mrtg /var/www/mrtg

↓とりあえずAllow from ALLを追加した
<Location /mrtg>
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1
    Allow from ALL
    Allow from ::1
</Location>

設定完了したのでApache再起動します。

# service httpd restart

以下のURLからサーバ状況が確認できるようになりました。5分おきに更新されます。

http://www????.sakura.ne.jp/mrtg/

ちなみに、cronの設定はここにありました。

/etc/cron.d/mrtg