Redhat ES 4 に mrtg を入れた。ほとんどパッケージインストールで、ちょちょっと設定が必要。
いつも MRTG の導入はやり方を忘れるのでメモ。
まず、必要そうなパッケージは以下のとおり。
mrtg
net-snmp
多分それ以外も依存関係の影響で必要になるかもしれない。
あと、 CentOS 4.4 でも全く同じように設定できるみたい。
snmp サーバは何のためのサーバかよく知らないけど、多分マシンのシステム状態を提供してくれるサービスだと思う。
mrtg は snmp 経由でトラフィック情報や CPU 情報などを取得してグラフを作成するので、 snmp の設定が必要。
snmp の設定は /etc/snmp ディレクトリにある snmpd.conf ファイルで行う。
はっきり言って自分でも何の設定をしてるか分からないけど、今回設定したのは以下のような感じ。
# /etc/snmp/snmpd.conf
com2sec local localhost private group MyROGroup v1 local group MyROGroup v2c local group MyROGroup usm local view all included .1 80 access MyROGroup "" any noauth exact all none none syslocation Unknown (edit /etc/snmp/snmpd.conf) syscontact Root(configure /etc/snmp/snmp.local.conf)
これで、ローカルホストからは認証なしでサービスを提供してもらえる。
設定が終わったら snmp を起動。
# service snmpd start
mrtg の設定はまずベースとなる設定ファイルを cfgmaker コマンドで作成する。
今回の mrtg の環境構成は
設定・ログディレクトリ: /var/lib/mrtg/
HTML 出力ディレクトリ: /var/www/mrtg/
とした。
まず cfgmaker コマンドで基礎となる設定ファイルを出力する。
# cfgmaker private@localhost > /var/lib/mrtg/mrtg.cfg
これで、 mrtg.cfg ファイルにローカルマシンのネットワークインターフェース情報を含んだ設定ファイルが作成される。
ここに今回は CPU と メモリ、 HD の情報を追加し、 HTML ファイルの出力先を WorkDir で設定した。
以下は追加・変更した部分。
# vi /var/lib/mrtg/mrtg.cfg
WorkDir: /var/www/mrtg ### 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:private@localhost MaxBytes[cpu]: 100 Unscaled[cpu]: dwmy Options[cpu]: gauge, absolute, growright, noinfo, nopercent YLegend[cpu]: CPU Load(%) ShortLegend[cpu]: (%) LegendI[cpu]: Average of 1 min LegendO[cpu]: Average of 5 mins Legend1[cpu]: Average of 1 min(%) Legend2[cpu]: Average of 5 mins(%) Title[cpu]: CPU Load Average PageTop[cpu]: <H1>CPU Load Average</H1> ### Memory Free #### Target[mem]: .1.3.6.1.4.1.2021.4.6.0&.1.3.6.1.4.1.2021.4.4.0:private@localhost MaxBytes1[mem]: 223384 MaxBytes2[mem]: 522072 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]: Physical Free[MBytes] Legend2[mem]: Swap Free[MBytes] Title[mem]: 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:private@localhost 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 /var/lib/mrtg/mrtg.cfg
エラーが出るので出なくなるまで3回実行する。何もでなくなれば完了。
後は、 5 分おきに上記コマンドが実行されるよう cron を設定します。
# vi /etc/cron.d/mrtg
*/5 * * * * root /usr/bin/mrtg /var/lib/mrtg/mrtg.cfg --lock-file /var/lock/mrtg/mrtg_l \ --confcache-file /var/lib/mrtg/mrtg.ok
apache の設定は特にすることはない。
mrtg をパッケージでインストールすると、 /var/www/mrtg にディレクトリが作成され、 /etc/httpd/conf.d/ 以下に mrtg 用の mrtg.conf ファイルが作成されている。
標準では localhost からしか接続できないようになっているので、必要に応じて変更する。
変更したら、 apache の設定をリロードして完成。
# service httpd reloadこれで http://localhost/mrtg/ に接続するとグラフが閲覧できる。