中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Zabbix4.0(三)釘釘,郵件,微信報警

發布時間:2020-06-25 19:55:41 來源:網絡 閱讀:499 作者:dwl1988721 欄目:系統運維

一,zabbix 郵件報警設置
原理:觸犯告警器之后 可以配置相應的動作,在動作里可以發郵件、微信、釘釘、短信等。
告警腳本的放置位置見配置/usr/local/zabbix/etc/zabbix_server.conf

LogFile=/usr/local/zabbix/zabbix_server.log
DBHost=127.0.0.1
DBName=zabbix
DBUser=zabbix
DBPassword=zabbixpwd
DBPort=3306
Timeout=30
AlertScriptsPath=/usr/local/zabbix/alertscripts  ##觸發腳本放置位置
ExternalScripts=/usr/local/zabbix/externalscripts
LogSlowQueries=3000

python 郵件發送腳本

/usr/local/zabbix/alertscripts/zabbix_sendmail.py
#!/usr/bin/python
# -*- coding: utf-8 -*-
from email.mime.text import MIMEText
from email.header import Header
from smtplib import SMTP_SSL
import sys

smtpaddr = 'smtp.qq.com'
myemail='327627448@qq.com'     ##發送郵件的QQ
password='mypassword'         ##填寫登陸客戶端的授權碼,在郵箱里生成同時需要打開POP3,IMAP服務
#f = open('/usr/local/zabbix/.passwd','r')
#password = f.readline().strip()

recvmail=sys.argv[1]   ##發送郵件給誰
subject=sys.argv[2]    ## 發送的主題
content=sys.argv[3]   ##發送的內容

msg = MIMEText("""%s"""%(content), "plain", "utf-8")    ##發送的內容
msg['Subject'] = Header(subject, 'utf-8').encode()
msg['From'] = myemail
msg['To'] =  recvmail

try:
  smtp = SMTP_SSL( smtpaddr )
  smtp.login(myemail, password)
  smtp.sendmail(myemail, recvmail.split(','), msg.as_string()) 
  smtp.quit()
  print("success")
except Exception as e:
  print("fail: "+str(e))
    ##增加執行權限,測試腳本是否運行正常能發送郵件
    /usr/local/zabbix/alertscripts/zabbix_sendmail.py 1065236572@qq.com 'zabbix disk' 'content: disk > 90%'   

2,報警媒介設置郵件告警
Zabbix4.0(三)釘釘,郵件,微信報警

腳本放置的名字,注意是放置在/usr/local/zabbix/alertscripts 目錄下,添加三個接受的參數,發送給誰,主題是什么,內容是什么 這地方需要添加三個參數
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}

Zabbix4.0(三)釘釘,郵件,微信報警

添加需要發送的用戶媒介設置

Zabbix4.0(三)釘釘,郵件,微信報警

發送執行的腳本,發送給誰,時間,級別,有多個 以逗號隔開

Zabbix4.0(三)釘釘,郵件,微信報警

創建觸發器動作 在模板或者主機里

Zabbix4.0(三)釘釘,郵件,微信報警

設置觸發器觸發之后的動作(action)
出問題發送的內容 用戶,執行的腳本

Zabbix4.0(三)釘釘,郵件,微信報警

故障恢復之后動作 發送一封恢復的郵件

Zabbix4.0(三)釘釘,郵件,微信報警
二,告警內容自定義和告警抑制
在報警內容加上自定義內容參數host.name host ip1
Default operation step duration 觸發后的操作時間, 通過下面的steps 來實現操作抑制,例如 上面設置30s
步驟 4-4 那么 在4次步驟 4*30 2分鐘之后才發送報警郵寄

Zabbix4.0(三)釘釘,郵件,微信報警
三,微信告警
注冊創建企業微信
在管理后臺添加自建應用
Zabbix4.0(三)釘釘,郵件,微信報警
創建好后 獲取企業微信的agentid和secrct 填寫于腳本
Zabbix4.0(三)釘釘,郵件,微信報警
跟郵件一樣 在同樣位置添加微信報警腳本

vim /usr/local/zabbix/alertscripts/zabbix_wx.py
#!/usr/bin/python
# -*- coding: utf-8 -*-
import json
import sys
import urllib,urllib2

agentid = 'xxx'     ###微信自建應用ID
corpid = 'xxx'       ###微信企業ID 在我的企業里面查看
corpsecret = 'xxx'    ### 微信自建應用secret

#get tocken
gettoken_url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=' + corpid + '&corpsecret=' + corpsecret
token_file = urllib2.urlopen(gettoken_url)
token_data = token_file.read().decode('utf-8')
token_json = json.loads(token_data)
my_token = token_json['access_token']

#send wechart 
touser=sys.argv[1]  #many user: 'zhangsan|wangwu'
content=sys.argv[2] #content
post_content = {
        "touser":touser,
        "agentid":agentid,
        "msgtype": "text",
        "text":{
                "content":content,
        }
}
json_content = json.dumps(post_content)
url = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=' + my_token
response = urllib2.urlopen(url,json_content)
print(response.read().decode('utf-8'))
##測試
/usr/local/zabbix/alertscripts/zabbix_wx.py '通訊錄里面的微信名' 'disk is not enough'

添加 創建2個變量 發送給誰 發送的內容
Zabbix4.0(三)釘釘,郵件,微信報警
報警之后的action(注意更改發送的腳本名稱)
Zabbix4.0(三)釘釘,郵件,微信報警
user添加 注意填寫發送名稱,還有報警級別
Zabbix4.0(三)釘釘,郵件,微信報警
四:釘釘告警
釘釘告警跟微信告警類似
告警腳本/usr/local/zabbix/alertscripts/

###告警機器人腳本
###安裝pip,安裝request模塊
yum -y install epel-release
yum -y install python-pip
pip install requests
#!/usr/bin/env python
import json
import requests
import sys

def send_msg(url, remiders, msg):
    headers = {'Content-Type': 'application/json; charset=utf-8'}
    data = {
        "msgtype": "text",
        "at": {
            "atMobiles": remiders,
            "isAtAll": False,
        },
        "text": {
            "content": msg,
        }
    }
    r = requests.post(url, data=json.dumps(data), headers=headers)
    return r.text

if __name__ == '__main__':
    msg = sys.argv[1]
    remiders = []
    url = '告警機器人webrooturl'
    print(send_msg(url, remiders, msg))

相關配置參數(發送用戶填寫admin即可)
Zabbix4.0(三)釘釘,郵件,微信報警
釘釘工作通知告警腳本

#!/usr/bin/python
# -*- coding: utf-8 -*-
#curl 'https://oapi.dingtalk.com/gettoken?corpid=xxx&corpsecret=xxx'
import json,urllib2,sys

appkey = '釘釘自建應用查看'
appsecret = '釘釘自建應用查看'
agentid = 釘釘自建應用查看'
touser = sys.argv[1]
content = sys.argv[2]

tockenurl = 'https://oapi.dingtalk.com/gettoken?corpid=' + appkey + "&corpsecret=" + appsecret
tockenresponse = urllib2.urlopen(tockenurl)
tockenresult = json.loads(tockenresponse.read().decode('utf-8'))
tocken =  tockenresult['access_token']

sendurl = 'https://oapi.dingtalk.com/message/send?access_token=' + tocken
headers = {
        'Content-Type':'application/json'
}
main_content = {
        "touser": touser,
        "toparty": "",
        "agentid": agentid,
        "msgtype": "text",
        "text": {
                "content": content
        }
}
main_content = json.dumps(main_content)
req = urllib2.Request(sendurl,headers=headers)
response = urllib2.urlopen(req, main_content.encode('utf8'))
print(response.read().decode('utf-8'))
##測試
/usr/local/zabbix/alertscripts/zabbix_dd.py 填寫釘釘用戶ID 'disk > 90%'
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

平远县| 北川| 安庆市| 万州区| 法库县| 牡丹江市| 沅陵县| 龙门县| 象州县| 垦利县| 大连市| 察隅县| 宁海县| 保山市| 桐庐县| 花垣县| 阿巴嘎旗| 马关县| 象山县| 错那县| 本溪市| 正阳县| 揭东县| 黑水县| 娱乐| 湾仔区| 凤庆县| 南投市| 历史| 锦屏县| 海丰县| 黑河市| 上犹县| 宝清县| 疏附县| 封开县| 孙吴县| 巴塘县| 洮南市| 黄山市| 江油市|