天天看點

zabbix 郵箱,釘釘報警詳解

1、zabbix部署環境說明

zabbix監控伺服器:mastsc

zabbix被監控伺服器:slave

兩台機器關閉selinux:setenforce 0

兩台機器關閉防火牆:systemctl stop firewalld

2、zabbix監控伺服器:mastsc部署

一、安裝zabbix軟體

[[email protected] ~] rpm -i http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
           
[[email protected] ~] yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-agent httpd mariadb mariadb-server
           

二、啟動并登入mariadb資料庫

[[email protected] ~] systemctl start mariadb
[[email protected] ~] mysql
建立資料庫
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;  
建立資料庫賬戶密碼
MariaDB [(none)]> grant all privileges on zabbix.* to [email protected] identified by 'zabbix';	
MariaDB [(none)]> exit
           

三、導入資料

[[email protected] ~] zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -pzabbix zabbix
           

四、修改資料庫資訊

[[email protected] ~] vim /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
           

五、啟動zabbix服務

[[email protected] ~] systemctl start zabbix-server zabbix-agent
           

六、配置時區(注意求掉#号)

[[email protected] ~] vim /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai
           

七、啟動httpd

[[email protected] ~] systemctl start httpd
           

八、使用遊覽器登入:http://mastsc的IP位址/zabbix

zabbix 郵箱,釘釘報警詳解

九、輸入使用者名Admin 密碼zabbix

3、zabbix被監控伺服器:slave部署

一、安裝zabbix軟體

[[email protected] ~] rpm -i http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm  
           

二、安裝zabbix客戶段軟體

[[email protected] ~] yum -y install zabbix-agent
           

三、修改配置檔案

[[email protected] ~] vim /etc/zabbix/zabbix_agentd.conf
Server=mastsc的IP位址  //zabbix伺服器位址
ServerActive=mastsc的IP位址  //主動模式的伺服器IP位址
Hostname=slave的IP位址  //用戶端主機名稱ps:直接寫IP位址也可以
UnsafeUserParameters=1  //支援特殊字元
SourceIP=0.0.0.0  //改成支援所有人
           

四、啟動用戶端服務

[[email protected] ~] systemctl start zabbix-agent
           

4、監控cpu部署

1、直接建立主機群組

zabbix 郵箱,釘釘報警詳解
zabbix 郵箱,釘釘報警詳解

二、建立主機

zabbix 郵箱,釘釘報警詳解
zabbix 郵箱,釘釘報警詳解

3、添加監控項 監控項鍵值

system.cpu.util[,idle] #這個鍵值是監控cpu到達某個數值會報警

system.cpu.util[,] #這個鍵值是實時監控cpu

zabbix 郵箱,釘釘報警詳解

五、添加觸發器

zabbix 郵箱,釘釘報警詳解

六、添加圖形

zabbix 郵箱,釘釘報警詳解

七、測試cpu是能正常檢測ps:這條指令是求圓周率的35000可以根據硬體方面來改變

[[email protected] ~] echo "scale=3500; 4*a(1)" | bc -l -q
           

八、去zabbix界面中檢視監控圖形是否有變化

zabbix 郵箱,釘釘報警詳解

5、使用郵箱報警

前提是cpu圖形檢測正常方可執行以下步驟

一、我選取的是163郵箱

zabbix 郵箱,釘釘報警詳解
zabbix 郵箱,釘釘報警詳解

二、設定報警媒介

zabbix 郵箱,釘釘報警詳解
zabbix 郵箱,釘釘報警詳解

三、告警使用者

zabbix 郵箱,釘釘報警詳解
zabbix 郵箱,釘釘報警詳解
zabbix 郵箱,釘釘報警詳解

四、建立動作

zabbix 郵箱,釘釘報警詳解
zabbix 郵箱,釘釘報警詳解
zabbix 郵箱,釘釘報警詳解

五、提高cpu使用率測試是否發送郵件

[[email protected] ~] echo "scale=3500; 4*a(1)" | bc -l -q
           
zabbix 郵箱,釘釘報警詳解

六、也可以檢視動作日志是否發送成功

zabbix 郵箱,釘釘報警詳解

6、使用釘釘報警

一、首先去釘釘上面建立一個釘釘機器人 記住建立機器人時的“關鍵字”,“webhook”這兩個值

zabbix 郵箱,釘釘報警詳解

二、zabbix伺服器端進行配置

[[email protected] ]# cd /usr/lib/zabbix/alertscripts

[[email protected] alertscripts]# vim zabbix_send_ding.py

to=$1
subject=$2
text=$3

#此處的 xxxxx 就是剛剛複制存留的 api 接口位址。
curl -i -X POST \
'api接口位址' \
-H 'Content-type':'application/json' \
-d '
{
  "msgtype": "text",
     "text": {
        "content": "'監控報警:text''"$text"'"  
 #text是你建立釘釘機器人的自定義關鍵字必須要加上  $text是監控報警内容
 #沒有前面一個text釘釘裡不會顯示報警 沒用後面這個$text不會顯示報警内容
        },
  "at":{
    "atMobiles":[
      "'"$1"'"
      ],
  "isAtAll":false
   } 
}'
           

三、給這個檔案一個執行權限

[[email protected] alertscripts]# chmod +x zabbix_send_ding.py

測試一下是否能像釘釘發送資訊

[[email protected] alertscripts]# sh zabbix_send_ding.py

四、設定前端建立腳本與告警媒介

zabbix 郵箱,釘釘報警詳解
zabbix 郵箱,釘釘報警詳解

五、建立動作

zabbix 郵箱,釘釘報警詳解
zabbix 郵箱,釘釘報警詳解

操作 ps:消息内容裡面也填寫一樣的資訊

标題:伺服器:{HOST.NAME}發生: {TRIGGER.NAME}故障!

告警主機:{HOST.NAME}

告警資訊:{TRIGGER.NAME}

告警項目:{ITEM.NAME}

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

目前狀态:故障 值={ITEM.VALUE}

故障已持續{EVENT.AGE},請盡快處理

事件ID:{EVENT.ID}

恢複操作 ps:消息内容裡面也填寫一樣的資訊

标題:伺服器:{HOST.NAME}: {TRIGGER.NAME}已恢複!

告警資訊:{TRIGGER.NAME}

告警項目:{ITEM.NAME}

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

恢複時間:{EVENT.RECOVERY.DATE}{EVENT.RECOVERY.TIME}

目前狀态:{TRIGGER.STATUS} 值={ITEM.VALUE}

故障共持續{EVENT.AGE}

事件ID:{EVENT.ID}

确認操作 ps:消息内容裡面也填寫一樣的資訊

标題:伺服器:{HOST.NAME}: 報警确認!

确認資訊:"{ACK.MESSAGE}"

伺服器:{HOST.NAME}發生: {TRIGGER.NAME}故障!

确認人:{USER.FULLNAME}

時間:{ACK.DATE} {ACK.TIME}

目前的問題是: {TRIGGER.NAME}

時間ID:{EVENT.ID}

六、測試

[[email protected] ~] echo “scale=3500; 4*a(1)” | bc -l -q