當前位置:首頁 » 編程軟體 » zabbix郵件發送腳本

zabbix郵件發送腳本

發布時間: 2022-05-01 03:44:17

『壹』 請問怎麼實現zabbix將不同主機的告警郵件指定發送到不同的人

1、先設定用戶對主機群組的許可權
2、設置產生動作

『貳』 zabbix怎樣監控windows郵件伺服器

可以配置zabbix使用外部郵件伺服器發送報警郵件,然後來隨時監控郵件伺服器,具體:
1.進入Administration->Media types
配置如下,Script name 要與之前寫的發郵件的腳本名字相同
3. 進入Configure->Actions
新建Action
可以修改默認的郵件內容,以下是我修改之後的郵件內容格式:
添加step,別忘了點Add按鈕,點上面的Add,再點下面的Add免得添加出錯,注意要選擇發送郵件給哪一個用戶;並選擇剛才定義好的Media type名字。
Default operation step ration 表示這次發送郵件後,下一次發郵件是在多少秒之後。
以上我總共添加了三次發送郵件的Action,如果觸發器出發了,一直沒有人確認觸發器,則會發三次郵件,添加完後結果如下圖:
4.進入Administration->Users
下圖為修改admin的登錄密碼:
點擊Media再添加
Type選擇Send alarm email(之前創建的Action),並填寫接收的郵箱,

『叄』 怎麼在zabbix裡面使用python腳本

1.修改zabbix server端的配置文件,啟用AlertScriptsPath,使其支持腳本功能
1.編輯zabbix server端的配置文件,並重啟服務
# vim /etc/zabbix/zabbix_server.conf
AlertScriptsPath=/usr/local/zabbix/alertscripts

# /etc/init.d/zabbix_server restart

2.在服務端添加郵件報警的python腳本,並給腳本執行許可權
郵件報警,並記錄日誌

# vim /usr/local/zabbix/alertscripts/zabbix_sendmail.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import pdb
import smtplib
import string
import time
import sys
reload(sys)
sys.setdefaultencoding(『utf-8『)
#pdb.set_trace()
#HOST = "mail.gw.com.cn"
def S_Mail():
HOST = "smtp.exmail.qq.com" #郵件伺服器
SUBJECT = sys.argv[2].decode(『utf-8『).encode(『gbk『) #主題
TO =sys.argv[1] #收件郵箱
FROM = "[email protected]"
text = sys.argv[3].decode(『utf-8『).encode(『gbk『) #發件內容
BODY = string.join((
"FROM: %s" % FROM,
"To: %s" % TO,
"Subject: %s" %SUBJECT,
"",
text
),"\r\n")
server = smtplib.SMTP()
server.connect(HOST,25)
#server.starttls()
server.login("發件郵箱","密碼")
server.sendmail(FROM,[TO],BODY)
server.quit()
# email log 記錄日誌
with open(『/data/logs/zabbix/Email.log『, 『a『) as f:
date=time.strftime("%y-%m-%d %H:%M:%S")
str = date + " " + TO +" " + SUBJECT + "\r\n" + "\n"
str1 = str.decode(『gbk『).encode(『utf-8『)
# print("%s" %str1)
f.write(str1)
if __name__==『__main__『:
S_Mail()

『肆』 zabbix 怎麼設置 磁碟空間少於5%就發郵件提示

管理->審計->作 能看發送郵件狀態 狀態功並代表完全功 需要查看發送腳本發送郵件否報錯信息 另外需要看否退信才能知道郵件否真功

『伍』 zabbix查看哪些郵件發送成功

管理->審計->動作, 能看到發送郵件的狀態, 但是這個狀態成功並不代表完全成功, 需要查看發送腳本發送郵件是否有報錯信息, 另外需要看是否有退信,才能知道郵件是否真正成功

『陸』 zabbix的告警腳本目錄在哪

zabbix媒介類型包括mail、sms、自定義腳本,我們用的最多的還是腳本媒介,再次我們就不講另外兩個媒介了。當事件通知到腳本,會傳遞三個參數它,分別為$1(發送給誰) $2(標題) $3(內容)。例如發送郵件給[email protected],標題為nginx離線,內容是IP地址:1.1.1.1,nginx離線,請立即處理。

『柒』 如何實現zabbix報警郵件中可以顯示ip地址

說明:

Zabbix監控服務端、客戶端都已經部署完成,被監控主機已經添加,Zabiix監控運行正常。

實現目的:

在Zabbix服務端設置郵件報警,當被監控主機宕機或者達到觸發器預設值時,會自動發送報警郵件到指定郵箱。

具體操作:

以下操作在Zabbix監控服務端進行

備註:Zabbix監控服務端

操作系統:CentOS

主機名:zabbix.osyunwei.com

郵件報警有兩種情況:

1、Zabbix服務端只是單純的發送報警郵件到指定郵箱,發送報警郵件的這個郵箱賬號是Zabbix服務端的本地郵箱賬號(例如:[email protected]),只能發送,不能接收外部郵件。

2、使用一個可以在互聯網上正常收發郵件的郵箱賬號(例如:[email protected]),通過在Zabbix服務端中設置,使其能夠發送報警郵件到指定郵箱。

第一種:使用Zabbix服務端本地郵箱賬號發送郵件

一、安裝sendmail或者postfix

yum install sendmail #安裝

service sendmail start #啟動

chkconfig sendmail on #設置開機啟動

yum install postfix

service postfix start

chkconfig postfix on

CentOS 5.x 默認已經安裝好sendmail

CentOS 6.x 默認已經安裝好postfix

sendmail和postfix只需要安裝一個即可並開啟服務即可。

二、安裝郵件發送工具mailx

yum install mailx #安裝

CentOS 5.x
編譯安裝mailx,直接yum安裝的mailx版本太舊,使用外部郵件發送會有問題。

yum remove mailx #卸載系統自帶的舊版mailx

下載mailx:

http://nchc.dl.sourceforge.net/project/heirloom/heirloom-mailx/12.4/mailx-12.4.tar.bz2

tar jxvf mailx-12.4.tar.bz2 #解壓

cd mailx-12.4 #進入目錄

make #編譯

make install UCBINSTALL=/usr/bin/install #安裝

ln -s /usr/local/bin/mailx /bin/mail #創建mailx到mail的軟連接

ln -s /etc/nail.rc /etc/mail.rc #創建mailx配置文件軟連接

whereis mailx #查看安裝路徑

mailx -V #查看版本信息

echo "zabbix test mail" |mail -s "zabbix"
[email protected]

#測試發送郵件,標題zabbix,郵件內容:zabbix test
mail,發送到的郵箱:[email protected]

三、配置Zabbix服務端郵件報警

1、打開Zabbix

管理-示警媒介類型-Email

名稱:Email

類型:電子郵件

SMTP伺服器:zabbix.sa.huanqiu.com

SMTP HELO:zabbix.sa.huanqiu.com

SMTP電郵:[email protected]

已經用:勾選

存檔

備註:zabbix.sa.huanqiu.com為Zabbix監控端主機名稱,建議修改,否則使用默認的localhost.localdomain發送郵件會被當做垃圾郵件攔截。

2、設置Zabbix用戶報警郵箱地址

組態-用戶-Admin (Zabbix Administrator)

切換到示警媒介

添加

類型:Email

收件人:[email protected]

其他默認即可,也可以根據需要設置

狀態:已啟用

存檔

3、設置Zabbix觸發報警的動作

組態-動作-創建動作

名稱:Action-Email

默認接收人:故障{TRIGGER.STATUS},伺服器:{HOSTNAME1}發生:
{TRIGGER.NAME}故障!

默認信息:

告警主機:{HOSTNAME1}

告警時間:{EVENT.DATE} {EVENT.TIME}

告警等級:{TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警項目:{TRIGGER.KEY1}

問題詳情:{ITEM.NAME}:{ITEM.VALUE}

當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}

事件ID:{EVENT.ID}

恢復信息:打鉤

恢復主旨:恢復{TRIGGER.STATUS}, 伺服器:{HOSTNAME1}:
{TRIGGER.NAME}已恢復!

恢復信息:

告警主機:{HOSTNAME1}

告警時間:{EVENT.DATE} {EVENT.TIME}

告警等級:{TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警項目:{TRIGGER.KEY1}

問題詳情:{ITEM.NAME}:{ITEM.VALUE}

當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}

事件ID:{EVENT.ID}

已啟用:打鉤

切換到操作選項

新的

操作類型:送出信息

送到用戶:添加

默認信息:打鉤

用戶:勾選Admin

選擇

僅送到:Email

存檔

四、測試Zabbix報警

關閉Zabbix客戶端服務

service zabbix_agentd stop

查看[email protected]郵箱,會收到報警郵件

再開啟Zabbix客戶端服務

service zabbix_agentd start

查看[email protected]郵箱,會收到恢復郵件

使用Zabbix服務端本地郵箱賬號發送郵件設置完成。

第二種:使用外部郵箱賬號發送報警郵件設置

一、關閉sendmail或者postfix

service sendmail stop #關閉

chkconfig sendmail off #禁止開機啟動

service postfix stop

chkconfig postfix off

備註:

使用外部郵箱賬號時,不需要啟動sendmail或者postfix

如果在sendmail或者postfix啟動的同時使用外部郵箱發送報警郵件,首先會讀取外部郵箱

配置信息。

二、安裝郵件發送工具mailx

yum install mailx #安裝

CentOS 5.x 編譯安裝mailx,直接yum安裝的mailx版本太舊,使用外部郵件發送會有問題。

yum remove mailx #卸載系統自帶的舊版mailx

下載mailx:

http://nchc.dl.sourceforge.net/project/heirloom/heirloom-mailx/12.4/mailx-12.4.tar.bz2

tar jxvf mailx-12.4.tar.bz2 #解壓

cd mailx-12.4 #進入目錄

make #編譯

make install UCBINSTALL=/usr/bin/install #安裝

ln -s /usr/local/bin/mailx /bin/mail #創建mailx到mail的軟連接

ln -s /etc/nail.rc /etc/mail.rc #創建mailx配置文件軟連接

whereis mailx #查看安裝路徑

mailx -V #查看版本信息

三、配置Zabbix服務端外部郵箱

vi /etc/mail.rc #編輯,添加以下信息

set [email protected] smtp=smtp.163.com

set [email protected]
smtp-auth-password=123456

set smtp-auth=login

:wq! #保存退出

echo "zabbix test mail" |mail -s "zabbix" [email protected]

#測試發送郵件,標題zabbix,郵件內容:zabbix test
mail,發送到的郵箱:[email protected]

#這時候,郵箱[email protected]會收到來自[email protected]的測試郵件

四、配置Zabbix服務端郵件報警

1、打開Zabbix

管理-示警媒介類型-創建媒體類型

名稱:Sendmail

類型:腳本

腳本名稱:sendmail.sh

已啟用:勾選

存檔

2、設置Zabbix用戶報警郵箱地址

組態-用戶-Admin (Zabbix Administrator)

切換到示警媒介-添加

類型:Sendmail

收件人:[email protected]

其他默認即可,也可

以根據需要設置

狀態:已啟用

存檔

3、設置Zabbix觸發報警的動作

組態-動作-創建動作

名稱:Action-Email

默認接收人:故障{TRIGGER.STATUS},伺服器:{HOSTNAME1}發生:
{TRIGGER.NAME}故障!

默認信息:

告警主機:{HOSTNAME1}

告警時間:{EVENT.DATE} {EVENT.TIME}

告警等級:{TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警項目:{TRIGGER.KEY1}

問題詳情:{ITEM.NAME}:{ITEM.VALUE}

當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}

事件ID:{EVENT.ID}

恢復信息:打鉤

恢復主旨:恢復{TRIGGER.STATUS}, 伺服器:{HOSTNAME1}:
{TRIGGER.NAME}已恢復!

恢復信息:

告警主機:{HOSTNAME1}

告警時間:{EVENT.DATE} {EVENT.TIME}

告警等級:{TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警項目:{TRIGGER.KEY1}

問題詳情:{ITEM.NAME}:{ITEM.VALUE}

當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}

事件ID:{EVENT.ID}

已啟用:打鉤

切換到操作選項

新的

操作類型:送出信息

送到用戶:添加

默認信息:打鉤

選擇用戶:Admin

選擇

僅送到:Sendmail

存檔

4、添加Zabbix服務端郵件發送腳本

cd /usr/local/zabbix/share/zabbix/alertscripts #進入腳本存放目錄

vi sendmail.sh #編輯,添加以下代碼

#!/bin/sh

echo "$3" | mail -s "$2" $1

:wq! #保存退出

chown zabbix.zabbix
/usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh

#設置腳本所有者為zabbix用戶

chmod +x /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh

#設置腳本執行許可權

五、測試Zabbix報警

關閉Zabbix客戶端服務

service zabbix_agentd stop

查看[email protected]郵箱,會收到報警郵件

再開啟Zabbix客戶端服務

service zabbix_agentd start

查看[email protected]郵箱,會收到恢復郵件

使用外部郵箱賬號發送報警郵件設置完成。

至此,Zabbix郵件報警設置完成。

『捌』 如何讓zabbix發送警告郵件

zabbix相關環境:
OS: centos 5.4 x86_64 zabbix: 1.8.3 sendmail: 8.13.8-2.el5
在配置zabbix的Email報警之前,需要將sendmail使用的域名進行相應的修改,系統默認為localhost.localdomain,其實不改也行,不過有些pop3伺服器會過濾掉來自localhost.localdomain的郵件,導致郵件不能正常查收,所以,最好是改一下 hostname,確保郵件發送的成功率。
以下是我線上機器修改好了的配置,可供參考。
# cat /etc/hosts
127.0.0.1 monitor.bot.cms localhost.localdomain localhost
# cat /etc/mail/access
Connect:localhost.localdomain RELAY
Connect:localhost RELAY
Connect:127.0.0.1
Connect:monitor.bot.cms RELAY
# cat /etc/mail/local-host-names
monitor.bot.cms
修改完成後,重啟sendmail服務,通過telnet命令,測試一下看看是否已生效
# telnet 127.0.0.1 25
Trying 127.0.0.1...
Connected to monitor.bot.cms (127.0.0.1).
Escape character is '^]'.
220 monitor.bot.cms ESMTP Sendmail 8.13.8/8.13.8; Sun, 10 Oct 2010 14:00:33 +0800
從以上結果可以發現,localhost.localdomain 已經變成了 monitor.bot.cms 這個域名,表示修改成功,接下來就可以在zabbix 的管理頁面上進行Email 報警設置了。

設置完成後點擊保存按鈕,到此Email報警設置就結束了,測試時,可以新建一個action,報警方式選擇Email, 當trigger成功觸發後,一分鍾後就可以查收郵件了。

『玖』 如何配置zabbix 3.0 用mail郵件方式告警support for smtp authentication was not

前提條件:
(1) zabbix伺服器端已經成功安裝並且運行。
(2) zabbix客戶端已經成功建立並且運行。

1 下載並且安裝msmtp軟體
tar jxvf msmtp-1.4.32.tar.bz2
cd msmtp-1.4.32
./configure--prefix=/usr/local/msmtp
Make
Make install

2、手動建立配置文件,輸入外部smtp地址
mkdir –p /usr/local/msmtp/etc
vi /usr/local/msmtp/etc/msmtprc
添加以下內容
account default
host smtp.sohu.com #你的發送郵件伺服器
port 25
from [email protected] #要從哪個郵箱發出
auth login
tls off
user zabbix2014 #郵箱用戶名
password xxxxx-xxx #郵箱密碼,如果你覺得不安全可以把文件改為600屬性
logfile /var/log/mmlog
保存退出。

3、簡單測試一下

/usr/local/msmtp/bin/msmtp [url=mailto:%[email protected]][email protected][/url]
hello,test
ctrl d
cat /usr/local/msmtp/msmtp.log 看看有沒有成功。
然後再到sohu郵箱中,看看信收到沒有

報錯如下

[iyunv@cache-2 msmtp-1.4.32]# /usr/local/msmtp/bin/msmtp [email protected]
msmtp: authentication failed (method LOGIN)
msmtp: server message: 535 5.7.0 Invalid result
msmtp: could not send mail (account default from /usr/local/msmtp/etc/msmtprc)

Google之後,需要安裝 mutt組件
4、下面開始安裝 MUTT如果是CentOS的話直接用yum就好了
yum install mutt
安裝完成後要手動給他建立一個配置文件,
vim /etc/Muttrc
setsendmail="/usr/local/msmtp/bin/msmtp" #你的msmtp命令路徑
set use_from=yes
set realname="[email protected]"
set editor="vim"
簡單的4行就可以了
好了,讓我們來測試一下吧!

測試一下:echo"test mail" | mutt -s "test" [email protected]

OK,測試了下,能收到已經發送的email,
echo"test mail 2014 content tom 2" | mutt -s "test 2014 title2" [email protected]

5、 創建 zabbix用於發送郵件的腳本
腳本放在什麼位置隨便,但是要保證zabbix可以找到!
1)vim/usr/bin/zabbix2014,並寫入如下內容:
#!/bin/bash
echo "$3" | mutt -s "$2"$1 # $3表示郵件內容、$2表示郵件標題、$1表示收件人
(2)chmod a+x /usr/bin/zabbix2014

6、 zabbix配置
(1)創建meida types
1.登錄到zabbix,進入「Administration" >> 」Media types",點擊右上角「Create Media Type"。 Description填"mediatype-zabbix2014"或其它名稱,Type選擇"Script",Script填」 zabbix2014」。
2.點擊save保存,

7、創建actions
1.登錄到zabbix,進入"Configation" >> "Actions",點擊右上角"Create Actions"。輸入Name 「action-zabbix2014」 ,其它都默認點擊右側「Action Operations"下的"New"按鈕,"Operation Type"選擇"Send message","Send Message to"選擇一個或多個要發送消息的用戶組,」Send only to"選擇我們之前新增的mediatype-zabbix2014。
2.點擊save保存,

8、zabbix用戶配置

登錄到zabbix, 進入"Adimistration" >>"Users",在之前選定要發送消息的組里的Members欄位里選擇一個用戶,例如選擇AdminZabbix用戶。

在用戶信息修改界面最下方的」Media"處點擊"Add"按鈕。

Type選擇"mediatype- zabbix2014",Send to填入收件人地址,點擊Add添加。

點擊"Save"保存配置。

熱點內容
wemall微商城源碼 發布:2025-05-14 22:15:20 瀏覽:802
隆地優選交易密碼是什麼 發布:2025-05-14 21:53:23 瀏覽:93
強酸強鹼存儲櫃 發布:2025-05-14 21:45:16 瀏覽:563
車輛參數配置包括什麼 發布:2025-05-14 21:31:03 瀏覽:163
怎麼引入安卓項目 發布:2025-05-14 21:26:39 瀏覽:824
游戲輔編程 發布:2025-05-14 21:18:49 瀏覽:687
三菱plc一段二段密碼什麼意思 發布:2025-05-14 21:17:16 瀏覽:528
電腦開機密碼忘記了怎麼破解 發布:2025-05-14 21:09:40 瀏覽:57
pythondict格式 發布:2025-05-14 21:09:38 瀏覽:886
落葉片拍攝腳本 發布:2025-05-14 20:40:49 瀏覽:800