当前位置: 首页 > news >正文

zabbix邮件告警配置

一、报警

触发器的通知信息显示在web管理界面, 运维工程师仍然没办法24小时盯着它。所以我们希望它能自动地
通知工程师们,这就是报警。
zabbix的报警媒介支持email,jabber,sms(短信),微信,电话语音等。

报警过程原理

在这里插入图片描述
配置报警信息可以通过邮箱来实现
1、本地邮箱
2、第三方邮箱
3、第三方邮箱+脚本

电子邮件简介

电子邮件系统的组成

一个完整的电子邮件系统包括MUA、MTA、MDA这3个功能部分
邮件用户代理MUA: -------类似于写信时代的邮箱
邮件传送代理MTA:
邮件分发代理MDA:

电子邮件系统的相关协议

smtp:端口25/tcp 采用c/s模式 在邮件系统中提供可靠的邮件发送服务

pop3:端口110/tcp 采用c/s模式 在邮件系统中提供可靠的邮件获取服务

imap:端口143/tcp采用c/s模式邮件客户端可以通过该协议从邮件服务器上获取邮件的信息、下载邮件等。

imap与pop3的区别:
imap与pop3协议的主要区别是用户可以不用把所有的邮件全部下载可以通过客户端直接对服务器上的邮件进行操作

电子邮件地址的组成

一个完整的电子邮件地址格式是“loginname@hostname”或“loginname@domaincy@mail.example.com、cy@example.com后者使用居多。

二、实验

前期配置

1、确保zabbix和node6端的防火墙和selinux处于关闭状态
2、设置zabbix端的主机名为zabbix.example.com zabbix-agent端的主机名为node6.example.com
3、分别修改zabbix和node6端的/etc/hosts文件
//在里面写入

192.168.100.115 zabbix.example.com zabbix
192.168.100.116 node6.example.com node6

测试能否ping通

[root@zabbix ~]# ping node6
PING node6.example.com (192.168.100.116) 56(84) bytes of data.
64 bytes from node6.example.com (192.168.100.116): icmp_seq=1 ttl=64 time=0.159 ms
64 bytes from node6.example.com (192.168.100.116): icmp_seq=2 ttl=64 time=0.140 ms
64 bytes from node6.example.com (192.168.100.116): icmp_seq=3 ttl=64 time=0.233 ms
64 bytes from node6.example.com (192.168.100.116): icmp_seq=5 ttl=64 time=0.186 ms
^C
--- node6.example.com ping statistics ---
4 packets transmitted, 5 received, 0% packet loss, time 4079ms
rtt min/avg/max/mdev = 0.140/0.180/0.233/0.031 ms

本地邮箱告警配置

1、安装postfix软件

[root@zabbix ~]# yum -y install postfix

2、修改postfix的主配置文件,并重启服务和设置下次启动生效

[root@zabbix ~]# vim /etc/postfix/main.cf
//找到这一行,在这一行最后添加,$mydomain
mydestination = $myhostname, localhost.$mydomain, localhost,$mydomain[root@zabbix ~]# systemctl restart postfix
[root@zabbix ~]# systemctl enable postfix
Created symlink /etc/systemd/system/multi-user.target.wants/postfix.service → /usr/lib/systemd/system/postfix.service.

3、配置报警媒介类型

在这里插入图片描述
在这里插入图片描述

测试

在这里插入图片描述
在这里插入图片描述

[root@zabbix ~]# cd /var/spool/mail/
[root@zabbix mail]# ls
shiqian  sq  student
[root@zabbix mail]# cat sq 
From sq@example.com  Mon Aug 12 19:14:09 2024
Return-Path: <sq@example.com>
X-Original-To: sq@example.com
Delivered-To: sq@example.com
Received: from localhost (localhost [IPv6:::1])by zabbix.example.com (Postfix) with SMTP id 3E1F160CDA6Dfor <sq@example.com>; Mon, 12 Aug 2024 19:14:09 +0800 (CST)
From: <sq@example.com>
To: <sq@example.com>
In-Reply-To: <0.5774e4c07ca32b74fe5f34e2ebb07308.42.58c726facd626bae06009c325252982a@zabbix.com>
Date: Mon, 12 Aug 2024 19:14:09 +0800
Subject: test
MIME-Version: 1.0
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: base64
Message-Id: <20240812111409.3E1F160CDA6D@zabbix.example.com>MTIzNDU=

//查看需要解码
解码工具:https://www.base64decode.org/
在这里插入图片描述

4、配置用户

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
操作完一定要点更新

5、配置触发器动作

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

然后点击操作的添加

在这里插入图片描述

恢复操作
在这里插入图片描述
在这里插入图片描述

6、验证

多开几台终端,触发报警信息,看会不会发邮件

[root@node6 ~]# who | wc -l
9[root@node6 mail ~]# cat sq
From sq@example.com  Mon Aug 12 19:45:09 2024
Return-Path: <sq@example.com>
X-Original-To: sq@example.com
Delivered-To: sq@example.com
Received: from localhost (localhost [IPv6:::1])by zabbix.example.com (Postfix) with SMTP id 1732A604AA50for <sq@example.com>; Mon, 12 Aug 2024 19:45:09 +0800 (CST)
From: <sq@example.com>
To: <sq@example.com>
In-Reply-To: <65.5774e4c07ca32b74fe5f34e2ebb07308.42.58c726facd626bae06009c325252982a@zabbix.com>
Date: Mon, 12 Aug 2024 19:45:09 +0800
Subject: probably
MIME-Version: 1.0
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: base64
Message-Id: <20240812114509.1732A604AA50@zabbix.example.com>dXNlcnMgbm90

第三方邮箱告警配置

这里我使用163邮箱来进行实验

1、开启SMTP服务和POP3服务,会生成一个授权码,需要记住这个授权码

在这里插入图片描述

2、更改告警媒介

先将之前的本地邮箱停用
在这里插入图片描述

电子邮件和用户名称都填自己的邮箱账号
在这里插入图片描述

在这里插入图片描述

3、测试

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

将客户端多连几个,看是否会给我发邮件
在这里插入图片描述
在这里插入图片描述
然后恢复正常连接数量,163邮箱会再次收到修复成功的邮件
在这里插入图片描述

第三方邮箱+脚本告警配置

1、在zabbix端安装一个包文件

[root@zabbix ~]# yum -y install s-nail
[root@zabbix ~]# vim /etc/s-nail.rc 
//在该文件最后写入以下信息
set from=sk911326@163.com
set smtp=smtp.163.com
set smtp-auth-user=sk911326@163.com
set smtp-auth-password=    //这里填163邮箱的授权密码
set smtp-auth=login
set ssl-verify=ignore[root@zabbix ~]# chown -R zabbix:zabbix /etc/s-nail.rc 
[root@zabbix ~]# ll /etc/s-nail.rc 
-r--r--r-- 1 zabbix zabbix 9792 Aug 13 09:44 /etc/s-nail.rc

2、在zabbix服务端写邮件发送脚本

[root@zabbix ~]# vim /usr/lib/zabbix/alertscripts/mail-send.sh
//在文件中写入以下内容
#!/bin/bash
messages=`echo $3 | tr '\r\n' '\n'`
subject=`echo $2 | tr '\r\n' '\n'`
echo "${messages}" | s-nail -s "${subject}" $1[root@zabbix ~]# chown -R zabbix:zabbix /usr/lib/zabbix/alertscripts/mail-send.sh 
[root@zabbix ~]# ll /usr/lib/zabbix/alertscripts/mail-send.sh 
-rw-r--r-- 1 zabbix zabbix 131 Aug 13 09:48 /usr/lib/zabbix/alertscripts/mail-send.sh
//给予执行权限
[root@zabbix ~]# chmod +x /usr/lib/zabbix/alertscripts/mail-send.sh 

测试能否执行成功

[root@zabbix ~]# cd /usr/lib/zabbix/alertscripts/
[root@zabbix alertscripts]# ./mail-send.sh sk911326@163.com "zabbix text mail" "test"
s-nail: Warning: variable superseded or obsoleted: smtp
s-nail: Warning: variable superseded or obsoleted: smtp-auth-user
s-nail: Warning: variable superseded or obsoleted: smtp-auth-password
s-nail: Warning: variable superseded or obsoleted: ssl-verify
s-nail: Obsoletion warning: please do not use *smtp*, instead assign a smtp:// URL to *mta*!
s-nail: Obsoletion warning: Use of old-style credentials, which will vanish in v15!
s-nail:   Please read the manual section "On URL syntax and credential lookup"

在这里插入图片描述

3、创建媒介告警类型

在这里插入图片描述

4、配置用户

在这里插入图片描述

在这里插入图片描述

5、创建动作

//标题
problem: {EVENT.NAME}//内容
problem start at {EVENT.TIME} on {EVENT.DATE}
problem name: {EVENT.NAME}
host: {HOST.NAME}
severity: {EVENT.SEVERITY}original problem ID: {EVENT.ID}
{TRIGGER.URL}resolved: {EVENT.NAME}
problem has been resolved at {EVENT.RECOVERY.TIME} ON {EVENT.RECOVERY.DATE}
problem name: {EVENT.NAME}
host: {HOST.NAME}
severity: {EVENT.SEVERITY}original problem id: {EVENT.ID}
{TRIGGER.URL}

操作
在这里插入图片描述
恢复操作
在这里插入图片描述

4、测试

将客户端多连几个,看是否会给我发邮件
在这里插入图片描述
将客户端恢复到正常连接数量
在这里插入图片描述

http://www.lryc.cn/news/422958.html

相关文章:

  • 代码随想录算法训练营第 35 天 | LeetCode 416. 分割等和子集
  • 伪国企是指的什么?
  • Transformer在量化投资中的应用
  • a++ 和 ++a
  • Python配置文件格式——INI、JSON、YAML、XML、TOML
  • The First项目报告:Web3人生模拟器,DegenReborn带你重开币圈
  • 燃气经营企业从业人员考试真题及答案
  • 白骑士的Matlab教学进阶篇 2.1 数据可视化
  • 2024年8月 | 涉及侵权、抄袭洗稿违规行为公示
  • 操作系统快速入门(四)
  • 前缀异或优化
  • AI学习指南深度学习篇-卷积神经网络中的正则化和优化
  • AutoGen Studio 本地源码构建
  • 医疗陪诊系统源码详解:在线问诊APP开发的技术要点
  • VSCode编译多个不同文件夹下的C++文件
  • 【安卓】连接真机和使用通知
  • CSS3下拉菜单实现
  • Mysql8.3.0排序导致分页数据错乱
  • 漏洞复现-Cacti命令执行漏洞 (CVE-2022-46169)
  • 【Ajax使用说明】Ajax、Axios以及跨域
  • IIS网站搬家工具WebDeploy(把网站迁移去另一台服务器)
  • SQL Server 2022的游标
  • 「11月·香港」第三届人工智能、人机交互和机器人国际学术会议(AIHCIR 2024)
  • 【redis】springboot 用redis stream实现MQ消息队列 考虑异常ack重试场景
  • 初识IDEA
  • zigbee笔记:十、ZStack(2.3.0-1.4.0)的OSAL使用分析
  • SpringBoot响应式编程(1)Reactor核心
  • Java后端处理前端字符串与 JSON 数据:安全拼接与转义技巧
  • 一文搞懂bfs,dfs和高级图算法
  • 【Rust光年纪】Rust异步编程利器:异步DNS、高性能Web服务器一网打尽