榆次建设局网站,网站制作案例价格,搜索引擎排名优化建议,沧州易淘网络科技有限公司钉钉告警设置 我们可以将同一个运維组的人员加入到同一个钉钉工作群中#xff0c;当有异常出现后#xff0c;Zabbix 将告警信息发送到钉钉的群里面#xff0c;此时#xff0c;群内所有的运维人员都能在第一时间看到这则告警详细。 Zabbix 监控系统默认没有开箱即用…钉钉告警设置 我们可以将同一个运維组的人员加入到同一个钉钉工作群中当有异常出现后Zabbix 将告警信息发送到钉钉的群里面此时群内所有的运维人员都能在第一时间看到这则告警详细。 Zabbix 监控系统默认没有开箱即用的对接钉钉的结构,需要利用 Zabbix 监控系统的脚本定制化的方式扩展钉钉告警的实现。
1.webhook的定义 Webhook 是一个 API 概念是微服务 API 的使用范式之一也被称为反向 API即前端不主动发送请求完全由后端推送;举个常用例子比如你的好友发了一条朋友圈后端将这条消息推送给所有其他好友的客户端就是 Webhook 的典型场景。 简单来说webhook 就是一个接收 HTTP POST(或 GETPUT,DELETE)的 URL,一个实现了 webhook的 API 提供商就是在当事件发生的时候会向这个配置好的 URL 发送一条信息与请求-响应式不同使用 webhook 你可以实时接受到变化。 在钉钉中我们可以为群创建一个 webhookzabbix 就是通过 webhook 向这个钉钉群发送信息的。
2.为钉钉群创建 webhook 钉钉机器人是全局唯一的应用即无论是在单聊场景中还是群聊场景中都可以用来推送应用的通知和用来对用户进行对话式服务机器人 ID 都可以是唯一的。这意味着开发者既可以选择仅创建一个机器人而后将其放在各个应用场景下使用也可以创建多个机器人然后分别部署在不同场景下。
(1)设置钉钉机器人
群设置--》智能群助手添加自定义群机器人 注意:多添加一些关键字:报警、告警、问题、故障、恢复 2生成webhook
记下这个webhook只要机器人不删这个webhook就可以一直使用 3测试
使用如下命令在linux系统中发送测试信息
[rootzbx ~]# curl webhook地址 -H Content-Type:application/json -d {msgtype:text,text:{content:报警}}2.设置zabbix告警方式
1创建报警媒介
“告警”--“媒介”创建媒介类型 参数部分设置:
Message: (ALERT.MESSAGE} TO: {ALERT.SENDTO} URL:https://oapi,dingtalk.com/robot/send?access token你的 token 值
删掉其他参数将本案例提供的脚本粘贴进去 脚本内容如下
var Dingding {params: {},proxy: null,setParams: function (params) {if (typeof params ! object) {return;}Dingding.params params; },request: function () {var data {msgtype: markdown,markdown: {title: 报警,text: ## 通知:\n Dingding.params.Message,},at: {atUserIds: [Dingding.params.To],isAtAll: false,},},response,url Dingding.params.URL,request new HttpRequest();request.addHeader(Content-Type: application/json);if (typeof Dingding.HTTPProxy ! undefined Dingding.HTTPProxy ! ) {request.setProxy(Dingding.HTTPProxy);}if (typeof data ! undefined) {data JSON.stringify(data);}Zabbix.Log(4, [Dingding Webhook] message is: data);response request.post(url, data);Zabbix.log(4, [ Dingding Webhook ] Received response with status code request.getStatus() \n response);if (response ! null) {try {response JSON.parse(response);}catch (error) {Zabbix.log(4, [ Dingding Webhook ] Failed to parse response received from Dingding);response null;}}if (request.getStatus() ! 200 || response.errcode ! 0) {var message Request failed with status code request.getStatus();if (response ! null typeof response.errmsg ! undefined) {message : JSON.stringify(response.errmsg) ;}throw message . Check debug log for more information.;}return response;},
};try {var params JSON.parse(value);if (typeof params.URL ! undefined typeof params.To ! undefined typeof params.Message ! undefined) {Zabbix.log(4, [ Dingding Webhook ] webhookURL params.URL sendto params.To );} else {throw Missing parameter. URL, message, to parameter is required}if (params.HTTPProxy) {Dingding.proxy params.HTTPProxy;} Dingding.setParams(params);Dingding.request();return OK;
}catch (error) {Zabbix.log(3, [ Dingding Webhook ] ERROR: error);throw Sending failed: error;
}
2消息模版设置
在消息模版页面消息的类型主要设置两个问题和问题恢复如图所示 消息类型问题消息模版填写如下
主题
【告警】font colorcomment{TRIGGER.STATUS}/font,
服务器: font colorcomment{HOSTNAME1}/font故障!消息告警主机:font colorcomment{HOSTNAME1}/font告警地址:font colorcomment{HOST.IP}/font告警时间:font colorcomment{EVENT.DATE} {EVENT.TIME}/font告警等级:font colorcomment{TRIGGER.SEVERITY}/font告警信息:font colorcomment{TRIGGER.NAME}/font告警项目:font colorcomment{TRIGGER.KEY1}/font问题详情:font colorcomment{ITEM.NAME}:{ITEM.VALUE}/font当前状态:font colorcomment{TRIGGER.STATUS}: {ITEM.VALUE1}/font事 件 ID:font colorcomment{EVENT.ID}/font
消息类型问题恢复模版
恢复主题
【恢复】font colorcomment{TRIGGER.STATUS}/font,
服务器: font colorcomment{HOSTNAME1}/font已恢复!恢复消息
恢复主机:font colorcomment{HOSTNAME1}/font恢复地址:font colorcomment{HOST.IP}/font恢复时间:font colorcomment{EVENT.DATE} {EVENT.TIME}/font告警等级:font colorcomment{TRIGGER.SEVERITY}/font恢复信息:font colorcomment{TRIGGER.NAME}/font恢复项目:font colorcomment{TRIGGER.KEY1}/font问题详情:font colorcomment{ITEM.NAME}:{ITEM.VALUE} /font当前状态:font colorcomment{TRIGGER.STATUS}: {ITEM.VALUE1}/font事 件 ID:font colorcomment{EVENT.ID}/font
3选项部分的设置 3.为用户添加告警媒介 4.创建触发器动作 在要被监控的主机上安装一个httpd网页用于测试
为该主机添加一个Apache by Zabbix agent的模版 在数据采集--》主机 找到对应主机
在告警--》动作 中创建一个触发器动作 设置问题操作和恢复操作
将Apache相关的勾选上主要是告警也可全部勾选 添加问题操作和恢复操作选择用户和用户组 5.验证
停掉server01上的httpd 备注
1.说明 Apache 的进程数量为 0表示 Apache 服务没有在运行。
2.说明 Apache 的服务在端口 80 上没有响应表示服务宕机。
恢复开启状态 备注
1.恢复通知表明 Apache 进程数量已恢复到正常状态有 6 个进程在运行。
2.恢复通知表明 Apache 服务已恢复正常端口 80 上的服务重新上线。