NET-SNMP+MRTGの構築 合計:
昨日:
今日:

更新日:2013/6/25

ホームへ戻る

ネットワークトラフィック監視ツール(NET-SNMP+MRTG)の構築。
ネットワーク負荷、CPU使用率、空きメモリ量、ディスク使用率の統計をブラウザから監視できるようにする。

webサーバーがインストールされていることが前提です

 
 
NET-SNMPインストール <<TOP

[root@server ~]# yum -y install net-snmp ← net-snmpのインストール
   ・
   ・
   ・
Transaction Test Succeeded
Running Transaction
  Installing     : lm_sensors-libs-3.1.1-10.el6.i686                                          1/3 
  Installing     : 1:net-snmp-libs-5.5-27.el6_0.1.i686                                        2/3 
  Installing     : 1:net-snmp-5.5-27.el6_0.1.i686                                             3/3 

Installed:
  net-snmp.i686 1:5.5-27.el6_0.1                                                                  

Dependency Installed:
  lm_sensors-libs.i686 0:3.1.1-10.el6             net-snmp-libs.i686 1:5.5-27.el6_0.1            

Complete!
[root@server ~]# 
 
◆NET-SNMPの設定 <<TOP

[root@server ~]# vi /etc/snmp/snmpd.conf ← 設定ファイルの編集
   ・
   ・
# First, map the community name "public" into a "security name"

#       sec.name  source          community
#com2sec notConfigUser  default       public ← コメントアウト
com2sec local localhost private ← 追加
com2sec mynetwork 192.168.11.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 ← 追加
   ・
   ・
# 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 ← 追加
   ・
   ・
#       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 ← 追加
   ・
   ・
# Check the / partition and make sure it contains at least 10 megs.

#disk / 10000
disk / 10000 ← 追加
   ・
   ・
"/etc/snmp/snmpd.conf" 470L, 19136C written
[root@server ~]# 
 
NET-SNMPの起動 <<TOP

[root@server ~]# /etc/rc.d/init.d/snmpd start ← snmpd起動
snmpd を起動中:                                            [  OK  ]
[root@server ~]# chkconfig snmpd on ← 自動起動on
[root@server ~]# chkconfig --list snmpd ← 自動起動確認
snmpd           0:off   1:off   2:on    3:on    4:on    5:on    6:off
       ↑ ランレベル2〜5のonを確認
[root@server ~]# 
 
◆MRTGインストール <<TOP

[root@server ~]# yum -y install mrtg ← MRTGインストール
   ・
   ・
Transaction Test Succeeded
Running Transaction
  Installing     : perl-SNMP_Session-1.12-4.el6.noarch                                        1/5 
  Installing     : mrtg-libs-2.16.2-5.el6.i686                                                2/5 
  Installing     : libXpm-3.5.8-2.el6.i686                                                    3/5 
  Installing     : gd-2.0.35-10.el6.i686                                                      4/5 
  Installing     : mrtg-2.16.2-5.el6.i686                                                     5/5 

Installed:
  mrtg.i686 0:2.16.2-5.el6                                                                        

Dependency Installed:
  gd.i686 0:2.0.35-10.el6                libXpm.i686 0:3.5.8-2.el6  mrtg-libs.i686 0:2.16.2-5.el6 
  perl-SNMP_Session.noarch 0:1.12-4.el6 

Complete!
[root@server ~]# 
 
◆MRTGの設定 <<TOP

プライベートサーバーアドレスは、192.168.11.77が前提です。

@MRTG設定ファイルの作成

[root@server ~]# cfgmaker --ifref=descr --ifdesc=descr public@192.168.11.77 > /etc/mrtg/mrtg.cfg
[root@server ~]# 

AMRTG設定ファイルの編集

[root@server ~]# vi /etc/mrtg/mrtg.cfg ← 設定ファイルの編集
  ・
  ・
#  for UNIX
# WorkDir: /home/http/mrtg
WorkDir: /var/www/mrtg ← ワークディレクトリの指定
  ・
  ・
#  to get bits instead of bytes and graphs growing to the right
# Options[_]: growright, bits
Options[_]: growright, noinfo ← グラフの推移方向の指定

EnableIPv6: no
Language:eucjp ← 追加

### Interface 2 >> Descr: 'eth0' | Name: 'eth0' | Ip: '192.168.11.77' | Eth: '00-19-db-1f-a1-28' ###
#Target[192.168.11.77_eth0]: \eth0:public@192.168.11.77:
  ↓ 変更
Target[eth0]: \eth0:public@192.168.11.77:
#SetEnv[192.168.11.77_eth0]: MRTG_INT_IP="192.168.11.77" MRTG_INT_DESCR="eth0"
  ↓ 変更
SetEnv[eth0]: MRTG_INT_IP="192.168.11.77" MRTG_INT_DESCR="eth0"
#MaxBytes[192.168.11.77_eth0]: 12500000
  ↓ 変更
MaxBytes[eth0]: 12500000
#Title[192.168.11.77_eth0]: eth0 -- server.arisonsvr.org
  ↓ 変更
Title[eth0]: eth0トラフィック
#PageTop[192.168.11.77_eth0]: <h1>eth0 -- server.arisonsvr.org</h1>
  ↓ 変更
PageTop[eth0]: <h1>eth0トラフィック</h1>

                <div id="sysdetails"> ← ここから
<table>
   ・    ・    ・
</table>
</div> ← ここまで削除 "/etc/mrtg/mrtg.cfg" 130L, 3738C written [root@server ~]#

BCPU利用率の追加

[root@server ~]# vi /etc/mrtg/mrtg.cfg ← 設定ファイルの編集
  ↓ 下記を最終行に追加
### 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.11.77
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>
		  

C空きメモリ量表示の追加

[root@server ~]# free ← メモリMAX値参照
             total       used       free     shared    buffers     cached
Mem:       1419876     331512    1088364          0       6972     119796
      ↑ 物理メモリ値MAX
-/+ buffers/cache:     204744    1215132
Swap:      2850808     324992    2525816
      ↑ swapメモリMAX
[root@server ~]# vi /etc/mrtg/mrtg.cfg ← 設定ファイルの編集
   ↓ 下記を最終行に追加
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.11.77
MaxBytes1[mem]: 1419876 ← 物理メモリMAX値を指定する
MaxBytes2[mem]: 2850808 ← スワップメモリMAX値を指定する
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>

Dディスク使用率表にの追加

[root@server ~]# vi /etc/mrtg/mrtg.cfg ← 設定ファイルの編集
    ↓ 下記を最終行に追加		  
### 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.11.77
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>
 
◆MRTG起動(システムの文字コードがUTF-8の場合) <<TOP

@設定ファイルの文字コードをEUCに変換する

[root@server ~]# cp /etc/mrtg/mrtg.cfg /etc/mrtg/mrtg.cfg.org ← 設定ファイルをリネームしてコピー
[root@server ~]# nkf -e /etc/mrtg/mrtg.cfg.org > /etc/mrtg/mrtg.cfg ← EUCに変換
-bash: nkf: コマンドが見つかりません
[root@server ~]# yum -y install nkf ← nkfコマンドがないといわれたのでインストール
   ・
   ・
   ・
Transaction Test Succeeded
Running Transaction
  Installing     : 1:nkf-2.0.8b-6.2.el6.i686                                                             1/1

Installed:
  nkf.i686 1:2.0.8b-6.2.el6                                                       

Complete!
[root@server ~]# nkf -e /etc/mrtg/mrtg.cfg.org > /etc/mrtg/mrtg.cfg ← もう一度EUCに変換
[root@server ~]# 

[注意]以後、MRTG設定ファイルを編集する場合は/etc/mrtg/mrtg.cfg.orgを編集するようにし、編集後、nkfコマンドでEUCに変換するようにすること

AMRTG起動スクリプト作成

[root@server ~]# vi mrtg.sh ← 起動スクリプト作成  
#!/bin/bash

LOCK=/var/lock/mrtg/mrtg_l
CONFCACHE=/var/lib/mrtg/mrtg.ok

export LANG=ja_JP.eucJP
mrtg /etc/mrtg/mrtg.cfg --lock-file $LOCK --confcache-file $CONFCACHE

[root@server ~]# chmod 700 mrtg.sh ← 実行権限付与
[root@server ~]# 
		  

BMRTG起動

[root@server ~]#  ./mrtg.sh ← MRTG起動(一回目)
2011-12-06 17:16:44, Rateup WARNING: /usr/bin/rateup could not read the primary log file for mem
2011-12-06 17:16:44, Rateup WARNING: /usr/bin/rateup The backup log file for mem was invalid as well
2011-12-06 17:16:44, Rateup WARNING: /usr/bin/rateup Can't remove mem.old updating log file
2011-12-06 17:16:44, Rateup WARNING: /usr/bin/rateup Can't rename mem.log to mem.old updating log file
2011-12-06 17:16:44, Rateup WARNING: /usr/bin/rateup could not read the primary log file for disk
2011-12-06 17:16:44, Rateup WARNING: /usr/bin/rateup The backup log file for disk was invalid as well
2011-12-06 17:16:44, Rateup WARNING: /usr/bin/rateup Can't remove disk.old updating log file
2011-12-06 17:16:44, Rateup WARNING: /usr/bin/rateup Can't rename disk.log to disk.old updating log file
[root@server ~]# ./mrtg.sh ← MRTG起動(二回目)
2011-12-06 17:16:48, Rateup WARNING: /usr/bin/rateup Can't remove mem.old updating log file
2011-12-06 17:16:48, Rateup WARNING: /usr/bin/rateup Can't remove disk.old updating log file
[root@server ~]# ./mrtg.sh ← MRTG起動(三回目)
[root@server ~]# 	  
		  

 

◆MRTG確認 <<TOP

@内部からのみアクセス可能とする場合

[root@server ~]# vi /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 /var/www/mrtg

<Location /mrtg>
Order deny,allow
Deny from all
Allow from 127.0.0.1
Allow from 192.168.11 ← 追加
Allow from ::1
# Allow from .example.com
</Location>


"/etc/httpd/conf.d/mrtg.conf" 15L, 356C written
[root@server ~]# /etc/rc.d/init.d/httpd reload ← webサーバへ設定反映
httpd を再読み込み中: 
 
[root@server ~]# 
 

A外部からもアクセスできるようにする場合

[root@server ~]# vi /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 /var/www/mrtg

<Location /mrtg>
Order deny,allow
Deny from all
Allow from All ← 追加
#Allow from 127.0.0.1 ← コメントアウト
#Allow from 192.168.11 ← コメントアウト
Allow from ::1
# Allow from .example.com
</Location>


[root@server ~]#		  

 

 
MRTG自動起動設定(システムの文字コードがUTF-8の場合のみ) <<TOP

[root@server ~]# vi /etc/cron.d/mrtg ← 設定ファイル編集	  
*/5 * * * * root 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
  ↓ 作成したものに変更
*/5 * * * * root /root/mrtg.sh 
"/etc/cron.d/mrtg" 1L, 31C written
[root@server ~]#
 
MRTGインデックスページ作成 <<TOP

 

[root@server ~]# indexmaker --columns=1 \
		    --addhead="<META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=euc-jp\">" \
			  /etc/mrtg/mrtg.cfg > /var/www/mrtg/index.html ← MRTGインデックスページ作成

[root@server ~]# vi /var/www/mrtg/index.html ← インデックスページ編集(文字化け対策)
<HEAD>
<TITLE>MRTG Index Page</TITLE>
<!-- Command line is easier to read using "View Page Properties" of your browser -->
<!-- But not all browsers show that information. :-( -->
<!-- <meta http-equiv="content-type" content="text/html; charset=iso-8859-15" > --> ← コメントアウト "/var/www/mrtg/index.html" [converted] 80L, 3325C written [root@server ~]#
 
<<TOP

 

<<TOP

 

[root@server ~]# 	  
		  
 
◆広告等 <<TOP

 

 
   
 
TOPへ

Copyright(C) 2005-2013 arisonserver. All rights reserved.