広告

MRTG設定(OSの続き)

■Apacheインストール
  ○Apacheインストール
    yum -y install httpd
  ○php、php-mbstringインストール
    yum -y install php php-mbstring

■Apache設定
  ○Apache設定ファイル編集
  vi /etc/httpd/conf/httpd.conf

ServerTokens OS

ServerTokens Prod                                          ← エラーページ等でOS名を表示しないようにする

ServerAdmin root@localhost

ServerAdmin xxx@xxx.com                          ← エラーページ等に表示される管理者メールアドレスを指定

#ServerName www.example.com:80

ServerName xxx.xxx.com:80 ← サーバー名を指定

<Directory "/var/www/html">

#
# Possible values for the Options directive are "None", "All",
# or any combination of:
#   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important.  Please see
# http://httpd.apache.org/docs-2.0/mod/core.html#options
# for more information.
#
    Options Indexes FollowSymLinks
  ↓
    Options Includes ExecCGI FollowSymLinks                ← CGI,SSI許可、ファイル一覧表示禁止

#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
#   Options FileInfo AuthConfig Limit
#
    AllowOverride None
  ↓
    AllowOverride All                                      ← .htaccessの許可

#
# The following directives define some format nicknames for use with
# a CustomLog directive (see below).
#
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

LogFormat "%h %l %u %t \"%!414r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
 ← 長すぎるURI(414エラー)はログに記録しない

#
# For a single logfile with access, agent, and referer information
# (Combined Logfile Format), use the following directive:
#
SetEnvIf Request_URI "default\.ida" no_log                 ← 追加(wormからのアクセスをログに記録しない)
SetEnvIf Request_URI "cmd\.exe" no_log                     ← 〃
SetEnvIf Request_URI "root\.exe" no_log                    ← 〃
SetEnvIf Request_URI "Admin\.dll" no_log                   ← 〃
SetEnvIf Request_URI "NULL\.IDA" no_log                    ← 〃
SetEnvIf Remote_Addr 192.168.1 no_log                      ← 追加(内部からのアクセスをログに記録しない)
SetEnvIf Remote_Addr 127.0.0.1 no_log                      ← 追加(自ホストからのアクセスをログに記録しない)
CustomLog logs/access_log combined env=!no_log             ← 上記以外のアクセスをログに記録する

ServerSignature On

ServerSignature Off                                        ← エラーページ等でApacheのバージョンを表示しないようにする

AddDefaultCharset UTF-8

#AddDefaultCharset UTF-8                                   ← コメントアウト

#AddHandler cgi-script .cgi

AddHandler cgi-script .cgi .pl                             ← CGIスクリプトに.plを追加

[root@fedora ~]# rm -f /etc/httpd/conf.d/welcome.conf      ← テストページ削除

[root@fedora ~]# rm -f /var/www/error/noindex.html         ← テストページ削除
  ○Perlコマンドへ/usr/local/bin/perlでもアクセスできるようにする。
  ○/usr/local/bin/perlから/usr/bin/perlへリンクをはる
    ln -s /usr/bin/perl /usr/local/bin/perl

  ○Perlのパスを確認
    whereis perl

Perlのパスに/usr/local/bin/perlが表示されることを確認
perl: /usr/bin/perl /usr/local/bin/perl /usr/share/man/man1/perl.1.gz
■Apache起動
  ○Apache起動
    /etc/rc.d/init.d/httpd start
  ○Apache自動起動設定
    chkconfig httpd on
  ○Apache自動起動設定確認
    chkconfig --list httpd
■NET-SNMPインストール
  ○インストール済みパッケージの一覧を表示
    yum list installed | grep snmp
    (RH)rpm -q net-snmp
        rpm -qa | grep snmp
  ○net-snmpがインストール済みならばその情報を表示
    yum info net-snmp
    (RH)rpm --list net-snmp
  ○net-snmpインストール
    yum -y install net-snmp
    (RH)rpm -ivh net-snmp
  ○yum install net-snmp-utils  (snmpwalkコマンド利用のため)

 

■NET-SNMP設定
  ○NET-SNMP設定ファイル編集
    vi /etc/snmp/snmpd.conf

#       sec.name  source          community
#com2sec notConfigUser  default       public               ← コメントアウト
com2sec local localhost private                            ← 追加

#       groupName      securityModel securityName
#group   notConfigGroup v1c           notConfigUser        ← コメントアウト
#group   notConfigGroup v2c           notConfigUser        ← コメントアウト
group MyROGroup v1 local                                   ← 追加
group MyROGroup v2c local                                  ← 追加
group MyROGroup usm local                                  ← 追加
group MyROGroup v1 mynetwork                               ← 追加
group MyROGroup v2c mynetwork                              ← 追加
group MyROGroup usm 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                                    ← 追加

# 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          ← 追加

# Check the / partition and make sure it contains at least 10 megs.

#disk / 10000
disk / 10000                                               ← 追加(ディスク使用率を表示するとき)

syslocation ServerName                                      ← 追加 サーバー名にする
syscontact MRTG <xxx@xxx.com>

■NET-SNMP起動
  ○NET-SNMP起動
    /etc/rc.d/init.d/snmpd start
  ○NET-SNMP自動起動設定
    chkconfig snmpd on
  ○NET-SNMP自動起動設定確認
    chkconfig --list snmpd

■MRTGインストール
  ○MRTGインストール
    yum -y install mrtg

■MRTG設定
  ○MRTG設定ファイル作成
    cfgmaker --ifref=descr --ifdesc=descr public@172.xx.xx.xx > /etc/mrtg/mrtg.cfg
  ○MRTG設定ファイル編集
    vi /etc/mrtg/mrtg.cfg

=========================================================================================================
=========================================================================================================
※2回目以降、MRTG設定ファイルを編集する場合は/etc/mrtg/mrtg.cfg.orgを編集するようにし、編集後、nkfコマンドでEUCに変換するようにすること
=========================================================================================================
=========================================================================================================

 
#  for UNIX
# WorkDir: /home/http/mrtg
WorkDir: /var/www/mrtg                                     ← 追加(MRTGによる編集結果HTML格納先ディレクトリを指定する)

# Options[_]: growright, bits                              ← コメント解除(グラフの過去~未来への推移方向を左→右にする)(「_」は全てに適用)

Options[_]: growright, bits, noinfo

# kilo[_]: 1000

EnableIPv6: no
Language:eucjp                                             ← 追加(日本語化)
※ 上記以下は設定を転記する

 

 

■設定ファイルの文字コードをEUCに変換(システムの文字コードがUTF-8の場合)
  ○設定ファイルをリネームコピー
    cp /etc/mrtg/mrtg.cfg /etc/mrtg/mrtg.cfg.org
  ○設定ファイルの文字コードをEUCに変換
    nkf -e /etc/mrtg/mrtg.cfg.org > /etc/mrtg/mrtg.cfg

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

■MRTG起動スクリプト作成
  ○MRTG起動スクリプト作成
    cd /root
    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

  ○MRTG起動スクリプトへ実行権限付加
    chmod 755 mrtg.sh

■MRTG起動
  ○MRTG起動(1回目)
    ./mrtg.sh
  ○MRTG起動(2回目)
    ./mrtg.sh
  ○MRTG起動(3回目)
    ./mrtg.sh

=========================================================================================================
=========================================================================================================
※MRTGは過去2回起動時のログを使用するため、mrtg.cfg修正後2回目までのMRTG起動時には必ずWARNINGが出るので、mrtg.cfg修正後はMRTG起動を3回行なう。
=========================================================================================================
=========================================================================================================

 

 

■MRTG確認
  ○内部からのみアクセスできるようにする場合
    mrtg監視結果アクセス設定ファイル編集
    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 172.xx                                      ← 追加
    Allow from ::1
    # Allow from .example.com
</Location>

  ○Webサーバへ設定を反映
    /etc/rc.d/init.d/httpd reload
■MRTG自動起動設定
  ○システムの文字コードがUTF-8の場合
    MRTG定期自動起動設定ファイル編集
    vi /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

*/5 * * * * root /root/mrtg.sh                              ← 作成したMRTG起動スクリプトに変更

  ○MRTG定期自動起動設定ファイル変更反映
    /etc/rc.d/init.d/crond restart

  ○システムの文字コードがEUCの場合
    RPMパッケージからインストールしたデフォルトのままで問題なし
■MRTGインデックスページ作成
  ○各監視画面を統合したインデックスページをMRTG付属のindexmakerというツールで作成する

indexmaker --columns=2 \
--addhead="<META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=euc-jp\">" \
/etc/mrtg/mrtg.cfg > /var/www/mrtg/index.html

  ○文字化け対策
    MRTGインデックスページ編集
    vi /var/www/mrtg/index.html
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-15" >
    <meta http-equiv="content-type" content="text/html; charset=euc-jp" >                 ← EUC-JPに変更

  ○以下にアクセス
  http://172.xx.xx.xx/mrtg/

 

2012/05/23 12:55 | カテゴリー:Linux ソフト


あわせてに読みたい関連記事

このページの先頭へ