返回介绍

最佳实践 71:服务器带外监控:带外邮件警告

发布于 2025-04-20 17:44:48 字数 4487 浏览 0 评论 0 收藏 0

当下几乎所有的服务器厂商,都提供了各种的带外管理,各家厂商为带外取了自己的名字,比如 Dell 的叫 iDRAC、HP 的叫 iLO、华为的叫 iMana。

先介绍一下,什么是带外管理,通常它是接在服务器主板上的一块芯片,通过这块芯片,管理员可以在不依赖于操作系统的情况下,在它提供的 Web 界面中完成一些最底层的操作,比如 BIOS 设置、创建 RAID、安装操作系统、查看当前系统运行状态等。

带外管理本身可以采集到详细的硬件信息,同时还提供邮件告警的配置,所以通过带外监控服务器状态,在服务器硬件监控中也是非常实用和常用的。

本节将介绍如何配置服务器带外邮件告警。重点列举 HP iLO 和 Dell iDRAC 配置,其他厂商的配置和它们都差不多。

带外管理本身需要配置一个 IP 地址,管理员通过浏览器连接带外管理的页面完成所有的操作。因为通过带外可以做最底层的操作,包括直接关机、重装系统,它的安全性就非常重要,所以几乎所有的线上环境服务器,配置的带外管理 IP 都是内网地址。这个给配置邮件告警带来了一点点麻烦,告警邮件需要发送到外网的邮件服务器上,但是带外管理网络又不通外网,所以需要用一台既有内网也有外网的服务器作为邮件代理来完成这个功能。

Postfix 是一种电子邮件服务器,用它来做邮件代理配置比较简单,首先需要一台有公网 IP 和内网 IP 的机器,最低配置的 CentOS 6.5 系统服务器即可,Postfix 服务器内网 IP:10.168.107.180,保证所有的服务器带外配置的 IP 能与 Postfix 服务器互通,再按以下步骤配置。

步骤 1 yum-y install postfix,安装 Postfix。

步骤 2 编辑/etc/postfix/main.cf 配置文件,仅需更改如下配置项:

mydomain = smtp.xx    //这个可以写公司的域名,如果没有可以随便写
myhostname = postfix.smtp.xx    //邮件主机名
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost,10.0.0.0/8
relay_domains = $mydestination
mynetworks = 127.0.0.1/32, 10.0.0.0/8 , hash:/etc/postfix/access
strict_rfc821_envelopes = no   //邮件格式是否严格遵循 RFC 规范,no 表示宽松

步骤 3 postfix check 检查配置文件,service postfix start 启动 Postfix 服务。

步骤 4 配置/etc/postfix/access,添加需要转发的 IP 段,例如添加 10 段 IP 转发,则添加:

10.             OK

步骤 5 更新 access.db,刷新配置,并发送测试邮件,日志在/var/log/maillog 文件中:

[root@postfix ~]#postmap hash:/etc/postfix/access
[root@postfix ~]#service postfix reload
[root@postfix ~]#echo 'hello,postfix user !'|mail -v -r root@postfix.smtp.xx -s 'Hi,this is test mail' 2280143374@qq.com
<--! echo 正文 -r 发件人 ,-s 邮件标题  -v 显示详细信息, 最后为接收的 e-mail 地址 !-->

步骤 6 Postfix 配置完成,此时会收到测试邮件则 Postfix 配置成功。

Postfix 配置完成之后,下面列举如何在 HP iLO 和 Dell iDRAC 上配置邮件告警。HP iLO 邮件告警配置,在 iLO->Administration->Management 标签下,如图 13-2 所示配置信息。

图 13-2 HP iLO 邮件告警配置

Email Address 配置收告警的邮件地址。

Sender Domain 发信者域名,此处填之前 Postfix 配置中的 mydomain 参数。

SMTP Port 默认的 SMTP 都是 25 端口,Postfix 默认的 SMTP 也是 25 端口。

SMTP Server 配置之前配置的 Postfix 服务器中的内网 IP 地址 10.168.107.180。

配置完成,先 Apply 保存一下,再点击 Send Test AlertMail 发送测试邮件,将收到如图 13-3 所示的测试邮件。

图 13-3 测试邮件内容

在告警邮件中包括基础信息比如 iLO 地址、机器型号,当硬件出问题时,会包含信息的告警信息。

注意

Email Address 中填的邮件箱,不同的邮箱提供商效果略有不同。

QQ 邮件不能使用,因为 iLO 的发件人为 iLO Hostname.@smtp.xx,例如 ILO6CU426 F7XX.@postfix.smtp.xx,在 @之前多了一个点,发送的时候报错如下:

Feb 1618:57:04 localhost postfix/smtp[15434]:BFE3C23DC8:to=<2280143374@qq.com>,relay=mx3.qq.com[183.57.48.35]:25,delay=0.35,delays=0.06/0.01/0.24/0.04,dsn=5.0.0,status=bounced(host mx3.qq.com[183.57.48.35]said:501 Syntax:MAIL FROM:<address>(in reply to MAIL FROM command))。

126 邮箱会有一个延迟等待时间,一般在 15min 之内会发送,信息如下:

Feb 1619:43:59 localhost postfix/smtp[15585]:048F823DC8:to=<yangjun5202006@126.com>,relay=126mx01.mxmail.netease.com[220.181.15.131]:25,delay=6.9,delays=0.06/0.01/6.8/0.04,dsn=4.0.0,status=deferred(host 126mx01.mxmail.netease.com[220.181.15.131]said:451 DT:SPM 126 mx25,K8mowACHQOSAC8NWNGCUAQ--.87S21455623040,please try again 15min later(in reply to end of DATA command))。

所以如果有自己公司邮件的话,将告警邮件发送到公司邮箱,其中的规则都可以定义。

Dell iDRAC 告警邮件配置在概览→iDRAC→网络中配置 iDRAC 发件人信息,如图 13-4 所示。

图 13-4 Dell iDRAC 配置发件人及域名信息

DNS DRAC 名称,就是发件人邮件,这里可以自定义,静态 DNS 域名,配置为之前 Postfix 中定义的 mydomain 参数内容。

在概览→服务器→警报→SNMP 和电子邮件设置便签下配置,如图 13-5 和图 13-6 所示。

图 13-5 Dell iDRAC 配置收件人

iDRAC 支持填写多个告警邮件收件人,默认支持 4 个,配置完成点击应用按钮,保存配置。

图 13-6 Dell iDRAC 配置 SMTP 服务器地址及端口

此处填写之前搭建的 Postfix 内网 IP 地址。配置完成之后点击应用按钮,保存配置。iDRAC 邮件告警配置,通过这三步即可完成,点击电子邮件告警 1 后面的发送按钮,发送测试邮件。此时会收到如图 13-7 所示的测试告警邮件。

图 13-7 测试邮件内容

iDRAC 告警邮件中,包括 iDRAC 本身的链接地址、虚拟终端的链接地址。内容部分还会包括详细的告警信息。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。