Ajenti Core and stock plugins邮件通知配置:服务器异常告警的实时推送
Ajenti Core and stock plugins邮件通知配置:服务器异常告警的实时推送
【免费下载链接】ajenti Ajenti Core and stock plugins 项目地址: https://gitcode.com/gh_mirrors/aj/ajenti
服务器异常往往导致业务中断,但多数管理员仍依赖传统监控方式,错失最佳处理时机。Ajenti作为轻量级服务器管理面板,其邮件通知功能可实现异常状态实时推送。本文将详细配置Ajenti的邮件告警系统,覆盖SMTP服务搭建、告警规则设置及测试验证全流程,确保服务器异常即时触达管理员。
配置文件解析与基础准备
Ajenti的邮件通知功能依赖两个核心配置文件:主配置文件与SMTP专项配置。主配置文件ajenti-panel/config.yml控制全局通知开关,默认状态如下:
email:
enable: false
smtp:
password:
port:
server:
user:
需先启用通知功能并填写SMTP参数框架。SMTP详细配置存储于/etc/ajenti/smtp.yml,文档docs/source/man/config.rst指出其标准结构:
smtp:
password: 邮箱密码
port: starttls # 或ssl,对应587/465端口
server: smtp.example.com
user: alert@example.com
配置前需准备:①具备发送权限的SMTP服务器(推荐企业邮箱或阿里云SES);②开启SMTP服务的邮箱账号;③确保服务器465/587端口出站通畅。
SMTP服务配置与测试
配置文件编写
通过Ajenti文件管理器plugins/filemanager/编辑/etc/ajenti/smtp.yml,以QQ企业邮箱为例:
smtp:
password: your_auth_code
port: starttls
server: smtp.exmail.qq.com
user: alert@company.com
同步修改ajenti-panel/config.yml启用通知:
email:
enable: true
smtp:
password: your_auth_code
port: starttls
server: smtp.exmail.qq.com
user: alert@company.com
配置验证
使用Ajenti终端工具plugins/terminal/执行测试命令:
echo "Test email from Ajenti" | mail -s "Ajenti Notification Test" admin@example.com
若发送失败,检查:①SMTP服务器地址正确性;②端口与加密方式匹配(starttls用587,ssl用465);③邮箱授权码有效性。日志文件/var/log/ajenti/ajenti.log可提供详细错误信息。
告警规则设置与插件配置
核心插件告警配置
Ajenti通过各类系统监控插件触发告警,需分别配置关键服务的监控阈值:
证书过期监控
check_certificates插件可监控SSL证书有效期,在证书即将过期时发送告警。配置路径:设置 > 证书监控,设置提前30天告警,监控目标包含服务器所有站点证书。

服务状态监控
services插件可监控关键服务运行状态。在服务管理页面,为nginx、mysql等核心服务启用"异常停止通知",配置如下:
- 勾选服务条目后的"监控"选项
- 设置通知延迟为0秒(即时通知)
- 选择通知方式为"邮件"

告警触发机制详解
Ajenti采用事件驱动模型,当监控指标超出阈值时,核心模块ajenti-core/aj/plugins.py会调用通知接口。其工作流程如下:
关键实现代码位于plugins/core/main.py的事件分发器,确保告警信息无延迟传递。
通知模板自定义与高级设置
邮件模板修改
Ajenti允许自定义告警邮件格式,默认模板位于/etc/ajenti/email/reset_email.html。通过notepad插件编辑模板,添加服务器标识与紧急程度字段:
【{{ server_name }}】服务器告警
时间:{{ timestamp }}
级别:{{ level }}
详情:{{ message }}
多接收人配置
修改ajenti-panel/config.yml添加多接收人:
email:
enable: true
recipients:
- admin@example.com
- devops@example.com
smtp:
# 原有SMTP配置保持不变
此配置支持最多10个接收邮箱,确保告警信息多方触达。
完整配置验证与故障排查
模拟异常测试
通过以下方法验证告警系统有效性:
- 证书过期测试:使用check_certificates插件的"立即检查"功能,手动将某证书设置为即将过期状态

- 服务中断测试:在终端执行
systemctl stop nginx,观察是否收到服务停止告警
正常情况下,邮件应在30秒内送达,包含服务名称、停止时间及恢复建议。
常见故障排查
| 问题现象 | 可能原因 | 解决方案 |
|---|---|---|
| 邮件发送超时 | SMTP服务器连接失败 | 检查防火墙规则,确保465/587端口开放 |
| 收到重复告警 | 监控频率设置过低 | 在插件配置中增加检查间隔至5分钟 |
| 邮件被标记为垃圾邮件 | 发件人未认证 | 配置SPF/DKIM记录,使用企业邮箱发送 |
详细日志可通过log插件查看,过滤"email"关键词快速定位问题。
总结与扩展建议
完成上述配置后,Ajenti将实时监控服务器状态,异常发生时通过邮件即时通知管理员。建议进一步:
- 配置dashboard插件,添加邮件通知状态widget,直观展示最近告警记录

-
定期通过settings插件的"测试邮件"功能验证通知通道有效性
-
结合cron插件设置每日健康报告,主动掌握服务器状态
官方文档docs/source/index.rst提供了更多高级配置选项,可根据实际需求扩展告警类型与通知方式。
【免费下载链接】ajenti Ajenti Core and stock plugins 项目地址: https://gitcode.com/gh_mirrors/aj/ajenti









