分类: LINUX
2011-06-02 09:27:22
改完后要重启动MailScanner.
另外可以监控整个域的邮件用用*@abc.com
也可以监控所有邮件用*代替.
用postfix本身的功能也可以实现
在main.cf加上这个参数:
然后在/etc/postfix/maps写转发和接收的邮箱,比如将发出的信转给
如果要监控多个用户,可以写多行,一条一行.
改好后在终端执行以下命令,生成postfix认识的格式
另外main.cf参数还有:
寄件备份 sender_bcc_maps
收件备份 recipient_bcc_maps
寄件及收件备份 always_bcc
==================================
这样就可以指定某个人监控某个人的邮件了
一、修改main.cf
vi /etc/postfix/main.cf
添加以下内容:
recipient_bcc_maps = hash:/etc/postfix/recipient_bcc
sender_bcc_maps = hash:/etc/postfix/sender_bcc
二、新建文件
1.touch /etc/postfix/recipient_bcc
2. touch /etc/postfix/sender_bcc
三、建立监控邮件
1. 建立接受监控邮件的账户:monitor@163.com
2. 建立被监控的邮件:
vi /etc/postfix/recipient_bcc
wangwu@163.com monitor@163.com
vi /etc/postfix/sender_bcc
wangwu@163.com monitor@163.com
四、建map数据库
1. postmap /etc/postfix/recipient_bcc
2. postmap /etc/postfix/sender_bcc
五、重启服务
service postfix restart
逛了一圈Cacti的论坛,各种使用来监控应用的HOWTO,也看到了一条监控Postfix的Howto。
首先要能用snmp服务从服务器上使用脚本抓取到postqueue信息:
1 | #!/bin/bash |
2 | # check postfix mail for snmpd |
3 | mailq=$(mailq | grep 'Request') |
4 | if [ $? -eq 1 ]; then |
5 | echo '0' |
6 | exit 0 |
7 | fi |
8 | mail_sum=$(echo $mailq | awk '{print $5}') |
9 | echo $mail_sum |
其次要在snmpd.conf里增加相应的snmpwalk条目:
exec .1.3.6.1.4.1.2021.53.101.0 mailq /mail/etc/mailq.sh
重启snmpd服务,使用以下命令测试是否正常工作:
[root@mx3 ~]# snmpwalk -v 2c 127.0.0.1 -c public .1.3.6.1.4.1.2021.53.101.0.101.1
UCD-SNMP-MIB::ucdavis.53.101.0.101.1 = STRING: “45″
接着导入cacti的data和graph模板,模板可以从论坛下载到,链接如下:
在cacti的Console -> Devices里选择相应的邮局服务器IP,点击Create Graphs for this Host,新建一个图;在Graph Templates下拉菜单里选择postfix queue,点击create按钮;
接着在Console -> Graph Management里查到相应IP,会列出该IP拥有的图表,如:192.168.1.250 – Postfix Queue,勾选后面的复选框,在Choose an action里选择 Place to tree(老板邮局),点击go按钮,在Destination Branch下拉菜单里选择相应的IP,点击yes。
在Graphs -> Tree Mode里查看相应的IP地址所拥有的图,等待几分钟,就能看到队列的状态图。
1.下载 postfix_mailserver.tar.gz
2.解压得到两个文件
cacti_host_template_postfix_mailserver.xml
fetch_mail_statistics.pl
3.在cacti的机子上的Console 的Import Templates 中导入cacti_host_template_postfix_mailserver.xml保存
4.在装有postfix的邮件服务器上fetch_mail_statistics.pl 的路径如下,请确保的执行权限
-rwxr-xr-x 1 root root 5531 Jun 21 17:36 /usr/local/bin/fetch_mail_statistics.pl
5.安装net-snmp(在装有postfix的邮件服务器上)
yum install net-snmp*
6.编辑/etc/snmp/snmp.conf 修改的地方如下
# sec.name source community
com2sec notConfigUser ip public // ip为cacti主机的ip
# group context sec.model sec.level prefix read write notif
access notConfigGroup "" any noauth exact all none none //none 改为all
## incl/excl subtree mask
view all included .1 80 // 这一行的注释"#"去掉
追加
pass .1.3.6.1.4.1.2021.255 /usr/local/bin/fetch_mail_statistics.pl /var/log/mail.log /var/log/mailstats.db .1.3.6.1.4.1.2021.255
保存 ,重起snmpd
service snmpd restart
7.然后在cacti 端添加 新的devices Host Template 请选择postfix mailserver
8.常见问题 解决
Error in packet
Reason: (noSuchName) There is no such variable name in this MIB.
Failed object: .1.3.6.1.4.1.2021.255
1.检查 iptables 是否允许snmp 数据包通过
2.请关闭 selinux (RHEL 和centos 会出现这个问题)
把 /etc/selinux/config 改为
SELINUX=disabled
重起