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페이지들을 가리키는 링크를 추가하여야 합니다.
댓글 없음:
댓글 쓰기