Postfix 모니터링 · 3 min read · Sep 28, 2025
Debian Etch에서 Mailgraph 및 pflogsumm을 사용한 Postfix 모니터링
Debian Etch에서 Mailgraph 및 pflogsumm을 사용한 Postfix 모니터링
버전 1.0
저자: Falko Timme
이 문서에서는 Mailgraph 및 pflogsumm 도구를 사용하여 Postfix 메일 서버를 모니터링하는 방법을 설명합니다. Mailgraph는 발송, 수신, 반송 및 거부된 이메일과 스팸 및 바이러스의 일일, 주간, 월간 및 연간 그래프를 생성합니다. SpamAssassin 및 ClamAV가 Postfix에 통합된 경우(예: amavisd-new 사용) 이러한 그래프에 접근할 수 있습니다. pflogsumm(“Postfix 로그 항목 요약기”)는 Postfix 활동에 대한 보고서를 이메일로 전송하는 데 사용할 수 있습니다.
다음에서는 Debian Etch에서 Mailgraph 및 pflogsumm을 설치하고 구성하는 방법을 설명하겠습니다.
이것이 귀하에게 작동할 것이라는 보장은 하지 않습니다!
1 사전 참고
이 튜토리얼에서 내 리눅스 시스템의 IP 주소는 192.168.0.100이며, http://www.example.com 웹 사이트를 호스팅하고 있으며, 문서 루트는 /var/www/www.example.com/web이고 cgi-bin 디렉토리는 /var/www/www.example.com/cgi-bin입니다. pflogsumm 보고서는 [email protected] 이메일 주소로 전송됩니다.
2 Mailgraph
Debian Etch에는 Mailgraph 및 pflogsumm 패키지가 있으므로 간단히 설치합니다. Mailgraph가 그래프를 그리는 데 필요한 데이터를 저장하는 rrdtool도 설치합니다:
apt-get install rrdtool mailgraph이제 다음과 같이 mailgraph 패키지를 구성합니다:
dpkg-reconfigure mailgraph몇 가지 질문이 있을 것입니다:
Mailgraph를 부팅 시 시작하시겠습니까? <– 예
Mailgraph에서 사용하는 로그 파일: <– /var/log/mail.log
그런 다음 다음 질문이 있습니다:
수신 메일을 발신 메일로 계산하시겠습니까?Postfix에 amavisd와 같은 콘텐츠 필터를 통합한 경우(이 튜토리얼: 스팸 및 바이러스 스캔을 위한 amavisd-new을 Postfix에 통합하기 참조), Mailgraph가 이메일을 두 번 계산하지 않도록 “아니오”라고 대답하십시오(왜냐하면 Postfix가 이메일을 amavisd에 전달하고, amavisd가 성공적으로 스캔한 후 이메일을 다시 Postfix로 전달하기 때문입니다). 콘텐츠 필터를 사용하지 않는 경우 “예”라고 대답하십시오.
설치 중에 Mailgraph의 시스템 시작 링크가 자동으로 생성되며, Mailgraph도 자동으로 시작되므로 수동으로 시작할 필요가 없습니다.
이제 mailgraph.cgi 스크립트(그래프를 그리고 웹 브라우저에 대한 출력을 생성하는 스크립트)를 www.example.com 웹 사이트의 cgi-bin 디렉토리로 복사해야 합니다:
cp -p /usr/lib/cgi-bin/mailgraph.cgi /var/www/www.example.com/cgi-bin스크립트는 이미 실행 가능하므로 chmod 할 필요가 없습니다. www.example.com 웹 사이트에 대해 suExec를 사용하는 경우, mailgraph.cgi의 소유자 및 그룹을 적절한 것으로 변경해야 합니다.
이제 브라우저를 http://www.example.com/cgi-bin/mailgraph.cgi로 이동하면 그래프를 볼 수 있어야 합니다. 물론 첫 번째 결과를 보기 전에 시스템을 통해 이메일이 몇 개 지나가야 하므로 인내심을 가지십시오.
시간이 지나면 그래프는 다음과 같이 보일 수 있습니다(다음 출력은 사용자 정의되어 있으므로 귀하의 것과 정확히 같지 않을 수 있습니다):

일일 통계.
주간 통계.
월간 통계.
연간 통계.참고: Mailgraph는 Postfix에 SpamAssassin 및 ClamAV를 사용하여 스팸 및 바이러스 메일을 태그하도록 구성된 콘텐츠 필터(예: amavisd-new)를 통합한 경우에만 스팸 및 바이러스를 보고합니다. 이를 수행하지 않으면 그래프는 여전히 표시되지만 스팸 및 바이러스 보고서는 없습니다.
3 pflogsumm
pflogsumm을 설치하려면 다음을 실행합니다.
apt-get install pflogsummpflogsumm이 매일 cron 작업에 의해 실행되고 [email protected]로 보고서를 전송하도록 하려면, 시스템이 24시간 동안 하나의 메일 로그 파일을 작성하도록 구성해야 하며, 이후 다음 메일 로그를 시작하여 이전 메일 로그를 pflogsumm에 공급할 수 있도록 해야 합니다. 따라서 logrotate(시스템의 로그 파일을 회전하는 프로그램)를 다음과 같이 구성합니다: /etc/logrotate.conf를 열고 # system-specific logs may be configured here 줄 다음에 다음 구문을 추가합니다:
vi /etc/logrotate.conf| [...] # system-specific logs may be configured here /var/log/mail.log { missingok daily rotate 7 create compress start 0 } |
/etc/cron.daily에 logrotate 스크립트가 있습니다. 이 스크립트는 매일 06:00h와 07:00h 사이에 호출됩니다. 우리가 방금 만든 구성으로 현재 Postfix 로그 /var/log/mail.log를 /var/log/mail.log.0으로 복사하고 압축하며, 압축된 파일은 /var/log/mail.log.0.gz가 됩니다. 또한 Postfix가 다음 24시간 동안 로그를 기록할 수 있도록 새로운 빈 /var/log/mail.log를 생성합니다.
이제 /usr/local/sbin/postfix_report.sh 스크립트를 생성하여 pflogsumm을 호출하고 [email protected]로 보고서를 전송합니다:
vi /usr/local/sbin/postfix_report.sh| #!/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin gunzip /var/log/mail.log.0.gz pflogsumm /var/log/mail.log.0 | formail -c -I"Subject: Mail Statistics" -I"From: pflogsumm@localhost" -I"To: [email protected]" -I"Received: from www.example.com ([192.168.0.100])" | sendmail [email protected] gzip /var/log/mail.log.0 exit 0 |
이 스크립트를 실행 가능하게 만들어야 합니다:
chmod 755 /usr/local/sbin/postfix_report.sh그런 다음 매일 07:00h에 스크립트를 호출하는 cron 작업을 생성합니다:
crontab -e| 0 7 * * * /usr/local/sbin/postfix_report.sh &> /dev/null |
이렇게 하면 보고서가 [email protected]로 전송됩니다. 이메일 클라이언트에서는 다음과 같이 보입니다:

4 링크
- Mailgraph: http://people.ee.ethz.ch/~dws/software/mailgraph
- pflogsumm: http://jimsun.linxnet.com/postfix_contrib.html
- RRDTool: http://oss.oetiker.ch/rrdtool
- Postfix: http://www.postfix.org
- Debian: http://www.debian.org
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.