1. 启动 SMAX Integration 服务

需要部署一个SMAX Integration集成服务,该服务为AlertManger提供WebHook,该项目为一SpringBoot工程,目前已在GitHub开源,对应仓库链接如下:

​https://github.com/tzhu0704/SMAX-Restful​

其中application.properities 保存相关SMAX配置,包括:


#SMAX相关配置
SMAX.TENANTID=532557686
SMAX.agent=18256
#默认分配组
SMAX.servicegroup=20049
#SMAX登录用户
SMAX.username= 88888881@qq.com
#SMAX登录密码
SMAX.password= QQQQ1110!
#SMAX注册服务
SMAX.RegisteredForActualService=11472
#SMAX事件模型,建议采用
SMAX.IncidentModel=64509
#SMAX域名
SMAX.domainname=us1-smax.saas.microfocus.com


启动命令如下:


[root@inst2 alertmanager-0.22.2]# ./startwebhook.sh
begin to start SMAX Webhook
SMAX Webhook Started
[root@inst2 alertmanager-0.22.2]# nohup: appending output to ‘nohup.out’

启动后检查


[root@inst2 alertmanager-0.22.2]# ss -tlnp
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:32781 *:* users:(("sshd",pid=778,fd=3))
LISTEN 0 128 *:80 *:* users:(("nginx",pid=9913,fd=6),("nginx",pid=9912,fd=6),("nginx",pid=9911,fd=6))
LISTEN 0 80 *:3891 *:* users:(("mysqld",pid=17474,fd=25))
LISTEN 0 100 *:5080 *:* users:(("java",pid=17721,fd=34))
LISTEN 0 128 *:443 *:* users:(("nginx",pid=9913,fd=7),("nginx",pid=9912,fd=7),("nginx",pid=9911,fd=7))
LISTEN 0 128 127.0.0.1:44732 *:* users:(("plugin_start_li",pid=787,fd=20))
LISTEN 0 100 *:8000 *:* users:(("java",pid=30734,fd=17))
LISTEN 0 128 :::9094 :::* users:(("alertmanager",pid=4398,fd=7))
LISTEN 0 32 :::21 :::* users:(("vsftpd",pid=528,fd=3))
LISTEN 0 128 :::3000 :::* users:(("grafana-server",pid=777,fd=8))
LISTEN 0 128 :::3903 :::* users:(("mtail",pid=14492,fd=3))
LISTEN 0 128 :::9090 :::* users:(("prometheus",pid=21663,fd=9))
LISTEN 0 128 :::9093 :::* users:(("alertmanager",pid=4398,fd=9))

获取对应的Webhook URL如下:

http://172.16.1.5:8000/SMAX-Restful/incident/alertmanager

2. 配置ALERTMANAGER Webhook如下:

修改alertmanager.yml ,添加对应的webhook_configs,


[root@inst2 alertmanager-0.22.2]# cat alertmanager.yml global: 
#邮箱smtp服务
resolve_timeout: 5m #超时,默认5min
smtp_smarthost: 'smtp.mxhichina.com:465'
smtp_from: 'ALERTMANAGER<obm@mf.com>'
smtp_auth_username: 'obm@mf.com '
smtp_auth_password: 'MicroFocus_1234'
smtp_require_tls: false
# 定义模板信息
templates:
- 'template/*.tmpl' # 路径
# 路由
route:
group_by: ['alertname'] # 报警分组依据
group_wait: 60s #组等待时间
group_interval: 10s # 发送前等待时间
repeat_interval: 1h #重复周期
receiver: 'mail' # 默认警报接收者
# 警报接收者
receivers:
- name: 'mail' #警报名称
email_configs:
- to: '{{ template "email.to" . }}' #接收警报的email
html: '{{ template "email.to.html" . }}' # 模板
send_resolved: false
#- name: 'web.hook' #警报名称
webhook_configs:
- url: http://172.21.0.15:9080/adapter/wx
- url: http://localhost:8000/SMAX-Restful/incident/alertmanager
send_resolved: false

注意:需要确保 send_resolved,目前系统只支持事件的开单操作(暂时不支持关单操作)

3. 验证 报警->工单 集成

1) 触发ALERTMANAGER报警

如下图,在ALERTMANAGER中触发了对应的报警:

SMAX集成AlertManager实现突发事件自动开单_其他

​​

2) SMAX中触发工单

如下图,SMAX自动创建对应的工单 85060/84473

SMAX集成AlertManager实现突发事件自动开单_云计算_02

进一步查看工单详细信息,验证对应的Title与Description字段

SMAX集成AlertManager实现突发事件自动开单_云计算_03