zabbix笔记之告警配置
告警配置
告警的必要性
為什么要有告警?
在服務(wù)器性能出現(xiàn)異常的時(shí)候,以做到實(shí)時(shí)收取告警信息,便于系統(tǒng)維護(hù)人員及時(shí)避免或解決系統(tǒng)故障
告警原理
ZABBIX告警的原理是什么?
每個(gè)zabbix觸發(fā)器是由一個(gè)唯一的trigger id進(jìn)行標(biāo)識(shí),觸發(fā)器滿足條件的時(shí)候,zabbix生成事件,例如CPU使用率連續(xù)5分鐘大于90%是一個(gè)條件,根據(jù)這個(gè)條件可以定義一個(gè)觸發(fā)器。CPU使用率的數(shù)據(jù)在zabbix的術(shù)語(yǔ)中叫做一個(gè)item監(jiān)控項(xiàng)。Zabbix監(jiān)控大量的item,例如CPU,磁盤(pán),網(wǎng)絡(luò)帶寬,ping狀態(tài),web服務(wù)的可用性等等
觸發(fā)器有切只有兩種狀態(tài):OK和PROBLEM,OK表示正常狀態(tài),PROBLEM表示出現(xiàn)問(wèn)題,超出了規(guī)定的閾值,當(dāng)觸發(fā)器的狀態(tài)變化的時(shí)候,一個(gè)event發(fā)生了。進(jìn)入了 Problem狀態(tài)的觸發(fā)器,就是一個(gè)zabbix problem
用來(lái)對(duì)應(yīng)一個(gè)event的動(dòng)作叫做action,一個(gè)action是一個(gè)操作及其結(jié)果,例如發(fā)送告警信息,執(zhí)行遠(yuǎn)程操作等等
告警方式
ZABBIX的告警方式有以下幾種:
電子郵件
腳本
短信
Jabber
EZ簡(jiǎn)訊
這里主要是講解郵件告警和微信告警(腳本告警)
郵件告警
zabbix主機(jī)上配置
#檢測(cè)是否已經(jīng)安裝mailx軟件,如果安裝則跳過(guò),未安裝則安裝mailx [root@zabbix ~]# rpm -qa | grep mailx && echo "mailx 已經(jīng)安裝" || yum install mailx -y 配置mailx服務(wù),我的告警郵箱是騰訊企業(yè)郵箱 [root@zabbix ~]#vim /etc/mail.rc # 設(shè)置zabbix告警發(fā)件箱,配置smtp域名 set from=郵箱名 smtp=smtp.exmail.qq.com # zabbix告警發(fā)件箱的用戶名和登陸密碼 set smtp-auth-user=郵箱名 smtp-auth-password=郵箱密碼 # 將zabbix告警發(fā)件箱設(shè)置成自動(dòng)登陸 set smtp-auth=login [root@zabbix ~]#echo "test" | mail -s "zabbix" 收件箱 //測(cè)試郵件能否正常發(fā)送郵件,如果可以正常發(fā)送郵件就表明你的配置沒(méi)有問(wèn)題,可以繼續(xù)下一步
web端配置
配置告警媒介類(lèi)型
我的告警媒介類(lèi)型配置如下
名稱(chēng):Email
類(lèi)型:電子郵件
SMTP服務(wù)器:smtp.exmail.qq.com
SMTP服務(wù)器端口:465
SMTP HELO:exmail.qq.com.cn
配置告警郵件收件人
配置動(dòng)作
克隆zabbix自帶的動(dòng)作,然后編輯
故障告警:{TRIGGER.NAME}
告警主機(jī):{HOST.NAME}
告警時(shí)間:{EVENT.DATE} {EVENT.TIME}
告警等級(jí):{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
告警項(xiàng)目:{TRIGGER.KEY}
問(wèn)題詳情:{ITEM.NAME}:{ITEM.VALUE}
當(dāng)前狀態(tài):{TRIGGER.STATUS}:{ITEM.VALUE1}
配置恢復(fù)操作,與配置操作的步驟一樣
告警主機(jī):{HOST.NAME}
主機(jī)IP地址:{HOST.IP}
恢復(fù)時(shí)間:{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}
告警等級(jí):{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
告警項(xiàng)目:{TRIGGER.KEY}
問(wèn)題詳情:{ITEM.NAME}:{ITEM.VALUE}
當(dāng)前狀態(tài):{TRIGGER.STATUS}:{ITEM.VALUE1}
測(cè)試郵件告警
修改觸發(fā)器的觸發(fā)條件,即可完成測(cè)試
企業(yè)微信告警
企業(yè)微信web端配置
注冊(cè)企業(yè)微信賬號(hào)或使用公司的企業(yè)微信賬號(hào),并創(chuàng)建應(yīng)用
https://work.weixin.qq.com/
主要流程如下:
1.創(chuàng)建微信用戶成員。
2.創(chuàng)建應(yīng)用,這是關(guān)鍵,企業(yè)微信創(chuàng)建的應(yīng)用ID為1000002
3.創(chuàng)建應(yīng)用管理組,添加組成員(也就是設(shè)置哪些用戶可以接收到報(bào)警的通知信息)。
4.創(chuàng)建成功后需要獲取到以下信息:CropID 和Secret 當(dāng)然還包括創(chuàng)建的用戶信息。
申請(qǐng)企業(yè)微信,創(chuàng)建對(duì)應(yīng)的組成員這些就不介紹了,按照注冊(cè)向?qū)?chuàng)建即可,主要寫(xiě)下創(chuàng)建應(yīng)用獲取應(yīng)用Secret 和CorpID
企業(yè)微信配置
創(chuàng)建應(yīng)用并獲取Agentld和Secret
獲取Agentld和secert
獲取CorpID
獲取部門(mén)ID
zabbix服務(wù)端配置
#ZABBIX腳本配置
#找到放置告警腳本的目錄
[root@zabbix ~]# find / -name alertscripts
/usr/lib/zabbix/alertscripts
#進(jìn)入目錄配置腳本
[root@zabbix ~]# cd /usr/lib/zabbix/alertscripts
[root@zabbix alertscripts]# vim weixin.sh
#!/bin/bash
# @Date: 2019-09-26 21:05:59
# @Author: zhangcheng (3359957053@qq.com)
# @Description: 微信告警腳本
#####################################
#填寫(xiě)企業(yè)ID
CropID='wx9ac8f9478320ea89 '
#應(yīng)用的secret,下面的GURL和PURL 地址無(wú)需變動(dòng)
Secret='qUwDxMnL73w0VAR807O0X57KAaI7GJ4YP_RFau5quEI'
GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CropID&corpsecret=$Secret"
Gtoken=$(/usr/bin/curl -s -G $GURL | awk -F" '{print $10}')
PURL="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$Gtoken"
function body() {
#這里是創(chuàng)建的應(yīng)用ID
local int AppID=1000002
#接收消息用戶,系統(tǒng)傳參
local UserID=$1
#接收消息的部門(mén)ID
local PartyID=2
local Msg=$(echo "$@" | cut -d" " -f3-)
printf '{
'
printf ' "touser": "'"$UserID""",
"
printf ' "toparty": "'"$PartyID""",
"
printf ' "msgtype": "text",
'
printf ' "agentid": "'" $AppID """,
"
printf ' "text": {
'
printf ' "content": "'"$Msg"""
"
printf ' },
'
printf ' "safe":"0"
'
printf '}
'
}
/usr/bin/curl --data-ascii "$(body $1 $2 $3)" $PURL
#腳本權(quán)限配置
[root@zabbix alertscripts]# chown zabbix.zabbix weixin.sh
[root@zabbix alertscripts]# chmod -v +x weixin.sh
web端配置
這里的設(shè)置和郵件告警的步驟基本相同了,創(chuàng)建【動(dòng)作】、【示警媒介】、【接收消息的用戶】
腳本傳參: {ALERT.SENDTO} {ALERT.SUBJECT} {ALERT.MESSAGE}
用戶這里添加需要增加用戶的示警媒介【管理】-【用戶】-選擇對(duì)應(yīng)的用戶-【示警媒介】添加的收件人 則為企業(yè)微信中的賬號(hào)
配置action
告警動(dòng)作
服務(wù)器:{HOST.NAME}出現(xiàn)故障!
主機(jī):{HOSTNAME1}
IP地址:{HOST.IP}
時(shí)間:{EVENT.DATE} {EVENT.TIME}
等級(jí):{TRIGGER.SEVERITY}
信息: {TRIGGER.NAME}
項(xiàng)目:{TRIGGER.KEY1}
詳情:{ITEM.NAME}:{ITEM.VALUE}
狀態(tài):{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
注意:恢復(fù)信息中 時(shí)間:{EVENT.DATE} {EVENT.TIME}
要修改為 時(shí)間:{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}
否則不能獲取到正確的恢復(fù)時(shí)間。
測(cè)試告警,和郵件告警一樣
總結(jié)
以上是生活随笔為你收集整理的zabbix笔记之告警配置的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 利用 Antv X6 绘制审批流程(单向
- 下一篇: pl/sql下DBMS_OUTPUT.P