添加自定义监控项目、配置邮件告警、测试告警、不发邮件的问题处理

简介:

添加自定义监控项目

需求:监控某台web的80端口连接数,并出图。
步骤:
1) zabbix监控中心创建监控项目
2) 针对该监控项目以图形展现
被监控端:
1、
[root@centos7-2 local]# vim /usr/local/sbin/estab.sh

#!/bin/bash
##获取80端口并发连接数
netstat -ant |grep ':80 ' |grep -c ESTABLISHED
#注意:80后面跟一个空格,保证匹配更精确,如果不加空格,会把8080端口同时过滤出来。

2、chmod 755 /usr/local/sbin/estab.sh
3、vim /etc/zabbix/zabbix_agentd.conf
#表示使用自定义脚本
UnsafeUserParameters=1
#自定义监控项的key(监控web端“键值”)为my.estab.count,后面的[]里面写的是脚本参数;#如果没有参数则可以省略,脚本为/usr/local/sbin/estab.sh
UserParameter=my.estab.count[
],/usr/local/sbin/estab.sh

4、[root@centos7-2 local]# systemctl restart zabbix-agent.service
验证是否生效:
在服务端操作
[root@centos7 fonts]# zabbix_get -s 192.168.3.75 -p 10050 -k 'my.estab.count'
4

客户端配置完成.

配置web端参数
1、添加监控项
类型:Zabbix客户端:表示的是被动模式。Zabbix客户端(主动式):这个是主动模式

添加自定义监控项目、配置邮件告警、测试告警、不发邮件的问题处理

2、添加图形
添加自定义监控项目、配置邮件告警、测试告警、不发邮件的问题处理

3、验证:
添加自定义监控项目、配置邮件告警、测试告警、不发邮件的问题处理

创建触发器

1、为了验证以下的邮件报警,测试下
添加自定义监控项目、配置邮件告警、测试告警、不发邮件的问题处理

2、
添加自定义监控项目、配置邮件告警、测试告警、不发邮件的问题处理

配置邮件告警

1、使用163邮箱或QQ邮箱发送告警邮件。

开启邮箱的POP3、IMAP、SMTP服务

登录163邮箱,开启POP3、IMAP、SMTP服务:
需要开启授权码(这个是在第三方客户端上登录163账号时才需要用到,比如在安卓机上设置163邮箱账号)
添加自定义监控项目、配置邮件告警、测试告警、不发邮件的问题处理

2、配置报警媒介类型

“管理”——“报警媒介类型”——“创建媒介类型”:
{ALERT.SENDTO}:收件人
{ALERT.SUBJECT}:邮件主题
{ALERT.MESSAGE}:邮件内容

添加自定义监控项目、配置邮件告警、测试告警、不发邮件的问题处理

添加报警脚本mail.py
服务端:
查看报警脚本保存的路径
报错:(被163的给屏蔽了,那就用qq吧)
添加自定义监控项目、配置邮件告警、测试告警、不发邮件的问题处理
[root@centos7 fonts]# vim /etc/zabbix/zabbix_server.conf
AlertScriptsPath=/usr/lib/zabbix/alertscripts

创建报警脚本mail.py:

[root@centos7 alertscripts]# cat mail.py 
#!/usr/bin/env python
#-- coding: UTF-8 --
import os,sys
reload(sys)
sys.setdefaultencoding('utf8')
import getopt
import smtplib
from email.MIMEText import MIMEText
from email.MIMEMultipart import MIMEMultipart
from subprocess import *
def sendqqmail(username,password,mailfrom,mailto,subject,content):
gserver = 'smtp.163.com'
gport = 25
try:
msg = MIMEText(unicode(content).encode('utf-8'))
msg['from'] = mailfrom
msg['to'] = mailto
msg['Reply-To'] = mailfrom
msg['Subject'] = subject
smtp = smtplib.SMTP(gserver, gport)
smtp.set_debuglevel(0)
smtp.ehlo()
smtp.login(username,password)
smtp.sendmail(mailfrom, mailto, msg.as_string())
smtp.close()
except Exception,err:
print "Send mail failed. Error: %s" % err
def main():br/>to=sys.argv[1]
subject=sys.argv[2]
content=sys.argv[3]
##定义QQ邮箱的账号和密码,你需要修改成你自己的账号和密码(请不要把真实的用户名和密码放到网上公开,否则你会死的很惨)
sendqqmail('Su@163.com','11111','Su@163.com',to,subject,content)
<="" a="" data-filtered="filtered" style="margin: 0px; padding: 0px; max-width: 100%;"> if name == "main":
main()

#####脚本使用说明######
#1、设置若是更改为qq邮箱,还需要设置gserver = 'smtp.163.com'
#2、 首先定义好脚本中的邮箱账号和密码(授权码的密码)
#3、 脚本执行命令为:python mail.py 目标邮箱 "邮件主题" "邮件内容"

更改权限
[root@centos7 alertscripts]# chmod 755 /usr/lib/zabbix/alertscripts/mail.py

测试脚本是否可以发送邮件
[root@centos7 alertscripts]# python mail.py Su@163.com "test-mail" "test-192.168.3.74"

登录查看下是否收到邮件信息。可以收到如下:
添加自定义监控项目、配置邮件告警、测试告警、不发邮件的问题处理

3、配置创建用户
添加自定义监控项目、配置邮件告警、测试告警、不发邮件的问题处理

添加自定义监控项目、配置邮件告警、测试告警、不发邮件的问题处理

添加自定义监控项目、配置邮件告警、测试告警、不发邮件的问题处理

在用户群组(Zabbix administrators)中需要设置读写权限
添加自定义监控项目、配置邮件告警、测试告警、不发邮件的问题处理

4、配置动作

设置触发器被触发后所要执行的的操作!

“配置”——“动作”——“创建动作”:
维护状态 非在 维护:管理员没有在维护的时候
触发器示警度 >= 未分类:发送所有警报

添加自定义监控项目、配置邮件告警、测试告警、不发邮件的问题处理

操作部分:
主机、时间、级别、名称、内容信息、id号
HOST:{HOST.NAME} {HOST.IP}
TIME:{EVENT.DATE} {EVENT.TIME} 
LEVEL:{TRIGGER.SEVERITY} 
NAME:{TRIGGER.NAME}
messages:{ITEM.NAME}:{ITEM.VALUE}
ID:{EVENT.ID}

当步骤为 1 - 0 时表示的是第一步到无穷大的步骤,意思是一直进行下去
步骤持续时间:60s;表示每隔60s就执行发送邮件

添加自定义监控项目、配置邮件告警、测试告警、不发邮件的问题处理

添加自定义监控项目、配置邮件告警、测试告警、不发邮件的问题处理

添加自定义监控项目、配置邮件告警、测试告警、不发邮件的问题处理

恢复操作:
添加自定义监控项目、配置邮件告警、测试告警、不发邮件的问题处理

测试告警

1、设置下
添加自定义监控项目、配置邮件告警、测试告警、不发邮件的问题处理

2、可以收到













本文转自方向对了,就不怕路远了!51CTO博客,原文链接: http://blog.51cto.com/jacksoner/2044790,如需转载请自行联系原作者




相关文章
|
19天前
|
监控 负载均衡 容灾
slb测试配置
slb测试配置
28 5
|
24天前
|
机器学习/深度学习 算法 UED
在数据驱动时代,A/B 测试成为评估机器学习项目不同方案效果的重要方法
在数据驱动时代,A/B 测试成为评估机器学习项目不同方案效果的重要方法。本文介绍 A/B 测试的基本概念、步骤及其在模型评估、算法改进、特征选择和用户体验优化中的应用,同时提供 Python 实现示例,强调其在确保项目性能和用户体验方面的关键作用。
29 6
|
26天前
|
机器学习/深度学习 算法 UED
在数据驱动时代,A/B 测试成为评估机器学习项目效果的重要手段
在数据驱动时代,A/B 测试成为评估机器学习项目效果的重要手段。本文介绍了 A/B 测试的基本概念、步骤及其在模型评估、算法改进、特征选择和用户体验优化中的应用,强调了样本量、随机性和时间因素的重要性,并展示了 Python 在 A/B 测试中的具体应用实例。
27 1
|
27天前
|
安全 应用服务中间件 网络安全
如何测试Nginx反向代理实现SSL加密访问的配置是否正确?
如何测试Nginx反向代理实现SSL加密访问的配置是否正确?
52 3
|
28天前
|
监控 安全 测试技术
如何在实际项目中应用Python Web开发的安全测试知识?
如何在实际项目中应用Python Web开发的安全测试知识?
28 4
|
1月前
|
网络协议 关系型数据库 应用服务中间件
【项目场景】请求数据时测试环境比生产环境多花了1秒是怎么回事?
这是一位粉丝(谢同学)给V哥的留言,描述了他在优化系统查询时遇到的问题:测试环境优化达标,但生产环境响应时间多出1秒。通过抓包分析,发现MySQL请求和响应之间存在500毫秒的延迟,怀疑是网络传输开销。V哥给出了以下优化建议:
|
1月前
|
Web App开发 定位技术 iOS开发
Playwright 是一个强大的工具,用于在各种浏览器上测试应用,并模拟真实设备如手机和平板。通过配置 `playwright.devices`,可以轻松模拟不同设备的用户代理、屏幕尺寸、视口等特性。此外,Playwright 还支持模拟地理位置、区域设置、时区、权限(如通知)和配色方案,使测试更加全面和真实。例如,可以在配置文件中设置全局的区域设置和时区,然后在特定测试中进行覆盖。同时,还可以动态更改地理位置和媒体类型,以适应不同的测试需求。
Playwright 是一个强大的工具,用于在各种浏览器上测试应用,并模拟真实设备如手机和平板。通过配置 `playwright.devices`,可以轻松模拟不同设备的用户代理、屏幕尺寸、视口等特性。此外,Playwright 还支持模拟地理位置、区域设置、时区、权限(如通知)和配色方案,使测试更加全面和真实。例如,可以在配置文件中设置全局的区域设置和时区,然后在特定测试中进行覆盖。同时,还可以动态更改地理位置和媒体类型,以适应不同的测试需求。
64 1
|
2月前
|
监控 Java Maven
springboot学习二:springboot 初创建 web 项目、修改banner、热部署插件、切换运行环境、springboot参数配置,打包项目并测试成功
这篇文章介绍了如何快速创建Spring Boot项目,包括项目的初始化、结构、打包部署、修改启动Banner、热部署、环境切换和参数配置等基础操作。
158 0
|
3天前
|
监控 JavaScript 测试技术
postman接口测试工具详解
Postman是一个功能强大且易于使用的API测试工具。通过详细的介绍和实际示例,本文展示了Postman在API测试中的各种应用。无论是简单的请求发送,还是复杂的自动化测试和持续集成,Postman都提供了丰富的功能来满足用户的需求。希望本文能帮助您更好地理解和使用Postman,提高API测试的效率和质量。
27 11
|
1月前
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
60 3
下一篇
DataWorks