监控binlog日志监控表变化进行消息通知

news2024/9/19 10:53:53

前言

由于我们做项目的时候有项目任务管理工具,目前用的最多的是禅道,而我们用的是redmine,而redmine是使用ruby写的,刚好我们这边没有会用ruby的人,所以就有了这样一个小工具,用于监控binlog日志通过钉钉进行任务通知。
Github项目地址

功能介绍

这款小工具通过钉钉的机器人实现群发消息,当有数据写入mysql我们监控的表中的时候,就会有一条binlog日志生成,这个时候我们通过监控到这个日志,就可以根据这条日志的数据进行消息通知。
它主要基于钉钉实现,与你的项目没有耦合,完全独立于你的项目之外。

效果

任务提醒,同时支持通过钉钉和浏览器两种方式查看你的这个任务
在这里插入图片描述
这个是一个定时任务,用于统计bug情况,会在每晚九点发送,但是这里面的表格在手机端的支持并不是很好,我目前没有很好的办法,大家有建议可以在评论区进行评论,我会采纳大家的建议。
在这里插入图片描述

使用

1、通过配置config目录下的conf文件来配置数据库、要监控的表,这里可以监控多个表
2、配置好配置文件后,你需要在redmine项目中加入自定义字段,用于存储钉钉的一个webhook和加签使用的密钥,存储格式:webhook@密钥
3、由于本项目是通过手机号通知的,所以需要大家在创建用户的时候,有一个自定义字段用于存储手机号
4、可以通过项目里面编写的Dockerfile文件两阶段构建出docker镜像,然后通过docker部署即可

技术实现

监控日志

我们通过go-mysql这个包来进行binlog日志的监控,它里面有个回调事件OnRow,在这个回调里面,会返回是什么操作,以及新旧两个版本的数据(已经解析好的)
go-mysql这个包可以做的事情有很多,例如:数据备份、数据迁移、主从同步等,是一个很方便的工具,go-mysql地址,有兴趣大家可以了解一下。

消息通知

这个使用的是钉钉的机器人进行的消息通知,具体调用的API可参考钉钉这篇文档文档地址,这里面提供了丰富的消息格式,就是对markdown语法的支持不是很好,这里发送消息安全设置是通过一个加签的方式,所以你需要按照上面使用的第二步存储密钥及webhook。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2140964.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

机器人相关知识的本身和价值

简要将人类简史分为 农业工业信息智能 四个时代。 在信息时代,知识本身就可以等同于价值。 常识看,学历可以变现,高品质文凭能极大概率获得工资远远高于平均值的工作机会。 在智能时代,知识本身毫无价值,知识的应…

UML 类图(提供 Java 实现)

文章目录 UML 类图概述及作用类图表示法类(接口)的表示类与类之间关系的表示关联关系(Association)单向关联(Unidirectional Association)双向关联(Bidirectional Association)自关联…

大学生看过来,必备4款写论文AI写作网站先稿后付

在当今学术研究和写作领域,AI论文写作工具的出现极大地提高了写作效率和质量。这些工具不仅能够帮助研究人员快速生成论文草稿,还能进行内容优化、查重和排版等操作。其中,千笔-aipasspaper是一个备受推荐的平台,它结合了先稿后付…

7.2 溪降技术:下攀

目录 7.2 下攀概述视频课程观看电子书:下攀 一级风险评估装备个人动作技术:面壁下攀烟囱下攀 协助队友总结 7.2 下攀 概述 下攀可能是峡谷探险中最被低估的技能。峡谷中经常存在可以下攀的小落差,这种方式比设置绳索快得多。一组熟练的下攀者能迅速完成…

JavaScript高级——闭包的理解

1、如何产生闭包? —— 当一个嵌套的内部(子)函数引用了嵌套的外部(父)函数的变量(函数)时,就产生了闭包。 2、闭包到底是什么? —— 使用 chrome 查看 —— 理解一&a…

字符编码发展史1 — ASCII和EASCII

1. 字符集与字符编码 1.1. 字符集1.2. 字符编码1.3. 两者的关系 2. 字符编码的发展历史 2.1. 第一个阶段 ASCII编码 2.1.1. ASCII2.1.2. EASCII 1. 字符集与字符编码 1.1. 字符集 字符集(Charcater Set或Charset): 是一个系统支持的所有…

【AI小项目5】使用 KerasNLP 对 Gemma 模型进行 LoRA 微调

目录 一、项目简介概述时间主要工作和收获技术栈数据集结果参考 二、完整代码概览设置安装依赖选择一个后端导入包 加载数据集加载模型微调前的推理欧洲旅行例子光合作用例子 LoRA 微调微调后的推理欧洲旅行例子光合作用例子 改进方向 三、背景知识补充Fine-tune(微…

数据结构(2):LinkedList和链表[2]

我们在上一篇文章中着重讨论了单链表的实现。其中我们要注意单链表进行遍历时一步一步走的思想。那么这篇文章我们将继续讨论链表的更多内容,那就让我们开始吧。 1.经典单链表算法题 我们将通过几个经典的题对单链表进行进一步的认识。 (1)反转链表 206. 反转链…

2024年上海初中生古诗文大会倒计时一个半月:做一做2024官方模拟题

2024年上海市初中生古诗文大会自由报名活动的初赛日期于11月3日开始,距离今天大概一个半月。 如何准备2024年初中生古诗文大会的自由报名初选呢?吃透(记熟)2024年初中生古诗文阅读专辑上的题目、知识点和往年真题及知识点。 有许…

Python数据分析-世界上最富有的1000人

一、研究背景 随着全球化的加速发展和技术的进步,财富分配问题日益成为全球关注的焦点。财富的不平等现象日益明显,少数极富有的个人掌握了全球大部分的财富资源。了解全球最富有个人的财富分布及其背后的行业和国家因素,对于分析全球经济趋…

Element-ui el-table 全局表格排序

实现效果如下&#xff1a; 一、当页数据排序 如果只想要当前页面排序&#xff0c;只会涉及到前端&#xff0c;只需在<el-table-column>标签上添加 :sortable"true"即可 二、自定义排序 如果想要全局排序&#xff0c;需要自定义排序函数&#xff0c;请求后台排…

Linux基础---10进程管理

一.查看和关闭进程 1.查看进程 基础指令: ps -efPID 进程编号&#xff0c;PPID 父进程编号&#xff0c; CMD命令名称 进阶指令–查看进程的树形结构&#xff1a; yum install psmisc -y #首先安装psmisc后可直接使用pstreepstree2.关闭进程 要想关闭某个或多个进程需要知道…

简洁明了!中缀表达式转为后缀表达式规则及代码

简单来说&#xff0c;就是弄两个栈&#xff0c;判断执行&#xff1a; 上代码&#xff1a; #include<iostream> #include<stack> #include<cstring> using namespace std; stack<char>s1,s2; char now; int main(){string c;cin>>c;for(int i0;…

微信视频号导出视频软件

最近研究了一下微信视频号导出视频的方法&#xff0c;目前发现还是比较难搞&#xff0c;查了一些资料&#xff0c;写了一个可以导出视频的软件&#xff0c;目前还不完善&#xff0c;但是导出视频到本地还是没问题&#xff0c;先用着吧&#xff0c;后期再完善。先记录一下。 测…

人工智能浪潮下,程序员如何锻造不可替代的核心竞争力?

人工智能时代&#xff0c;程序员如何保持核心竞争力&#xff1f; 在人工智能时代&#xff0c;程序员如何保持核心竞争力是一个值得深思的问题。随着技术的快速发展&#xff0c;特别是AI技术的不断进步&#xff0c;程序员的角色和工作方式正在经历前所未有的变革。以下是一些关…

docker部署Stirling-PDF

github网址&#xff1a; GitHub - Stirling-Tools/Stirling-PDF: #1 Locally hosted web application that allows you to perform various operations on PDF files 1、官方docker镜像无法拉取&#xff0c;使用别人阿里云私人镜像仓库下载Stirling-PDF镜像&#xff1a; regi…

如何设置word页码从指定页开始

如何设置word页码从指定页开始 在使用Word编辑一些比较正式的文档时&#xff0c;封面页或者是前几页都是不能有页码的&#xff0c;那么怎么设置页码从指定页开始&#xff0c;可以通过分隔符来实现页码从指定页开始。 word设置页码从指定页开始的具体步骤如下&#xff1a; 1.…

2024.9最新:CUDA安装,pytorch库安装

目录 一、CUDA安装 1.查看自己电脑适配的CUDA的最高版本 2.安装CUDA 3.检查环境变量是否配置&#xff0c;安装是否成功 二、pytorch库安装 1.pytorch库下载 2.选择合适的版本 3.查看版本 一、CUDA安装 1.查看自己电脑适配的CUDA的最高版本 在命令提示符里输入nvidia-…

LeetCode题集-4 - 寻找两个有序数组的中位数,图文并茂,六种解法,万字讲解

题目&#xff1a;给定两个大小分别为 m 和 n 的正序&#xff08;从小到大&#xff09;数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。 算法的时间复杂度应该为 O(log (mn)) 。 作为目前遇到的第一个困难级别题目&#xff0c;我感觉这题还是挺难的&#xff0c…

MATLAB 从 R2024B 开始支持树莓派 5

树莓派&#xff08;Raspberry Pi&#xff09;系列是一系列基于单板计算机的微型电脑&#xff0c;由英国的树莓派基金会于 2012 年开始发布。它的目标是提供一个低成本、易于学习和玩耍的平台&#xff0c;用于教育和初学者学习计算机科学和编程。 目前市面上&#xff0c;最新最…