Zabbix報警大部分使用的是腳本報警,這次我們用SMTP方式發送報警。
在zabbix上設定好了EMail賬号還不行,還要在系統裡裝發送郵件的服務,我們這裡用SendMail.
環境:
CentOS Linux release 7.1.1503 (Core)
1.檢查系統是否安裝SendMail。
<code>#rpm -qa | grep Sendmail</code>
傳回值為空,說明沒有安裝過。
2.用yum list sedmail看看都需要安裝哪些包
<code>#yum list sedmail</code>
3.安裝Sendmail及相關軟體。
<code># yum install sendmail dovecot sendmail-cf sendmail-devel sendmail-doc mailx</code>
4.修改Sendmail配置檔案說明。
<code>[root@tpwb ~]</code><code># cat /etc/mail/sendmail.mc </code>
<code>....... </code>
<code>include(`</code><code>/usr/share/sendmail-cf/m4/cf</code><code>.m4')dnl (将sendmail-cf</code><code>/m4/cf</code><code>.m4包含進來) </code>
<code>VERSIONID(`setup </code><code>for</code> <code>Red Hat Linux')dnl (定義版本資訊) </code>
<code>OSTYPE(`linux')dnl (選擇包含作業系統指定屬性的檔案) </code>
<code>........ </code>
<code>define(`confDEF_USER_ID</code><code>',``8:12'</code><code>')dnl (指定使用的使用者ID為8,組ID為12) </code>
<code>dnl define(`confAUTO_REBUILD')dnl </code>
<code>define(`confTO_CONNECT</code><code>', `1m'</code><code>)dnl (設定等待連接配接的最大時間為1分鐘) </code>
<code>define(`confTRY_NULL_MX_LIST',</code><code>true</code><code>)dnl (若MX記錄指向本機,則sendmail直接連接配接到遠端主機) </code>
<code>define(`confDONT_PROBE_INTERFACES',</code><code>true</code><code>)dnl (sendmial不會自動将伺服器的網絡接口視為有效位址) </code>
<code>define(`PROCMAIL_MAILER_PATH</code><code>',`/usr/bin/procmail'</code><code>)dnl(設定procmail的存放路徑) </code>
<code>define(`ALIAS_FILE</code><code>', `/etc/aliases'</code><code>)dnl (設定郵件别名存放路徑) </code>
<code>define(`STATUS_FILE</code><code>', `/var/log/mail/statistics'</code><code>)dnl </code>
<code>define(`UUCP_MAILER_MAX</code><code>', `2000000'</code><code>)dnl (設定處理資訊的最大限制為2M) </code>
<code>define(`confUSERDB_SPEC</code><code>', `/etc/mail/userdb.db'</code><code>)dnl (設定使用者資料庫檔案路徑) </code>
<code>define(`confPRIVACY_FLAGS</code><code>', `authwarnings,novrfy,noexpn,restrictqrun'</code><code>)dnl (設定限制某些郵件指令的标志) </code>
<code>define(`confAUTH_OPTIONS</code><code>', `A'</code><code>)dnl 僅在授權成功時。将AUTH參數加到郵件的消息頭中 </code>
<code>FEATURE(`no_default_msa</code><code>',`dnl'</code><code>)dnl (允許MSA被DAMEMON_OPTION覆寫的預設設定) </code>
<code>FEATURE(`smrsh</code><code>',`/usr/sbin/smrsh'</code><code>)dnl (設定郵件發送器smrsh的存放路徑) </code>
<code>FEATURE(`mailertable</code><code>',`hash -o /etc/mail/mailertable.db'</code><code>)dnl (設定郵件發送器資料庫的存放路徑) </code>
<code>FEATURE(`virtusertable</code><code>',`hash -o /etc/mail/virtusertable.db'</code><code>)dnl (設定虛拟郵件域資料庫的存放路徑) </code>
<code>FEATURE(redirect)dnl (支援.redirect虛拟域) </code>
<code>FEATURE(always_add_domain)dnl (增加主機名到所有本地發送的郵件) </code>
<code>FEATURE(use_cw_file)dnl (裝載</code><code>/etc/mail/local-host-names</code><code>檔案中定義的主機名) </code>
<code>FEATURE(use_ct_file)dnl (裝載可信任使用者名單) </code>
<code>FEATURE(local_procmail,`</code><code>',`procmail -t -Y -a $h -d $u'</code><code>)dnl (使用procmail作為本地郵件發送者) </code>
<code>FEATURE(`access_db</code><code>',`hash -T -o /etc/mail/access.db'</code><code>)dnl (從</code><code>/etc/mail/access</code><code>.db裝載可以中繼的域) </code>
<code>FEATURE(`blacklist_recipients')dnl (根據通路資料庫的值過濾外來郵件) </code>
<code>EXPOSED_USER(`root')dnl (禁止僞裝發送者位址中出現root使用者) </code>
<code>DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl (指定sendmail作為MTA運作時的參數) </code>
<code>FEATURE(`accept_unresolvable_domains')dnl 設定可以接受不能由NDS主機所發送的郵件 </code>
<code>LOCAL_DOMAIN(`localhost.localdomain')dnl 設定本地域 </code>
<code>MAILER(smtp)dnl (指定sendmail所有SMTP發送者,包括smtp,esmtp,smtp8,和replay) </code>
<code>MAILER(procmail)dnl (指定使用procmail作為本地郵件的發送者)</code>
5.sendmail.cf不容易看懂的,是以要用m4(宏配置)生成配置檔案/etc/mail/sendmail.cf
<code># m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf</code>
未完,待續。。。
參考連結:
http://www.ttlsa.com/zabbix/zabbix-action-media/
http://blog.sina.com.cn/s/blog_89b8586f0101a9xn.html
本文轉自 piazini 51CTO部落格,原文連結:http://blog.51cto.com/wutou/1939118