利用数据库邮件服务实现监控和预警

背景

现在越来越多的企业、公司要求对于数据库实现7*24小时的数据库监控,一般情况下采用的就是第三方的平台来实现邮件和手机短信的监测提醒。前几日公司新上了一台服务器,急于部署程序还没来得及搭建其他相关平台,为了更好的监控数据库,暂时用SQL Server自带的邮件服务来实现对数据库的监控和预警。下面简要介绍下配置的过程便于以后使用。

配置邮件

整个部分的核心就是配置邮件服务,这部分需要一个邮件账户以及相应的邮件服务器。下面就以QQ的邮件为例进行说明。

1.设置邮件服务器

开启SMTP服务,点击开启,然后点击下方的生成授权码,获得授权码就是数据库发送邮件账号的密码。

2.配置数据库邮件

打开MSSM--》管理--》数据库邮件--》邮件配置数据库邮件—》如下选择

点击下一步后按照步骤123进行配置。

首先创建账户如下:

使用创建的账户作为配置账户

接下来需要选择安全公共配置,选中刚才配置的文件名,然后后面默认为配置文件

然后,可以修改“配置系统参数”,比如账户重试次数,禁止的附件文件扩展名,单击下一步,,默认配置即可:

都完成后会显示如下四个成功状态:

这样配置邮件服务就完成了可以右键“数据库邮件”点击测试邮件。也可以代码执行

--发送邮件
EXEC msdb.dbo.sp_send_dbmail
    @profile_name = ‘XXXX‘,         --配置文件名称
    @recipients = ‘[email protected]‘,  --收件email地址
    @subject = ‘你好‘,                 --邮件主题
    @body = ‘…‘            --邮件正文内容
 
执行完毕后可以通过错误日志下面的邮件日志来查看详细情况。
 
如果收到了邮件那么就可以进行下一步对于数据库的监控了,这里介绍两种一种是job的指定监控还有一种是警报监控。

job自定义语句监控

1.创建作业,核心就是在步骤中加入对指定数据的监测超过时触发通知。这里通过一个raiseerror 即可:

2.配置通知,当失败是发送电子邮件。

 

2.警报监控

何为警报:MS SQL SERVER自动将发生的事情记录在Windows的程序日志中。SQL SERVER AGENT会自动监视由SQL SERVER记录的程序执行日志,如果找到符合定义的Action发生,将拉响响应事件的警报。
 警报的机制如图
 忘记哪里的图了

机制理解:

要创建不同级别的警报,就必须得将错误写到Windows时间日志中。这个不难理解。因为在警报概念部分我们已经说了,SQL SERVER代理是从事件日志上读取错误信息。当SQL SERVER代理读取了事件日志并在此发现了新错误时,就会搜索整个数据库来寻找相应的警报。一旦SQL SERVER代理发现了Match的警报,将立即激活该警报,从而通知相关人员或者根据Job的设定来做出相应的反应。
简要配置如下,主要有三种监控类型:事件警报/性能警报/WMI警报,这里就不一一介绍了举例一个说明
 
可以选择警报类型,针对数据库和严重性中选择监测内容比如权限不足,当发生权限不足时报警:
 
 
如下图所示,可以设定发生警报时向哪些操作员进行通知。点击新增操作员按钮,可以完成添加警报通知的操作员,选择电子邮件即可
 
 
如下图所示,可以设定警报错误发送的方式,可以选择[E-mail]、[Pager]、[Net send]复选框(可多选),
同时可以填写在发送警报的同时给出的通知消息,并能够对响应的间隔时间进行设定。
 
 

总结

由于平时习惯了第三方平台的使用所以很少配置邮件服务,近日尝试一下以后发现如果服务器网络通畅或者内网服务完整,使用该服务还是很方便的,而且毕竟是微软自己的东西对于很多指标的监控也比较快捷到位。需要主要的是该功能对于权限的要求比较高,有时候需要调整用户权限等等才可以正常发送邮件。当没有第三方发送预警平台时可以考虑这种方式,是很不错的体验。

时间: 2024-10-07 06:54:30

利用数据库邮件服务实现监控和预警的相关文章

zabbix利用自带的模板监控mysql数据库

zabbix利用自带的模板监控mysql数据库 作者:尹正杰 有些东西你不会的时候觉得它特别难,但是当你去做的时候就发现如此的简单~zabbix功能的强大我在这里就不多说了,好不好 使你用用就知道了,哈哈······, 其实zabbix监控agent端的mysql数据库原理上很简单,就是你需要在zabbix客户端新建一个用户,这个用户的账号密码存放到 隐藏的文件中,(也是考虑安全性嘛~),服务端通过读取这个配置文件的用户密码去登陆数据库,然后把采集的结果反馈给客户端, 切记我们这里不要给root

Spring Cloud实战之初级入门(四)— 利用Hystrix实现服务熔断与服务监控

目录 1.环境介绍 2.服务监控 2.1 加入依赖 2.2 修改配置文件 2.3 修改启动文件 2.4 监控服务 2.5 小结 3. 利用hystrix实现消费服务熔断 3.1 加入服务熔断 3.2 测试服务熔断 4. 利用turbine监控所有应用 4.1 创建工程 4.2 修改配置文件 4.3 修改启动文件 4.4 启动 5.一点点重要的事情 1.环境介绍 本篇文章涉及到前面文章的工程,mirco-service-provider.mirco-service-consumer以及需要另外新建

电商邮件服务平台性能优化谈

从今年一月份开始,团队陆续完成了邮件服务的架构升级.新平台上线运行的过程中也发生了一系列的性能问题,即使很多看起来微不足道的点也会让整个系统运行得不是那么平稳,今天就将这段时间的问题以及解决方案统一整理下,希望能起到抛砖的作用,让读者在遇到类似问题的时候能多一个解决方案. 新平台上线后第一版架构如下: 这版架构上线后,我们遇到的第一个问题:数据库读写压力过大后影响整体服务稳定. 表现为: 1.数据库主库压力高,同时伴有大量的读,写操作. 2.远程服务接口性能不稳定,业务繁忙时数据库的插入操作延迟

谢烟客---------Linux之邮件服务及任务计划执行

任务计划命令 mail,at,batch,crond,sleep 邮件服务工作模式: 发 代理-> stmp --> smtp --> 投递代理 --> 邮筒 --> pop3,imap4 <-- 代理 <-- 收 at,mail,batch,cron命令均建议用完整路径或在脚本中定义PATH 特点: mail -s '主题' [email protected] 发邮件 batch 根据负载选定命令执行时间 at HH:MM am|pm [YYYY-MM-DD]

oracle实例名,数据库名,服务名等概念差别与联系

数据库名.实例名.数据库域名.全局数据库名.服务名 这是几个令非常多刚開始学习的人easy混淆的概念.相信非常多刚開始学习的人都与我一样被标题上这些个概念搞得一头雾水.我们如今就来把它们弄个明确. 一.数据库名 什么是数据库名?数据库名就是一个数据库的标识,就像人的身份证号一样.他用參数DB_NAME表示,如果一台机器上装了多全数据库,那么每个数据库都有一个数据库名.在数据库安装或创建完毕之后,參数DB_NAME被写入參数文件之中.格式例如以下:DB_NAME=myorcl...在 创建数据库时

Linux基础之-利用shell脚本实现自动监控系统服务

目的:监控集群内nginx及nfs服务运行是否正常,如任一服务异常,则发送邮件通知用户 条件:1. 主机及子机IP地址,hostname已确定: 2. 主机与子机能够免密通讯,即基于密匙通讯(相关命令:ssh-keygen;ssh-copy-id -i web1); 需要的文件:    1. python邮件发送工具: 2. nfc.sh监控脚本,监控nginx及nfs服务状态,并调用mail发送工具通知用户: 3. nfc-install.sh监控部署脚本,运行在主机,为子机配置文件,执行命令

James+Javamail构建邮件服务

James+Javamail构建邮件服务 本文描述如何使用James搭建具备一定邮件过滤.邮件操作功能的邮件服务器,以及使用Javamail实现对James服务器邮件的收发功能. 1 关于James与Javamail Apache James(Java Apache Mail Enterprise Server)是Apache组织的子项目之一,完全采用纯Java技术开发,实现了SMTP.POP3与NNTP等多种邮件相关协议.James是一个邮件应用平台,可以通过Mailet扩充其功能,如Mail

SqlServer 数据库邮件

SQLserver 自带的邮件发送功能,可以很方便将数据库中的信息发送给相关人员.如 可以结合监控事件将警告信息发给管理人员,可以结合作业定时发送报表给相关人员等. 数据库邮件配置很简单,以下以图文配置: 1. 管理--数据库邮件(右键)--配置数据库邮件 2. 打开数据库邮件配置向导,选择第一个"通过执行以下人物来安装数据库邮件" 3. 首先"新建配置文件",填写"配置文件名",再点击 添加 SMTP账户 4. 创建邮件账户 帐户名:数据库中看

邮件服务

邮件语言:M4 SASL: v2 cyrus-sasl 认证框架 courier-authlib MTA: 邮件传输代理,SMTP服务器 sendmail,  UUCP qmail 数学家当程序员,他写的算法绝对是一流的 postfix 安全.兼容.效率高 exim Exchange (异步消息协作平台) 重量级 MDA: 邮件投递代理 procmail maildrop MRA: 邮件检索代理(pop3, imap4) cyrus-imap dovecot MUA: 邮件用户代理 Outloo