zabbix内部邮箱告警(zabbix触发器动作及邮件报警)

来源网友投稿 673 2023-02-04

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。
本篇文章给大家谈谈zabbix内部邮箱告警,以及zabbix触发器动作及邮件报警对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 今天给各位分享zabbix内部邮箱告警的知识,其中也会对zabbix触发器动作及邮件报警进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

zabbix 告警

根据支持的时间定义的事件:

生成触发器的动作

邮件告警就配置成功

在为对应的用户添加对应的邮箱即可。

内容:

编写通知脚本

创建媒体类型

用户指定媒体类型

在sever端,自定义脚本发

1.首先在要在server编写对应的可执行的脚本

首先脚本文件的编写

接下来为脚本文件添加可执行权限

chmod +x sendmail.py

接下来将脚本文件安装到zabbix告警媒介文件夹下

vim /etc/zabbix/zabbix_server.conf

将sendmail文件移动到对应的目录下:

接下来就可以在前端上配置对应的告警媒介

参数:

{ALERT.SENDTO}收件人地址

{ALERT.SUBJECT}主题

{ALERT.MESSAGE}详细内容

在经过测试确认可用之后,就有新的告警媒介了。

像一般的告警介质一样使用就可以了。
去设置对应的告警就可以了

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}

6、zabbix告警邮件文本信息无法换行

问题现象:已经配置了zabbix告警功能,但是告警邮件的信息不换行,在百度也没找到方法。
解决方法:修改邮件设置message format为文本,已经正常。

操作方法:

如何配置zabbix 3.0 用mail邮件方式告警support for smtp authentication was not

前提条件:
(1) zabbix服务器端已经成功安装并且运行。
(2) zabbix客户端已经成功建立并且运行。
1 下载并且安装msmtp软件
tar jxvf msmtp-1.4.32.tar.bz2
cd msmtp-1.4.32
./configure--prefix=/usr/local/msmtp
Make
Make install
2、手动建立配置文件,输入外部smtp地址
mkdir –p /usr/local/msmtp/etc
vi /usr/local/msmtp/etc/msmtprc
添加以下内容
account default
host smtp.sohu.com #你的发送邮件服务器
port 25
from zabbix2014@sohu.com #要从哪个邮箱发出
auth login
tls off
user zabbix2014 #邮箱用户名
password xxxxx-xxx #邮箱密码,如果你觉得不安全可以把文件改为600属性
logfile /var/log/mmlog
保存退出。
3、简单测试一下
/usr/local/msmtp/bin/msmtp [url=mailto:%20zabbix2014@sohu.com]zabbix2014@sohu.com[/url]
hello,test
ctrl d
cat /usr/local/msmtp/msmtp.log 看看有没有成功。
然后再到sohu邮箱中,看看信收到没有
报错如下
[iyunv@cache-2 msmtp-1.4.32]# /usr/local/msmtp/bin/msmtp zabbix2014@sohu.com
msmtp: authentication failed (method LOGIN)
msmtp: server message: 535 5.7.0 Invalid result
msmtp: could not send mail (account default from /usr/local/msmtp/etc/msmtprc)
Google之后,需要安装 mutt组件
4、下面开始安装 MUTT如果是CentOS的话直接用yum就好了
yum install mutt
安装完成后要手动给他建立一个配置文件,
vim /etc/Muttrc
setsendmail="/usr/local/msmtp/bin/msmtp" #你的msmtp命令路径
set use_from=yes
set realname="zabbix2014@sohu.com"
set editor="vim"
简单的4行就可以了
好了,让我们来测试一下吧!
测试一下:echo"test mail" | mutt -s "test" zabbix2014@sohu.com
OK,测试了下,能收到已经发送的email,
echo"test mail 2014 content tom 2" | mutt -s "test 2014 title2" zabbix2014@sohu.com
5、 创建 zabbix用于发送邮件的脚本
脚本放在什么位置随便,但是要保证zabbix可以找到!
1)vim/usr/bin/zabbix2014,并写入如下内容:
#!/bin/bash
echo "$3" | mutt -s "$2"$1 # $3表示邮件内容、$2表示邮件标题、$1表示收件人
(2)chmod a+x /usr/bin/zabbix2014
6、 zabbix配置
(1)创建meida types
1.登录到zabbix,进入“Administration" ”Media types",点击右上角“Create Media Type"。 Description填"mediatype-zabbix2014"或其它名称,Type选择"Script",Script填” zabbix2014”。
2.点击save保存,
7、创建actions
1.登录到zabbix,进入"Configation" "Actions",点击右上角"Create Actions"。输入Name “action-zabbix2014” ,其它都默认点击右侧“Action Operations"下的"New"按钮,"Operation Type"选择"Send message","Send Message to"选择一个或多个要发送消息的用户组,”Send only to"选择我们之前新增的mediatype-zabbix2014。
2.点击save保存,

8、zabbix用户配置
登录到zabbix, 进入"Adimistration" "Users",在之前选定要发送消息的组里的Members栏位里选择一个用户,例如选择AdminZabbix用户。
在用户信息修改界面最下方的”Media"处点击"Add"按钮。
Type选择"mediatype- zabbix2014",Send to填入收件人地址,点击Add添加。
点击"Save"保存配置。

zabbix上怎么通过sendmail发送邮件报警

zabbix相关环境:
              OS: centos 5.4  x86_64       zabbix:   1.8.3     sendmail:  8.13.8-2.el5
    在配置zabbix的Email报警之前,需要将sendmail使用的域名进行相应的修改,系统默认为localhost.localdomain,其实不改也行,不过有些pop3服务器会过滤掉来自localhost.localdomain的邮件,导致邮件不能正常查收,所以,最好是改一下 hostname,确保邮件发送的成功率。
       以下是我线上机器修改好了的配置,可供参考。
      # cat /etc/hosts
         127.0.0.1       monitor.bot.cms    localhost.localdomain    localhost
      # cat /etc/mail/access
        Connect:localhost.localdomain           RELAY
     Connect:localhost                       RELAY
        Connect:127.0.0.1
        Connect:monitor.bot.cms                 RELAY
     # cat /etc/mail/local-host-names 
        monitor.bot.cms
     修改完成后,重启sendmail服务,通过telnet命令,测试一下看看是否已生效
     # telnet 127.0.0.1 25
     Trying 127.0.0.1...
     Connected to monitor.bot.cms (127.0.0.1).
     Escape character is '^]'.
     220 monitor.bot.cms ESMTP Sendmail 8.13.8/8.13.8; Sun, 10 Oct 2010 14:00:33 +0800
     从以上结果可以发现,localhost.localdomain 已经变成了 monitor.bot.cms 这个域名,表示修改成功,接下来就可以在zabbix 的管理页面上进行Email 报警设置了。

设置完成后点击保存按钮,到此Email报警设置就结束了,测试时,可以新建一个action,报警方式选择Email, 当trigger成功触发后,一分钟后就可以查收邮件了。

关于zabbix内部邮箱告警和zabbix触发器动作及邮件报警的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。 zabbix内部邮箱告警的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于zabbix触发器动作及邮件报警、zabbix内部邮箱告警的信息别忘了在本站进行查找喔。
上一篇:湖州智能运维平台(湖州智能运维平台官网)
下一篇:自动化和智能制造是一样的吗
相关文章

 发表评论

暂时没有评论,来抢沙发吧~