zabbix監控流程

[toc] web

先拋開zabbix監控的其餘架構不談,從最簡單的server-agent模式提及,即監控主機-被監控主機(主動模式、被動模式主要是影響數據的採集方式和服務端的負載壓力),首先是zabbix最重要的五個組成部分:Item、Trigger、Action、Media、User(其實應該還有個Event,不過這個表現的不直觀),翻譯一下就是監控元素、觸發器、動做、報警介質、用戶vim

1.item

Items are the ones that gather data from a host. 意思就是監控採集的項目bash

1.1先添加一個須要監控的主機

1.2 設置item監控項

2.Trigger

顧名思義觸發器,也就是將採集來的item值進行必定的判斷,須要注意的點有兩個,一個是serverity,即報警等級,還有一個是判斷的邏輯,判斷邏輯分單機判斷和觸發依賴 服務器

3.Action

action就是server對事件響應(Event)須要作相應的措施了,關鍵點是四個,一是如何觸發action,而是action具體使用什麼方式,三是發送的內容,四是動做的對象。action支持的Event有四種:用大白話講就是Trigger觸發時、discover rule文件生效時、自動發現新服務器時以及server自己出問題時。最主要的就是Trigger觸發來產生action,在建立action時會有"condition"這個選項來設置觸發器,而action的方式是由media來決定,media有五種,常見的是mail、sms、script這三種,郵件的方式只須要在建立一個media方式選郵件,而後填寫smtp服務器地址便可,郵件的內容是在action選項卡里面設置,支持普通的字符串以及表達式好比{TRIGGER.NAME}這種,這個值就是對應觸發的Trigger的名字 架構

3.1 報警媒介

3.1.1 使用本地虛擬郵箱

  • yum安裝mailx
yum -y install mailx
  • 設置郵箱白名單

白名單的郵箱地址能夠在服務端/var/spool/mail/zabbix查找dom

Return-Path: <zabbix@localhost.localdomain>
Received: from localhost (localhost [127.0.0.1])
	by cl130.localdomain (Postfix) with SMTP id 62C0B1098C
	for <3558689766@qq.com>; Wed, 22 May 2019 23:20:29 -0400 (EDT)
From: <zabbix@localhost.localdomain>
To: <3558689766@qq.com>
Date: Wed, 22 May 2019 23:20:29 -0400
Subject: Problem: /etc/passwd has been changed on 192.168.163.129
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: base64
Message-Id: <20190523032029.62C0B1098C@cl130.localdomain>
  • 添加告警媒介
    • 點擊配置——報警媒介類型——建立媒介類型,頁面配置以下

  • 設置好了,就能夠觸發一下看效果了

3.1.2 web配置第三方郵箱

  • 添加告警媒介post

    • 點擊配置——報警媒介類型——建立媒介類型,頁面配置以下
  • 設置好了,就能夠觸發一下看效果了測試

3.1.3 腳本告警

  • yum安裝mailxspa

  • 修改/etc/mail.rc翻譯

//添加
set from=發件箱
set smtp=smtp.qq.com //我用的是qq,能夠根據使用郵箱的不一樣來填不一樣內容
set smtp-auth-user=發件箱
set smtp-auth-password=發件箱受權碼
set smtp-auth=login
  • 重啓postfix服務

  • 在服務端上寫發送告警信息腳本

[root@cl130 alertscripts]# vim /usr/local/share/zabbix/alertscripts/sendmail.sh

#!/bin/bash
subject=$(echo $2 |tr "\r\n" "\n")
message=$(echo $3 |tr "\r\n" "\n")
echo "$message" | /usr/bin/mail -s "$subject" $1 &>/tmp/sendmail.log

[root@cl130 alertscripts]# cd ..
[root@cl130 alertscripts]# chown -R zabbix.zabbix alertscripts
[root@cl130 alertscripts]# chmod +x scripts/sendmail.sh

//重啓服務
[root@cl130 ~]# pkill zabbix
[root@cl130 ~]# zabbix_server 
[root@cl130 ~]# zabbix_agentd 
[root@cl130 ~]# ss -ntl
State       Recv-Q Send-Q               Local Address:Port                 Peer Address:Port 
LISTEN      0      128                             *:10050                           *:*     
LISTEN      0      128                              *:10051  
// 測試腳本
[root@cl130 alertscripts]# bash sendmail.sh 3558689766@qq.com test hello world

  • 添加告警媒介
    • 點擊配置——報警媒介類型——建立媒介類型,頁面配置以下

  • 觸發告警,測試效果
相關文章
相關標籤/搜索