当前位置:首页 > RockyLinux > 正文

RockyLinux DNS监控告警设置(手把手教你搭建DNS服务异常自动告警系统)

在企业运维中,DNS服务是网络通信的关键组件。一旦DNS出现故障,可能导致整个业务系统无法访问。因此,在RockyLinux系统中配置一套可靠的DNS监控告警机制至关重要。本教程将从零开始,帮助你——即使你是Linux新手——轻松搭建一个简单但高效的DNS监控与邮件告警系统。

RockyLinux DNS监控告警设置(手把手教你搭建DNS服务异常自动告警系统) DNS监控  DNS告警设置 Linux系统监控 网络服务告警 第1张

一、准备工作

确保你的RockyLinux服务器已安装以下软件:

  • bind-utils:用于执行 dignslookup 测试DNS解析
  • mailx:用于发送告警邮件
  • 一个可正常工作的本地或远程SMTP邮箱(如Gmail、企业邮箱等)

使用以下命令安装所需工具:

sudo dnf install -y bind-utils mailx  

二、编写DNS监控脚本

我们将创建一个简单的Bash脚本来定期检查DNS解析是否正常。

创建脚本文件 /usr/local/bin/dns_monitor.sh

sudo nano /usr/local/bin/dns_monitor.sh  

将以下内容粘贴进去(请根据实际情况修改变量):

#!/bin/bash# 配置区域 —— 请根据你的环境修改DOMAIN_TO_CHECK="example.com"DNS_SERVER="8.8.8.8"  # 可替换为你的内网DNS服务器IPALERT_EMAIL="admin@yourcompany.com"LOG_FILE="/var/log/dns_monitor.log"# 检查DNS解析if ! dig @${DNS_SERVER} ${DOMAIN_TO_CHECK} +short &>/dev/null; then    # 如果解析失败,记录日志并发送邮件    echo "$(date): DNS resolution failed for ${DOMAIN_TO_CHECK} via ${DNS_SERVER}" >> $LOG_FILE    echo "DNS服务异常!域名: ${DOMAIN_TO_CHECK}DNS服务器: ${DNS_SERVER}时间: $(date)请立即检查!" | mail -s "【告警】DNS解析失败" ${ALERT_EMAIL}else    # 可选:记录成功日志(建议仅用于调试)    # echo "$(date): DNS OK" >> $LOG_FILE    :fi  

保存并退出编辑器,然后赋予脚本执行权限:

sudo chmod +x /usr/local/bin/dns_monitor.sh  

三、配置邮件发送(以Gmail为例)

为了让 mailx 能通过SMTP发送邮件,需配置 /etc/mail.rc 文件:

sudo nano /etc/mail.rc  

在文件末尾添加以下内容(替换为你自己的邮箱和授权码):

set smtp=smtps://smtp.gmail.com:465set smtp-auth=loginset smtp-auth-user=your_email@gmail.comset smtp-auth-password=your_app_password  # 注意:不是登录密码,是Gmail应用专用密码set ssl-verify=ignoreset nss-config-dir=/etc/pki/nssdb/  
提示:如果你使用的是企业邮箱,请参考对应SMTP服务器地址和端口进行配置。

四、设置定时任务(Cron)

使用 crontab 每5分钟运行一次监控脚本:

crontab -e  

添加以下行:

*/5 * * * * /usr/local/bin/dns_monitor.sh  

保存后,系统将每5分钟自动检测一次DNS解析状态,并在失败时发送邮件告警。

五、测试与验证

你可以手动运行脚本测试:

/usr/local/bin/dns_monitor.sh  

也可以临时修改脚本中的 DOMAIN_TO_CHECK 为一个不存在的域名(如 nonexistent.fake),触发告警,确认邮件是否能正常收到。

六、总结

通过以上步骤,你已在RockyLinux上成功部署了一套轻量级的DNS监控告警系统。这套方案成本低、易于维护,非常适合中小企业或个人项目使用。随着业务增长,你还可以将其扩展为更复杂的监控体系(如集成Prometheus + Alertmanager)。

记住,良好的Linux系统监控习惯是保障服务高可用的第一道防线。希望本教程对你有所帮助!

SEO关键词回顾:

  • RockyLinux DNS监控
  • DNS告警设置
  • Linux系统监控
  • 网络服务告警