如何在Splunk Enterprise 9.0新建用户时自动发送邮件通知
Splunk Enterprise 9.0 新建用户自动发账号通知邮件配置方法
Splunk 9.0没有自带新建用户自动发邮件的开箱功能,靠监控内置审计日志配告警就能实现,不用装插件也不用写自定义脚本,步骤如下:
前置检查
- 先把Splunk的邮件服务配通:进入「设置-服务器设置-电子邮件设置」填好SMTP参数、发件人地址,先发测试邮件确认能正常收信,不然后面配了告警也发不出去。
- 操作用户要有admin权限,能读
_audit索引、能创建告警。
第一步:定位用户创建的审计日志
Splunk所有用户增删改操作都会存在_audit索引里,先手动建个测试用户,在搜索栏跑下面的语句,时间范围选最近15分钟,确认能抓到刚创建用户的事件:
index=_audit action="edit_user" operation="create" info=succeeded | table _time user object email roles
字段说明:
object:新建的用户名email:创建用户时填写的对应邮箱,也就是收通知的收件人地址user:执行创建操作的管理员账号
搜不到结果就检查下时间范围,或者是不是权限不够读不到_audit索引,确认能搜到正确事件再往下走。
第二步:配置实时触发告警
把上面的搜索语句保存为告警,参数按下面配:
- 告警名称:新建用户自动发账号通知
- 告警类型:选实时告警,触发条件设为「结果数 > 0」
- 触发规则:每匹配到1条结果触发1次,避免批量建用户的时候漏发
- 节流:不需要开,怕刷消息可以设1分钟内同收件人不重复发
- 触发动作:添加「发送电子邮件」动作
- 收件人栏直接填变量
$result.email$,会自动匹配事件里的用户邮箱,不用手动填 - 邮件主题填:
您的Splunk账号已创建完成 - 邮件正文可以按需改,给个参考模板:
你好 $result.object$: 管理员 $result.user$ 已为你创建Splunk平台访问账号: 1. 登录用户名:$result.object$ 2. 访问地址:填你自己Splunk Web的实际访问地址 3. 初始密码:联系创建账号的管理员获取,首次登录后请尽快修改密码。 如果没申请过该账号请忽略此邮件。
- 收件人栏直接填变量
配完保存就行。
第三步:验证效果
再新建一个绑定你自己测试邮箱的账号,等个十几秒,看测试邮箱能不能收到通知。收不到的话先去告警历史里看有没有触发记录:没触发就回去调搜索语句,触发了没发信就查SMTP配置、垃圾邮件箱。
可选优化点
- 审计日志不会存用户密码明文,要是想直接在邮件里发初始密码,可以统一给新用户设固定初始密码,直接把密码写在邮件模板里,提示首次登录修改就行。
- 要是不想给测试账号发通知,就在搜索语句最后加过滤规则,比如
| where object!="test-*"就能跳过test-开头的用户名。
内容的提问来源于stack exchange,提问作者Nikhil Mandawkar
相关产品推荐
相关产品推荐

