当前位置: 首页 > 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、测试

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

相关文章:

zabbix邮件告警配置

一、报警 触发器的通知信息显示在web管理界面, 运维工程师仍然没办法24小时盯着它。所以我们希望它能自动地 通知工程师们&#xff0c;这就是报警。 zabbix的报警媒介支持email,jabber,sms(短信),微信,电话语音等。 报警过程原理 配置报警信息可以通过邮箱来实现 1、本地邮箱…...

代码随想录算法训练营第 35 天 | LeetCode 416. 分割等和子集

代码随想录算法训练营 Day35 代码随想录算法训练营第 35 天 | LeetCode 416. 分割等和子集 目录 代码随想录算法训练营前言LeetCode416. 分割等和子集 一、LeetCode416. 分割等和子集1.题目链接2.思路3.题解 前言 LeetCode416. 分割等和子集 讲解文档 一、LeetCode416. 分割…...

伪国企是指的什么?

伪国企&#xff0c;也称为虚假国企&#xff0c;主要指的是那些通过不正当手段&#xff0c;如伪造文件、虚假宣传等&#xff0c;误导公众或第三方&#xff0c;使其误认为该企业具有国有企业背景或实际控制权的非国有企业。 一、伪国企类型 具体来说&#xff0c;伪国企可能包括…...

Transformer在量化投资中的应用

开篇 深度学习的发展为我们创建下一代时间序列预测模型提供了强大的工具。深度人工神经网络&#xff0c;作为一种完全以数据驱动的方式学习时间动态的方法&#xff0c;特别适合寻找输入和输出之间复杂的非线性关系的挑战。最初&#xff0c;循环神经网络及其扩展的LSTM网络被设…...

a++ 和 ++a

由于后缀递增/递减运算符需要返回原始值&#xff0c;这可能导致编译器生成额外的代码来保存原始值&#xff0c;因此在某些情况下&#xff0c;前缀递增/递减可能更高效。在不涉及表达式结果的上下文中&#xff08;例如&#xff0c;在单独的语句中&#xff09;&#xff0c;a和a的…...

Python配置文件格式——INI、JSON、YAML、XML、TOML

文章目录 对比INIJSONYAMLXMLTOML参考文献 对比 格式优点缺点是否支持注释INI简单易懂语言内置支持不支持复杂数据结构✓JSON支持复杂数据结构阅读起来不够直观YAML简洁有序支持复杂数据结构灵活但有歧义不同实现有兼容性问题✓XML支持复杂数据结构和命名空间语法冗长体积较大…...

The First项目报告:Web3人生模拟器,DegenReborn带你重开币圈

2023年6月14日&#xff0c;ReadON APP的首页上&#xff0c;一篇引人注目的文章《黑客马拉松奖&#xff1a;‘Degenreborn’——Meme与GameFi的梦幻交汇》跃然眼前&#xff0c;该文章巧妙融合了NFT、GameFi及Ethereum等热门话题&#xff0c;为读者带来了一场科技与娱乐的盛宴。 …...

燃气经营企业从业人员考试真题及答案

燃气经营企业从业人员考试真题及答案 11.《城镇燃气设计规范》中规定&#xff1a;当穿过卫生间、阁楼或壁柜时&#xff0c;燃气管道应采用&#xff08;&#xff09;连接(金属软管不得有接头)&#xff0c;并应设在钢套管内。 A.法兰 B.软管 C.焊接 D.丝扣 答案&#xff1a…...

白骑士的Matlab教学进阶篇 2.1 数据可视化

系列目录 上一篇&#xff1a;白骑士的Matlab教学基础篇 1.5 数据输入与输出 数据可视化是MATLAB的一个强大功能&#xff0c;它能够将数据以图形的形式展示出来&#xff0c;便于理解和分析。本文将介绍MATLAB中的基本绘图函数、绘制2D图形、绘制3D图形以及高级图形属性与定制的…...

2024年8月 | 涉及侵权、抄袭洗稿违规行为公示

为护社区良好氛围&#xff0c;守护清朗网络空间&#xff0c;CSDN持续对侵害他人权益、抄袭洗稿违规内容进行治理。 今年7月&#xff0c;CSDN共计删除涉及抄袭洗稿内容xx篇&#xff0c;下架侵权资源xx个&#xff0c;封禁违规账号42个。 部分违规账号公示 账号昵称处置结果封禁创…...

操作系统快速入门(四)

&#x1f600;前言 本篇博文是关于操作系统的&#xff0c;希望你能够喜欢 &#x1f3e0;个人主页&#xff1a;晨犀主页 &#x1f9d1;个人简介&#xff1a;大家好&#xff0c;我是晨犀&#xff0c;希望我的文章可以帮助到大家&#xff0c;您的满意是我的动力&#x1f609;&…...

前缀异或优化

前言&#xff1a;这个题目其实就是考察前缀和&#xff0c;正常情况下开二维数组来记录&#xff0c;但是也可以优化成一位的位运算 我们顺便可以学习一下如何进行查询二进制串中1的个数 class Solution { public:vector<bool> canMakePaliQueries(string s, vector<vec…...

AI学习指南深度学习篇-卷积神经网络中的正则化和优化

AI学习指南深度学习篇-卷积神经网络中的正则化和优化 在深度学习领域&#xff0c;卷积神经网络&#xff08;Convolutional Neural Networks&#xff0c;CNN&#xff09;是一类非常重要的模型&#xff0c;被广泛应用于图像识别、目标检测等任务中。然而&#xff0c;在训练CNN时…...

AutoGen Studio 本地源码构建

目录 一、环境配置 1.1 创建本地环境 1.2 下载 autogen 源码 1.3 安装依赖 2. 构建 3. 运行 本文主要介绍 AutoGen Studio 本地源码构建过程。 一、环境配置 1.1 创建本地环境 通过 conda 创建一个环境,Python 3.10+,Node.js 14.15.0+。 conda create -n autogen p…...

医疗陪诊系统源码详解:在线问诊APP开发的技术要点

如今&#xff0c;开发一款高效、可靠的在线问诊APP则成为了许多企业的目标。本篇文章&#xff0c;小编将详细解析医疗陪诊系统的源码&#xff0c;并探讨在线问诊APP开发的关键技术要点。 一、医疗陪诊系统的基本功能 在开始开发之前&#xff0c;首先需要明确医疗陪诊系统的基本…...

VSCode编译多个不同文件夹下的C++文件

实际上VSCode编译C文件就是通过向g传递参数实现的&#xff0c;因此即使是不同包下面的cpp文件或者.h文件都是可以通过修改g的编译参数实现&#xff0c;而在VSCode中&#xff0c;task.json文件其实就是在配置g的编译参数&#xff0c;因此我们可以通过修改task.json里面的参数&am…...

【安卓】连接真机和使用通知

文章目录 连接到真机使用通知通知的简单使用通知的详细信息 连接到真机 先用USB线将手机与电脑连接。 打开手机的设置&#xff0c;找到关于手机&#xff0c;点开之后&#xff0c;找到开发者选项界面。或者找到软件版本号&#xff0c;连续点击&#xff0c;系统会提示你点击几次能…...

CSS3下拉菜单实现

导航菜单&#xff1a; <nav class"multi_drop_menu"><!-- 一级开始 --><ul><li><a href"#">Power</a></li><li><a href"#">Money</a></li><li><a href"#"…...

Mysql8.3.0排序导致分页数据错乱

#业务场景 生产环境 仓库管理&#xff0c;能看到各个仓库的C库位 物料管理&#xff0c;编辑物料&#xff0c;弹框时选择库位时&#xff0c;7页数据&#xff0c;没有C库位&#xff0c;查询条件指定C&#xff0c;能查到数据 本地环境 数据还原到本地 弹框数据在2页与第3页看…...

漏洞复现-Cacti命令执行漏洞 (CVE-2022-46169)

1.漏洞描述 Cacti是一套基于PHP&#xff0c;MySQL&#xff0c;SNMP及RRDTool开发的网络流量监测图形分析工具&#xff0c;可为用户提供强大且可扩展的操作监控和故障管理框架。 该漏洞存在于remote_agent.php文件中&#xff0c;未经身份验证的恶意攻击者可以通过设置HTTP_变量…...

Linux 文件类型,目录与路径,文件与目录管理

文件类型 后面的字符表示文件类型标志 普通文件&#xff1a;-&#xff08;纯文本文件&#xff0c;二进制文件&#xff0c;数据格式文件&#xff09; 如文本文件、图片、程序文件等。 目录文件&#xff1a;d&#xff08;directory&#xff09; 用来存放其他文件或子目录。 设备…...

React hook之useRef

React useRef 详解 useRef 是 React 提供的一个 Hook&#xff0c;用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途&#xff0c;下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...

三维GIS开发cesium智慧地铁教程(5)Cesium相机控制

一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点&#xff1a; 路径验证&#xff1a;确保相对路径.…...

边缘计算医疗风险自查APP开发方案

核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...

基于服务器使用 apt 安装、配置 Nginx

&#x1f9fe; 一、查看可安装的 Nginx 版本 首先&#xff0c;你可以运行以下命令查看可用版本&#xff1a; apt-cache madison nginx-core输出示例&#xff1a; nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)

服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...

深入理解JavaScript设计模式之单例模式

目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式&#xff08;Singleton Pattern&#…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练

前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1)&#xff1a;从基础到实战的深度解析-CSDN博客&#xff0c;但实际面试中&#xff0c;企业更关注候选人对复杂场景的应对能力&#xff08;如多设备并发扫描、低功耗与高发现率的平衡&#xff09;和前沿技术的…...

《基于Apache Flink的流处理》笔记

思维导图 1-3 章 4-7章 8-11 章 参考资料 源码&#xff1a; https://github.com/streaming-with-flink 博客 https://flink.apache.org/bloghttps://www.ververica.com/blog 聚会及会议 https://flink-forward.orghttps://www.meetup.com/topics/apache-flink https://n…...

蓝桥杯3498 01串的熵

问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798&#xff0c; 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...