thingboard告警信息格式美化
- 互联网
- 2025-09-05 01:21:01

原始报警json内容:
{ "severity": "CRITICAL", "acknowledged": false, "cleared": false, "assigneeId": null, "startTs": 1739801102349, "endTs": 1739801102349, "ackTs": 0, "clearTs": 0, "assignTs": 0, "propagate": false, "propagateToOwner": false, "propagateToTenant": false, "propagateRelationTypes": [], "originatorName": "DTU-863569063344204", "originatorLabel": "DTU-863569063344204", "assignee": null, "name": "Inactivity TimeOut", "status": "ACTIVE_UNACK", "details": {} }报警格式美化js代码:
var date = new Date(); var year = date.getFullYear(); var month = ('0' + (date.getMonth() + 1)).slice(-2); var day = ('0' + date.getDate()).slice(-2); var hours = ('0' + date.getHours()).slice(-2); var minutes = ('0' + date.getMinutes()).slice(-2); var seconds = ('0' + date.getSeconds()).slice(-2); var currentTime = year + '-' + month + '-' + day + ' ' + hours + ':' + minutes + ':' + seconds; // 解析告警时间 function formatUnixTime(unixTimestamp) { var date = new Date(unixTimestamp); var year = date.getFullYear(); var month = ('0' + (date.getMonth() + 1)).slice(-2); var day = ('0' + date.getDate()).slice(-2); var hours = ('0' + date.getHours()).slice(-2); var minutes = ('0' + date.getMinutes()).slice(-2); var seconds = ('0' + date.getSeconds()).slice(-2); return year + '-' + month + '-' + day + ' ' + hours + ':' + minutes + ':' + seconds; } // 格式化报警级别 var severityMap = { "CRITICAL": "🔥 **严重告警**", "MAJOR": "⚠ **主要告警**", "MINOR": "🔶 **次要告警**", "WARNING": "ℹ **警告**" }; var severity = severityMap[msg.severity] || "⚠ **未知级别**"; // 确认状态 var acknowledged = msg.acknowledged ? "✅ 已确认" : "❌ 未确认"; var cleared = msg.cleared ? "✅ 已清除" : "❌ 未清除"; // 组装格式化的告警信息 var messageContent = "📢 **设备告警通知** 📢\n" + "------------------------------\n" + "📅 **当前时间**: " + currentTime + "\n" + "📍 **设备名称**: " + msg.originatorName + "\n" + "🔖 **设备标识**: " + msg.originatorLabel + "\n" + "⚠ **告警名称**: " + msg.name + "\n" + "🚨 **告警级别**: " + severity + "\n" + "🕒 **告警开始时间**: " + formatUnixTime(msg.startTs) + "\n" + "🕒 **告警结束时间**: " + formatUnixTime(msg.endTs) + "\n" + "🔎 **告警状态**: " + msg.status + "\n" + "📌 **确认状态**: " + acknowledged + "\n" + "📌 **清除状态**: " + cleared + "\n" + "------------------------------"; var newMsg = { "msgtype": "text", "text": { "content": messageContent, "mentioned_list": ["wangqing", "@all"], "mentioned_mobile_list": ["13800001111", "@all"] } }; return { msg: newMsg };输出到企业微信消息:
thingboard告警信息格式美化由讯客互联互联网栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“thingboard告警信息格式美化”