對網段內的主機進行自動發現,自動加入主機組,自定加入templatepython
建立動做時,類型這裏選擇discoveryjson
而後將發現的主機加入host group和template:bash
動做針對的是discovery這個類型的:服務器
上面定義的發現的規則,而後定義發現後的動做:ui
操做作完以後,而後將agent端的zabbix-agent服務進行開啓:3d
# systemctl start zabbix-agent
很少久就能夠看見host:server
配置媒介:blog
上面三個腳本的參數必須帶上:事件
{ALERT.SENDTO}:收件人ip
{ALERT.SUBJECT}:主題
{ALERT.MESSAGE}:告警正文
這裏能夠稍做修改
配置完以後出現以下:
將配置完的媒介與用戶關聯起來,能夠建立新用戶,能夠選擇已有用戶,這裏選擇admin:
將媒介與之關聯,並配置腳本的第一個參數:收件人
而後配置用戶組:
選擇zabbix administrators點進去配置permission:
待上面基礎配置完成後,如今須要配置action:
因爲是執行腳本因此是發送消息類型,關聯到用戶以及用戶組
主題:故障{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}
郵件正文:郵件腳本的第三個參數
配置完全部以上後,手動將一個zabbix-agent服務進行stop,而後進行reports下面的action log進行查看:
在上面的failed紅字的感嘆號能夠看出action的動做是否成功,上面是因爲沒有指定user,因而修改:
這個郵件發送不成功看緣由是腳本沒有權限,因而給腳本加上權限,並重啓zabbix-server服務:
而後發現上面的一次已經觸發action成功,能夠在郵件發現已發送
因而簡單的郵件告警發送成功
附上郵件告警代碼:
[root@zabbix-server alertscripts]# cat /root/zabbix_python_demo/send_mail.py import smtplib from email.mime.text import MIMEText import sys from_mail = "json_hc@163.com" mail_passwd = "********" def send_mail(to_mail, subject, content): msg = MIMEText(content, 'plain', 'utf-8') msg['Subject'] = subject msg['From'] = from_mail msg['To'] = to_mail try: s = smtplib.SMTP() s.connect('smtp.163.com') s.login(from_mail, mail_passwd) s.sendmail(from_mail, to_mail, msg.as_string()) print("OK") except Exception as e: print(e) finally: s.quit() if __name__ == '__main__': send_mail(sys.argv[1], sys.argv[2], sys.argv[3])