GaussDB-HTTPS告警对接配置常用案例

82 阅读2分钟

GaussDB-HTTPS告警对接配置常用案例

示例一
字段名称是否必填说明
appKey--
name告警名称-
entity_name告警对象-
appname系统中文名GaussDB数据库
appenname系统英文名GaussDB
entity_addrIP地址-
description告警信息描述-
occur_time告警发生时间时间戳格式,精度到毫秒,13位
serverity告警级别码值如下:0:告警恢复1:通知2:预警3:告警4:严重告警
properties扩展属性扩展字段,存放自定义参数;name,code,val的结构,json格式,样例如下:```
"properties": [ { "val": "001", "code": "test1", "name": "测试1" }, { "val": "002", "code": "test2", "name": "测试2" }]

**示例说明:**

![](https://p6-xtjj-sign.byteimg.com/tos-cn-i-73owjymdk6/8fd4b3b3425d4d1dbe02d22144b04c3f~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgamVycnl3YW5nMTk4Mw==:q75.awebp?rk3s=f64ab15b&x-expires=1772506795&x-signature=OZXt97OlCH1YCy5%2FO2N9rX%2Fggds%3D)

**白名单内容:**

org.apache.commons.codec.binary.Hex, java.nio.charset.StandardCharsets, java.security.MessageDigest,java.security.NoSuchAlgorithmException, java.text.SimpleDateFormat, java.text.DateFormat,java.text.ParseException, java.lang.Object, java.lang.String, java.lang.StringBuilder,java.lang.Integer, java.lang.Float, java.lang.Long, java.lang.Number, java.lang.Math,java.lang.Double, java.lang.Boolean, org.json.JSONObject,com.alibaba.fastjson.*, java.time.*, java.util.*, java.time.format.*

**默认导入的jar包:**

org.apache.commons.codec.binary.Hex, java.nio.charset.StandardCharsets, java.security.MessageDigest,java.security.NoSuchAlgorithmException, java.text.SimpleDateFormat, java.text.DateFormat,java.text.ParseException, java.lang.Object, java.lang.String, java.lang.StringBuilder,java.lang.Integer, java.lang.Float, java.lang.Long, java.lang.Number, java.lang.Math,java.lang.Double, java.lang.Boolean, java.time.*, java.util.*, java.time.format.*

**若业务场景需要导入其他jar包,可以通过以下步骤修改配置,添加白名单。**

1.  以root用户登录服务器。

1.  执行命令查询告警服务容器ID。

    **docker ps -a | grep luban**

    ![](https://p6-xtjj-sign.byteimg.com/tos-cn-i-73owjymdk6/87c4074db70c4ef09831f3335d8db62d~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAgamVycnl3YW5nMTk4Mw==:q75.awebp?rk3s=f64ab15b&x-expires=1772506795&x-signature=%2FYhtLfcsdrf1MNEkfQiIM%2Fd3DZk%3D)

1.  执行命令进入告警服务容器。

    **docker exec -it a236f5ef56d1 /bin/bash**

1.  执行以下命令,进入配置文件。

    **vi /opt/cloud/luban/webapps/DBS-luban/WEB-INF/classes/config.properties**

1.  在配置文件末尾追加白名单配置。

    修改alert.service.notification.import.allowed(允许单包加入白名单)、alert.service.notification.import.stat.allowed(允许路径下jar包加入白名单,仅支持一级目录引入)字段,值之间用“,”隔开。

    例如:

    **alert.service.notification.import.allowed=java.lang.Boolean,java.lang.Boolean.Integer**

    **alert.service.notification.import.stat.allowed=java.time.*, java.util.***

1.  按“Esc”键后执行以下命令,保存并退出文件。

    **:wq** **!**

1.  修改完成后执行以下命令,重启服务。

    **su - service**

    **sh /opt/cloud/luban/bin/shutdown.sh**

    **sh /opt/cloud/luban/bin/start.sh**

**代码块如下:**

import com.alibaba.fastjson.*;

JSONObject mes = JSON.parseObject(message); body.put("name", mes.getOrDefault("alarmName", "")); body.put("entity_name", mes.getOrDefault("ClusterName", "")); body.put("entity_addr", mes.getOrDefault("HostIP", "")); body.put("description", mes.getOrDefault("Details", ""));

DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String time = mes.getOrDefault("alarmRaisedTime", "").toString(); try { Date parse = df.parse(time); body.put("occur_tim", parse.getTime()); } catch (ParseException ex) { body.put("occur_tim", new Date().getTime()); } String status = mes.getOrDefault("Status", "RAISED").toString(); int levelPar = 0; if (status.equals("RAISED")) { String level = mes.getOrDefault("Level", "INFO").toString(); if (level.equals("FAULT")) { levelPar = 4; } else if (level.equals("CRITICAL")) { levelPar = 3; } else if (level.equals("WARNING")) { levelPar = 2; } else { levelPar = 1; } } body.put("severity", levelPar);

JSONArray properties = new JSONArray(); JSONObject object = new JSONObject(); object.put("val",mes.getOrDefault("ALARMID","")); object.put("code","alert id"); object.put("name","告警 id"); properties.add(object); body.put("properties",properties);

list.add(body);


更多详情请参考GaussDB 文档中心:<https://doc.hcs.huawei.com/db/zh-cn/gaussdbqlh/24.1.30/productdesc/qlh_03_0001.html>