SNMP MRTG設定によるサーバ監視導入

CPU、eth0のトラフィック、メモリの状態を設定する場合の
SNMP、MRTGの設定です。

commpassはコミュニティ名です。それぞれの設定に置き換えて考えてください。

MRTG、Net-SNMPをインストールします。snmpwalkなどのツールはnet-snmp-utilsに入っています。

yum -y install mrtg net-snmp net-snmp-utils

cp /etc/snmp/snmpd.conf  /etc/snmp/snmpd.conf.org
vi /etc/snmp/snmpd.conf
-----------------------------------------------------------
#com2sec notConfigUser  default       public
#group   notConfigGroup v1           notConfigUser
#group   notConfigGroup v2c           notConfigUser
#view    systemview    included   .1.3.6.1.2.1.1
#view    systemview    included   .1.3.6.1.2.1.25.1.1
#access  notConfigGroup ""      any       noauth    exact  systemview none none
com2sec local     localhost       commpass
group MyRWGroup  any        local
view all    included  .1                               80
access MyRWGroup ""      any       noauth    0      all    all    all
-----------------------------------------------------------

snmpデーモンを起動します。

/etc/rc.d/init.d/snmpd start
chkconfig snmpd on

snmpwalでローカルに対して許可されているか確認します。
次のコマンドで、SNMPで取得した値がずらっと閲覧できればOKです。

snmpwalk -v 1 -c commpass localhost

デフォルトでは外部からの閲覧ができないようになっているためアクセス権を変更する。

※URLさえわかればMRTGの画面を閲覧できるというセキュリティの
問題があるため特定IPを許可する、Basic認証をかけるなどの設定を
適宜行ってください。

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

変更前

--------------------------------------------------------------------------------
Alias /mrtg /var/www/mrtg
<Location /mrtg>
Order deny,allow
Deny from all
Allow from 127.0.0.1
Allow from ::1
# Allow from .example.com
</Location>
--------------------------------------------------------------------------------

変更後

--------------------------------------------------------------------------------
Alias /mrtg /var/www/mrtg
<Directory "/var/www/mrtg">
Order allow,deny
Allow from all
</Directory>
--------------------------------------------------------------------------------
apachectl graceful
cd /var/www/mrtg/
rm -f *
cp /etc/mrtg/mrtg.cfg /etc/mrtg/mrtg.cfg.org
vi /etc/mrtg/mrtg.cfg
--------------------------------------------------------------------------------
WorkDir: /var/www/mrtg
Options[_]: growright,bits
Target[tra]: 1:commpass@localhost:
SetEnv[tra]: MRTG_INT_IP="xxx.xxx.xxx.xxx" MRTG_INT_DESCR="eth0"
MaxBytes[tra]: 1250000
Title[tra]: Traffic Analysis
PageTop[tra]: <H1>Traffic Analysis eth0</H1>
withPeak[tra]: mw
Target[cpu]: 1.3.6.1.4.1.2021.10.1.5.2&1.3.6.1.4.1.2021.10.1.5.3:commpass@localhost:
MaxBytes[cpu]: 100
WithPeak[cpu]: mw
Title[cpu]: CPU Load Avalage
ShortLegend[cpu]: percent
Unscaled[cpu]: dwmy
PageTop[cpu]: <H1>CPU Load Average</H1>
Options[cpu]: gauge,absolute,growright,nopercent
YLegend[cpu]: CPU Load Avalage (%)
Legend1[cpu]: 5 min CPU Load Average
Legend2[cpu]: 15 min CPU Load Average
LegendI[cpu]: 5min
LegendO[cpu]: 15min
Target[mem]: 1.3.6.1.4.1.2021.4.6.0&1.3.6.1.4.1.2021.4.4.0:commpass@localhost:
MaxBytes1[mem]: 1073676
MaxBytes2[mem]: 2147352
Title[mem]: Memory Used
PageTop[mem]: <H1>Memory Used</H1>
Options[mem]: gauge, absolute, growright, nopercent
YLegend[mem]: Memory Used(kBytes)
ShortLegend[mem]: kBytes
Legend1[mem]: Real Memory
Legend2[mem]: Swap Memory
LegendI[mem]: Real
LegendO[mem]: Swap
YTicsFactor[mem]: 0.001
Unscaled[mem]: dwmy
WithPeak[mem]: mw
--------------------------------------------------------------------------------
indexmaker --columns=1 /etc/mrtg/mrtg.cfg > index.html

3回実行、2回目まではワーニングが出力されます。

env LANG=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg
env LANG=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg
env LANG=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg

URLは/mrtgとなります。
http://xxx.xxx.xxx.xxx/mrtg/
https://xxx.xxx.xxx.xxx/mrtg/
http://www.example.com/mrtg/

ちなみにMRTGインストールの際のcronの設定で5分毎に情報が更新されます。

cat /etc/cron.d/mrtg
--------------------------------------------------------------------------------
*/5 * * * * root /usr/bin/mrtg /etc/mrtg/mrtg.cfg --lock-file /var/lock/mrtg/mrtg_l --confcache-file /var/lib/mrtg/mrtg.ok
--------------------------------------------------------------------------------