UJP - 技術情報1

Life is fun and easy!

不正IP報告数

Okan Sensor
 
メイン
ログイン
ブログ カテゴリ一覧

qmailmrtg7の導入

qmailmrtg7の導入


0.改訂履歴

  • 2005.12.26 新規作成
  • 2006.08.16 設定ファイルを格納するディレクトリの変更や,httpd.confへの記述を追加.
  • 2006.08.18 WorkDirの記述間違いを修正
  • 2006.09.13 mkdirのディレクトリの記述間違い

1.はじめに

 このドキュメントでは,qmailmrtgを使って,qmailの利用状況をレポートするシステムを構築する手順を説明する.

 なお,使用しているOSは,RedHat Linux ES3.0で,既にSNMPDの設定を伴うMRTGと,qmailが稼働している環境が必要となる.

2.インストールを行う

  • モジュールを取得する.
root@uranos: # wget http://inter7.com/qmailmrtg7/qmailmrtg7-4.2.tar.gz
--20:16:20--  http://inter7.com/qmailmrtg7/qmailmrtg7-4.2.tar.gz
           => `qmailmrtg7-4.2.tar.gz'
inter7.com をDNSに問いあわせています... 完了しました。

inter7.com[209.76.75.195]:80 に接続しています... 接続しました。

HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 9,690 [application/x-gzip]

100%[====================================>] 9,690   34.41K/s    ETA 00:00

20:16:21 (34.41 KB/s) - `qmailmrtg7-4.2.tar.gz' を保存しました [9690/9690]

root@uranos: #  
  • アーカイブファイルを展開してディレクトリを移動する.
root@uranos:qmailmrtg7 # tar xfz qmailmrtg7-4.2.tar.gz 
root@uranos:qmailmrtg7 # cd qmailmrtg7-4.2
root@uranos:qmailmrtg7/qmailmrtg7-4.2 #
  • ファイルを確認する.
root@uranos:/qmailmrtg7-4.2 # ls -la
合計 84
drwxr-xr-x    2 root     root         4096 10月  1 01:25 .
drwxr-xr-x    3 root     root         4096 12月 26 20:19 ..
-rw-r--r--    1 root     root          141  9月  1  2003 AUTHORS
-rw-r--r--    1 root     root         2898 11月  6  2004 ChangeLog
-rw-r--r--    1 root     root         1432  7月 19  2003 FAQ
-rw-r--r--    1 root     root         1971  2月 29  2004 INSTALL
-rw-r--r--    1 root     root          434  2月 29  2004 Info
-rw-r--r--    1 root     root          176  7月 19  2003 Makefile
-rw-r--r--    1 root     root          117  5月 14  2004 TODO
-rw-r--r--    1 root     root         1928  2月 29  2004 checkq.c
-rw-r--r--    1 root     root         4857 10月  1 01:24 index.html
-rw-r--r--    1 root     root          639  9月  1  2003 main_index.html
-rw-r--r--    1 root     root        12394  7月 27  2004 qmail.mrtg.cfg
-rw-r--r--    1 root     root         9061 11月  6  2004 qmailmrtg7.c
-rw-r--r--    1 root     root           34 11月  6  2004 qmailmrtg7.h
root@uranos:/qmailmrtg7-4.2 #
  • configureファイルも無いので,そのままmakeしてインストールを行う.
root@uranos:/qmailmrtg7-4.2 # make
cc checkq.c -o checkq
./checkq
cc -s -O qmailmrtg7.c -o qmailmrtg7
root@uranos:/qmailmrtg7-4.2 # make install
strip qmailmrtg7
cp qmailmrtg7 /usr/local/bin
root@uranos:/qmailmrtg7-4.2 # 
  • インストール終了.

3.設定

  • 作業用ディレクトリを作成する.
[root@uranos qmailmrtg7-4.2]# mkdir /usr/local/qmailmrtg7
[root@uranos qmailmrtg7-4.2]# mkdir /usr/local/qmailmrtg7/data
[root@uranos qmailmrtg7-4.2]#
  • 作成したディレクトリに,テンプレートファイル(cfgファイルとHTMLファイル)を複写する.
    • 本来ならば,HTMLは別のディレクトリが望ましいが,作業を簡素化するためにここでは一緒にしてある.
[root@uranos qmailmrtg7-4.2]# cp index.html /usr/local/qmailmrtg7/.
[root@uranos qmailmrtg7-4.2]# cp qmail.mrtg.cfg /usr/local/qmailmrtg7/.
[root@uranos qmailmrtg7-4.2]# cd /usr/local/qmailmrtg7/.
[root@uranos qmailmrtg7]# ls -la
total 36
drwxr-sr-x    3 root     root         4096 Aug 16 13:12 .
drwxr-sr-x   17 root     root         4096 Aug 16 13:09 ..
drwxr-sr-x    2 root     root         4096 Aug 16 13:10 data
-rw-r--r--    1 root     root         4857 Aug 16 13:12 index.html
-rw-r--r--    1 root     root        12394 Aug 16 13:12 qmail.mrtg.cfg
[root@uranos qmailmrtg7]# 
  • MRTG用の設定ファイルqmail.mrtg.cfgを編集する.
[root@uranos qmailanalog7]# cat qmail.mrtg.cfg
WorkDir: /usr/local/qmailmrtg7/data
#############################################################

Title[msg]: Messages - FQDN
MaxBytes[msg]: 10000
AbsMax[msg]: 20000
Options[msg]: growright,gauge
Target[msg]: `/usr/local/bin/qmailmrtg7 m /var/qmail/supervise/qmail/log`
PageTop[msg]: <B>FQDN Messages</B><br>
ShortLegend[msg]: msg
YLegend[msg]: msg/hour
Legend1[msg]: Total Msg&nbsp;
LegendI[msg]: Deliveries:&nbsp;
LegendO[msg]: Attempts:&nbsp;
WithPeak[msg]: ymwd

#-------------------------------------------------------------------

Title[queue-size]: Queue Size - FQDN
MaxBytes[queue-size]: 10000
AbsMax[queue-size]: 100000
Options[queue-size]: growright,gauge
Target[queue-size]: `/usr/local/bin/qmailmrtg7 q /var/qmail/queue`
PageTop[queue-size]: <B>FQDN Queue Size</B><br>
ShortLegend[queue-size]: Msg
YLegend[queue-size]: msg total
Legend1[queue-size]: msg&nbsp;
LegendI[queue-size]: msg&nbsp;
LegendO[queue-size]: unprocessed msg:&nbsp;
WithPeak[queue-size]: ymwd

#-------------------------------------------------------------------

Title[concurrency]: Local/Remote Concurrency - FQDN
MaxBytes[concurrency]: 500
AbsMax[concurrency]: 10000
Options[concurrency]: growright,gauge
Target[concurrency]: `/usr/local/bin/qmailmrtg7 c /var/qmail/supervise/qmail/log`
PageTop[concurrency]: <B>FQDN - Local/Remote Concurrency</B><br>
ShortLegend[concurrency]: concurrency
YLegend[concurrency]: max concurrency
Legend1[concurrency]: concurrency&nbsp;
LegendI[concurrency]: local&nbsp;
LegendO[concurrency]: remote&nbsp;
WithPeak[concurrency]: ymwd

#-------------------------------------------------------------------

Title[messstatus]: Message Status - FQDN
MaxBytes[messstatus]: 10000
AbsMax[messstatus]: 100000
Options[messstatus]: growright,gauge
Target[messstatus]: `/usr/local/bin/qmailmrtg7 s /var/qmail/supervise/qmail/log`
PageTop[messstatus]: <B>FQDN - Message Status</B><BR> 
ShortLegend[messstatus]: msg
YLegend[messstatus]: msg/hour
Legend1[messstatus]: msg&nbsp;
LegendI[messstatus]: success&nbsp;
LegendO[messstatus]: failures&nbsp;
WithPeak[messstatus]: ymwd

#-------------------------------------------------------------------

Title[bits]: Bits Transfered - FQDN
MaxBytes[bits]: 1540000
AbsMax[bits]: 100000000
Options[bits]: growright,gauge
Target[bits]: `/usr/local/bin/qmailmrtg7 b /var/qmail/supervise/qmail/log`
PageTop[bits]: <B>FQDN - Bits Transfered</B><br>
ShortLegend[bits]: bits
YLegend[bits]: bits/sec
Legend1[bits]: bits&nbsp;
LegendI[bits]: bits&nbsp;
LegendO[bits]: bits&nbsp;
WithPeak[bits]: ymwd

#-------------------------------------------------------------------

Title[smtp]: SMTP Concurrency - FQDN
MaxBytes[smtp]: 100
AbsMax[smtp]: 500
Options[smtp]: growright,gauge
Target[smtp]: `/usr/local/bin/qmailmrtg7 t /var/qmail/supervise/smtpd/log/main`
PageTop[smtp]: <B>FQDN - SMTP Concurrency</B><BR>
ShortLegend[smtp]: SMTP
YLegend[smtp]: max SMTP
Legend1[smtp]: SMTP&nbsp;
LegendI[smtp]: SMTP&nbsp;
LegendO[smtp]: SMTP&nbsp;
WithPeak[smtp]: ymwd

#-------------------------------------------------------------------

Title[smtpad]: SMTP Totals - FQDN
MaxBytes[smtpad]: 1000
AbsMax[smtpad]: 100000
Options[smtpad]: growright,gauge
Target[smtpad]: `/usr/local/bin/qmailmrtg7 a /var/qmail/supervise/smtpd/log/main`
PageTop[smtpad]: <B>FQDN - SMTP Totals</B><BR>
ShortLegend[smtpad]: SMTP
YLegend[smtpad]: SMTP/hour
Legend1[smtpad]: SMTP&nbsp;
LegendI[smtpad]: Allow&nbsp;
LegendO[smtpad]: Deny&nbsp;
WithPeak[smtpad]: ymwd

#-------------------------------------------------------------------
Title[pop3]: POP3 Concurrency - FQDN
MaxBytes[pop3]: 100
AbsMax[pop3]: 500 
Options[pop3]: growright,gauge
Target[pop3]: `/usr/local/bin/qmailmrtg7 t /var/qmail/supervise/pop3d/log/main`
PageTop[pop3]: <B>FQDN POP3 Concurrency</B><BR>
ShortLegend[pop3]: POP3
YLegend[pop3]: max POP3
Legend1[pop3]: POP3&nbsp;
LegendI[pop3]: POP3&nbsp;
LegendO[pop3]: POP3&nbsp; 
WithPeak[pop3]: ymwd

#-------------------------------------------------------------------

Title[pop3ad]: POP3 Totals - FQDN
MaxBytes[pop3ad]: 1000
AbsMax[pop3ad]: 100000
Options[pop3ad]: growright,gauge
Target[pop3ad]: `/usr/local/bin/qmailmrtg7 a /var/qmail/supervise/pop3d/log/main`
PageTop[pop3ad]: <B>FQDN - POP3 Totals</B><BR>
ShortLegend[pop3ad]: POP3
YLegend[pop3ad]: POP3/hour
Legend1[pop3ad]: POP3&nbsp;
LegendI[pop3ad]: Allow&nbsp;
LegendO[pop3ad]: Deny&nbsp;
WithPeak[pop3ad]: ymwd
  • WorkDirのパスを設定し,qmailのログファイルが格納されているディレクトリをしていする.
  • "FQDN"として書かれている文字列を,適当にサイト名などに置き換えると,見栄えが良くなる.
  • 今回は,必要最低限の項目だけに絞ったので,clamd等のログ解析は取り除いた.
  • また,growrightによってグラフを右端に最新が表示されるように設定した.
  • 次に,HTMLファイルを書き直す.
[root@uranos qmailanalog7]# cat index.html
<!-- Begin Head -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> FQDN - Qmail Mrtg Stats</TITLE>
<META HTTP-EQUIV="Refresh" CONTENT="300">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
</HEAD>
<BODY BGCOLOR="#ffffff" text="#000000" link="#000000" vlink="#000000" 
alink="#000000">

<B>FQDN Qmail Mrtg Stats</B>
<table BORDER=0 CELLPADDING=0 CELLSPACING=0>

<tr>
<td>
<B><a href=data/msg.html>Messages</a> (5 Minute Average)</B><BR>
<a href=data/msg.html><IMG BORDER=1 width=100% SRC="data/msg-day.png"   ALT="day"></a>
</td>
<td>
<B><a href=data/concurrency.html>Local/Remote Concurrency</a> (5 Minute Average)</B><BR>
<a href=data/concurrency.html><IMG BORDER=1 width=100% SRC="data/concurrency-day.png"   ALT="day"></a>
</td>
</tr>

<tr>
<td>
<B><a href=data/smtpad.html>SMTP Totals</a> (5 Minute Average)</B><BR>
<a href=data/smtpad.html><IMG BORDER=1 width=100% SRC="data/smtpad-day.png"   ALT="day"></a>
</td>
<td>
<B><a href=data/smtp.html>SMTP Concurrency</a> (5 Minute Average)</B><BR>
<a href=data/smtp.html><IMG BORDER=1 width=100% SRC="data/smtp-day.png"   ALT="day"></a>
</td>
</tr>

<tr>
<td>
<B><a href=data/pop3ad.html>POP3 Totals</a> (5 Minute Average)</B><BR>
<a href=data/pop3ad.html><IMG BORDER=1 width=100% SRC="data/pop3ad-day.png"   ALT="day"></a>
</td>
<td>
<B><a href=data/pop3.html>POP3 Concurrency</a> (5 Minute Average)</B><BR>
<a href=data/pop3.html><IMG BORDER=1 width=100% SRC="data/pop3-day.png"   ALT="day"></a>
</td>
</tr>

<tr>
<td>
<B><a href=data/bits.html>Bits Transfered</a> (5 Minute Average)</B><BR>
<a href=data/bits.html><IMG BORDER=1 width=100% SRC="data/bits-day.png"   ALT="day"></a>
</td>
<td>
<B><a href=data/messstatus.html>Message Status</a> (5 Minute Average)</B><BR>
<a href=data/messstatus.html><IMG BORDER=1 width=100% SRC="data/messstatus-day.png"   ALT="day"></a>
</td>
</tr>


<tr>
<td><B><a href=data/queue-size.html>Queue Size</a> (5 Minute Average)</B><BR>
<a href=data/queue-size.html><IMG BORDER=1 width=100% SRC="data/queue-size-day.png"   ALT="day"></a>
</td>
</tr>

</table>
<span style="font-size: 10px;">
<a href=data/"http://www.inter7.com/?page=qmailmrtg7">qmail</a>mrtg7
</span>
</BODY>
</HTML>
[root@uranos qmailanalog7]# 
  • デフォルトでは不要なものがいっぱいついているので,削除する.

4.実行

  • 設定が完了したら,MRTGを3回実行する.
[root@uranos qmailmrtg7]# /usr/local/mrtg-2/bin/mrtg /usr/local/qmailmrtg7/qmail.mrtg.cfg 
Rateup WARNING: /usr/local/mrtg-2/bin/rateup could not read the primary log file for msg
Rateup WARNING: /usr/local/mrtg-2/bin/rateup The backup log file for msg was invalid as well
Rateup WARNING: /usr/local/mrtg-2/bin/rateup Can't remove msg.old updating log file
Rateup WARNING: /usr/local/mrtg-2/bin/rateup Can't rename msg.log to msg.old updating log file
Rateup WARNING: /usr/local/mrtg-2/bin/rateup could not read the primary log file for queue-size
Rateup WARNING: /usr/local/mrtg-2/bin/rateup The backup log file for queue-size was invalid as well
Rateup WARNING: /usr/local/mrtg-2/bin/rateup Can't remove queue-size.old updating log file
Rateup WARNING: /usr/local/mrtg-2/bin/rateup Can't rename queue-size.log to queue-size.old updating
 log file
Rateup WARNING: /usr/local/mrtg-2/bin/rateup could not read the primary log file for concurrency
Rateup WARNING: /usr/local/mrtg-2/bin/rateup The backup log file for concurrency was invalid as well
Rateup WARNING: /usr/local/mrtg-2/bin/rateup Can't remove concurrency.old updating log file
Rateup WARNING: /usr/local/mrtg-2/bin/rateup Can't rename concurrency.log to concurrency.old updating
 log file
Rateup WARNING: /usr/local/mrtg-2/bin/rateup could not read the primary log file for messstatus
Rateup WARNING: /usr/local/mrtg-2/bin/rateup The backup log file for messstatus was invalid as well
Rateup WARNING: /usr/local/mrtg-2/bin/rateup Can't remove messstatus.old updating log file
Rateup WARNING: /usr/local/mrtg-2/bin/rateup Can't rename messstatus.log to messstatus.old updating
 log file
Rateup WARNING: /usr/local/mrtg-2/bin/rateup could not read the primary log file for bits
Rateup WARNING: /usr/local/mrtg-2/bin/rateup The backup log file for bits was invalid as well
Rateup WARNING: /usr/local/mrtg-2/bin/rateup Can't remove bits.old updating log file
Rateup WARNING: /usr/local/mrtg-2/bin/rateup Can't rename bits.log to bits.old updating log file
Rateup WARNING: /usr/local/mrtg-2/bin/rateup could not read the primary log file for smtp
Rateup WARNING: /usr/local/mrtg-2/bin/rateup The backup log file for smtp was invalid as well
Rateup WARNING: /usr/local/mrtg-2/bin/rateup Can't remove smtp.old updating log file
Rateup WARNING: /usr/local/mrtg-2/bin/rateup Can't rename smtp.log to smtp.old updating log file
Rateup WARNING: /usr/local/mrtg-2/bin/rateup could not read the primary log file for smtpad
Rateup WARNING: /usr/local/mrtg-2/bin/rateup The backup log file for smtpad was invalid as well
Rateup WARNING: /usr/local/mrtg-2/bin/rateup Can't remove smtpad.old updating log file
Rateup WARNING: /usr/local/mrtg-2/bin/rateup Can't rename smtpad.log to smtpad.old updating log file
Rateup WARNING: /usr/local/mrtg-2/bin/rateup could not read the primary log file for pop3
Rateup WARNING: /usr/local/mrtg-2/bin/rateup The backup log file for pop3 was invalid as well
Rateup WARNING: /usr/local/mrtg-2/bin/rateup Can't remove pop3.old updating log file
Rateup WARNING: /usr/local/mrtg-2/bin/rateup Can't rename pop3.log to pop3.old updating log file
Rateup WARNING: /usr/local/mrtg-2/bin/rateup could not read the primary log file for pop3ad
Rateup WARNING: /usr/local/mrtg-2/bin/rateup The backup log file for pop3ad was invalid as well
Rateup WARNING: /usr/local/mrtg-2/bin/rateup Can't remove pop3ad.old updating log file
Rateup WARNING: /usr/local/mrtg-2/bin/rateup Can't rename pop3ad.log to pop3ad.old updating log file
Rateup WARNING: /usr/local/mrtg-2/bin/rateup could not read the primary log file for eth0
Rateup WARNING: /usr/local/mrtg-2/bin/rateup The backup log file for eth0 was invalid as well
Rateup WARNING: /usr/local/mrtg-2/bin/rateup Can't remove eth0.old updating log file
Rateup WARNING: /usr/local/mrtg-2/bin/rateup Can't rename eth0.log to eth0.old updating log file
Rateup WARNING: /usr/local/mrtg-2/bin/rateup could not read the primary log file for eth0p
Rateup WARNING: /usr/local/mrtg-2/bin/rateup The backup log file for eth0p was invalid as well
Rateup WARNING: /usr/local/mrtg-2/bin/rateup Can't remove eth0p.old updating log file
Rateup WARNING: /usr/local/mrtg-2/bin/rateup Can't rename eth0p.log to eth0p.old updating log file
[root@uranos qmailmrtg7]# /usr/local/mrtg-2/bin/mrtg /usr/local/qmailmrtg7/qmail.mrtg.cfg 
Rateup WARNING: /usr/local/mrtg-2/bin/rateup Can't remove msg.old updating log file
Rateup WARNING: /usr/local/mrtg-2/bin/rateup Can't remove queue-size.old updating log file
Rateup WARNING: /usr/local/mrtg-2/bin/rateup Can't remove concurrency.old updating log file
Rateup WARNING: /usr/local/mrtg-2/bin/rateup Can't remove messstatus.old updating log file
Rateup WARNING: /usr/local/mrtg-2/bin/rateup Can't remove bits.old updating log file
Rateup WARNING: /usr/local/mrtg-2/bin/rateup Can't remove smtp.old updating log file
Rateup WARNING: /usr/local/mrtg-2/bin/rateup Can't remove smtpad.old updating log file
Rateup WARNING: /usr/local/mrtg-2/bin/rateup Can't remove pop3.old updating log file
Rateup WARNING: /usr/local/mrtg-2/bin/rateup Can't remove pop3ad.old updating log file
Rateup WARNING: /usr/local/mrtg-2/bin/rateup Can't remove eth0.old updating log file
Rateup WARNING: /usr/local/mrtg-2/bin/rateup Can't remove eth0p.old updating log file
[root@uranos qmailmrtg7]# /usr/local/mrtg-2/bin/mrtg /usr/local/qmailmrtg7/qmail.mrtg.cfg 
[root@uranos qmailmrtg7]# 
  • 3回実行したらエラーが出なくなる.

5.apacheの設定

  • httpd.confに以下のような記述を追加する.
Alias /uranos_mrtg_qmail /usr/local/qmailmrtg7         
<Directory "/usr/local/qmailmrtg7">
        Options None
        order allow,deny
        allow from all
</Directory>
  • Apacheを再起動させる.
  • Webブラウザで次のようなURLを確認する.
    • http://localhost/uranos_mrtg_qmail/index.html
  • 確認してみると,次のような画面が表示される.

  • この状態では,qmailのqueueが最大164も溜まっていると表示されている.
  • qmail-qstatを使って確認する.
root@uranos: # /var/qmail/bin/qmail-qstat
messages in queue: 160
messages in queue but not yet preprocessed: 0
root@uranos: # 
  • 何かqueueに溜まっていることが確認できた.


広告スペース
Google