zabbix5.0安裝,配置郵件報警,釘釘報警


1.二進制安裝zabbix5.0,在虛擬機本地部署

環境:

本地虛擬機為zabbix-server

阿里雲39.98.190.144 安裝zabbix-agent

注意:

需要打開常用端口和實驗涉及到的端口,都關閉防火牆,selinux啥的

zabbix-agent的配置文件中需要填寫zabbix-server的公網IP地址,才能使zabbix-agent將數據主動上傳到server,可以設置多個server-active,server

虛擬機環境:

zabbix-server:192.168.236.128,安裝zabbix-server

[root@master ~]# date
2020年 06月 18日 星期四 16:06:20 CST
[root@master ~]# cat /etc/redhat-release
CentOS Linux release 7.7.1908 (Core)

確保關閉selinux,firewalld

1.1 選擇安裝環境,以zabbix官網為標准,安裝可參考官網

具體安裝官網已呈現,有幾個步驟比較模糊,記錄下

1.2 裝 zabbix rpm 源,

# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
# yum clean all

可設置阿里雲zabbix源,下的快

sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo

啟用 zabbix 前端源,修改/etc/yum.repos.d/zabbix.repo,將[zabbix-frontend]下的 enabled 改為 1

為前端配置PHP,修改 zabbix 的 php 配置文件的時區,為亞洲上海 /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf

php_value[date.timezone] = Asia/Shanghai

其他按照官網的就因該可以了

--------------------------

安裝之后頁面:

 二.

1.實驗nginx掛了將告警信息發送到郵箱

2.實驗nginx掛了將告警信息發送到釘釘

---

1.1添加主機到zabbix-server,,並添加nginx模板

1.2添加報警媒介,類型為Email,這里查了很多博客,全是以mailx為主的,需要配置腳本,其實我覺得直接用zabbix自己的email就可以,以163郵箱為例,先在web界面上創建一個email報警媒介,

詳細信息:

163授權碼:

點擊更新,在點擊測試,給自己發個郵件,如果完全正確的話,會顯示郵件發送成功,

發郵件,給自己發個測試

 

 看看郵箱

1.3.現在是這樣的,以nginx為例,假設nginx服務停止了,我們要通過配置里面的動作選項,經過動作里面的設置,讓指定用戶通過報警媒介發送郵件給指定負責人,剛剛配置好了報警媒介,現在配置動作:

 配置操作:

操作和恢復操作是一樣的:

故障{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}

1.4 現在配置好了動作,最后需要配置指定用戶發送郵件給負責人,指定用戶在動作選項已經選擇超級管理員Admin,現在選擇user setting配置

1.5在agent上配置安裝nginx,

~]# yum install nginx -y

重新啟動,等一會兒在關閉,給zabbix緩沖時間

~]# systemctl restart nginx
~]# systemctl stop nginx

查看界面

查看郵箱:

 

 successssssssssssssssssssssss

2.實驗nginx掛了將告警信息發送到釘釘

先添加釘釘機器人, 將Webhook復制,填寫到下面腳本中,,,

還需設置安全設置,我這只把zabbix-server地址填進去,這樣就禁止其他IP使用webhook

這里使用的python腳本,初學python不熟,抄的別人的,無呵呵

2.1 配置釘釘機器人腳本,釘釘Webhook代碼:

#!/usr/bin/python
# -*- coding: utf-8 -*-
import requests,json,sys,os

headers = {'Content-Type': 'application/json;charset=utf-8'}
api_url = "webhook地址"
def msg(text):
    json_text= {
     "msgtype": "text",
     "text": {
         "content": text
     },
     "at": {
         "atMobiles": [
             "186..." #需要@群里誰
         ],
         "isAtAll": True #是否全部@,True為是,False為否
     }
    }
    print requests.post(api_url,json.dumps(json_text),headers=headers).content

if __name__ == '__main__':
    text = sys.argv[1]
    msg(text)

在zabbix-server的配置文件找到 ,進入對應的文件目錄/usr/lib/zabbix/alertscripts,這里是存放zabbix腳本的地方,web端可以通過執行此目錄修下的腳本,將腳本內容copy到dingding.py,給他執行權限  chmod +x dingding.py

記住腳本放置位置:

AlertScriptsPath=/usr/lib/zabbix/alertscripts

[root@master alertscripts]# pwd
/usr/lib/zabbix/alertscripts [root@master alertscripts]# ll
總用量 8
-rwxr-xr-x 1 root root 1008 6月  18 15:02 dingding.py

2.2 測試釘釘腳本:

查看釘釘:

2.3配置報警媒介

在web端配置釘釘腳本媒介

 腳本參數:

{ALERT.MESSAGE}

2.4配置動作

接下來就是配置動作,和郵件一樣,只需要更改報警媒介為創建好的“釘釘報警”,最后添加User setting中的報警媒介,和之前一樣,在添加一個頂頂報警的

2.5配置用戶

 配置用戶Admin發送郵件:

 測試:

在監控的客戶端停止nginx

node1 ~]# systemctl stop nginx

等一小會兒,查看面板報警信息

 

確認已經報警

 查看釘釘報警信息:

 ------------

隨便記得,可能有錯。多次修改

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM