图片图片图片图片集成概览login.js:api定义钉钉登录接口user.js:在钉钉登录成功后,设置tokenlogin.vue:使用钉钉的默认集成页面进行钉钉登录DingDingService.java(以及它的实现类 DingDingServiceImpl.java):访问钉钉的服务接口SysLoginController.java:定义钉钉登录接口pom.xml:添加钉钉服务依赖jar包SecurityConfig.java:将钉钉登录接口设置为可匿名访问UserDetailsServiceImpl
Huawei esight告警本身不能使用dingtalk,wechat等webhook api,但是其自带了一个HTTPS SMS Server,经过分析,可以通过这个功能将其转换成其它API接口可用的数据。
/prometheus-webhook-dingtalk --ding.profile="ops_dingding=https://oapi.dingtalk.com/robot/sendaccess_token =xxxxxxxxxxxxxxxxxxxxxx" 前台启动进程 TIPS: 这个token是从dingding里面新建机器人的时候拿到的,可以自行去搜搜看如何添加钉钉机器人,这里就跳过了。 然后,我们还需要到alertmanager那边 global: resolve_timeout: 5m receivers: - name: 'dingding.webhook' webhook_configs : - url: 'http://${prometheus-webhook-dingtalk的服务器地址}:8060/dingtalk/ops_dingding/send' send_resolved ' routes: - match: severity: critical receiver: 'dingding.webhook' group_wait: 10s
可以用 find / -name zabbix_server.conf 命令查找 2.查看脚本执行目录,并在目录下创建如下脚本 vim /usr/lib/zabbix/alertscripts/dingding.py } x=requests.post(url=webhook,data=json.dumps(data),headers=headers) if os.path.exists("/tmp/zabbix_dingding.log "): f=open("/tmp/zabbix_dingding.log","a+") else: f=open("/tmp/zabbix_dingding.log","w+") f.write " " + "发送失败" + "\n" + str(text)) f.close() 3.赋予脚本可执行权限:chmod +x /usr/lib/zabbix/alertscripts/dingding.py 踩过的坑:切换到/usr/lib/zabbix/alertscripts 目录下 chmod -x dingding.py还是纯文本 测试脚本可用性方法:python dingding.py 18710140128
"): f=open("/usr/local/zabbix/logs/dingding.log","a+") else: f=open("/usr/local/zabbix/logs/dingding.log 755 dingding.py [root@zabbix01 monitor_scripts]# chown zabbix.zabbix /usr/local/zabbix/logs/dingding.log /dingding.py test 13611027803 "这个条测试信息,忽略" =============================================== /dingding.py", line 4, in <module> import requests,json,sys,os,datetime ImportError: No module named 还可以查看dingding.log日志,看看告警信息发送情况: ?
\ && chown zabbix:zabbix /tmp/zabbix_dingding.log \ && rm -rf /var/cache/apk/* WORKDIR /var/lib apiVersion: v1 kind: ConfigMap metadata: name: zabbix-dingding-conf namespace: kube-system data: dingding.conf: | [config] #此文件注意权限 log=/tmp/zabbix_dingding.log webhook=https://oapi.dingtalk.com metadata: name: zabbix-dingding-script namespace: kube-system data: zabbix_dingding.py: | - name: zabbix-dingding-conf configMap: name: zabbix-dingding-conf
插件与设置 目录 1、插件管理 1.1、HTML Publisher 1.2、Multijob 1.3、Slack Notification 1.4、Dingding[钉钉] 1.5、Dingding 1.4、Dingding[钉钉] 这个插件用于集成钉钉实现事件实时通知(发送默认消息)。搜索Dingding[钉钉],选择后直接安装即可。 1.5、Dingding JSON Pusher 这个插件用于集成钉钉实现事件实时通知(发送自定义消息)。搜索Dingding JSON Pusher,选择后直接安装即可。
|pro|preview profiles: active: dev 打开application-x.yml(x表示环境变量),需配置以下 服务端口(port) 数据库连接 Redis 启动项目 dingding-mid \src\main\java\com\dingding\mid\DingDingAdminApplication.java,右击运行即可。 项目发布 在IDEA右侧Maven-dingding-mid(root)-Lifecycle中双击clean清理下项目 双击package打包项目 打开项目目录,依次打开dingding-mid\target ,将dingding-mid-{version}-RELEASE.jar上传至服务器 swagger接口文档 http://localhost:10000/swagger-ui/ 地址:https:// gitee.com/gailunJAVA/dingding-mid-business-java/ 更多功能广大网友可以继续挖掘。
首先贴下代码,下面的 title 部分记得修改为自己的 var dingding = { key: null, message: null, msgtype: "markdown", access_token=" + dingding.key; if (dingding.proxy) { request.setProxy(dingding.proxy Zabbix.Log( 4, "[dingding Webhook] URL: " + url.replace(dingding.key, "<BOT KEY>") ); = params.Key; if (params.HTTPProxy) { dingding.proxy = params.HTTPProxy; } dingding.to = params.To ; dingding.message = params.Subject + "\n" + params.Message; dingding.sendMessage(); return "OK
, }, }, response, url = Dingding.params.URL, request = new == 'undefined' && Dingding.HTTPProxy ! == '') { request.setProxy(Dingding.HTTPProxy); } if (typeof data ! == 'undefined') { data = JSON.stringify(data); } Zabbix.Log(4, "[Dingding = params.HTTPProxy; } Dingding.setParams(params); Dingding.request(); return 'OK'; }
将需要得到报警信息的人添加到一起,群名称:钉钉报警 添加一个自定义机器人 项目小助手-->更多机器人-->自定义机器人,获取webhook的access_token,后面用得到 zabbix配置 报警脚本 dingding.py 脚本内容如下: 进行发送报警信息测试 /usr/lib/zabbix/alertscripts/dingding.py 18910088805 监控测试 监控报警好不好使 管理-->报警媒介类型 创建媒体类型 配置-->动作-->Trigger actions-->创建动作 配置用户 报警在docker下实现 pip3 install pyinstaller pyinstaller -F dingding.py
新冠疫情期间,大多数公司为了避免交叉感染都或多或少的采用了远程办公的方式,这显然是一个明智的选择,基本上钉钉(dingding)作为一个远程办公平台来用的话,虽然差强人意,但是奈何市面上没有啥更好的选择
版本 IDEA2020 及以上版本 Maven 3.6.3 及以上版本 IDEA 插件 Lombok Alibaba Java Coding Guidelines MybatisX 环境配置 打开dingding-mid \src\main\java\com\dingding\mid\DingDingAdminApplication.java,右击运行即可。 项目发布 在IDEA 右侧Maven-dingding-mid(root)-Lifecycle 中双击clean 清理下项目 双击package 打包项目 打开项目目录,依次打开dingding-mid \target,将dingding-mid-{version}-RELEASE.jar 上传至服务器 swagger 接口文档 http://localhost:10000/swagger-ui/ 源码 :https://gitee.com/gailunJAVA/dingding-mid-business-java 更多功能广大网友可以继续挖掘。
s = document.createElement('script'); s.type = 'text/javascript'; s.src = 'https://g.alicdn.com/dingding 'script', { attrs: { type: 'text/javascript', src: 'https://g.alicdn.com/dingding src: { type: String, required: true }, }, }, }, } 使用方法: <remote-js src="https://g.alicdn.com/<em>dingding</em>
='dingding_bigdata', receivers="ryanmiao"), dag=dag) 执行结果日志为: echo "current bizdate is: 2019- False, 'email_on_retry': False, # 'on_failure_callback': compass_utils.ding_failure_callback('dingding_bigdata '), # 'on_success_callback': compass_utils.ding_success_callback('dingding_bigdata') } 默认自带的email from airflow.contrib.operators.dingding_operator import DingdingOperator def failure_callback(context ', dingding_conn_id='dingding_default', message_type='text', message=message,
requests import json import time from config import HOST_IP, NOTIFY_URL, MOBILE_NUMBER def notify_dingding worker = Celery('celery_worker', broker=BROKER_URI, backend=BACKEND_URI) @worker.task def notify_dingding enable_utc=True, beat_schedule={ "morning_msg_1": { "task": "celery_worker.notify_dingding ("早,起床了哟,先去做个早饭吧",) }, "morning_msg_2": { "task": "celery_worker.notify_dingding ,) } } ) 最后程序末尾加一个小测试,看看服务是不是起来了: notify_dingding("小仙女上线啦") 开启 redis-server nohup
exceptionnotice: open-notice: true project-enviroment: develop included-trace-package:你的工程目录 dingding project-enviroment: develop dingding: phone-num: XXXX web-hook: https://oapi.dingtalk.com access_token=XXXX sign-secret: XXXX enable-signature-check: true dingding-text-type: markdown /{pathParam}") @ExceptionListener public String dingding1(@PathVariable @ApiParam(value = "来个路径参数", 框架提供的dingding通知与email通知有其默认的解析标识,分别为dingding与email,所以假如你有特殊的钉钉通知或email通知需要,可以通过上述的方式进行自定义。 ?
prometheus-webhook-dingtalk-1.4.0.linux-amd64.tar.gz # 移动到安装目录 mv prometheus-webhook-dingtalk-1.4.0.linux-amd64 /opt/apps/dingding /prometheus-webhook-dingtalk # 进入目录 cd /opt/apps/dingding/prometheus-webhook-dingtalk # 创建启动服务文件 #prometheus-webhook-dingtalk.service prometheus-webhook-dingtalk After=network-online.target [Service] Restart=on-failure ExecStart=/opt/apps/dingding /prometheus-webhook-dingtalk/prometheus-webhook-dingtalk --config.file=/opt/apps/dingding/prometheus-webhook-dingtalk config.yml ## Request timeout # timeout: 5s ## Customizable templates path templates: - /opt/apps/dingding
二、zabbix配置 1、创建脚本 [root@localhost ~]# vim /usr/local/zabbix/alertscripts/dingding.py #! 675583110@qq.comTime: 2019-9-8 21:23:21Describe:钉钉告警机器人,支持@多个用户, 传递参数$1为信息内容、$2表示要通知的钉钉用户Usage: python dingding.py json_text), headers=headers).content print json.loads(notice) # 增加日志打点功能 if os.path.exists("/tmp/dingding.log "): f=open("/tmp/dingding.log","a+") else: f=open("/tmp/dingding.log","w+") f.write {EVENT.DATE} {EVENT.TIME} 事件ID: {EVENT.ID} 4、进行钉钉报警测试 [root@JDCloud_Server alertscripts]# python dingding.py
1.4、获取DingDing通知URL 1.4.1、需要创建一个至少三个人的群 直接找自己身边的同事就行了,内部群,不影响别人。 1.4.2、需要添加一个群机器人。 点击右上角的设置按钮。 1.4.9、添加钉钉dingding的机器人成功。 这回就确认添加成功了,有对应的提示信息。 1.4.10、查看Webhook的URL 再次打开群设置,点开我们刚刚创建的机器人。 图片 2.2、查看dingding消息 收消息成功。我刚才在接口处做的两次修改,都正常的发送消息了。 三、总结 操作步骤不是很多,搞几次就成了,很容易。 注意这个Webhook的URL不要随意发给别人,不然你的群里就会各种dingding了。 希望对大家能创造点价值。