zabbix的自動發現、自定義添加監控項目、配置郵件告警


1、zabbix的自動發現
這里的自動發現,所顯示出來的是規則的上自動了現

然后 可以對其內容進行相關的配制,如時間或周期

注意:對於單個主機的規則,可以自行添加或刪除, 但對於已經添加好了的規則,若需要修改那么,就只有到模板里面進行相關設置。

 

2、自定義添加監控項目,監控項目都是針對於客戶機而言的,一般都是對客戶機進行配制

先在客戶機創建一個腳本加入以下內容:mkdir /etc/zabbix/sh; vim /etc/zabbix/sh/estab.sh

#!/bin/bash
##獲取80端口並發連接數
netstat -ant |grep ':80 ' |grep -c ESTABLISHED
改變權限:chmod 755 /etc/zabbix/sh/estab.sh
然后再編輯配制文件:vim /etc/zabbix/zabbix_agentd.conf
改成如下:

PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=47.**.***.***
ServerActive=47.**.***.***
Hostname=os72
Include=/etc/zabbix/zabbix_agentd.d/*.conf
UnsafeUserParameters=1
UserParameter=nginx.estab.count[*],/etc/zabbix/sh/estab.sh

 

然后再重啟zabbix-agent服務:systemctl restart zabbix-agent.service

然后,再測試自定義的腳本是否有效:zabbix_get -s **.***.***.*** -p 10050 -k 'nginx.estab.count'

zabbix_get -s IP -p 10050 -k 'name.sh'

最后,就到zabbix服務器上進行相關配制 

然后再新建一個監控項:

 

添加完成后,再到圖形界面,配制一個圖形:

監控項配制好了,還可以創建觸發器:

 



流程:監控項,在客戶端自定義要獲取某個服務的是一個值,然后給權限,最后在服務端,進行相關的監控項的配制。

 

3、配置郵件告警

 

 郵箱配制以163郵箱為例進入郵箱進行相關設置:


 

然后訪問監控服務器頁面,進行腳本及參數的配制:


 

然后,就去服務器創建發郵箱的腳本(即客戶機出問題了,由服務器發郵件報警):


然后編輯腳本:vim /etc/zabbix/sh/mail.py  

加入:

#!/usr/bin/env python
#-*- coding: UTF-8 -*-
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_SSL(gserver,465)

#其它的就用正常的

smtp = smtplib.SMTP(gserver,25)
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('mail_name@163.com','password','mail_name@163.com',to,subject,content)
if __name__ == "__main__":
main()


注意阿里雲的服務器不支持:smtplib.SMTP(smtp_server, 25),

若用阿里雲的服務器,這里改成:smtp = smtplib.SMTP_SSL(gserver,465)


 

 

然后再測試:python mail.py to_email_name@qq.com "this is a test"  "use python script  to send e-mail"


 

再到服務器zabbix頁面進行配制創建用戶(即出現問題了報警信息發給誰):


 

最后再配制權限: 這里所配制的權限都是針對於組而言的,所以配制的都是用戶組


 

最后再進行查看:


 

 這時,整個配制有了:
在服務器頁面上設置了報警的媒介(可以有N個) 、然后在服務器上設置了對應的腳本、再然后又在服務器頁面上設置了用哪個報警媒介腳本,

並且設置了用戶及權限(即出現問題后通知誰)。 但最后還差的就是一個動作(即一個問題的評判標准,在什么情況下執行腳本發郵件)
動作配制:

 

操作配制:

 

恢復操作也同樣的設置:

最后就進行測試:
我們添加一個用戶看一下:

 

查看:

再查看郵件:

 最后,對這於這幾個操作的個人理解:

到此zabbix郵件報警配制完成。

小總結:
1、先配制報警媒介
2、根據報警媒體,設置相應的腳本
3、設置腳本執行后,配制報告給予對象 (通知用戶)
4、設置執行腳本的前提條件(即 要執行該腳本需要在什么條件下)
5、根據不同的執行條件,進行不同的動作(如 發郵件、重啟等等)


免責聲明!

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



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