接口列表

以下接口都默认省略 OpenAPI 的应用鉴权参数,请根据文档 接口签名 实现应用鉴权。任务鉴权会列出参数,表名该接口需要任务鉴权,但不再重复说明任务鉴权算法,请根据文档 接口签名 实现任务鉴权。

部门列表-/department/simple

GET /department/simple
Request Headers:

  • Content-Type: application/json

Request Parameters:

Request Body:

Response:

  1. {
  2. "code": 0,
  3. "msg": "success",
  4. "data": {
  5. "departments": [
  6. {
  7. "id": 1,
  8. "pinyin": "bumen",
  9. "name": "部门",
  10. "remark": ""
  11. },
  12. {
  13. "id": 2,
  14. "pinyin": "zhiliangyanfabu",
  15. "name": "部门2",
  16. "remark": ""
  17. }
  18. ]
  19. }
  20. }

| Field | Type | Comment | | —- | —- | —- |

| code | Number | 状态码:0-成功;其他-失败 |

| msg | String | 错误信息,以 code 的值为准 |

| data | Object | 响应结果 |

| data.departments | Array | 部门列表 |

| data.departments.id | Number | 部门ID |

| data.departments.pingyin | String | 部门名称拼音 |

| data.departments.name | String | 部门名称 |

| data.departments.remark | String | 备注信息 |

部门信息详情-/department/show

GET /department/show
Request Headers:

  • Content-Type: application/json

Request Parameters:

| 参数名称 | 是否必须 | 示例 | 备注 | | —- | —- | —- | —- |

| id | 是 | 1 | 部门ID |

Request Body:

Response:

  1. {
  2. "code": 0,
  3. "msg": "success",
  4. "data": {
  5. "department": {
  6. "id": 1,
  7. "bu_id": 1,
  8. "name": "部门",
  9. "pinyin": "bumen",
  10. "remark": "",
  11. "created_by": 1,
  12. "updated_by": 1,
  13. "created_at": 1591614072,
  14. "updated_at": 1591614072,
  15. "creator": {
  16. "uid": 1,
  17. "username": "ethananony",
  18. "user": "ethananony",
  19. "email": "ethananony@aliyun.com",
  20. "department": "网校事业部-互联网研发部-基础架构部-服务治理组"
  21. },
  22. "updator": {
  23. "uid": 1,
  24. "username": "ethananony",
  25. "user": "ethananony",
  26. "email": "ethananony@aliyun.com",
  27. "department": "网校事业部-互联网研发部-基础架构部-服务治理组"
  28. },
  29. "business_unit": {
  30. "id": 1,
  31. "name": "网校",
  32. "remark": "学而思网校",
  33. "pinyin": "wangxiao"
  34. }
  35. }
  36. }
  37. }

| Field | Type | Comment | | —- | —- | —- |

| code | Number | 状态码:0-成功;其他-失败 |

| msg | String | 错误信息,以 code 的值为准 |

| data | Object | 响应结果 |

| data.department | Object | 部门详情 |

| data.department.id | Number | 部门ID |

| data.department.bu_id | Number | 事业部ID |

| data.department.name | String | 部门名称 |

| data.department.pinyin | String | 部门名称拼音 |

| data.department.remark | String | 备注信息 |

| data.department.created_by | Number | 部门创建者工号 |

| data.department.updated_by | Number | 部门信息更新者工号 |

| data.department.created_at | Number | 创建时间(Unix 时间戳) |

| data.department.updated_at | Number | 更新时间(Unix 时间戳) |

| data.departments.creator | Object | 创建人详情 |

| data.departments.creator.uid | Number | 工号 |

| data.departments.creator.username | String | 姓名 |

| data.departments.creator.user | String | 英文账号 |

| data.departments.creator.email | String | 邮箱 |

| data.departments.creator.department | String | 所属部门名称 |

| data.departments.updator | Object | 信息更新者详情 |

| data.departments.updator.uid | Number | 工号 |

| data.departments.updator.username | String | 姓名 |

| data.departments.updator.user | String | 英文账号 |

| data.departments.updator.email | String | 邮箱 |

| data.departments.updator.department | String | 所属部门名称 |

| data.department.business_unit | Object | 事业部信息 |

| data.department.business_unit.id | Number | 事业部ID |

| data.department.business_unit.name | String | 事业部名称 |

| data.department.business_unit.remark | String | 事业部备注 |

| data.department.business_unit.pinyin | String | 事业部拼音 |

用户详情-/user/profile

GET /user/profile
Request Headers:

  • Content-Type: application/json

Request Parameters:

| 参数名称 | 是否必须 | 示例 | 备注 | | —- | —- | —- | —- |

| uid | 是 | 2 | 工号 |

Request Body:

Response:

  1. {
  2. "code": 0,
  3. "msg": "success",
  4. "data": {
  5. "user": {
  6. "uid": 2,
  7. "username": "another",
  8. "pinyin": "another",
  9. "user": "another",
  10. "email": "another@foo.bar",
  11. "department": "部门",
  12. "phone": "18711124774",
  13. "wechatid": "",
  14. "role": 9,
  15. "created_at": 1594011385,
  16. "updated_at": 1594011385
  17. },
  18. "permission": {
  19. "role": 9,
  20. "read": [],
  21. "write": []
  22. }
  23. }
  24. }

| Field | Type | Comment | | —- | —- | —- |

| code | Number | 状态码:0-成功;其他-失败 |

| msg | String | 错误信息,以 code 的值为准 |

| data | Object | 响应结果 |

| data.user | Object | 用户详情 |

| data.user.uid | Number | 工号 |

| data.user.username | String | 姓名 |

| data.user.pinyin | String | 姓名拼音 |

| data.user.user | String | 英文账号 |

| data.user.email | String | 邮件地址 |

| data.user.department | String | 所属部门 |

| data.user.phone | String | 电话 |

| data.user.wechatid | String | 微信号 |

| data.user.role | Number | 权限角色 |

| data.user.created_at | Number | 创建时间 (Unix 时间戳) |

| data.user.updated_at | Number | 更新时间(Unix 时间戳) |

| data.permission.role | Number | 用户角色,0-普通用户;9-超管 |

| data.permission.read | Array | 拥有只读权限的任务ID |

| data.permission.write | Array | 拥有读写权限的任务ID |

用户手机号更新-/user/updatephone

PUT /user/updatephone
Request Headers:

  • Content-Type: application/json

Request Parameters:

Request Body:

  1. {
  2. "uid": 1, // 用户ID,工号取整
  3. "phone": "19812345678" // 手机号
  4. }

Response:

  1. {
  2. "code": 0,
  3. "msg": "success",
  4. "data": {
  5. "user": {
  6. "uid": 2,
  7. "username": "another",
  8. "pinyin": "another",
  9. "user": "another",
  10. "email": "another@foo.bar",
  11. "department": "部门",
  12. "phone": "18711124774",
  13. "wechatid": "",
  14. "role": 9,
  15. "created_at": 1594011385,
  16. "updated_at": 1595909028
  17. }
  18. }
  19. }

| Field | Type | Comment | | —- | —- | —- |

| code | Number | 状态码:0-成功;其他-失败 |

| msg | String | 错误信息,以 code 的值为准 |

| data | Object | 响应结果 |

| data.user | Object | 用户信息 |

| data.user.uid | Number | 工号 |

| data.user.username | Number | 姓名 |

| data.user.pinyin | String | 姓名拼音 |

| data.user.user | String | 英文账号 |

| data.user.email | String | 邮箱 |

| data.user.department | String | 所属部门 |

| data.user.phone | String | 电话号 |

| data.user.wechatid | String | 微信号 |

| data.user.role | Number | 用户角色 |

| data.user.created_at | Number | 创建时间 (Unix 时间戳) |

| data.user.updated_at | Number | 更新时间 (Unix 时间戳) |

告警任务详情-/alarmtask/show

GET /alarmtask/show
Request Headers:

  • Content-Type: application/json

Request Parameters:

| 参数名称 | 是否必须 | 示例 | 备注 | | —- | —- | —- | —- |

| id | 是 | 105 | 告警任务ID |

| timestamp | 是 | 1584671913 | 鉴权时间戳 |

| sign | 是 | 6e673c6de3a0ed4a9257d4ea4d907fea | 鉴权签名 |

Request Body:

Response:
::: details 点击查看响应参数

  1. {
  2. "code": 0,
  3. "msg": "success",
  4. "data": {
  5. "task": { // 任务详情
  6. "id": 266, // 任务ID
  7. "name": "完整示例", // 任务名称
  8. "pinyin": "rizhizhongxin", // 任务名称拼音
  9. "token": "d3213fe78d9f81f448141495a274e0c700ad1c25", // 任务token,调用告警接口使用
  10. "secret": "637ed6563aa17197438cf8cc173f910a7f00bcc4", // 任务secret,调用OpenAPI使用
  11. "department_id": 1, // 部门ID
  12. "flag_save_db": 1, // 是否入库:1-入库;0-不入库
  13. "status": 1, // 状态:1-运行中;0-已停止;2-已暂停
  14. "created_by": 1, // 创建人
  15. "created_at": 1595338356, // 创建时间,时间戳(单位秒)
  16. "updated_at": 1595996005, // 更新时间,时间戳(单位秒)
  17. "department": { // 部门信息
  18. "id": 1, // 部门ID
  19. "name": "部门" // 部门名称
  20. },
  21. "creator": { // 创建人信息
  22. "uid": 1, // UID
  23. "username": "ethananony", // 姓名
  24. "email": "ethananony@aliyun.com", // 邮箱
  25. "department": "部门" // 部门
  26. },
  27. "permission": { // 权限信息
  28. "rw": [ // 读写权限用户列表
  29. {
  30. "uid": 1,
  31. "username": "ethananony",
  32. "email": "ethananony@aliyun.com",
  33. "department": "部门"
  34. }
  35. ],
  36. "ro": [ // 只读权限用户列表
  37. {
  38. "uid": 1,
  39. "username": "ethananony",
  40. "email": "ethananony@aliyun.com",
  41. "department": "部门"
  42. }
  43. ]
  44. },
  45. "receiver": { // 通知人配置
  46. "alarmgroup": [], // 告警组配置
  47. "channels": { // 通知渠道配置
  48. "sms": [ // 短信渠道
  49. {
  50. "uid": 1,
  51. "username": "ethananony",
  52. "email": "ethananony@aliyun.com",
  53. "department": "部门"
  54. }
  55. ],
  56. "email": [ // 邮件渠道
  57. {
  58. "uid": 1,
  59. "username": "ethananony",
  60. "email": "ethananony@aliyun.com",
  61. "department": "部门"
  62. }
  63. ],
  64. "phone": [ // 电话渠道
  65. {
  66. "uid": 1,
  67. "username": "ethananony",
  68. "email": "ethananony@aliyun.com",
  69. "department": "部门"
  70. }
  71. ],
  72. "dingworker": [ // 钉钉工作通知渠道
  73. {
  74. "uid": 1,
  75. "username": "ethananony",
  76. "email": "ethananony@aliyun.com",
  77. "department": "部门"
  78. }
  79. ],
  80. "dinggroup": [ // 钉钉机器人(钉钉群)渠道
  81. {
  82. // 机器人的webhook中的token参数
  83. "webhook": "1dadee4018526bb63b21d84d6d4e42c96c1e1c4ef218540fdcebf499daef3462",\
  84. // 点击机器人加签生产的secret
  85. "secret": "SECf5a89f004d59a1d3acc916ed745fc8efaf0ee889d8f09709cba21b07174a8a7b"
  86. }
  87. ],
  88. "yachgroup": [ // 知音楼机器人(知音楼群)渠道
  89. {
  90. // 机器人的webhook中的token参数
  91. "webhook": "1dadee4018526bb63b21d84d6d4e42c96c1e1c4ef218540fdcebf499daef3462",
  92. // 机器人的secret
  93. "secret": "SECf5a89f004d59a1d3acc916ed745fc8efaf0ee889d8f09709cba21b07174a8a7b"
  94. }
  95. ],
  96. "yachworker": [ // 知音楼工作通知渠道
  97. {
  98. "uid": 1,
  99. "username": "ethananony",
  100. "email": "ethananony@aliyun.com",
  101. "department": "部门"
  102. }
  103. ],
  104. "webhook": { // webhook渠道
  105. "url": "http://foo.domain.com/callback"
  106. }
  107. },
  108. "dispatch": [ // 分级告警配置
  109. {
  110. "conditions": [ // 分级条件
  111. {
  112. "rule": [ // 规则
  113. {
  114. "field": "ctn.key", // 字段
  115. "operator": "eq", // 操作符
  116. "threshold": "123" // 阈值
  117. }
  118. ]
  119. },
  120. {
  121. "rule": [
  122. {
  123. "field": "ctn.key2",
  124. "operator": "gt",
  125. "threshold": "1"
  126. }
  127. ]
  128. }
  129. ],
  130. "receiver": { // 分级告警的通知人配置
  131. "alarmgroup": [],
  132. "channels": {
  133. "sms": [],
  134. "email": [],
  135. "phone": [],
  136. "dingworker": [
  137. {
  138. "uid": 1,
  139. "username": "ethananony",
  140. "email": "ethananony@aliyun.com",
  141. "department": "部门"
  142. }
  143. ],
  144. "dinggroup": [],
  145. "yachgroup": [
  146. {
  147. "webhook": "eHhpemFUVTA4b1l3255436W9XNlMvZjVuREVDTmMzZmRGdzBsNTN2UHNndG9GZVJKL1FUNllyWkkzK2x3Nw",
  148. "secret": "333332465465467756"
  149. }
  150. ],
  151. "yachworker": [
  152. {
  153. "uid": 1,
  154. "username": "ethananony",
  155. "email": "ethananony@aliyun.com",
  156. "department": "部门"
  157. }
  158. ],
  159. "webhook": {
  160. "url": ""
  161. }
  162. }
  163. }
  164. }
  165. ],
  166. "mode": 1 // 分级告警模式:1-懒惰模式;2-非懒惰模式
  167. },
  168. "workflow": { // 工作流配置
  169. "reminds": [ // 工作流提醒配置
  170. {
  171. "interval": 10, // 时间间隔:10分钟
  172. "status": 1, // 工作流状态:0-待处理;1-处理中
  173. "mode": "once", // 是否周期循环:once-不循环;cycle-循环
  174. "reuse_receiver": 1 // 复用通知人
  175. },
  176. {
  177. "interval": 30,
  178. "status": 0,
  179. "mode": "cycle",
  180. "reuse_receiver": 0, // 不复用通知人
  181. "receiver": { // 自定义的提醒通知人
  182. "alarmgroup": [],
  183. "channels": {
  184. "sms": [
  185. {
  186. "uid": 1,
  187. "username": "ethananony",
  188. "email": "ethananony@aliyun.com",
  189. "department": "部门"
  190. }
  191. ],
  192. "email": [
  193. {
  194. "uid": 1,
  195. "username": "ethananony",
  196. "email": "ethananony@aliyun.com",
  197. "department": "部门"
  198. }
  199. ],
  200. "phone": [
  201. {
  202. "uid": 1,
  203. "username": "ethananony",
  204. "email": "ethananony@aliyun.com",
  205. "department": "部门"
  206. }
  207. ],
  208. "dingworker": [
  209. {
  210. "uid": 1,
  211. "username": "ethananony",
  212. "email": "ethananony@aliyun.com",
  213. "department": "部门"
  214. }
  215. ],
  216. "dinggroup": [
  217. {
  218. "webhook": "1dadee4018526bb63b21d84d6d4e42c96c1e1c4ef218540fdcebf499daef3462",
  219. "secret": "SECf5a89f004d59a1d3acc916ed745fc8efaf0ee889d8f09709cba21b07174a8a7b"
  220. }
  221. ],
  222. "yachgroup": [],
  223. "yachworker": [],
  224. "webhook": {
  225. "url": ""
  226. }
  227. }
  228. }
  229. }
  230. ],
  231. "enable": true // 是否开启工作流
  232. },
  233. "filter": { // 告警过滤
  234. "not_match": 1, // 不匹配操作:1-直接入库;0-丢弃告警
  235. "mode": 1, // 模式:1-白名单;2-黑名单
  236. "conditions": [ // 过滤条件
  237. {
  238. "rule": [ // 规则
  239. {
  240. "field": "ctn.cpu_used",
  241. "operator": "gt",
  242. "threshold": "80"
  243. }
  244. ],
  245. "level": 0 // 告警级别:0-通知;1—警告;2-错误;3-紧急;9-继承
  246. }
  247. ],
  248. "enable": true // 是否开启告警过滤
  249. },
  250. "upgrade": { // 告警升级
  251. "strategies": [ // 升级策略配置
  252. {
  253. "interval": 10, // 统计时间间隔
  254. "count": 10, // 统计条数
  255. "level": 0, // 告警级别:0-通知;1—警告;2-错误;3-紧急;
  256. "reuse_receiver": 1 // 是否复用告警通知人:1-复用;0-不复用
  257. },
  258. {
  259. "interval": 1,
  260. "count": 10,
  261. "level": 2,
  262. "reuse_receiver": 0,
  263. "receiver": { // 不复用时自定义的通知人
  264. "alarmgroup": [],
  265. "channels": {
  266. "sms": [
  267. {
  268. "uid": 1,
  269. "username": "ethananony",
  270. "email": "ethananony@aliyun.com",
  271. "department": "部门"
  272. }
  273. ],
  274. "email": [
  275. {
  276. "uid": 1,
  277. "username": "ethananony",
  278. "email": "ethananony@aliyun.com",
  279. "department": "部门"
  280. }
  281. ],
  282. "phone": [
  283. {
  284. "uid": 1,
  285. "username": "ethananony",
  286. "email": "ethananony@aliyun.com",
  287. "department": "部门"
  288. }
  289. ],
  290. "dingworker": [
  291. {
  292. "uid": 1,
  293. "username": "ethananony",
  294. "email": "ethananony@aliyun.com",
  295. "department": "部门"
  296. }
  297. ],
  298. "dinggroup": [
  299. {
  300. "webhook": "1dadee4018526bb63b21d84d6d4e42c96c1e1c4ef218540fdcebf499daef3462",
  301. "secret": "SECf5a89f004d59a1d3acc916ed745fc8efaf0ee889d8f09709cba21b07174a8a7b"
  302. }
  303. ],
  304. "yachgroup": [],
  305. "yachworker": [],
  306. "webhook": {
  307. "url": ""
  308. }
  309. }
  310. }
  311. }
  312. ],
  313. "enable": true // 是否开启告警升级
  314. },
  315. "compress": { // 告警收敛配置
  316. "conditions": [ // 收敛条件
  317. {
  318. "rule": [ // 收敛规则
  319. {
  320. "field": "ctn.cpu_used",
  321. "operator": "gt",
  322. "threshold": "80"
  323. }
  324. ]
  325. }
  326. ],
  327. "method": 1, // 收敛方式:1-条件收敛;3-内容收敛;4-全量收敛
  328. "strategy": 3, // 收敛策略:1-周期收敛;2-延迟收敛;3-周期次数收敛;4-次数周期收敛;5-次数收敛
  329. "strategy_cycle": 10, // 收敛周期
  330. "strategy_count": 50, // 收敛次数
  331. "not_match": 1, // 未收敛操作:1-入库;0-直接发送
  332. "enable": true // 是否开启告警收敛
  333. },
  334. "recovery": { // 告警恢复
  335. "conditions": [ // 恢复条件
  336. {
  337. "rule": [
  338. {
  339. "field": "ctn.cpu_used",
  340. "operator": "gt",
  341. "threshold": "80"
  342. }
  343. ]
  344. }
  345. ],
  346. "mode": 1, // 恢复方式:1-条件恢复
  347. "enable": true // 是否开启恢复
  348. },
  349. "template": { // 告警模板配置
  350. "template_id": 3, // 模板ID
  351. "type": 1, // 0-系统默认;1-预定义;2-自定义
  352. "template": { // 模板详情
  353. "id": 3, // 模板ID
  354. "name": "ethananony测试", // 模板名称
  355. "pinyin": "ethananonyceshi", // 模板拼音
  356. "remark": "", // 模板备注
  357. "template": { // 模板详情
  358. "compressed": { // 告警收敛时场景
  359. "sms": { // 短信渠道
  360. "type": 0, // 模板类型:0-系统默认;1-预定义;2-自定义
  361. "format": 1, // 模板格式:1-文本;2-Markdown;3-HTML
  362. // 模板内容
  363. "template": "{common.env}您有一个【{task.compress_method}-{task.compress_type}收敛-命中】告警\n\n任务:{task.name}发生了告警\n级别:{history.level}\n内容:{history.ctn},\n主机名:{history.ctn.hostname}"
  364. },
  365. "email": {
  366. "type": 0,
  367. "format": 1,
  368. "template": "{common.env}您有一个【{task.compress_method}-{task.compress_type}收敛-命中】告警\n\n任务:{task.name}发生了告警\n级别:{history.level}\n内容:{history.ctn},\n主机名:{history.ctn.hostname}"
  369. },
  370. "phone": {
  371. "type": 0,
  372. "format": 1,
  373. "template": "{common.env}您有一个【{task.compress_method}-{task.compress_type}收敛-命中】告警\n\n任务:{task.name}发生了告警\n级别:{history.level}\n内容:{history.ctn},\n主机名:{history.ctn.hostname}"
  374. },
  375. "dingworker": {
  376. "type": 1,
  377. "format": 1,
  378. "template": "test"
  379. },
  380. "dinggroup": {
  381. "type": 0,
  382. "format": 1,
  383. "template": "{common.env}您有一个【{task.compress_method}-{task.compress_type}收敛-命中】告警\n\n任务:{task.name}发生了告警\n级别:{history.level}\n内容:{history.ctn}\n主机名:{history.ctn.hostname}"
  384. },
  385. "yachworker": {
  386. "type": 0,
  387. "format": 1,
  388. "template": "{common.env}您有一个【{task.compress_method}-{task.compress_type}收敛-命中】告警\n\n任务:{task.name}发生了告警\n级别:{history.level}\n内容:{history.ctn},\n主机名:{history.ctn.hostname}"
  389. },
  390. "yachgroup": {
  391. "type": 0,
  392. "format": 1,
  393. "template": "{common.env}您有一个【{task.compress_method}-{task.compress_type}收敛-命中】告警\n\n任务:{task.name}发生了告警\n级别:{history.level}\n内容:{history.ctn},\n主机名:{history.ctn.hostname}"
  394. }
  395. },
  396. "not_compress": { // 告警未收敛场景
  397. "sms": {
  398. "type": 0,
  399. "format": 1,
  400. "template": "{common.env}您有一个新告警\n \n任务:{task.name}发生了告警\n级别:{history.level}\n内容:{history.ctn}"
  401. },
  402. "email": {
  403. "type": 0,
  404. "format": 1,
  405. "template": "{common.env}您有一个新告警\n \n任务:{task.name}发生了告警\n级别:{history.level}\n内容:{history.ctn}"
  406. },
  407. "phone": {
  408. "type": 0,
  409. "format": 1,
  410. "template": "{common.env}您有一个新告警\n \n任务:{task.name}发生了告警\n级别:{history.level}\n内容:{history.ctn}"
  411. },
  412. "dingworker": {
  413. "type": 0,
  414. "format": 1,
  415. "template": "{common.env}您有一个新告警\n \n任务:{task.name}发生了告警\n级别:{history.level}\n内容:{history.ctn}"
  416. },
  417. "dinggroup": {
  418. "type": 0,
  419. "format": 1,
  420. "template": "{common.env}您有一个新告警\n \n任务:{task.name}发生了告警\n级别:{history.level}\n内容:{history.ctn}"
  421. },
  422. "yachworker": {
  423. "type": 0,
  424. "format": 1,
  425. "template": "{common.env}您有一个新告警\n \n任务:{task.name}发生了告警\n级别:{history.level}\n内容:{history.ctn}"
  426. },
  427. "yachgroup": {
  428. "type": 0,
  429. "format": 1,
  430. "template": "{common.env}您有一个新告警\n \n任务:{task.name}发生了告警\n级别:{history.level}\n内容:{history.ctn}"
  431. }
  432. },
  433. "upgrade": { // 告警升级
  434. "sms": {
  435. "type": 0,
  436. "format": 1,
  437. "template": "{common.env}您有一个告警升级\n\n任务:{task.name}触发了{context.rule.interval}分钟{context.rule.count}条的告警升级,告警次数为:{context.zcount}\n级别:{history.level}\n内容:{history.ctn},\n主机名:{history.ctn.hostname}"
  438. },
  439. "email": {
  440. "type": 0,
  441. "format": 1,
  442. "template": "{common.env}您有一个告警升级\n\n任务:{task.name}触发了{context.rule.interval}分钟{context.rule.count}条的告警升级,告警次数为:{context.zcount}\n级别:{history.level}\n内容:{history.ctn},\n主机名:{history.ctn.hostname}"
  443. },
  444. "phone": {
  445. "type": 0,
  446. "format": 1,
  447. "template": "{common.env}您有一个告警升级\n\n任务:{task.name}触发了{context.rule.interval}分钟{context.rule.count}条的告警升级,告警次数为:{context.zcount}\n级别:{history.level}\n内容:{history.ctn},\n主机名:{history.ctn.hostname}"
  448. },
  449. "dingworker": {
  450. "type": 0,
  451. "format": 1,
  452. "template": "{common.env}您有一个告警升级\n\n任务:{task.name}触发了{context.rule.interval}分钟{context.rule.count}条的告警升级,告警次数为:{context.zcount}\n级别:{history.level}\n内容:{history.ctn},\n主机名:{history.ctn.hostname}"
  453. },
  454. "dinggroup": {
  455. "type": 0,
  456. "format": 1,
  457. "template": "{common.env}您有一个告警升级\n\n任务:{task.name}触发了{context.rule.interval}分钟{context.rule.count}条的告警升级,告警次数为:{context.zcount}\n级别:{history.level}\n内容:{history.ctn},\n主机名:{history.ctn.hostname}"
  458. },
  459. "yachworker": {
  460. "type": 0,
  461. "format": 1,
  462. "template": "{common.env}您有一个告警升级\n\n任务:{task.name}触发了{context.rule.interval}分钟{context.rule.count}条的告警升级,告警次数为:{context.zcount}\n级别:{history.level}\n内容:{history.ctn},\n主机名:{history.ctn.hostname}"
  463. },
  464. "yachgroup": {
  465. "type": 0,
  466. "format": 1,
  467. "template": "{common.env}您有一个告警升级\n\n任务:{task.name}触发了{context.rule.interval}分钟{context.rule.count}条的告警升级,告警次数为:{context.zcount}\n级别:{history.level}\n内容:{history.ctn},\n主机名:{history.ctn.hostname}"
  468. }
  469. },
  470. "recovery": { // 告警恢复
  471. "sms": {
  472. "type": 0,
  473. "format": 1,
  474. "template": "{common.env}您有一个告警恢复\n\n任务:{task.name}触发了告警恢复\n级别:{history.level}\n内容:{history.ctn},\n主机名:{history.ctn.hostname}"
  475. },
  476. "email": {
  477. "type": 0,
  478. "format": 1,
  479. "template": "{common.env}您有一个告警恢复\n\n任务:{task.name}触发了告警恢复\n级别:{history.level}\n内容:{history.ctn},\n主机名:{history.ctn.hostname}"
  480. },
  481. "phone": {
  482. "type": 0,
  483. "format": 1,
  484. "template": "{common.env}您有一个告警恢复\n\n任务:{task.name}触发了告警恢复\n级别:{history.level}\n内容:{history.ctn},\n主机名:{history.ctn.hostname}"
  485. },
  486. "dingworker": {
  487. "type": 0,
  488. "format": 1,
  489. "template": "{common.env}您有一个告警恢复\n\n任务:{task.name}触发了告警恢复\n级别:{history.level}\n内容:{history.ctn},\n主机名:{history.ctn.hostname}"
  490. },
  491. "dinggroup": {
  492. "type": 0,
  493. "format": 1,
  494. "template": "{common.env}您有一个告警恢复\n\n任务:{task.name}触发了告警恢复\n级别:{history.level}\n内容:{history.ctn},\n主机名:{history.ctn.hostname}"
  495. },
  496. "yachworker": {
  497. "type": 0,
  498. "format": 1,
  499. "template": "{common.env}您有一个告警恢复\n\n任务:{task.name}触发了告警恢复\n级别:{history.level}\n内容:{history.ctn},\n主机名:{history.ctn.hostname}"
  500. },
  501. "yachgroup": {
  502. "type": 0,
  503. "format": 1,
  504. "template": "{common.env}您有一个告警恢复\n\n任务:{task.name}触发了告警恢复\n级别:{history.level}\n内容:{history.ctn},\n主机名:{history.ctn.hostname}"
  505. }
  506. }
  507. },
  508. "created_by": 1, // 创建人UID
  509. "created_at": 1585452020, // 创建时间,时间戳
  510. "updated_at": 1585452020, // 更新时间,时间戳
  511. "permission": [ // 权限信息,在权限列表内才可以对模板进行编辑
  512. {
  513. "uid": 1,
  514. "user": "ethananony",
  515. "email": "ethananony@aliyun.com",
  516. "username": "ethananony",
  517. "department": "部门"
  518. }
  519. ],
  520. "creator": { // 创建人信息
  521. "uid": 1,
  522. "username": "ethananony",
  523. "email": "ethananony@aliyun.com",
  524. "department": "部门"
  525. }
  526. }
  527. },
  528. "task_tags": [ // 告警任务标签
  529. {
  530. "id": 1, // 标签ID
  531. "name": "标签1", // 标签名称
  532. "remark": "", // 标签备注
  533. "created_by": 1, // 创建人
  534. "creator": { // 创建人信息
  535. "uid": 1,
  536. "username": "ethananony",
  537. "user": "ethananony",
  538. "email": "ethananony@aliyun.com",
  539. "department": "部门"
  540. }
  541. }
  542. ]
  543. }
  544. }
  545. }

:::

告警任务创建-/alarmtask/store

POST /alarmtask/store
Request Headers:

  • Content-Type: application/json

Request Parameters:

Request Body:
::: details 点击查看请求参数

{
    "created_by": 1, // 创建人uid,工号不带0
    "task_tags":[74, 11], // 关联的标签ID 非必填
    "name": "日志中心", // 告警任务名称,必填,字符串,100字以内
    "department_id": 8, // 部门ID,必填,数字
    "flag_save_db": 1, // 是否入库存储,必填,枚举,0-不入库;1-入库
    "permission": { // 权限列表,非必填
        "rw": [1, 999999], // 读写权限用户列表,非必填,用户ID列表,用户ID为工号不带0
        "ro": [1] // 只读权限用户列表,非必填(读写权限包含读,没必要重复添加,文档仅示例数据格式
    },
    "receiver": { // 告警通知人,必填
        "alarmgroup": [1, 3], // 告警通知组ID,要求告警通知组与下方channels通知渠道至少填一个
        "channels": { // 告警通知渠道,与告警通知组至少填一个
            "dinggroup": [ // 钉钉机器人,可以填写多个,单个群最多可以添加6个,建议填写6个
                {
                    "webhook": "1dadee4018526bb63b21d84d6d4e42c96c1e1c4ef218540fdcebf499daef3462", // webhook中的access_token参数的值,必填,字符串
                    "secret": "SECf5a89f004d59a1d3acc916ed745fc8efaf0ee889d8f09709cba21b07174a8a7b" // 机器人安全配置secret,必填,建议填写,字符串
                }
            ],
            "dingworker": [1], // 钉钉工作通知配置,用户ID列表,非必填
            "yachgroup": [ // YACH机器人,可以填写多个,单个群最多可以添加6个,建议填写6个
                {
                    "webhook": "1dadee4018526bb63b21d84d6d4e42c96c1e1c4ef218540fdcebf499daef3462", // webhook中的access_token参数的值,必填,字符串
                    "secret": "SECf5a89f004d59a1d3acc916ed745fc8efaf0ee889d8f09709cba21b07174a8a7b" // 机器人安全配置secret,必填,建议填写,字符串
                }
            ],
            "yachworker": [1], // YACH工作通知配置,用户ID列表,非必填
            "email": [1], // 邮件通知配置,用户ID列表,非必填
            "sms": [1], // 短信通知配置,用户ID列表,非必填,必须在哮天犬配置手机号才可使用
            "wechat": [1], // 微信通知配置,用户ID列表,非必填
            "phone": [1], // 电话通知配置,用户ID列表,非必填,必须在哮天犬配置手机号才可使用
            "webhook": "http://www.baidu.com", // Webhook通知,必须为有效的URL地址,非必填
        },
        "dispatch":  [ // 分级告警配置,选填
            {
                "conditions": [
                    {
                        "rule": [
                            {
                                "field": "sd",
                                "operator": "eq",
                                "threshold": "ddd"
                            }
                        ]
                    },
                    {
                        "rule": [
                            {
                                "field": "sdfd",
                                "operator": "gt",
                                "threshold": "e"
                            }
                        ]
                    }
                ],
                "receiver": { // 同通知人配置
                    "channels": {
                        "dingworker": [
                            1
                        ],
                        "yachgroup": [
                            {
                                "webhook": "eHhpemFUVTA4b1l3255436W9XNlMvZjVuREVDTmMzZmRGdzBsNTN2UHNndG9GZVJKL1FUNllyWkkzK2x3Nw",
                                "secret": "333332465465467756"
                            }
                        ],
                        "yachworker": [
                            1
                        ]
                    }
                }
            },
        ],
    },
    "workflow": { // 告警工作流配置,非必填
        "enable": true, // 是否开启工作流配置,非必填,boolean类型,默认false
        "reminds": [ // 工作流提醒配置,非必填
            {
                "mode": "once", // 提醒模式,如果配置了提醒则必填,否则非必填,once-单次提醒;cycle-周期提醒
                "status": 1, // 提醒的状态,如果配置了提醒则必填,参见文档枚举类型:https://wiki.zhiyinlou.com/pages/viewpage.action?pageId=50971872
                "interval": 10, // 提醒时间,如果配置了提醒则必填,大于0的整数
                "reuse_receiver": 1 // 是否复用告警通知人,1-复用;0-不复用,如果配置了提醒则必填
            },
            {
                "mode": "cycle",
                "status": 0,
                "interval": 30,
                "reuse_receiver": 0,
                "receiver": { // 提醒通知人,如果选择了不复用,则必填,否则不必填
                    "alarmgroup": [1, 3], // 告警通知组ID,要求告警通知组与下方channels通知渠道至少填一个
                    "channels": { // 告警通知渠道,与告警通知组至少填一个
                        "dinggroup": [ // 钉钉机器人,可以填写多个,单个群最多可以添加6个,建议填写6个
                            {
                                "webhook": "1dadee4018526bb63b21d84d6d4e42c96c1e1c4ef218540fdcebf499daef3462", // webhook中的access_token参数的值,必填,字符串
                                "secret": "SECf5a89f004d59a1d3acc916ed745fc8efaf0ee889d8f09709cba21b07174a8a7b" // 机器人安全配置secret,非必填,建议填写,字符串
                            }
                        ],
                        "dingworker": [1], // 钉钉工作通知配置,用户ID列表,非必填
                        "email": [1], // 邮件通知配置,用户ID列表,非必填
                        "sms": [1], // 短信通知配置,用户ID列表,非必填,必须在哮天犬配置手机号才可使用
                        "wechat": [1], // 微信通知配置,用户ID列表,非必填
                        "phone": [1] // 电话通知配置,用户ID列表,非必填,必须在哮天犬配置手机号才可使用
                    }
                }
            }
        ]
    },
    "filter": { // 告警过滤配置,非必填
        "enable": true, // 是否开启,非必填,boolean类型,默认false
        "mode": 1, // 过滤模式:1-白名单;2-黑名单,开启了告警过滤必填
        "conditions": [ // 过滤条件,至少配置一个条件
            {
                "level": 0, // 告警级别,0、1、2、3、9四种值可选,参考枚举数据类型:https://wiki.zhiyinlou.com/pages/viewpage.action?pageId=50971872
                "rule": [
                    {
                        "field": "ctn.cpu_used", // 字段名称
                        "operator": "gt", // 条件操作符,参考枚举数据类型:https://wiki.zhiyinlou.com/pages/viewpage.action?pageId=50971872
                        "threshold": "80" // 阈值
                    }
                ]
            }   
        ],
        "not_match": 1 // 未命中过滤:1-直接入库;0-丢弃告警
    },
    "upgrade": { // 告警升级配置,非必填
        "enable": true, // 是否开启告警升级配置
        "strategies": [ // 告警升级策略,至少填写一个
            {
                "interval": 10, // 几分钟内,单位:分钟
                "count": 10, // 达到多少条,单位:条
                "level": 1, // 告警级别:升级的告警级别
                "reuse_receiver": 1 // 是否复用告警接收人
            },
            {
                "interval": 1,
                "count": 10,
                "level": 4,
                "reuse_receiver": 0, // 是否复用告警接收人
                "receiver": {
                    "alarmgroup": [1, 3], // 告警通知组ID,要求告警通知组与下方channels通知渠道至少填一个
                    "channels": { // 告警通知渠道,与告警通知组至少填一个
                        "dinggroup": [ // 钉钉机器人,可以填写多个,单个群最多可以添加6个,建议填写6个
                            {
                                "webhook": "1dadee4018526bb63b21d84d6d4e42c96c1e1c4ef218540fdcebf499daef3462", // webhook中的access_token参数的值,必填,字符串
                                "secret": "SECf5a89f004d59a1d3acc916ed745fc8efaf0ee889d8f09709cba21b07174a8a7b" // 机器人安全配置secret,非必填,建议填写,字符串
                            }
                        ],
                        "dingworker": [1], // 钉钉工作通知配置,用户ID列表,非必填
                        "email": [1], // 邮件通知配置,用户ID列表,非必填
                        "sms": [1], // 短信通知配置,用户ID列表,非必填,必须在哮天犬配置手机号才可使用
                        "wechat": [1], // 微信通知配置,用户ID列表,非必填
                        "phone": [1] // 电话通知配置,用户ID列表,非必填,必须在哮天犬配置手机号才可使用
                    }
                }
            }
        ]
    },
    "compress": { // 选填,不填写不开启告警收敛
        "enable": true,
        "method": 1, // 收敛指标(收敛方式):1-条件收敛;2-智能收敛;3-全量收敛
        "conditions": [
            {
                "rule": [
                    {
                        "field": "ctn.cpu_used", // 字段名称
                        "operator": "gt", // 条件操作符,参考枚举数据类型:https://wiki.zhiyinlou.com/pages/viewpage.action?pageId=50971872
                        "threshold": "80" // 阈值
                    }
                ] 
            }     
        ],
        "strategy": 3, // 收敛策略:1-周期收敛;2-延迟收敛;3-周期次数收敛
        "strategy_cycle": 10, // 周期时间,单位:min
        "strategy_count": 50, // 周期条数:单位:条
        "not_match": 1 // 1-直接发送;0-丢弃告警
    },
    "recovery": { // 告警自动恢复,非必填
        "enable": true,
        "mode": 1, // 过滤方式:1-条件恢复;2-延迟恢复
        "conditions": [ // 条件恢复才有该字段
            {
                "rule": [
                    {
                        "field": "ctn.cpu_used", // 字段名称
                        "operator": "gt", // 条件操作符,参考枚举数据类型:https://wiki.zhiyinlou.com/pages/viewpage.action?pageId=50971872
                        "threshold": "80" // 阈值
                    }
                ]
            }    
        ],
        "delay_interval": 10 // 延迟恢复时间,延迟恢复才有
    },
    "template": { // 选填,不填写为系统默认模板
        "template_id": "@integer(1, 999999)",
        "udf": { // 仅template_id才有该数据,User Defined - 自定义
            "compressed": {
                "dinggroup": {
                    "format": 1, // 模板类型:1-TEXT;2-MARKDOWN;3-HTML;4-ActionCard
                    "template": "模板内容", // 模板内容,仅需要时填写,全部非必填
                },
                "dingworker": {
                    "format": 1, // 模板类型:1-TEXT;2-MARKDOWN;3-HTML;4-ActionCard
                    "template": "模板内容", // 模板内容,仅需要时填写,全部非必填
                },
                "email": {
                    "format": 1, // 模板类型:1-TEXT;2-MARKDOWN;3-HTML;4-ActionCard
                    "template": "模板内容", // 模板内容,仅需要时填写,全部非必填
                },
                "sms": {
                    "format": 1, // 模板类型:1-TEXT;2-MARKDOWN;3-HTML;4-ActionCard
                    "template": "模板内容", // 模板内容,仅需要时填写,全部非必填
                },
                "wechat": {
                    "format": 1, // 模板类型:1-TEXT;2-MARKDOWN;3-HTML;4-ActionCard
                    "template": "模板内容", // 模板内容,仅需要时填写,全部非必填
                },
                "phone": {
                    "format": 1, // 模板类型:1-TEXT;2-MARKDOWN;3-HTML;4-ActionCard
                    "template": "模板内容", // 模板内容,仅需要时填写,全部非必填
                },
                "yachgroup": {
                    "format": 1, // 模板类型:1-TEXT;2-MARKDOWN;3-HTML;4-ActionCard
                    "template": "模板内容", // 模板内容,仅需要时填写,全部非必填
                },
                "yachworker": {
                    "format": 1, // 模板类型:1-TEXT;2-MARKDOWN;3-HTML;4-ActionCard
                    "template": "模板内容", // 模板内容,仅需要时填写,全部非必填
                },
            },
            "not_compress": {
                // 同上
            },
            "upgrade": {
                // 同上
            },
            "recovery": {
                // 同上
            }
        }
    }
}

:::
Response:

{
    "code": 0,
    "msg": "success",
    "data": {
        "task": {
            "name": "another测试2212",
            "token": "290b58d01dec90feea8bf7e7dbd053ea819690f4",
            "secret": "59f431d917078f9facdce98f2f061f6874611d76",
            "department_id": 1,
            "status": 1,
            "created_by": 2,
            "created_at": 1595924880,
            "id": 403,
            "department": {
                "id": 1,
                "name": "部门"
            },
            "creator": {
                "uid": 2,
                "username": "another",
                "email": "another@foo.bar",
                "department": "部门"
            }
        },
        "nullPhoneUsers": [ // 电话或短信渠道中没有设置电话号的用户
            {
                "uid": 2,
                "user": "another",
                "username": "another",
                "email": "another@foo.bar",
                "department": "部门"
            }
        ] 
    }
}

告警任务更新-/alarmtask/update

PUT /alarmtask/update
Request Headers:

  • Content-Type: application/json

Request Parameters:

Request Body:
::: details 点击查看请求参数

{
    "id": 105, // 告警任务ID
    "timestamp": "1584671913", // 用于鉴权的时间戳
    "sign": "6e673c6de3a0ed4a9257d4ea4d907fea", // 用于鉴权的签名
    "name": "日志中心", // 告警任务名称,必填,字符串,100字以内
    "department_id": 8, // 部门ID,必填,数字
    "flag_save_db": 1, // 是否入库存储,必填,枚举,0-不入库;1-入库
    "permission": { // 权限列表,非必填
        "rw": [1, 999999], // 读写权限用户列表,非必填,用户ID列表,用户ID为工号不带0
        "ro": [1] // 只读权限用户列表,非必填(读写权限包含读,没必要重复添加,文档仅示例数据格式
    },
    "receiver": { // 告警通知人,必填
        "alarmgroup": [1, 3], // 告警通知组ID,要求告警通知组与下方channels通知渠道至少填一个
        "channels": { // 告警通知渠道,与告警通知组至少填一个
            "dinggroup": [ // 钉钉机器人,可以填写多个,单个群最多可以添加6个,建议填写6个
                {
                    "webhook": "1dadee4018526bb63b21d84d6d4e42c96c1e1c4ef218540fdcebf499daef3462", // webhook中的access_token参数的值,必填,字符串
                    "secret": "SECf5a89f004d59a1d3acc916ed745fc8efaf0ee889d8f09709cba21b07174a8a7b" // 机器人安全配置secret,必填,建议填写,字符串
                }
            ],
            "dingworker": [1], // 钉钉工作通知配置,用户ID列表,非必填
            "yachgroup": [ // YACH机器人,可以填写多个,单个群最多可以添加6个,建议填写6个
                {
                    "webhook": "1dadee4018526bb63b21d84d6d4e42c96c1e1c4ef218540fdcebf499daef3462", // webhook中的access_token参数的值,必填,字符串
                    "secret": "SECf5a89f004d59a1d3acc916ed745fc8efaf0ee889d8f09709cba21b07174a8a7b" // 机器人安全配置secret,必填,建议填写,字符串
                }
            ],
            "yachworker": [1], // YACH工作通知配置,用户ID列表,非必填
            "email": [1], // 邮件通知配置,用户ID列表,非必填
            "sms": [1], // 短信通知配置,用户ID列表,非必填,必须在哮天犬配置手机号才可使用
            "wechat": [1], // 微信通知配置,用户ID列表,非必填
            "phone": [1], // 电话通知配置,用户ID列表,非必填,必须在哮天犬配置手机号才可使用
            "webhook": "http://www.baidu.com", // Webhook通知,必须为有效的URL地址,非必填
        },
        "dispatch":  [ // 分级告警配置,选填
            {
                "conditions": [
                    {
                        "rule": [
                            {
                                "field": "sd",
                                "operator": "eq",
                                "threshold": "ddd"
                            }
                        ]
                    },
                    {
                        "rule": [
                            {
                                "field": "sdfd",
                                "operator": "gt",
                                "threshold": "e"
                            }
                        ]
                    }
                ],
                "receiver": { // 同通知人配置
                    "channels": {
                        "dingworker": [
                            1
                        ],
                        "yachgroup": [
                            {
                                "webhook": "eHhpemFUVTA4b1l3255436W9XNlMvZjVuREVDTmMzZmRGdzBsNTN2UHNndG9GZVJKL1FUNllyWkkzK2x3Nw",
                                "secret": "333332465465467756"
                            }
                        ],
                        "yachworker": [
                            1
                        ]
                    }
                }
            },
        ],
    },
    "workflow": { // 告警工作流配置,非必填
        "enable": true, // 是否开启工作流配置,非必填,boolean类型,默认false
        "reminds": [ // 工作流提醒配置,非必填
            {
                "mode": "once", // 提醒模式,如果配置了提醒则必填,否则非必填,once-单次提醒;cycle-周期提醒
                "status": 1, // 提醒的状态,如果配置了提醒则必填,参见文档枚举类型:https://wiki.zhiyinlou.com/pages/viewpage.action?pageId=50971872
                "interval": 10, // 提醒时间,如果配置了提醒则必填,大于0的整数
                "reuse_receiver": 1 // 是否复用告警通知人,1-复用;0-不复用,如果配置了提醒则必填
            },
            {
                "mode": "cycle",
                "status": 0,
                "interval": 30,
                "reuse_receiver": 0,
                "receiver": { // 提醒通知人,如果选择了不复用,则必填,否则不必填
                    "alarmgroup": [1, 3], // 告警通知组ID,要求告警通知组与下方channels通知渠道至少填一个
                    "channels": { // 告警通知渠道,与告警通知组至少填一个
                        "dinggroup": [ // 钉钉机器人,可以填写多个,单个群最多可以添加6个,建议填写6个
                            {
                                "webhook": "1dadee4018526bb63b21d84d6d4e42c96c1e1c4ef218540fdcebf499daef3462", // webhook中的access_token参数的值,必填,字符串
                                "secret": "SECf5a89f004d59a1d3acc916ed745fc8efaf0ee889d8f09709cba21b07174a8a7b" // 机器人安全配置secret,非必填,建议填写,字符串
                            }
                        ],
                        "dingworker": [1], // 钉钉工作通知配置,用户ID列表,非必填
                        "email": [1], // 邮件通知配置,用户ID列表,非必填
                        "sms": [1], // 短信通知配置,用户ID列表,非必填,必须在哮天犬配置手机号才可使用
                        "wechat": [1], // 微信通知配置,用户ID列表,非必填
                        "phone": [1] // 电话通知配置,用户ID列表,非必填,必须在哮天犬配置手机号才可使用
                    }
                }
            }
        ]
    },
    "filter": { // 告警过滤配置,非必填
        "enable": true, // 是否开启,非必填,boolean类型,默认false
        "mode": 1, // 过滤模式:1-白名单;2-黑名单,开启了告警过滤必填
        "conditions": [ // 过滤条件,至少配置一个条件
            {
                "level": 0, // 告警级别,0、1、2、3、9四种值可选,参考枚举数据类型:https://wiki.zhiyinlou.com/pages/viewpage.action?pageId=50971872
                "rule": [
                    {
                        "field": "ctn.cpu_used", // 字段名称
                        "operator": "gt", // 条件操作符,参考枚举数据类型:https://wiki.zhiyinlou.com/pages/viewpage.action?pageId=50971872
                        "threshold": "80" // 阈值
                    }
                ]
            }   
        ],
        "not_match": 1 // 未命中过滤:1-直接入库;0-丢弃告警
    },
    "upgrade": { // 告警升级配置,非必填
        "enable": true, // 是否开启告警升级配置
        "strategies": [ // 告警升级策略,至少填写一个
            {
                "interval": 10, // 几分钟内,单位:分钟
                "count": 10, // 达到多少条,单位:条
                "level": 1, // 告警级别:升级的告警级别
                "reuse_receiver": 1 // 是否复用告警接收人
            },
            {
                "interval": 1,
                "count": 10,
                "level": 4,
                "reuse_receiver": 0, // 是否复用告警接收人
                "receiver": {
                    "alarmgroup": [1, 3], // 告警通知组ID,要求告警通知组与下方channels通知渠道至少填一个
                    "channels": { // 告警通知渠道,与告警通知组至少填一个
                        "dinggroup": [ // 钉钉机器人,可以填写多个,单个群最多可以添加6个,建议填写6个
                            {
                                "webhook": "1dadee4018526bb63b21d84d6d4e42c96c1e1c4ef218540fdcebf499daef3462", // webhook中的access_token参数的值,必填,字符串
                                "secret": "SECf5a89f004d59a1d3acc916ed745fc8efaf0ee889d8f09709cba21b07174a8a7b" // 机器人安全配置secret,非必填,建议填写,字符串
                            }
                        ],
                        "dingworker": [1], // 钉钉工作通知配置,用户ID列表,非必填
                        "email": [1], // 邮件通知配置,用户ID列表,非必填
                        "sms": [1], // 短信通知配置,用户ID列表,非必填,必须在哮天犬配置手机号才可使用
                        "wechat": [1], // 微信通知配置,用户ID列表,非必填
                        "phone": [1] // 电话通知配置,用户ID列表,非必填,必须在哮天犬配置手机号才可使用
                    }
                }
            }
        ]
    },
    "compress": { // 选填,不填写不开启告警收敛
        "enable": true,
        "method": 1, // 收敛指标(收敛方式):1-条件收敛;2-智能收敛;3-全量收敛
        "conditions": [
            {
                "rule": [
                    {
                        "field": "ctn.cpu_used", // 字段名称
                        "operator": "gt", // 条件操作符,参考枚举数据类型:https://wiki.zhiyinlou.com/pages/viewpage.action?pageId=50971872
                        "threshold": "80" // 阈值
                    }
                ] 
            }     
        ],
        "strategy": 3, // 收敛策略:1-周期收敛;2-延迟收敛;3-周期次数收敛
        "strategy_cycle": 10, // 周期时间,单位:min
        "strategy_count": 50, // 周期条数:单位:条
        "not_match": 1 // 1-直接发送;0-丢弃告警
    },
    "recovery": { // 告警自动恢复,非必填
        "enable": true,
        "mode": 1, // 过滤方式:1-条件恢复;2-延迟恢复
        "conditions": [ // 条件恢复才有该字段
            {
                "rule": [
                    {
                        "field": "ctn.cpu_used", // 字段名称
                        "operator": "gt", // 条件操作符,参考枚举数据类型:https://wiki.zhiyinlou.com/pages/viewpage.action?pageId=50971872
                        "threshold": "80" // 阈值
                    }
                ]
            }    
        ],
        "delay_interval": 10 // 延迟恢复时间,延迟恢复才有
    },
    "template": { // 选填,不填写为系统默认模板
        "template_id": "@integer(1, 999999)",
        "udf": { // 仅template_id才有该数据,User Defined - 自定义
            "compressed": {
                "dinggroup": {
                    "format": 1, // 模板类型:1-TEXT;2-MARKDOWN;3-HTML;4-ActionCard
                    "template": "模板内容", // 模板内容,仅需要时填写,全部非必填
                },
                "dingworker": {
                    "format": 1, // 模板类型:1-TEXT;2-MARKDOWN;3-HTML;4-ActionCard
                    "template": "模板内容", // 模板内容,仅需要时填写,全部非必填
                },
                "email": {
                    "format": 1, // 模板类型:1-TEXT;2-MARKDOWN;3-HTML;4-ActionCard
                    "template": "模板内容", // 模板内容,仅需要时填写,全部非必填
                },
                "sms": {
                    "format": 1, // 模板类型:1-TEXT;2-MARKDOWN;3-HTML;4-ActionCard
                    "template": "模板内容", // 模板内容,仅需要时填写,全部非必填
                },
                "wechat": {
                    "format": 1, // 模板类型:1-TEXT;2-MARKDOWN;3-HTML;4-ActionCard
                    "template": "模板内容", // 模板内容,仅需要时填写,全部非必填
                },
                "phone": {
                    "format": 1, // 模板类型:1-TEXT;2-MARKDOWN;3-HTML;4-ActionCard
                    "template": "模板内容", // 模板内容,仅需要时填写,全部非必填
                },
                "yachgroup": {
                    "format": 1, // 模板类型:1-TEXT;2-MARKDOWN;3-HTML;4-ActionCard
                    "template": "模板内容", // 模板内容,仅需要时填写,全部非必填
                },
                "yachworker": {
                    "format": 1, // 模板类型:1-TEXT;2-MARKDOWN;3-HTML;4-ActionCard
                    "template": "模板内容", // 模板内容,仅需要时填写,全部非必填
                },
            },
            "not_compress": {
                // 同上
            },
            "upgrade": {
                // 同上
            },
            "recovery": {
                // 同上
            }
        }
    }
}

:::
Response:

{
    "code": 0,
    "msg": "success",
    "data": {
        "task": {
            "id": 402,
            "name": "another测试2212",
            "token": "a118971afebf95fee84d2599f0e521b8f24f3885",
            "secret": "7d00c3d896118bcb3ee390b2426aab7511872362",
            "department_id": 1,
            "status": 1,
            "created_by": 2,
            "created_at": 1595923897,
            "department": {
                "id": 1,
                "name": "部门"
            },
            "creator": {
                "uid": 2,
                "username": "another",
                "email": "another@foo.bar",
                "department": "部门"
            }
        },
        "nullPhoneUsers": []
    }
}

告警任务部分更新-/alarmtask/updatefields

PUT /alarmtask/updatefields
Request Headers:

  • Content-Type: application/json

Request Parameters:

Request Body:
::: details 点击查看请求参数

{
    // 只更新过滤的字段,id, timestamp, sign, filter_fields必填,其他字段根据filter_fileds的条件要求是否必填
    "filter_fields": ["name", "template.udf.compressed", "receiver.channels.dingworker"],
    "id": 105, // 告警任务ID
    "timestamp": "1584671913", // 用于鉴权的时间戳
    "sign": "6e673c6de3a0ed4a9257d4ea4d907fea", // 用于鉴权的签名
    "name": "日志中心", // 告警任务名称,根据filter_fields要求,字符串,100字以内
    "department_id": 8, // 部门ID,根据filter_fields要求,数字
    "flag_save_db": 1, // 是否入库存储,根据filter_fields要求,枚举,0-不入库;1-入库
    "permission": { // 权限列表,非必填
        "rw": [1, 999999], // 读写权限用户列表,非必填,用户ID列表,用户ID为工号不带0
        "ro": [1] // 只读权限用户列表,非必填(读写权限包含读,没必要重复添加,文档仅示例数据格式
    },
    "receiver": { // 告警通知人,必填
        "alarmgroup": [1, 3], // 告警通知组ID,要求告警通知组与下方channels通知渠道至少填一个
        "channels": { // 告警通知渠道,与告警通知组至少填一个
            "dinggroup": [ // 钉钉机器人,可以填写多个,单个群最多可以添加6个,建议填写6个
                {
                    "webhook": "1dadee4018526bb63b21d84d6d4e42c96c1e1c4ef218540fdcebf499daef3462", // webhook中的access_token参数的值,必填,字符串
                    "secret": "SECf5a89f004d59a1d3acc916ed745fc8efaf0ee889d8f09709cba21b07174a8a7b" // 机器人安全配置secret,必填,建议填写,字符串
                }
            ],
            "dingworker": [1], // 钉钉工作通知配置,用户ID列表,非必填
            "yachgroup": [ // YACH机器人,可以填写多个,单个群最多可以添加6个,建议填写6个
                {
                    "webhook": "1dadee4018526bb63b21d84d6d4e42c96c1e1c4ef218540fdcebf499daef3462", // webhook中的access_token参数的值,必填,字符串
                    "secret": "SECf5a89f004d59a1d3acc916ed745fc8efaf0ee889d8f09709cba21b07174a8a7b" // 机器人安全配置secret,必填,建议填写,字符串
                }
            ],
            "yachworker": [1], // YACH工作通知配置,用户ID列表,非必填
            "email": [1], // 邮件通知配置,用户ID列表,非必填
            "sms": [1], // 短信通知配置,用户ID列表,非必填,必须在哮天犬配置手机号才可使用
            "wechat": [1], // 微信通知配置,用户ID列表,非必填
            "phone": [1], // 电话通知配置,用户ID列表,非必填,必须在哮天犬配置手机号才可使用
            "webhook": "http://www.baidu.com", // Webhook通知,必须为有效的URL地址,非必填
        },
        "dispatch":  [ // 分级告警配置,选填
            {
                "conditions": [
                    {
                        "rule": [
                            {
                                "field": "sd",
                                "operator": "eq",
                                "threshold": "ddd"
                            }
                        ]
                    },
                    {
                        "rule": [
                            {
                                "field": "sdfd",
                                "operator": "gt",
                                "threshold": "e"
                            }
                        ]
                    }
                ],
                "receiver": { // 同通知人配置
                    "channels": {
                        "dingworker": [
                            1
                        ],
                        "yachgroup": [
                            {
                                "webhook": "eHhpemFUVTA4b1l3255436W9XNlMvZjVuREVDTmMzZmRGdzBsNTN2UHNndG9GZVJKL1FUNllyWkkzK2x3Nw",
                                "secret": "333332465465467756"
                            }
                        ],
                        "yachworker": [
                            1
                        ]
                    }
                }
            },
        ],
    },
    "workflow": { // 告警工作流配置,非必填
        "enable": true, // 是否开启工作流配置,非必填,boolean类型,默认false
        "reminds": [ // 工作流提醒配置,非必填
            {
                "mode": "once", // 提醒模式,如果配置了提醒则必填,否则非必填,once-单次提醒;cycle-周期提醒
                "status": 1, // 提醒的状态,如果配置了提醒则必填,参见文档枚举类型:https://wiki.zhiyinlou.com/pages/viewpage.action?pageId=50971872
                "interval": 10, // 提醒时间,如果配置了提醒则必填,大于0的整数
                "reuse_receiver": 1 // 是否复用告警通知人,1-复用;0-不复用,如果配置了提醒则必填
            },
            {
                "mode": "cycle",
                "status": 0,
                "interval": 30,
                "reuse_receiver": 0,
                "receiver": { // 提醒通知人,如果选择了不复用,则必填,否则不必填
                    "alarmgroup": [1, 3], // 告警通知组ID,要求告警通知组与下方channels通知渠道至少填一个
                    "channels": { // 告警通知渠道,与告警通知组至少填一个
                        "dinggroup": [ // 钉钉机器人,可以填写多个,单个群最多可以添加6个,建议填写6个
                            {
                                "webhook": "1dadee4018526bb63b21d84d6d4e42c96c1e1c4ef218540fdcebf499daef3462", // webhook中的access_token参数的值,必填,字符串
                                "secret": "SECf5a89f004d59a1d3acc916ed745fc8efaf0ee889d8f09709cba21b07174a8a7b" // 机器人安全配置secret,非必填,建议填写,字符串
                            }
                        ],
                        "dingworker": [1], // 钉钉工作通知配置,用户ID列表,非必填
                        "email": [1], // 邮件通知配置,用户ID列表,非必填
                        "sms": [1], // 短信通知配置,用户ID列表,非必填,必须在哮天犬配置手机号才可使用
                        "wechat": [1], // 微信通知配置,用户ID列表,非必填
                        "phone": [1] // 电话通知配置,用户ID列表,非必填,必须在哮天犬配置手机号才可使用
                    }
                }
            }
        ]
    },
    "filter": { // 告警过滤配置,非必填
        "enable": true, // 是否开启,非必填,boolean类型,默认false
        "mode": 1, // 过滤模式:1-白名单;2-黑名单,开启了告警过滤必填
        "conditions": [ // 过滤条件,至少配置一个条件
            {
                "level": 0, // 告警级别,0、1、2、3、9四种值可选,参考枚举数据类型:https://wiki.zhiyinlou.com/pages/viewpage.action?pageId=50971872
                "rule": [
                    {
                        "field": "ctn.cpu_used", // 字段名称
                        "operator": "gt", // 条件操作符,参考枚举数据类型:https://wiki.zhiyinlou.com/pages/viewpage.action?pageId=50971872
                        "threshold": "80" // 阈值
                    }
                ]
            }   
        ],
        "not_match": 1 // 未命中过滤:1-直接入库;0-丢弃告警
    },
    "upgrade": { // 告警升级配置,非必填
        "enable": true, // 是否开启告警升级配置
        "strategies": [ // 告警升级策略,至少填写一个
            {
                "interval": 10, // 几分钟内,单位:分钟
                "count": 10, // 达到多少条,单位:条
                "level": 1, // 告警级别:升级的告警级别
                "reuse_receiver": 1 // 是否复用告警接收人
            },
            {
                "interval": 1,
                "count": 10,
                "level": 4,
                "reuse_receiver": 0, // 是否复用告警接收人
                "receiver": {
                    "alarmgroup": [1, 3], // 告警通知组ID,要求告警通知组与下方channels通知渠道至少填一个
                    "channels": { // 告警通知渠道,与告警通知组至少填一个
                        "dinggroup": [ // 钉钉机器人,可以填写多个,单个群最多可以添加6个,建议填写6个
                            {
                                "webhook": "1dadee4018526bb63b21d84d6d4e42c96c1e1c4ef218540fdcebf499daef3462", // webhook中的access_token参数的值,必填,字符串
                                "secret": "SECf5a89f004d59a1d3acc916ed745fc8efaf0ee889d8f09709cba21b07174a8a7b" // 机器人安全配置secret,非必填,建议填写,字符串
                            }
                        ],
                        "dingworker": [1], // 钉钉工作通知配置,用户ID列表,非必填
                        "email": [1], // 邮件通知配置,用户ID列表,非必填
                        "sms": [1], // 短信通知配置,用户ID列表,非必填,必须在哮天犬配置手机号才可使用
                        "wechat": [1], // 微信通知配置,用户ID列表,非必填
                        "phone": [1] // 电话通知配置,用户ID列表,非必填,必须在哮天犬配置手机号才可使用
                    }
                }
            }
        ]
    },
    "compress": { // 选填,不填写不开启告警收敛
        "enable": true,
        "method": 1, // 收敛指标(收敛方式):1-条件收敛;2-智能收敛;3-全量收敛
        "conditions": [
            {
                "rule": [
                    {
                        "field": "ctn.cpu_used", // 字段名称
                        "operator": "gt", // 条件操作符,参考枚举数据类型:https://wiki.zhiyinlou.com/pages/viewpage.action?pageId=50971872
                        "threshold": "80" // 阈值
                    }
                ] 
            }     
        ],
        "strategy": 3, // 收敛策略:1-周期收敛;2-延迟收敛;3-周期次数收敛
        "strategy_cycle": 10, // 周期时间,单位:min
        "strategy_count": 50, // 周期条数:单位:条
        "not_match": 1 // 1-直接发送;0-丢弃告警
    },
    "recovery": { // 告警自动恢复,非必填
        "enable": true,
        "mode": 1, // 过滤方式:1-条件恢复;2-延迟恢复
        "conditions": [ // 条件恢复才有该字段
            {
                "rule": [
                    {
                        "field": "ctn.cpu_used", // 字段名称
                        "operator": "gt", // 条件操作符,参考枚举数据类型:https://wiki.zhiyinlou.com/pages/viewpage.action?pageId=50971872
                        "threshold": "80" // 阈值
                    }
                ]
            }    
        ],
        "delay_interval": 10 // 延迟恢复时间,延迟恢复才有
    },
    "template": { // 选填,不填写为系统默认模板
        "template_id": "@integer(1, 999999)",
        "udf": { // 仅template_id才有该数据,User Defined - 自定义
            "compressed": {
                "dinggroup": {
                    "format": 1, // 模板类型:1-TEXT;2-MARKDOWN;3-HTML;4-ActionCard
                    "template": "模板内容", // 模板内容,仅需要时填写,全部非必填
                },
                "dingworker": {
                    "format": 1, // 模板类型:1-TEXT;2-MARKDOWN;3-HTML;4-ActionCard
                    "template": "模板内容", // 模板内容,仅需要时填写,全部非必填
                },
                "email": {
                    "format": 1, // 模板类型:1-TEXT;2-MARKDOWN;3-HTML;4-ActionCard
                    "template": "模板内容", // 模板内容,仅需要时填写,全部非必填
                },
                "sms": {
                    "format": 1, // 模板类型:1-TEXT;2-MARKDOWN;3-HTML;4-ActionCard
                    "template": "模板内容", // 模板内容,仅需要时填写,全部非必填
                },
                "wechat": {
                    "format": 1, // 模板类型:1-TEXT;2-MARKDOWN;3-HTML;4-ActionCard
                    "template": "模板内容", // 模板内容,仅需要时填写,全部非必填
                },
                "phone": {
                    "format": 1, // 模板类型:1-TEXT;2-MARKDOWN;3-HTML;4-ActionCard
                    "template": "模板内容", // 模板内容,仅需要时填写,全部非必填
                },
                "yachgroup": {
                    "format": 1, // 模板类型:1-TEXT;2-MARKDOWN;3-HTML;4-ActionCard
                    "template": "模板内容", // 模板内容,仅需要时填写,全部非必填
                },
                "yachworker": {
                    "format": 1, // 模板类型:1-TEXT;2-MARKDOWN;3-HTML;4-ActionCard
                    "template": "模板内容", // 模板内容,仅需要时填写,全部非必填
                },
            },
            "not_compress": {
                // 同上
            },
            "upgrade": {
                // 同上
            },
            "recovery": {
                // 同上
            }
        }
    }
}

:::
Response

{
    "code": 0,
    "msg": "success",
    "data": {
        "task": {
            "id": 402,
            "name": "anotherhahahha",
            "token": "a118971afebf95fee84d2599f0e521b8f24f3885",
            "secret": "7d00c3d896118bcb3ee390b2426aab7511872362",
            "department_id": 1,
            "status": 1,
            "created_by": 2,
            "created_at": 1595923897,
            "department": {
                "id": 1,
                "name": "部门"
            },
            "creator": {
                "uid": 2,
                "username": "another",
                "email": "another@foo.bar",
                "department": "部门"
            }
        },
        "nullPhoneUsers": []
    }
}

告警任务删除-/alarmtask

DELETE /alarmtask
Request Headers:

  • Content-Type: application/x-www-form-urlencoded

Request Parameters:

| 参数名称 | 是否必须 | 示例 | 备注 | | —- | —- | —- | —- |

| id | 是 | 1 | 告警任务ID |

| timestamp | 是 | 1595926163 | 鉴权 Unix 时间戳 |

| sign | 是 | a5b24a99c2b008d148bb9c8dd0d9bc37 | 鉴权签名 |

Request Body:

Response:

{
    "code": 0,
    "msg": "success",
    "data": {
        "id": 403
    }
}

告警任务停止-/alarmtask/stop

PUT /alarmtask/stop
Request Headers:

  • Content-Type: application/json

Request Parameters:

Request Body:

{
    "id": 104, // 任务ID
    "timestamp": "1584672789", // 鉴权时间戳
    "sign": "415ccad4c8d33f2e4f158ec37e230223" // 鉴权签名
}

Response:

{
    "code": 0,
    "msg": "success",
    "data": {
        "id": 104
    }
}

告警任务开启- /alarmtask/start

PUT /alarmtask/start
Request Headers:

  • Content-Type: application/json

Request Parameters:

Request Body:

{
    "id": 104, // 任务ID
    "timestamp": "1584672789", // 鉴权时间戳
    "sign": "415ccad4c8d33f2e4f158ec37e230223" // 鉴权签名
}

Response:

{
  "code": 0,
  "msg": "success",
  "data": {
    "id": 104
  }
}

告警任务挂起-/alarmtask/pause

PUT /alarmtask/pause
Request Headers:

  • Content-Type: application/json

Request Parameters:

Request Body:

{
    "id": 104, // 任务ID
    "timestamp": "1584672789", // 鉴权时间戳
    "sign": "415ccad4c8d33f2e4f158ec37e230223", // 鉴权签名
    "time": 10 // 暂停的时间,单位:分钟
}

Response:

{
  "code": 0,
  "msg": "success",
  "data": {
    "id": 104,
    "time": 10
  }
}

工作流详情-/workflow/show

GET /workflow/show
Request Headers:

  • Content-Type: application/json

Request Parameters:

| 参数名称 | 是否必须 | 示例 | 备注 | | —- | —- | —- | —- |

| id | 是 | 1 | 工作流ID |

Request Body:

Response:

{
    "code": 0,
    "msg": "success",
    "data": {
        "workflow": { // 工作流信息
            "id": 402, // 工作流ID
            "task_id": 141, // 告警任务ID
            // 告警收敛指标
            "metric": "6d00f7400f67792f5122e099ee2401765b444683",
            "history_id": 100596, // 告警记录ID
            "status": 0, // 状态:0-待处理;1-处理中;2-处理完成;9-关闭
            "created_at": 1589524980, // 创建时间
            "updated_at": 1589524980, // 更新时间
            "pipelines": [ // 流程记录
                {
                    "status": 3, // 状态:0-待处理;1-处理中;2-处理完成;3-提醒;4-指派;5-重新激活;9-关闭
                    "remark": "提醒", // 备注
                    "props": { // 记录属性
                        "remind": { // 提醒配置
                            "interval": 10, // 提醒时间间隔
                            "status": 0 // 状态:0-待处理;1-处理中;2-处理完成;9-关闭
                        }
                    },
                    "created_by": 0, // 创建人
                    "created_at": 1589525584, // 创建时间
                    "creator": null // 创建人信息,null表示不存在,存在时为Object
                }
            ],
            "task": { // 任务信息
                "id": 141, // 任务ID
                "name": "another-同比环比-mysql数据源测试", // 任务名称
                "department_id": 2, // 部门ID
                "department": { // 部门信息
                    "id": 2, // 部门ID
                    "name": "质量研发部" // 部门名称
                }
            },
            "history": { // 告警记录信息
                "id": 100596, // 告警记录ID
                "uuid": "34ec840c-fb09-48fc-9cce-5edfd14a8fb7", // 告警记录uuid
                "batch": 872381664, // 收敛批次
                "metric": "6d00f7400f67792f5122e099ee2401765b444683", // 收敛指标
                "notice_time": 1589524980, // 通知时间
                "level": 1, // 通知级别
                "ctn": "{\"school_id\":\"8.0000\",\"user_id\":65}", // 告警内容,JSON字符串格式
                "created_at": 1589524980 // 创建时间
            }
        }
    }
}

工作流认领-/workflow/claim

PUT /workflow/claim
Request Headers:

  • Content-Type: application/json

Request Parameters:

Request Body:

{       
    "ids": [89, 22], // 此值是工作流的主键ID,可以批量(ID保持唯一,别重复)
    "created_by": 2, // 工作流认领人
    "remark": "" // 认领备注 可不填
}

Response:

{
    "code": 0,
    "msg": "success",
    "data": {
        "workflows": [
            {
                "id": 22, // 工作流ID
                "status": 1 // 状态:0-待处理;1-处理中;2-处理完成;9-关闭
            },
            {
                "id": 89, 
                "status": 1
            }
        ]
    }
}

工作流指派-/workflow/assign

PUT /workflow/assign
Request Headers:

  • Content-Type: application/json

Request Parameters:

Request Body:

{
    "ids": [1, 2, 3], // 不能重复,必填
    "remark": "", // 指派备注 必填
    "assignto": [2, 22112], // 被指派人用户ID
    "created_by": 2 // 操作人用户ID
}

Response:

{
    "code": 0,
    "msg": "success",
    "data": {
        "workflows": []
    }
}

工作流处理完成-/workflow/processed

PUT /workflow/processed
Request Headers:

  • Content-Type: application/json

Request Parameters:

Request Body:

{
    "ids": [
        89
    ], // 工作流ID,不可重复
    "created_by": 2, // 必填
    "remark": "test" // 备注 必填
}

Response:

{
    "code": 0,
    "msg": "success",
    "data": {
        "workflows": [
            {
                "id": 89,
                "status": 2
            }
        ]
    }
}

工作流重新激活-/workflow/reactive

PUT /workflow/reactive
Request Headers:

  • Content-Type: application/json

Request Parameters:

Request Body:

{
    "ids": [1, 2, 3], // 不能重复,必填
    "remark": "", // 备注 必填 
    "created_by": 2,
}

Response:

{
   "code": 0,
   "msg": "success",
   "data": {
        "workflows": [
            {
                "id": 159,
                "status": 0
            }
        ]
   }
}

工作流关闭-/workflow/close

PUT /workflow/close
Request Headers:

  • Content-Type: application/json

Request Parameters:

Request Body:

{
    "ids": [1, 2, 3], // 不能重复,必填
    "remark": "", // 备注 必填
    "created_by": 2,
}

Response:

{
    "code": 0,
    "msg": "success",
    "data": {
        "workflows": [
            {
                "id": 159,
                "status": 9
            }
        ]
    }
}