linux(centos8):zabbix配置邮件报警(监控错误日志)(zabbix5.0)
一,zabbix5.0发邮件报警的准备工作:
zabbix5.0在linux平台上的安装:参见这一篇:
https://www.cnblogs.com/architectforest/p/12912560.html
阿里云主机linux平台配置mailx使用smtps发邮件,参见这一篇:
https://www.cnblogs.com/architectforest/p/12924395.html
说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest
对应的源码可以访问这里获取: https://github.com/liuhongdi/
说明:作者:刘宏缔 邮箱: 371125307@qq.com
二,使zabbix可以通过bash脚本发邮件:
备注:在添加发邮件脚本前应已完成mailx的配置
[root@blog ~]# more /etc/mail.rc
#其他配置...
#by lhd
set from=cbnlaoliuhb@163.com
set smtp=smtps://smtp.163.com:465
set smtp-auth-user=cbnlaoliuhb@163.com
set smtp-auth-password=TVPPDSCLUUIVULOL
set smtp-auth=login
##set smtp-use-starttls
set ssl-verify=ignore
set nss-config-dir=/root/.163certs
1,创建发邮件发警的脚本所在目录:
[root@blog zabbx-5.0.0]# mkdir -p /data/zabbix_server/data/alertscripts
2,修改zabbix_server的配置
修改配置文件:
[root@blog zabbx-5.0.0]# vi /usr/local/soft/zabbx-5.0.0/etc/zabbix_server.conf
设置配置项:
AlertScriptsPath=/data/zabbix_server/data/alertscripts
重启服务
[root@blog zabbx-5.0.0]# systemctl restart zabbix-server.service
3,编写发邮件的脚本
[root@blog zabbx-5.0.0]# vi /data/zabbix_server/data/alertscripts/mailx.sh
内容:
#!/bin/bash
echo "$3" | mail -s "$2" "$1"
4,为脚本增加可执行权限和修改owner
[root@blog zabbx-5.0.0]# chmod +x /data/zabbix_server/data/alertscripts/mailx.sh
[root@blog zabbx-5.0.0]# chown zabbix:zabbix /data/zabbix_server/data/alertscripts/mailx.sh
5,测试发一封邮件:
[root@blog ~]# sudo -u zabbix /data/zabbix_server/data/alertscripts/mailx.sh 371125307@qq.com "zabbix alert" "/etc/passwd is changed"
能收到表示发邮件成功
查看邮箱:

三,配置zabbix监控到问题时触发动作发邮件报警
我们添加一个例子:当php的错误日志中出现error字样时,发送邮件报警
1,配置报警媒介:

说明:注意脚本名称:不要写绝对路径,因为在配置文件中已经做了配置
在这里我把Email改名成了email脚本,大家可以新建一个媒介类型
2,测试 Email脚本 这个媒介类型是否能正常发送邮件?

看到 “Media type test successful.”,并收到邮件,
表示报警媒介工作正常
3,新建一个用户组和用户,用来接收邮件

说明:不能只创建用户而不创建用户组,因为要使用用户组来配置权限

说明:邮件用户组要对监控的主机群组有读写权限
创建用户:

配置用户的报警媒介:

4,给web2这台主机增加对日志/data/logs/phplogs/error.log的监控触发器:
监控的字串是:ERROR

5,配置动作:当触发动作时会发邮件到指定用户报警
新建一个动作:

注意选中我们新建的触发器
还要增加发邮件报警的操作

6,测试效果
登录到web2,在error.log中新加一行:
[root@web2 phplogs]# vi error.log
新加一行:
ERROR fatal 3009
回到zabbix查看仪表板(注意有可能有几秒钟时间的延时):

已经报告了问题
此时邮箱也收到了邮件.
7,mailx通过脚本发送邮件有一个问题:邮件内容会作为附件发送,邮件本身的内容为空,如何解决?
查看是否存在dos2unix命令?
[root@blog ~]# whereis dos2unix
dos2unix: /usr/bin/dos2unix /usr/share/man/man1/dos2unix.1.gz
如果不存在,用dnf安装
[root@blog ~]# dnf install dos2unix
修改发邮件的脚本:
[root@blog phplogs]# vi /data/zabbix_server/data/alertscripts/mailx.sh
内容:
#!/bin/bash
#echo "$3" | mail -s "$2" "$1"
FILE=/tmp/mailtmp${RANDOM}.txt
touch $FILE
echo "$3" >$FILE
dos2unix -k $FILE
mailx -v -s "$2" "$1" < $FILE
rm -rf $FILE
之后邮件发送正常,内容可以正常显示
如图:

四,查看zabbix的版本:
[root@blog zabbix-5.0.0]# /usr/local/soft/zabbx-5.0.0/sbin/zabbix_server --version
zabbix_server (Zabbix) 5.0.0
Revision 9665d62db0 11 May 2020, compilation time: May 17 2020 09:37:03 Copyright (C) 2020 Zabbix SIA
License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it according to
the license. There is NO WARRANTY, to the extent permitted by law.
linux(centos8):zabbix配置邮件报警(监控错误日志)(zabbix5.0)的更多相关文章
- zabbix配置邮件报警(第四篇)
zabbix配置邮件报警(第四篇) 邮件报警可采用本地邮件服务,也可以自定义脚本,这里我采用本地邮件服务报警 添加收件人
- zabbix配置邮件报警
1.yum源安装sendmail,sendmail-cf和mailx 2.关闭postfix,/etc/init.d/postfix stop chkconfig posfix off 3.启动sen ...
- zabbix监控MySQL,Tomcat及配置邮件报警
目录 一.思路 二.部署.配置 环境 安装zabbix 对zabbix进行初步优化 添加监控主机 部署监控Tomcat 配置邮件报警 三.总结 一.思路 首先搭建zabbixserver,本机需要安装 ...
- zabbix server3.4 使用mailx配置邮件报警
软件具体配置如下: 操作系统:Centos7.5 zabbix server版本:zabbix server3.4 zabbix agent版本:zabbix agent3.0 现在开始配置zabbi ...
- zabbix添加邮件报警机制
zabbix添加邮件报警机制 作者:尹正杰 还记得之前跟大家聊过的一个如何监控一个目录的话题吗?我们虽然监控出来数据了,也有数据了,但是,只是监控也没有用啊~因为我们不能24小时盯着屏幕然后 出了事情 ...
- 【Zabbix】zabbix设置邮件报警
目录 Zabbix设置邮件报警 1.安装sendmail或postfix 2.安装邮件发送工具mailx . 3.配置mail 4. 测试邮件发送 5.编写邮件发送脚本sendmail.sh 6.设置 ...
- Prometheus(四):Prometheus+Alertmanager 配置邮件报警
此处默认已安装Prometheus服务,服务地址:192.168.56.200 一.安装Alertmanager 此处采用源码编译的方式安装.首先下载alertmanager的软件包,下载地址:ht ...
- MS SQL 监控错误日志的告警信息
SQL Server的错误消息(Error Message)按照消息的严重级别一共划分25个等级,级别越高,表示严重性也越高.但是如果你统计sys.messages,你会发现,实际上只有16(SQL ...
- 2. SQL Server数据库状态监控 - 错误日志
原文:2. SQL Server数据库状态监控 - 错误日志 无论是操作系统 (Unix 或者Windows),还是应用程序 (Web 服务,数据库系统等等) ,通常都有自身的日志机制,以便故障时追溯 ...
随机推荐
- UNIX编程艺术
本文主要是 <UNIX编程艺术>的摘录,摘录的主要是我觉得对从事软件开发有用的一些原则. 对于程序员和开发人员来说,如果完成某项任务所需要付出的努力对他们是个挑战却又恰好还在力所能及的范围 ...
- Java 8 Stream API实例
一.开篇 Stream?其实就是处理集合的一种形式,称之为流,在Java8中被引入,可被Collection中的子类调用. 作用?简化代码,提升你的开发效率. 不会?看完这篇你就能自己上手了! 二.实 ...
- ansible中定义变量的若干方法
Ansible支持十几种定义变量的方式 根据优先级排序的定义方式: Inventory变量 Host Facts变量 Playbook变量 Playbook提示变量 变量文件 命令行变量 1.Inve ...
- 2020重新出发,JAVA高级,JVM种设计模式
Java的23种设计模式全面解析 设计模式(Design Pattern)是前辈们对代码开发经验的总结,是解决特定问题的一系列套路.它不是语法规定,而是一套用来提高代码可复用性.可维护性.可读性.稳健 ...
- oracle之通过group by产生统计报告
通过group by产生统计报告 Oracle数据库中的ROLLUP配合group by命令使用,可以提供信息汇总功能(与"小计"相似)CUBE,也是GROUP BY子句的一种扩展 ...
- 你想了解的分布式文件系统HDFS,看这一篇就够了
1.分布式文件系统 计算机集群结构 分布式文件系统把文件分布存储到多个节点(计算机)上,成千上万的计算机节点构成计算机集群. 分布式文件系统使用的计算机集群,其配置都是由普通硬件构成的,与用多个处理器 ...
- [LeetCode]Sql系列4
##题目1 626. 换座位 小美是一所中学的信息科技老师,她有一张 seat 座位表,平时用来储存学生名字和与他们相对应的座位 id. 其中纵列的 id 是连续递增的 小美想改变相邻俩学生的座位. ...
- [LeetCode]69. x 的平方根(数学,二分)
题目 https://leetcode-cn.com/problems/sqrtx 题解 方法一:牛顿迭代法 按点斜式求出直线方程(即过点Xn,f(Xn)),然后求出直线与x轴交点,即为Xn+1: 求 ...
- 十分钟快速上手NutUI
本文将会从 NutUI 初学者的使用入手,对 NutUI 做了一个快速的概述,希望能帮助新人在项目中快速上手. 文章包括以下主要内容 安装引入 NutUI NutUI 组件的使用 NutUI 主题和样 ...
- Dubbo工作流程
一.dubbo整体架构 其中Service 和 Config 层为 API,对应服务提供方来说是使用ServiceConfig来代表一个要发布的服务配置对象,对应服务消费方来说ReferenceCon ...