當前位置:名人名言大全網 - 短信平臺 - zabbix告警配置

zabbix告警配置

概述

假設我們配置了壹些監控項和觸發器,現在當觸發器狀態改變時會獲取壹些發生的事件,是時候考慮下壹步行動了。

我們不可能壹直盯著觸發器或者事件列表,當發生壹些標誌性的事件時發送警告再好不過。當問題發生,關註這些的用戶都會被通知。

zabbix提供主要的功能就是發送告警就是這個原因。哪些人?在什麽時候?應該收到哪些信息是可以被定義的。

為了發送和接收來自zabbix的告警,妳必須:

定義媒介

配置發送信息到定義媒介的動作

動作由 觸發條件 和 操作 組成。基本上當條件符合時,操作被執行。兩個主要的操作是 發送消息 和 執行遠程命令

為了發現和自動註冊創建的事件,壹些額外的操作是可用的,包含添加或者刪除主機,鏈接模板等

壹、媒介(Media types)

概述

Media 是用於發送zabbix的消息與告警的遞送通道

可以定義壹下媒介類型

E-mail

SMS

Jabber

Ez Texting

Custom alertscripts

1、 E-mail

為消息定義E-mail發送通道,需要配置e-mail 作為媒介類型並且傳遞指定的地址給用戶

配置

依次點擊 管理——>報警媒介類型,點擊創建媒介類型(或者點擊預先定義的媒介類型 E-mail)

媒介類型表包含通常的媒介類型屬性

所有重要的字段都會標記紅星

Name 媒介類型名字

Type 選擇Email作為類型

SMTP server 設置stmp服務器作為處理信息的出口

SMTP server port 設置smtp服務的端口,這個參數從zabbix3.0開始支持

SMTP helo 這是正確的stmp鏈接值,通常為域名

SMTP email 這個地址會被用於信息發送者,用來發送消息,添加發送者的顯示名 如 Zabbix_info則zabbix_info<gaoxiaoxu@126.com>

幾個可以生效的配置:

gaoxiaoxu@126.com 只有郵箱地址,不需要尖括號

zabbix_info<gaoxiaoxu@126.com> 顯示名與郵件地址,地址寫在尖括號中

監控系統<gaoxiaoxu@126.com> 使用UTF-8格式的顯示名

Connection security 選擇鏈接安全級別,None為不使用ssl選項,starttls 使用 CURLOPT_USE_SSL參數,SSL/TLS則CURLOPT_USE_SSL可選

SSL verify peer 標記checkbox同步SMTP服務的SSL證書,

Authentication 認證方法

Username 用戶名

Password 密碼

Enabled 啟用媒介

註意 : 為了使SMTP中的authentication 選項可用,zabbix在編譯時,需要帶--with-libcurl參數 使用cURL7.20.0或更高版本

第二個選項卡options

第二個選項卡options配置了告警的處理流程。同樣的options配置在其他的媒介類型中也存在。

所有媒介都是並行處理的,當前最大會話每個媒介自己定義,但是zabbix服務的告警處理總數被參數(zabbix_sever.conf)StartAlerters所限制。同壹觸發器生成的告警會序列化的處理

options表

concurrent sessions 並發會話數,三個選項,one(壹個),unlimited(不限制),custom(自定義)

Attempts 嘗試發送告警的次數,如果設置為1,則zabbix會發送以此通知,並且失敗時不會重發

Attempts interval? 重發通知的頻率,發送失敗時重發的間隔

配置用戶的媒介

依次點擊 Administration(管理)--->Users(用戶)

點擊用戶的屬性表,在Media(媒介)表中點擊add

type 選擇Email作為類型

send to 指定email地址,可以點擊add添加多個地址,同理此地址也可設置顯示名如Zabbix_admin<gaoxiaoxu@126.com>或者gaoxiaoxu@126.com

when active 設置發送時間如工作日(1-5,09:00-18:00)可以使用宏

Use if severity 指定想要接受的告警等級

status 啟用與否

2、SMS

zabbix發送短信,使用串行GSM調試解調器連接到zabbix server的serial port

先決條件:

串行設備(正常情況下在linux的/dev/ttyS0)的速度取決於modem。zabbix不設置串行鏈接的速度。

zabbix user擁有對串行設備的讀寫權限,運行ls -l /dev/ttyS0查看當前權限

GSM調試解調器擁有PIN碼,PIN也可以禁用使用命令 AT+CPIN="NNNN"輸入PIN, 必須有雙引號。

已經測試好的modem Siemens MC35 Teltonika ModemCOM/G10

配置SMS作為發送通道,需要配置SMS作為媒介類型並且在用戶界面配置接收手機號

配置

依次點擊 Administration--->Media types,點擊創建media type或使用預先的配置

sms的Media type表屬性

Description media type名

Type 選擇SMS

GSM modem 選擇設備如 /dev/ttyS0

options選項卡見E-mail

配置用戶媒介

依次點擊 Administration(管理)--->Users(用戶)

點擊用戶的屬性表,在Media(媒介)表中點擊add

types 選擇SMS作為媒介

Send to 輸入用戶手機號

When active 設置發送時間如工作日(1-5,09:00-18:00)可以使用宏

Use if severity 指定想要接受的告警等級

status 啟用與否

3、Jabber (略)

4、Ez Texing(略)

5、Custom alertscripts

如果不滿足於存在的媒介來發送警告,可以自定義腳本進行發送

警告腳本在zabbix server上執行,這些腳本位於server配置文件AlertScriptsPath變量(默認/usr/local/share/zabbix/alertscripts)

腳本示例:

#!/bin/bash

to=$1

subject=$2

body=$3

cat <<EOF |mail -s "$subject" "$to"

$bodyEOF

從3.4開始zabbix會檢查exit code(shell執行返回碼,0為成功),若exit code 不等於0,則認為執行失敗,zabbix會重復執行

script不保存環境變量,所以環境變量要精確指定

配置

依次點擊 Administration--->Media types,點擊創建media type

mediatype表屬性

Name 輸入媒介的名字

Type 選擇Script作為類型

Script name 輸入腳本的名字(zabbix server中的腳本文件)

Script parameters 添加命令行參數到腳本

可支持ALERT.SENDTO}、{ALERT.SUBJECT}、{ALERT.MESSAGE}等宏,

{ALERT.SENDTO} 用戶媒介中的send to(收件人)的值

{ALERT.SUBJECT} 動作配置中的Default subject(默認標題)

{ALERT.MESSAGE} 動作配置中的Default message(消息內容)

options表中定義了處理流程,見E-mail的說明

配置用戶媒介User media

依次點擊 Administration(管理)--->Users(用戶)

點擊用戶的屬性表,在Media(媒介)表中點擊add

用戶媒介屬性

Type 選擇自定義腳本的媒介類型

Send to 指定告警接收人

When active 設置發送時間如工作日(1-5,09:00-18:00)可以使用宏

Use if serverity 指定想要接受的告警等級

status 啟用與否

二、動作

如果妳希望發生事件時會觸發壹些操作,那麽妳需要配置action

動作可以定義回應所有支持的事件類型,

事件類型:

Trigger events觸發器事件,當觸發器狀態從ok改變到problem或相反。

Discovery events 當自動發現產生

Auto registration events當新的agent自動註冊時,或者經註冊過的主機元數據改變

Internal events當監控項變為不支持或觸發器狀態變為unknown時

配置壹個動作

依次 Configuration ——>Actions

從event source中選擇需要的源(分為:觸發器源,自動發現源,自動註冊源,事件源)

點擊創建動作

選擇操作執行的條件

選擇具體操作

選擇恢復操作

動作表的屬性

Name 唯壹動作名

Type of calcaulation 選擇條件觸發的計算方法

And 必須符合所有條件

Or 只要壹個條件符合即可

And/Or 結合二者,不同類型的條件用And,同壹類型的條件用Or

Custom expression 用戶自定義

Conditions 觸發動作的壹系列條件、

New condition 選擇新的動作觸發條件

Enabled 啟用動作

條件設置

基於觸發器的條件

Application 應用集

Host group 主機組

Template 模板

Host 主機

Tag 標簽(串)

tag value 標簽值

Trigger 觸發器

Trigger name 觸發器名字

Trigger severity 觸發器等級

Time period 觸發時間

Problem is suppressed 觸發問題是否意料之中,如主機維護

基於自動發現的條件

Host IP 指定主機ip地址自動發現範圍 格式: 單獨的ip:192.168.1.33 範圍ip: 192.168.1-101.1-254? Ip mask: 192.168.4。0/24

Service type 服務類型

service port 服務端口

Discovery rule 指定自動發現規則

Discovery check

Discovery object

Discovery status

Uptime/Downtime

Received value

Proxy

基於自動註冊的條件

Host metadata 由zabbix_agentd.conf 文件中的HostMetadata變量定義

Host name

Proxy

基於內部事件的條件

Application

Event type

Host group

Template

Host

條件匹配後,就需要執行響應的動作了

可以支持以下動作

send a message

execute a remote command

add host

remove host

enable host

disable host

add to host group

remove from host group

link to template

unlink from template

set host inventory mode

執行遠程命令

確保配置文件中(zabbix_agentd.conf)EnableRemoteCommands 參數設置為1

加入zabbix用戶到sudo,vim /etc/sudoer

zabbix ALL=NOPASS: ALL #所有命令不需密碼

zabbix ALL=NOPASS: /etc/init.d/apache restart? #指定某壹命令不需要密碼

觸發操作後,使用宏 編輯信息

如 告警信息模板

標題 服務器:{HOST.NAME} - 發生: {TRIGGER.NAME}故障

信息 告警主機:{HOST.NAME}

告警地址:{HOST.IP}

監控項目:{ITEM.NAME}

監控取值:{ITEM.LASTVALUE}

告警等級:{TRIGGER.SEVERITY}

當前狀態:{TRIGGER.STATUS}

告警信息:{TRIGGER.NAME}

告警時間:{EVENT.DATE} {EVENT.TIME}

事件ID:{EVENT.ID}

恢復信息

標題 服務器:{HOST.NAME} - {TRIGGER.NAME} 已恢復

信息 告警主機:{HOST.NAME}

告警地址:{HOST.IP}

監控項目:{ITEM.NAME}

監控取值:{ITEM.LASTVALUE}

告警等級:{TRIGGER.SEVERITY}

當前狀態:{TRIGGER.STATUS}

告警信息:{TRIGGER.NAME}

告警時間:{EVENT.DATE} {EVENT.TIME}

恢復時間:{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}

持續時間:{EVENT.AGE}

事件ID:{EVENT.ID}