天天看點

添加自定義監控項目、郵件告警

19.12 添加自定義監控項目

該配置的用途是監控模闆中沒有的監控項目。

需求:監控某台web的80端口連接配接數,并出圖。

步驟:

1) zabbix監控中心建立監控項目

2) 針對該監控項目以圖形展現

配置80端口的監控腳本

用戶端: 統計80端口連接配接數量

[root@z1 ~]# vim /usr/local/sbin/estab.sh

#!/bin/bash

##擷取80端口并發連接配接數

netstat -ant |grep ':80 ' |grep -c established

注意:80後面跟一個空格,保證比對更精确,如果不加空格,會把8080端口同時過濾出來。

更改權限:

[root@z1 ~]# chmod 755 /usr/local/sbin/estab.sh

配置zabbix-agent.conf:

[root@z2 ~]# vim /etc/zabbix/zabbix_agentd.conf

unsafeuserparameters=1 #表示使用自定義腳本

userparameter=my.estab.count[],/usr/local/sbin/estab.sh

#自定義監控項的key(監控web端“鍵值”)為my.estab.count,後面的[]裡面寫的是腳本參數

#如果沒有參數則可以省略,腳本為/usr/local/sbin/estab.sh

重新開機zabbix服務:

[root@z2 ~]# systemctl restart zabbix-agent.service

用戶端配置完成後在 服務端使用zabbix自帶指令測試該腳本是否生效:

[root@z1 ~]# zabbix_get -s 192.168.8.138 -p 10050 -k 'my.estab.count'

如上所示,說明用戶端腳本配置成功!

配置web端參數

浏覽器通路服務端zabbix首頁:192.168.8.136/zabbix

進入客戶機adai-02“監控項配置”頁面:

mark

“建立監控項”:

說明: 在此設定監控項名稱和鍵值,其他參數保持預設(當然,研究透徹之後,所有參數可以根據個人需求進行更改)。  

“建立圖形”:

“添加”添加完成後,為該監控項配置“圖形”——“建立圖形”:   

mark   注意: 在此設定圖形名稱後,需要先為該圖形“添加”(該添加為參數“監控項”下的添加)監控項,然後再點選最下面的“添加”将該圖形參數添加到zabbix圖形監控參數中!!!

建立觸發器:

所謂觸發器即設定觸發警報的規則!

“觸發器”——“建立觸發器”:

點選“添加”,設定該觸發器所要監控的對象及觸發規則:

即,當并發連接配接數最新值t大于n(自定義該值,在此n=2)時觸發該警報。

19.13-19.4 配置郵件告警

使用163郵箱或qq郵箱發送告警郵件。

開啟郵箱的pop3、imap、smtp服務

登入163郵箱,開啟pop3、imap、smtp服務:

登入郵箱後,“設定”——“pop3、imap、smtp”——“儲存”:

說明: 首次開啟該服務需要進行使用者認證,根據提示資訊進行認證并設定“用戶端授權密碼”(用于登入第三方郵件用戶端的專用密碼),記錄該密碼。

配置報警腳本

郵箱相關服務配置完成後到監控中心進行報警配置。

配置報警媒介類型

“管理”——“報警媒介類型”——“建立媒介類型”:

說明: 設定媒介類型名稱、類型、腳本名稱(與伺服器中腳本名稱保持一緻)、添加腳本參數(該參數為zabbix内置參數,之後會配置在mail.py腳本中),上述内容配置完後再點“添加”(最下面藍色)。

添加報警腳本mail.py

服務端:

檢視報警腳本儲存路徑:

[root@z1 ~]# vim /etc/zabbix/zabbix_server.conf

alertscriptspath=/usr/lib/zabbix/alertscripts

建立報警腳本mail.py:

[root@z1 ~]# cd /usr/lib/zabbix/alertscripts

[root@z1 alertscripts]# vim mail.py

#!/usr/bin/python

#coding:utf-8

import smtplib

from email.mime.text import mimetext

import sys

mail_host = 'smtp.163.com' #指定所使用的郵箱類型

mail_user = '[email protected]' #指定郵箱使用者名

mail_pass = '111111111' #指定郵箱密碼

mail_postfix = '163.com'

def send_mail(to_list,subject,content):

me = "zabbix 監控告警平台"+"<"+mail_user+"@"+mail_postfix+">"

msg = mimetext(content, 'plain', 'utf-8')

msg['subject'] = subject

msg['from'] = me

msg['to'] = to_list

try:

s = smtplib.smtp()

s.connect(mail_host)

s.login(mail_user,mail_pass)

s.sendmail(me,to_list,msg.as_string())

s.close()

return true

except exception,e:

print str(e)

return false

if name == "main":

send_mail(sys.argv[1], sys.argv[2], sys.argv[3])

#####腳本使用說明######

#1. 首先定義好腳本中的郵箱賬号和密碼

#2. 腳本執行指令為:python mail.py 目标郵箱 "郵件主題" "郵件内容"

更改腳本權限:

[root@z1 alertscripts]# chmod 755 /usr/lib/zabbix/alertscripts/mail.py

測試能否正常發送郵件:

[root@z1 alertscripts]# python mail.py [email protected] "emerge" "emerge2"

#在此使163郵箱自己給自己發送郵件(保證其不出其他故障)

發送成功!至此說明發郵件的腳本沒問題!!!

配置使用者

在監控中心(web端)建立一個接收告警郵件的“使用者”,在建立使用者前需要先建立一個“使用者組”,在此使用一個已經存在的使用者組。“管理”——“使用者”——“建立使用者”:

mark 設定完以上資訊後,點選最下面的“添加”。

配置報警媒介

打開使用者adai——報警媒介——添加報警媒介——更新:

配置使用者權限:

需要到使用者所在的“使用者群組”更改使用者的權限:

mark 選擇後權限後點選“添加”——“更新”,如果此處設定錯誤,之後将無法收到報警郵件。

配置動作

設定觸發器被觸發後所要執行的的操作!

“配置”——“動作”——“建立動作”:

“操作”:

客戶機故障時要執行的操作。

host:{host.name} {host.ip}

time:{event.date} {event.time}

level:{trigger.severity}

name:{trigger.name}

messages:{item.name}:{item.value}

id:{event.id}

将“操作”中的“預設資訊”改為以上參數:

點選“新的”配置上圖中指定參數其餘參數保持預設(該部分資訊才是發郵件的具體行為),配置完上述内容後點選“添加”(此處==非藍色==添加按鈕)。

恢複操作:

即客戶機狀态恢複後需要執行的操作。

“預設資訊”:(同操作中内容)

條件參數也和“操作”中的相同。

以上“動作”參數配置完後點選藍色按鈕“添加”!!!

監控中心報警準備工作完成!!!

19.15 測試告警

将監控項目改成故障項目。

“配置”——“主機”——“觸發器”——“建立觸發器”

注: 該觸發器隻用于測試,完成測試後要删除!

選擇“添加”表達式設定觸發規則:

其他參數保持預設,點藍色按鈕“添加”。配置完成後進入“儀表盤”等待……

經多次嘗試都顯示動作完成,但是檢視郵箱并沒有收到任何郵件!!!

排查故障

使用伺服器發送郵件:

[root@z1 alertscripts]# python mail.py [email protected] "emergecome" "emerge333"

即,能正常發送郵件,說明腳本内容沒問題!

[root@z1 alertscripts]# ls -l /usr/lib/zabbix/alertscripts/

總用量 4

-rwxr-xr-x 1 root root 1243 9月 12 07:54 mail.py

[root@z1 alertscripts]# chmod 777 /usr/lib/zabbix/alertscripts/mail.py

檢查使用者資訊

添加一個接受郵件的郵箱:

檢視使用者權限,保證其為“讀寫”!

檢查動作配置

将操作中的預設資訊更改為其自帶的配置:

“恢複操作”中先不改!更新後進行測試,結果依然無法收到郵件!!!

果斷恢複快照再來一遍……

配置完後再次檢測:

故障:

恢複:

在zabbix監控中心設定主動模式或被動模式

配置——模闆——監控項:

繼續閱讀