数据库的邮件告警
目前对达梦的的数据库监控往往是通过第三方监控来实现,但是如果运维的系统没有那么多却部署一套第三方的监控又不是那么划算,那么有没有一种办法可以让达梦软件自己来发送告警信息呢。通过数据库自身的机制发现异常的时候就发送出告警信息,降低运维人员的压力。
达梦作业系统
达梦作业系统有警告的功能模块。警告模块里面内置了触发警报的错误和数据库事件
又可以将触发告警操作的相关错误码记录下来,那么这样运维人员收到告警就可以做到心中有数,从容不迫的进行问题处理。
配置达梦告警
1.开启操作系统邮件服务
检查postfix服务是否启动
# systemctl status postfix.service
● postfix.service - Postfix Mail Transport Agent
Loaded: loaded (/usr/lib/systemd/system/postfix.service; enabled; vendor preset: disabled)
Active: active (running) since Sat 2022-04-23 22:10:42 CST; 4 months 9 days ago
Main PID: 1267 (master)
CGroup: /system.slice/postfix.service
├─ 1267 /usr/libexec/postfix/master -w
├─ 1299 qmgr -l -t unix -u
└─13390 pickup -l -t unix -u
Apr 23 22:10:41 VM-20-12-centos systemd[1]: Starting Postfix Mail Transport Agent...
Apr 23 22:10:42 VM-20-12-centos postfix/postfix-script[1220]: starting the Postfix mail system
Apr 23 22:10:42 VM-20-12-centos postfix/master[1267]: daemon started -- version 2.10.1, configuration /etc/postfix
Apr 23 22:10:42 VM-20-12-centos systemd[1]: Started Postfix Mail Transport Agent.
#
# systemctl restart postfix.service
# netstat -tunlp |grep 25
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 20102/master
tcp6 0 0 ::1:25 :::* LISTEN 20102/master
udp6 0 0 ::1:25805 :::* 9289/ora_d000_orcl
2.开启达梦作业系统并配置环境属性
使用SYSDBA用户登录数据库并执行如下操作
--开启达梦代理作业系统
SP_INIT_JOB_SYS(1);
--创建监控服务DMJOB 管理员
SP_ADD_MAIL_INFO('SYSDBA','SYSDBA','192.168.0.212','admin@dameng.shanghai','admin@dameng.shanghai','888888');
SP_ADD_MAIL_INFO(login_name,login_pwd,smtp_server,email,user_name,user_pwd)函数的参数解释如下,很明显告警系统就是通过DMJOB 管理员的信息来进行告警信息的发送。因此我们需要保证达梦服务器可以与邮箱服务器地址smtp_server网络通讯正常。
3.开启监控服务
./dmjmon USERID=SYSDBA/SYSDBA@127.0.0.1:5236
initial monitor system ...
SYSTEM IS READY.
####可以通过服务名的方式进行启动
#### 使用服务名方式进行启动需要配置连接信息
./DmJobMonitorService start
4.配置操作员
操作员就是告警信息的接收方,自定义一个操作员的名字,写上接收告警的邮箱地址
5.配置告警信息
配置告警信息,我们选用达梦管理工具来实现
1)先填写需要触发的告警事件
2) 再设置告警通过网络邮件的方式进行发送给操作员TOM
6.验证
造一个告警,然后就可以在tom的邮箱上接收到告警信息了,如果你造了好多告警,那么邮件的狂空乱炸是少不了的
7.查看历史告警
在告警事件的的标签上右键,就可以看到历史告警,查看到更加相信的告警信息。
总结
通过达梦作业系统内置的告警系统,可以非常容易的捕获到达梦数据库的异常事件,同时在不配置邮件告警发送的情况下,我们可以通过查询SYSALERTHISTORIES 表来查看历史告警信息,大大降低了运维人员的压力,可谓非常妙