linux監控(三)


19.12 添加自定義監控項目
19.13/19.14 配置郵件告警
19.15 測試告警
19.16 不發郵件的問題處理

 

19.12 添加自定義監控項目

添加自定義監控項目

· 需求:監控某臺web的80端口連接數,並出圖

· 兩步:1)zabbix監控中心創建監控項目;2)針對該監控項目以圖形展現

· 對於第一步,需要到客戶端定義腳本

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

#!/bin/bash

##獲取80端口併發連接數

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

· 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

· systemctl restart zabbix-agent重啓zabbix-agent服務 

· 首先到服務端驗證,執行命令 (結果顯示0爲正常)

· zabbix_get -s 192.168.133.132 -p 10050 -k 'my.estab.count’

· 然後在zabbix監控中心(瀏覽器)配置增加監控項目

 鍵值寫my.estab.count(主機——監控項——創建監控項)

· 添加該項目後,到“監測中”à “最新數據”查看剛添加的項目是否有數據出現

· 有了數據就可以添加圖形了

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

· 觸發器——創建觸發器(功能最新的t值>200 N=200)

 

19.13/19.14 配置郵件告警

配置告警(服務端)

· 使用163或者QQ郵箱發告警郵件 

· 首先登錄你的163郵箱,設置開啓POP3、IMAP、SMTP服務,

·  開啓並記錄授權碼

·  然後到監控中心設置郵件告警

· “管理”,“報警媒介類型”,“創建媒體類型”

·  {ALERT.SENDTO} 接收郵箱地址,

    {ALERT.SUBJECT}主題,

    {ALERT.MESSAGE}郵件內容

 

· 創建報警腳本mail.py

    Vi /etc/zabbix、zabbix_server.conf 查看alertscriptspath指定的腳本目錄

·vim /usr/lib/zabbix/alertscripts/mail.py內容參考https://coding.net/u/aminglinux/p/aminglinux-book/git/blob/master/D22Z/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.qq.com'   或 = smtp.163.com

    gport = 25

 

    try:

        # msg = MIMEText(unicode(content).encode('utf-8')) //如果發送的郵件有亂碼,可以嘗試把這行改成如下:

        msg = MIMEText(content,'plan','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]

##定義QQ郵箱的賬號和密碼,你需要修改成你自己的賬號和密碼(請不要把真實的用戶名和密碼放到網上公開,否則你會死的很慘)

    sendqqmail('[email protected]','aaaaaaaaaa','[email protected]',to,subject,content)

 

if __name__ == "__main__":

    main()

    

    

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

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

#2. 腳本執行命令爲:python mail.py 目標郵箱 "郵件主題" "郵件內容"

 

·  chmod 755 /usr/lib/zabbix/alertscripts/mail.py  設置權限

   python mail.py [email protected] “sdnjhfyub”  測試是否發郵件

· 創建一個接受告警郵件的用戶,“管理”,“用戶”,“創建用戶”,“報警媒介”,類型選擇“baojing”,收件人“郵箱地址”,用戶羣組—權限—讀寫—選擇所有組。最後添加。注意用戶的權限,如果沒有需要到用戶組去設置權限

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

HOST:{HOST.NAME} {HOST.IP}

TIME:{EVENT.DATE}  {EVENT.TIME} 

LEVEL:{TRIGGER.SEVERITY} 

NAME:{TRIGGER.NAME}

messages:{ITEM.NAME}:{ITEM.VALUE}

ID:{EVENT.ID}

發送到用戶 aming

· 動作——“新的觸發條件”,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}

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

 測試告警

 

19.15 測試告警

· 創建個自定義觸發器

系統負載—警告—添加表達式(processor load)—最新的t值<1 N=1) —添加

出現問題可以從頭到尾檢查。

·  python mail.py [email protected] “sdnjhfyub” 測試腳本

·  ls -l mail.py查看腳本權限(改成777)

·  管理—用戶—aming—報警媒介—權限,讀寫

·  動作—操作—默認信息還原—發送到用戶—更新

· 主機—觸發器-系統負載—表達式>1  (恢復)

19.16 不發郵件的問題處理

1, 到163郵箱,設置開啓POP3、IMAP、SMTP服務,開啓授權碼

2. 然後到監控中心設置郵件告警

  新增報警媒介—報警—類型腳本—腳本參數

  1.  vim /etc/lib/zabbix/alertscripts/aming.py  到指定路徑創建個腳本 ,還有更改腳本權限。、
  2.  管理—用戶羣組—權限改成讀寫
  3.   管理—用戶—權限改成讀寫—報警媒介加郵箱地址
  4.  配置—動作—條件保持默認

   配置—動作—操作—默認信息更改—添加用戶—僅送到報警

  配置—動作—恢復操作—默認信息更改—發送aming用戶—僅送到報警

配置—主機—觸發器—增加system.cpu.load  <1 (手動增加個報警信息

 

 systemctl stop zabbix-agent  也可以在客戶端把進程停止 、

主動和被動

配置—主機—監控項—agent ping—類型 zabbix客戶端(被動) zabbix客戶端(主動式)/主動上報

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章