1. 程式人生 > >Zabbix的架構配置選項(二)

Zabbix的架構配置選項(二)

添加自定義監控項 配置郵件告警 驗證配置

[toc]

Zabbix的架構配置選項(二)

一、添加自定義監控項目

Zabbix的特色:我們有時候會根據業務需求配置一些個性化的需求服務去監控某臺web的80端口連接數,
並整出監控狀態圖:

  • [ ] zabbix監控中心創建監控項目;
  • [ ] 針對該監控項目以圖形展現;

1.1 需要到客戶端定義腳本:

# vim /usr/local/sbin/estab.sh 
//內容如下

#!/bin/bash
##獲取80端口並發連接數
netstat -ant |grep ‘:80 ‘ |grep -c ESTABLISHED

1.2 給腳本授權,編輯配置文件

自定義監控項的key為my.estab.count(也就是在監控項中需要填寫的鍵值),後面的[*]裏面寫腳本的參數

# chmod 755 /usr/local/sbin/estab.sh

# vim /etc/zabbix/zabbix_agentd.conf
//增加

UnsafeUserParameters=1  //表示使用自定義腳本

UserParameter=my.estab.count[*],/usr/local/sbin/estab.sh 
//自定義監控項的key為my.estab.count(也就是在監控項中需要填寫的鍵值),後面的[*]裏面寫腳本的參數,如果沒有參數則可以省略,如果有需要用逗號分隔,腳本為/usr/local/sbin/estab.sh

1.3 重啟客戶端的zabbix服務:

[root@xavi-002 ~]# systemctl restart zabbix-agent

1.4 到服務端驗證,執行命令:

[root@xavi ~]# zabbix_get -s 192.168.72.133 -p 10050 -k ‘my.estab.count‘
0

-s:源地址
-p: 端口
-k: 鍵值

如上顯示0即為沒有任何連接。

1.5 但是這不是我們需要的效果,效果是我們需要在web頁面去隨時查看:

配置 → 主機 → 監控項 → 創建監控項

技術分享圖片

  • 其它項默認即可,如有需求按照現場需求定制。

技術分享圖片

1.6 配置一個監控圖形:

“配置”→“主機” →“圖形” → 創建圖形”

技術分享圖片

技術分享圖片

技術分享圖片

1.7 創建觸發器

技術分享圖片

技術分享圖片

技術分享圖片

二、配置郵件告警

配置告警是目前絕大多數企業必須要有的一個狀態,遇到問題第一時間獲得警告大大提升了運維的高效性,如果沒有配置任何告警,等待客戶反應,這是一個非常不明智的選擇。

2.1 在開始前,一定要把這兩項開啟:

技術分享圖片

技術分享圖片

2.2 將授權碼開通並定義

技術分享圖片

技術分享圖片

技術分享圖片

2.3 編輯報警媒介

登錄web管理界面:

管理 → 報警媒介類型 → 創建媒體類型(不建議用自帶的,不好用)

技術分享圖片

腳本名稱一定要用自己自定義的!!!

技術分享圖片

腳本參數(不然不可以發郵件):

{ALERT.SENDTO} //發給誰

{ALERT.SUBJECT} //主題

{ALERT.MESSAGE} //郵件內容

技術分享圖片

2.4 寫一個報警的郵件腳本:

在服務端配置:

[root@xavi ~]# vim /usr/lib/zabbix/alertscripts/Sendmail.py

腳本為什麽放在這邊呢?因為咱們在配置文件中=vim /etc/zabbix/zabbix_server.conf有個參數 AlertScriptsPath=/usr/lib/zabbix/alertscripts 定義了位置

vim Sendmail.py

import os,sys
reload(sys)
sys.setdefaultencoding(‘utf8‘)
import getopt
import smtplib
from email.MIMEText import MIMEText
from email.MIMEMultipart import MIMEMultipart
from  subprocess import *
def sendqqmail(username,password,mailfrom,mailto,subject,content):
    gserver = ‘smtp.163.com‘  #編寫服務地址
    gport = 25
    try:
        msg = MIMEText(unicode(content).encode(‘utf-8‘))
        msg[‘from‘] = mailfrom
        msg[‘to‘] = mailto
        msg[‘Reply-To‘] = mailfrom
        msg[‘Subject‘] = subject
        smtp = smtplib.SMTP(gserver, gport)
        smtp.set_debuglevel(0)
        smtp.ehlo()
        smtp.login(username,password)
        smtp.sendmail(mailfrom, mailto, msg.as_string())
        smtp.close()
    except Exception,err:
        print "Send mail failed. Error: %s" % err
def main():
    to=sys.argv[1]
    subject=sys.argv[2]
    content=sys.argv[3]
##定義郵箱的賬號和密碼,你需要修改成你自己的賬號和密碼(請不要把真實的用戶名和密碼放到網上公開,否則你會死的很慘)
    sendqqmail(‘[email protected]‘,‘Password‘,‘[email protected]‘,to,subject,content)
    //註意這裏的password是剛才在163郵箱設置的授權碼

賦權限,測試郵件運行結果

[root@xavi alertscripts]# chmod 755 /usr/lib/zabbix/alertscripts/Sendmail.py
[root@xavi alertscripts]# python Sendmail.py [email protected] ‘torreicdmailcn‘ ‘datatime20180417‘   

技術分享圖片

2.5 創建運維人員的郵箱,接受報警郵件

管理 -> 用戶 -> 創建用戶

創建一個接受告警郵件的用戶,“管理”,“用戶”,“創建用戶”,“報警媒介”,類型選擇“baojing”,註意用戶的權限,如果沒有需要到用戶組去設置權限

技術分享圖片

技術分享圖片

技術分享圖片

給創建的用戶,賦予權限

關於權限選項,我們先保存當前的配置,然後進入用戶群組 → Zabbix administrators → 權限

為了防止發生錯誤,暫時先選擇全部用戶。千萬不要忘記點擊添加

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

授權成功後更新,檢查下用戶權限

技術分享圖片

技術分享圖片

2.6 權限設定成功,下一步設定報警動作

“配置”,“動作”,“創建動作”,

設置動作,“配置”,“動作”,“創建動作”,名稱寫“sendmail”(自定義),“操作”頁面,內容如下

技術分享圖片

增加一個觸發動作

技術分享圖片

技術分享圖片

  • 新的觸發條件”,A維護狀態 非在 維護,B觸發器示警度>=未分類

針對動作的操作部分進行優化修改

  • “操作”,選擇發送的用戶為剛創建的用戶,僅送到選擇“baojing”

技術分享圖片

技術分享圖片

HOST:{HOST.NAME} {HOST.IP}
TIME:{EVENT.DATE}  {EVENT.TIME} 
LEVEL:{TRIGGER.SEVERITY} 
NAME:{TRIGGER.NAME}
messages:{ITEM.NAME}:{ITEM.VALUE}
ID:{EVENT.ID}

技術分享圖片

技術分享圖片

技術分享圖片

對恢復操作部分修改

“恢復操作”,把信息改成如下:

HOST:{HOST.NAME} {HOST.IP}
TIME:{EVENT.DATE}  {EVENT.TIME} 
LEVEL:{TRIGGER.SEVERITY} 
NAME:{TRIGGER.NAME}
messages:{ITEM.NAME}:{ITEM.VALUE}
ID:{EVENT.ID}

點擊“新的”,“操作”,選擇發送的用戶為剛創建的用戶,僅送到選擇“baojing”

技術分享圖片

點擊添加後查看
技術分享圖片

三、驗證配置:

配置 → 主機 → 觸發器 → 創建觸發器

技術分享圖片

技術分享圖片

條件是,並發數小於1,咱們的虛擬機壓根就沒有任何人去訪問,所以必然報警。

技術分享圖片

技術分享圖片

在郵箱裏查收

技術分享圖片

技術分享圖片

技術分享圖片

修改參數,查看恢復郵件

技術分享圖片

技術分享圖片

技術分享圖片

Zabbix的架構配置選項(二)