MRTG를 사용하여 qmail 통계 그래프 생성하기
Paul Hoadley mailto:paulh@logicsquad.net 저.
OpenBIRD, Inc. mailto:editors@openbird.com 역.
이 문서는 SMTP(역주: qmail을 뜻함), POP3의 수행작업들에 대한 별도의 로그를 만들고, Inter7(역주: 회사 이름)의 qmailmrtg7패키지와 MRTG를 사용해서 해당 로그의 통계 그래프를 생성하는 방법을 설명합니다. 본 문서에서 다루는 작업들은 FreeBSD 4.2 릴리즈와 4.3 릴즈즈에서 실험 되어졌습니다만, 다른 릴리즈의 시스템에서 작동 할 것입니다.
- Table of Contents
- 1. 필요한 준비물
- 2. 먼저 설치되어야 할 소프트웨어
- 3. 로그 디렉토리의 생성
- 4. 설정화일 변경
1. 필요한 준비물
1.1. 필요한 프로그램들
아래의 프로그램들이 먼저 설치되어 있어야 합니다.
- qmail-1.03 (포트에서 설치하세요: /usr/ports/mail/qmail)
- mrtg-2.9.11 (포트에서 설치하세요: /usr/ports/net/mrtg)
본 문서에스는 qmail의 설치 방법은 다루지 않습니다. qmail의 설치에 대해서는 Installing qmail under FreeBSD를 참고하세요.
2. 먼저 설치되어야 할 소프트웨어
2.1. daemontools-0.70
패키지(qmailmrtg)에서 setuidgid와 multilog 유틸리티가 사용되기 때문에, 해당 유틸리티가 설치되어 있어야 합니다. 다음과 같이 설치하십시요.
# cd /usr/ports/sysutils/daemontools
# make install
2.2. qmailmrtg7-3.1
Inter7에서 구할 수 있습니다.
# cd tmp
# fetch http://inter7.com/qmailmrtg7/qmailmrtg7-3.1.tar.gz
# gunzip qmailmrtg7-3.1.tar.gz
# tar -xvf qmailmrtg7-3.1.tar
# cd qmailmrtg7-3.1
# make all
# make install
# rm /etc/qmail.mrtg.cfg
위의 설치 과정을 보면 마지막에 /etc/qmail.mrtg.cfg 파일을 삭제하는 것을 알 수 있습니다. qmailmrtg7는 설치 과정에서 설정 파일을 /etc 디렉토리에 복사하는데, 설정 파일은 /usr/local/etc/mrtg 디렉토리에 위치하거나, 기본 MRTG 설정 파일 /usr/local/etc/mrtg/mrtg.cfg에 통합되는 것이 이상적이기 때문에 삭제합니다. 다음 섹션에서 보다 자세히 다룹니다.
3. 로그 디렉토리의 생성
/var/log에 다음과 같이 데몬들을 위한 디렉토리를 만듭니다.
# cd /var/log
# mkdir qmail
# mkdir pop3
# mkdir smtp
보안적인 면을 고려한다면 이 디렉토리들의 퍼미션을 적절하게 수정 하십시요. (역주: 예 chmod 500)
4. 설정화일 변경
4.1. /etc/rc.conf
qmail이 Installing qmail under FreeBSD에 따라 정확히 설치 되었다면 /etc/rc.conf의 값들이 변경되어 있을것입니다. 만약 그렇지 않다면 /etc/rc.conf에 다음 항목을 추가하십시요.
# qmail options
qmail_smtp_enable="YES"
qmail_pop_enable="YES"
qmail_enable="YES"
4.2. /var/qmail/rc
/var/qmail/rc에서 구동되는 각각의 데몬 구동용 명령어들이 multilog의 장점을 취하기 위해서는 아래의 스크립트에서 HOST.DOMAIN을 메일서버의 FQDN(Fully Qualified Domain Name, 역주: 인터넷 도메인 주소라고 보시면 됩니다)으로 수정하여야 합니다.
#!/bin/sh
#
# This script starts and stops the qmail mail functions.
#
# Suck in the configuration variables.
if [ -r /etc/defaults/rc.conf ]; then
. /etc/defaults/rc.conf
source_rc_confs
elif [ -r /etc/rc.conf ]; then
. /etc/rc.conf
fi
case "$1" in
start)
case ${qmail_smtp_enable} in
[Yy][Ee][Ss])
# Start the qmail smtp daemon
env - PATH="/var/qmail/bin:/usr/local/bin" \
tcpserver -v -H -R -x /etc/tcp.smtp.cdb \
-c200 -u82 -g81 0 25 fixcrio /var/qmail/bin/qmail-smtpd \
2>&1 | /usr/local/bin/setuidgid qmaill \
/usr/local/bin/multilog t n100 s1000000 /var/log/smtp &
echo -n " qmail-smtp"
;;
esac
case ${qmail_pop_enable} in
[Yy][Ee][Ss])
# Start the qmail pop daemon
env - PATH="/var/qmail/bin:/usr/local/bin" \
tcpserver -v -H -R -c200 0 110 \
/var/qmail/bin/qmail-popup HOST.DOMAIN \
/usr/local/bin/checkpassword /var/qmail/bin/qmail-pop3d \
Maildir 2>&1 | /usr/local/bin/setuidgid qmaill \
/usr/local/bin/multilog t n100 s1000000 /var/log/pop3 &
echo -n " qmail-pop"
;;
esac
case ${qmail_enable} in
[Yy][Ee][Ss])
# Start qmail
exec env - PATH="/var/qmail/bin:$PATH" \
qmail-start ./Maildir | /usr/local/bin/setuidgid qmaill \
/usr/local/bin/multilog t n100 s1000000 /var/log/qmail &
echo -n " qmail"
;;
esac
;;
stop)
# Stop the smtp daemon
smtppid=`ps -axw | grep tcpserver | grep smtp | grep -v grep | awk '{ print $1 }'`
if [ "$smtppid" != "" ]; then
kill $smtppid
echo -n " qmail-smtp"
fi
# Stop the pop daemon
poppid=`ps -axw | grep tcpserver | grep popup | grep -v grep | awk '{ print $1 }'`
if [ "$poppid" != "" ]; then
kill $poppid
echo -n " qmail-pop"
fi
# Stop qmail
qmailpid=`ps -axw | grep qmail-send | grep -v grep | awk '{ print $1 }'`
if [ "$qmailpid" != "" ]; then
kill $qmailpid
echo -n " qmail"
fi
;;
*)
echo "Usage: `basename $0` {start|stop}" >&2
;;
esac
exit 0
\ 문자로 종결되는 행은 원래 다음 행과의 하나의 긴 라인 입니다만, 여기에서는 \ 문자를 사용해 두개의 행으로 나누어 표현하고 있습니다.
4.3. /usr/local/etc/mrtg/mrtg.cfg
mrtg.cfg의 설정은 시스템에 어떻게 MRTG를 설정하는가에 매우 의존적입니다. 먼저 다음과 같이 qmail.mrtg.cfg 예제 설정 파일을 mrtg.cfg에 추가하여 기본 설정으로 구동해 본 후에 시스템에 맞추어 수정을 가하십시요. :
# cd /usr/local/etc/mrtg
# mv mrtg.cfg mrtg.cfg.bak
# cat mrtg.cfg.bak /tmp/qmailmrtg7-3.1/qmail.mrtg.cfg > mrtg.cfg
위의 과정 후 생성된 파일 mrtg.cfg 에 문제가 없는지 꼭 점검 하십시요. 그리고, 사이트의 MRTG 인덱스 페이지에서 새롭게 생성된 HTML페이지들을 가리키는 링크를 추가하여야 합니다.
댓글 없음:
댓글 쓰기