粉丝38获赞146

大家好,上次课呢,我们借助于上位机的串口助手,对这个 wifi 模块椰子七八六六做了一个简单的一个连接云端服务器的一个重新测试,这节课呢我们就借助于单面机来具体实现这一个测试, 那我们这节课呢,主要是通过单面机的串口和我们这个 ef 八六六做一个串口的一个连接,然后呢通过编写程序来实现我们上的课的一个程序的一个功能。 那硬件连接的话就比较简单了,我们简单的看一下,那就是说硬件连接我们是通过这个模块和我们这个单片机的 mcu 的一个串口相连, 这个呢是这么一个连接的办法,对吧?那为了测试方便呢,我们这边除了做这个连接之外呢,我们还有一个连接,就是说我们还要需要用到另外一个串口,这样的话便于我们把我们连接的一个通信的一个过程能够展现给大家来 来看一下,当然了也是我们平时要调试过程当中经常使用的一种方式。那我们这边用的单片机呢,是用了这个啊,这么一款五幺的单片机,当然了这个五幺单片机呢,它的这个啊,内部的这个入木和 ram 要相对来说要大一点,否则的话呢是不能够使用的,我们使用的是 s t c 幺二 c 五 i 六零 s 二的一个单面机啊,这个单面机具体的音乐连接是这样子的,我们来给大家大概的来说一下,那一个呢,就是说我们用到了这个串口二,我们这边有一个串口二,这个单面机呢有两个串口,一个是串口一,一个是串口二, 另外一个还有一个是创口一,我们来重新来画一下, 一个是这个啊,串口二在这,另外一个呢就是串口一在这, 然后呢我们用这个串口二呢连接到我们这个 e s p 八六六 啊,这个模块我们知道他有一个 tx d, 有一个这个 r x d, 然后呢还有基因 d, 然后呢还有这个 vcc, 那这个呢是我们上那个讲过了,对吧?那我们这边连接就是这个 tx d 连接我们这边的 r x d, 这个 t x d, 连接这边的 r x d, 均 d 和这个均 d v c c 和这个 v c c 相连就可以了。另外呢这边还有一个创口一,对吧? 三口一,我们这边有两个功能,干什么呢?一个呢是用下载程序 下载程序,对吧?另外一个呢还有就是 我们通过一个 usb 转 uirt 这么一个模块,我们连接到这个什么的计算机连接到计算机,我们通过串口助手 来看什么呢?看我们整个的一个通信过程,我们这边的这个啊单片机和 esp 八六六的一个整个的通信,我们这边要给他发提指令,他给我们回一些说句,对吧?我们会把这个说句转发给创口机,通过创口一 啊转发给我们的计算机,通过计算机来查看这个整个的一个通行过程,这个呢就是这个硬件的连接啊,具体的硬件连接是这样的,我们来看一下,那就是说啊,串口一通过这么一个模块连接到计算机,然后呢串口二连接到我们这个模块,那这个就是硬件的一个连接,这个呢比较简单,对吧?这个 我们就不说了,接着呢我们来先演示一下整个的一个通讯过程,这个呢就要借助于串口机了,否则的话呢大家就看不到这个通讯过程了,对吧?因为你串口二再去发送数据,你串口二发送数据之后,那我们这边没有加显示屏,对吧?因为我们刚才看到了我们这个模块 只是一个模块,对吧?没有加显示屏,也没有加一些传感器什么的,我们只是做一个测试,给大家来了解一下这个整个的一个过程, 那这样的话呢,我们就要借助串口一来做这个调试的过程,就是要做数据转发,这样的话我们可以把这个地方计算机这边连到我们的靠谱,也就是串口一,我们把程序下载完成之后呢,就转到串口这边,通过它来监控我们整个的一个通信的一个过程, 那这个通行的过程是什么样子呢?实际上是和我们上节课讲的一样,我们上节课这个地方是用串口助手来把这些指定 发给我们这个 ef 八六六,从而去连接云南服务器,对吧?那我们这节课呢,实际上就是说把这些东西呢都写到我们的单面机的一个程序里面,我们这边会写一个程序,对吧?把这个程序呢烧到我们这个单面机里面去, 烧到这个单面机里面,那这样的话呢,这个单面机就和他之间鉴定的通信,对吧?我们这个串口只是做监控,没有任何的作用,那这样的话他和他之间的通信,从而去连接服务器,去发送数据和接收数据,对吧?那我们来首先来看一下整个的过程的话,我们上一个讲的是一样的,就是这个过程, 只不过我们用代码来实现了。我们首先来看一下怎么过程,那我首先呢来打开我这边的一个热点, 我打开热点之后呢我们这边呢我把这个板子已经下过程序了,我们把这个程序呢复位一下,我们来看一下整个的一个通行过程, 那这边呢提示这个没有连接到热点,那我们重新再复位一下,因为我热点的话刚刚打开,我重新复位一下, 那我们来看一下现在的话是连接成功了,对吧?因为我们刚才热点不稳定,那我们现在连接成功,我们来看一下整个的一个通信过程,那首先呢是 it 指定,对吧? it 指定 ok, 之后呢我们是 itcom 的 ok, 也就是我们这边发送的 it 指定。接着呢是发送这个回显,我们关闭回显,那这边呢关闭回显 ok, 就 提示我们啊 esp 八二六六出手画, ok, 然后接着呢我们会设置模式,那我们这边呢就是设置这边的模式,模式设置成功啊,会回一个设置成功,然后接着呢我们会连接热点, 连接热点成功,我们这边会告诉我们连接热点成功,当然这个都是我们在程序里面要给这些相应的提示信息,对吧? 接着呢我们会连接这个 tvpip 服务器,连接完服务器之后会告诉我们这个 tvp 连接成功,接着呢我们会开启透传模式,然后呢就会登录这个我们的这个服务器,对吧?服务器如果说登录成功,我们就可以去发送数据了, 如果说他发送数据的话,是不是直供呢?我们可以通过这边来看一下,那么看到这边已经发送了啊,好几个数据了,对吧?那就是说我们这个下位机已经在往上 机发送数据,对吧?发送数据,然后呢我们上位机能不能啊?这个地方呢?实战也不是要上位机,对吧?那这边实降就是我们的一个客户端,我们客户端在监测 mqtd 服务器,因为我们订用了这些主题消息, 那我们这边呢,我们通过这个客户端来发布这个消息,借助于我们的服务器来转发,比如说我发送这个消息,我们来看看我们这边能不能收到,因为我们这边也订阅了这个消息,所以呢他应该能够收得到,那我们这边能不能收到呢?我们看那这边也收到了这个消息,对吧? 这个就是我们主题订阅,对吧?因为我们在单配机这一端订阅了这么一个主题消息,所以呢你通过客户端来发这个消息,只要是订阅了这个消息的,这个都能够收到这个消息。那我们比如说我们把这边的改成这个,改成 of 啊,下面这个改成 o, 好,我们再发布。然后呢我们来看一下他这边的话呢,我们看 能不能收到,那我们这边也收到了消息,对吧?就说我这边呢单片一再单我定用了这个主题, 那这样的话呢,我们一旦发送这个消息,也就说这个客户端我发送这个主题消息,那这个主题消息呢,就会通过我们的 mc 的服务器去做转发,他转发给所有的订阅这个消息的一些啊客户端都能够收到,那我们这边呢,我们这边实际上订阅了这个消息,所以呢他能够收到这个消息,对吧? 同时呢我们单配一代人呢,在不停的往我们的服务器啊发送一个消息,就是这一串,我们发送这一串消息,发送这串消息呢?这串消息我们通过哪个主题来发的呢?我们就是通过这个这个主题,对吧?我们通过这个主题来做发布 单面机这边在发布发布了这个消息之后,我们所有的订阅这个消息的客户端都能够收到这个消息,所以呢我们这边能够不停的收到我们这边的这个下一集传过来的消息,这就是一个简单的一个物联网的一个测试,对吧?物联网的测试,那我们来看一下具体的一个功能的实现是怎么样的来做的? 我们要打开程序代码来看一下,那我们来看一下这个程序,这个程序主要包括 v 点 c、 e、 s、 p、 八六六点 c, 然后这个地方标的四八五,实际上这个地方应该是 uirt 一,这个地方我没有改,因为我是在原来的这个模板上直接做的移植 啊,所以呢没有改这个名字,这个名字呢我们应该把它改成 urt 一,这个 urt 一呢实际上就是我们的串口一,对吧?就是串口一,大家可以看一下,这边实际上就是做串口一的一个通信,这边就是串口一,对吧?串口一,然后, 然后呢我们这边穿口衣这个地方呢只不过是把原来的四八五,我们知道原来四八五在做发送数据的时候,我们找一下发送数据的这个地方,发送数据, 发送射击的时候呢,我们需要有到这个设置。四八五的时候,我们有同学了解过的话,知道我们要控制这个方向,对吧?啊?控制方向,我们这边呢就是把这个去掉,就变成了串口机,和我们原来讲的串口机的代码是一样的, 是没有任何变化的。我这个名字我当时是从四八五那边移植的,就没有改。另外一个呢就是串口二, 串口二的话呢,实际上就是说用了一个串口二,因为我们这个单面有两个串口,只不过需要注意的我们这个串口二呢,他的波特率的信号发声器是用的独立的波特率信号发声器,这个地方需要注意的,其他的下面这些都会 和串口一的代码是完全一样的,只是改一个名字就可以了,其他都一样,他和我们串口一里面用的这个啊,特殊功能计算器会变一下,比如说我写的时候是写的 s 二八, 我们串口一呢是写的 sbuf 对吧?那我们串口二是写的 s 二八,对吧?接收也是这个对吧?都是一样的。这个呢大家配置的话可以借助于这个串口调试助手 用这个我们可以去啊,用串口二,我们这边是幺二系列的,然后用这个波特率的独立波特率性的发生器就可以生成了,我们这边就是这样子来配的,对吧?剩下的代码都和串口一的是大同小异的,只是稍微改一下,这个感兴趣的可以去看这个芯片手册当中都有介绍, 另外一个呢就是 m q t t, m q t t 呢,这边主要是解决 m q t t 的一个协议的一个打包,我们这边 m q t 实际上就是用的底层协议,对吧?所以呢我们 里面做了 mct 的一些处理,那么看一下具体的过程,因为看别人代码,对吧?那你肯定是看主程序,对吧?我们这边呢主要是做了一个 mct 的一个测试,那这边呢对应的温湿度,如果说你加了一些传感器去获取温湿度,就可以把温湿度的数据呢付给这个变量,包括我们一些锁的状态啊 啊,一些啊,其他的一些控制状态呀,我都可以付给这些变量,这样的话你发送的时候就是这些变量的值就会发生改变,对吧?这个大家注意一下,那前面呢都是做初始化,我们两个串口,一个是串口二,这个呢是连接的是我们的 ef 八二六六, 所以呢我们这个波特率呢设置成的是幺二五二零零,然后这个呢是连接到我们的创口助手,也就是我们的创口的一个 usb 软 uirt 这么一个助手,对吧?我们主要是通过创口助手来观察通行过程的, 这个是两个串口,对吧?然后接着我们就是整个的过程,整个过程你看就是首先是 esb 八六的车手画, 那就是成功和不成功,对吧?如果说成功我们就会发送这个初始化, ok, 这就是我们刚才这个指令当中接收到的我们的初始化, ok, 这个指令在这 如果说不成功会打印出错,对吧?那这个怎么配置的呢?你要看这个代码,对吧?那这个说实话这个呢就要都写在了是 vip 八六六这个点 c 文件当中,这个说实话实际上就是我们在这个地方做了这几条指定,这个 it 指定回险,还有呢就是啊,就这几个指定,就这两个指定,我们来确定他是 是通信成功的。那这样的话,你看我是首先呢是发送这个啊,退出透传,也就是我们前面介绍过的,我们是发这个退出透传,然后呢是复位,发这个指定,复位 会完成之后呢我们就要用这个函数,这个函数是干什么的呢?我看这个函数实际上就是发送了一个 it 指定,那我们这边看就是发送一个 it 指定,发送 it 指定呢,我们就来等待接收,这个前面发送和接收我们都解惑,对吧?如果说发送这个指定之后我们等待接收呢?我们来看一下这个 这个地方,这个函数实际上我们主要是来啊用串口的接收函数,串口接收之后呢,我们来找找有没有这个 ok, 实际上就是来找有没有这个 ok 指令,对吧?这个我们实际上掉了这么一个函数,就是用串口这个超市接收,我们前面介绍过,对吧?超市接收我们前面介绍过,如果说超市接收 的我们接收过之后呢,就是说正常接收数据之后,我们接收这个空函数,就来查到这个接收的字物串数值当中有没有我们这个 ok 指令,有没有这个 ok 指令?也就是我们刚才这个地方 来介绍有没有这个指令,如果有就代表这个指令是 ok 的,对吧?这个我们啊主要是和我们前面介绍这个串口用上一级助手调试的过程是一样的,就是说我发送这个指令, 我发送这个 it 指令,他会回一个 ok, 我发送 at 一零指令,他也会回, ok, 那这个时候呢?我们如果说都接收到这个 ok, 我们就认为是通讯成功的,对吧?就这个通讯成功,否则的话我们就认为通讯不成功。如果说这个通讯成功了,那我们接着就要干什么呢?就要连接热点,对吧?就要连接热点,那我们接着就是这个地方连接热点,连接 热点的话怎么连接热点呢?我们就用这个函数连接热点,实际上怎么连的呢?就是我们这个地方实际上就是发送这一串连接热点,就是这一串,我们要发送这个就是连接你的热点, 连接热点的话,我们就对于这个啊连接热点的函数就可以了,对吧?实际上就是发送这个指令,对吧?发送这个指令,发送这个指令之后,我们把这个热点的说句,也就是这个地方 把我们这个账号密码都发过去之后,账号密码发过去之后,然后呢我们等待返回,再看看有没有这个 ok, 因为我们前面讲过,对吧?我们如果说连接热点成功, 那这个地方他会返回一系列数据,那他会返回什么呢?我们来看一下,他会返回这个啊? y 发 connect, 然后会返回这个 get rp, 然后会返回一个 ok, 那如果说我们接收到这个 ok, 我们就认为连接 热点成功了,所以呢我们代码里面也是这样写的,我们代码里面就是来找这个,最后这个 ok, 如果说最后这个 ok 等到了,那我们就认为是成功的,否则的话就不成功,对吧? 如果说 ok 成功了,对吧?或成功了,那我们就进行下一步,对吧?进行下一步,那我们接着就进行下边就是连接 ttpip, 就是连接服务器,连接服务器实际上就是我们也是写了一个函数,对吧?也是写了函数,这个函数呢就是说我们要连接这个 ip, 然后当然这个是端口号,对吧? ip 端口,然后呢这个地方我们就是说啊,这个地方是模式的吧?这个我们先不管了,连接这个地方,连接到这个 连接完成之后,我们这边应该连接完成之后,我们就开启拓船,开启拓船,所以呢后面前面这个地方选的这个指令是完全相同的,就是实际上 就是发这些指标,只不过多了一步,就我们用单面筋的,只要是多了一步,就是来判断我发过去之后他回的说句对不对?他回的说句对,就是他返回那些 ok 啊什么的,我们再进行下一步,否则的话你不知道他到底有没有连接,对吧?然后接着呢就是我们登录这个 mktt, 登来 mcd 的,实际上就是把我们这个 mkd 的一些啊,用户 id 啊、账号啊、密码啊,然后去发送过去,就是进入这个函数去发送。连接到服务器之后,我们就可以去订阅消息 和发布消息,我们在主题当中就是发布在这个地方呢,我们订阅了一个消息,对吧?订阅了一个消息,这样的话,我们订阅了消息之后,实际上就是订阅了这个 r x 这么一个消息,所以呢我们这边来发送,我们把这边清一下啊,因为有很多数据了,我们这边来发送,我们下面的话呢就可以去接收到,对吧? 就可以接收到,我们下面就可以接收到,同样的呢,我们这个单片机呢在不停的往上面发,所以呢我这边就每隔一段时间就能够收到 这个,因为我们组成一当中是每隔大概这么长时间,对吧?大概呃,两三个毫,两三秒,一两秒的样子,一两秒的样子,我们会发布一次消息,当然了这个消息的话我们要靠 m q t t 这边来做组织,也就是这个 m k t 点 c 来做的工作,这个都可以通过网上代码去移植,然后呢把这个消息去做一个移植,就是把实际上就是组织一下程序,对吧?就是组织一下程序,我们要把这些东西,就是我们这一串, 我们这些东西幺零啊,这些八二啊,这些东西我们要把它组织成一些程序,对吧?组织程序包括我们的发布是三零,我们这边也是实际上是把它组 组织一下,就是借助这些我看一下,就这些我们前面的这种固定爆头啊,然后可变爆头啊,然后协议级别啊等等,把这些消息数据组织起来,包括我们的订阅, 订阅也是一样的,订阅的逃避壳,然后呢消息质量这个时间就是把这些数据组织一下,这个呢大家都可以在网上找到这些代码,对吧?去自己来移植一下就可以了。 当然了如果说你是用的 it 加 mq 七的这个部件库,那你就直接用他的 it 指定就可以了,就不需要再去组织了,那这边呢,我们这边是用的底层的,所以呢要组织这些代码看起来还是比较复杂的,对吧?这个整个代码的这个储蓄量还是比较大的, 我们可以看一下这整个的程序的话啊,扣的是八七六幺,对吧?然后 ram 你可以看到也很多,对吧?需要注意的就是说这个地方 ram 很大了,所以呢,我们这边的模式的时候要用到最大模式,一定要注意最大模式,包括入母也没用最大模式,否则的话你是变异不了的,对吧?因为我们这个程序量太大了,对吧?那这样的话就实现了我们这边的一个通信,对吧?这个呢,我们就不再 做过多的一个介绍了,对吧?这样的话就可以实现我们这个消息的订阅,消息的订阅。

我们先进入这个网站注册登录产品,然后开发创建产品,这是产品的信息。 然后进入设备管理,添加创建过的设备, 添加完成。进入创建的产品,添加深湿度物理模型, 建完后保存。 我们打开 talking 修改 list, 将创建的事被名称复制, 打开时间戳,转换生成时间戳, 将生成的时间戳复制到一体, 生成后复制到代码的根处。 注意手机热点是被名称与密码要与代码一致,或者修改代码与手机热点一致。 运行一下程序, 程序运行成功,下载到终端 程序下载成功, 然后我们打开创口调试软件, 可以看到有数据, 然后我们看到平台的数据和榜上的数据。

你去查看一下生产环境某某问题,这是我最近干的比较多的,就是通过命令去查看日志,前提是你要远程连接服务器,可以通过 xshl 等工具远程连接。进入绘画之后,选择协议为是, 然后输入组长给的 ip 地址以及端口号,然后点击用户身份验证,选择验证方法,可以通过密码,也可以通过证书连接,这边是密码的操作方法,在这里输入用户名和密码, 然后点击连接,连接好了之后就可以敲命令了。还有一种连接方式是通过证书,那时候组长会 给你一个文件,验证的时候选择这个,不要选错了,选了之后是这个样子的,选了之后点击浏览,选择组长给你的那个文件即可。还有一些选了文件同样需要输入密码, 反正学会了之后随机应变,需要证书就添加证书,添加了证书之后还让你输密码,你就输密码,具体可以百度多了解一下。加油牛马们!


面试官问, tcp 是 面向连接的,如果我把网线直接拔了,这个 tcp 连接还存在吗?很多人会下意识说,线都没了,连接肯定没了,但真实答案是,不一定,他可能还在。也正是这个反直觉的点,暴露很多人对 tcp 连接的误解。如果不懂这个底层逻辑,面试遇到 tcp 的 题变个花样,基本上一问一个 g。 今天我就用三分钟把 t c p 连接的本质一次性讲透。首先,很多初学者,甚至工作好几年的人会有一个直觉上的误区,以为 t c p 连接就像电话线一样,是一根物理上真实存在的线,但其实根本不是 t c p。 所谓的连接在物理层面上啥也不是。根据官方 r f c 七九三的定义, t c p 连接的本质是通信双方在各自内存里维护的一堆状态信息,那这堆状态有一个专门的名字,叫 t c b, 传输控制快。你可以把它理解成一句话,我俩现在聊到哪了?这段关系目前处在什么状态?而这堆状态里有最关键的三样东西, 一, socket, 也就是 ip 加端口,它解决问题只有一个,谁在跟谁说话。注意一句很容易说错的点, socket 不是 连接本身,它只是连接两端的门牌号。一条 t b 连接,一定是两个 socket 对 出来的结果。 第二,序列表,也就是 c, 这是 t c p 的 灵魂设计,它不是给豹纹编号,而是给每一个字节编号。那靠它 t c p 才能做到三件事,一、数据乱了能重排。二、中间丢了能发现并重传。三、重复的还能直接丢掉。你在面试里只要说一句 t c p 通过字节级序列号解决乱序丢包和重复问题, 面试官基本会多看你一眼。第三,窗口大小,那这是流量控制核心,接收方会非常明确的告诉发送方一句话,我现在最多还能接收这么多字节,你别发太快,那这就是滑动窗口。所以发的快不快,不是你想发多快就能发多快, 而是要看同时对方的接收能力,以及当时的网络是否允许你这么发。那问题来了,到底怎么唯一标识,一条 t c b 连接?答案非常标准,四元组 原 ip 原端口、目标 ip 目标端口。只要这四个有一个不同,那就是另外一条 t c b 连接。那这也是为什么服务器端口有限,却依然能同时砍出成千上万条连接的原因。 搞清上面这些,我们再来看开头问题,为什么答案是不一定,因为 t c b 连接是状态,不是线路。如果你拔了网线,但双方都没有继续发出去两倍,内存里的 t c b 状态依然会稳稳地停留在 established 的。 只有你真的去发数据,发现超时重装失败,或者开启了 keep live 探索机制, t b 才会意识到,哦,路断了,该适当连接了。所以真正专业的一句话总结是, 只要双方的内存里的 t c b 状态还能对得上,这条连接就存在。最后给你一段直接在面试里用的标准收尾。如果面试官问你,那 t c b 连接到底是什么?你可以这样答, t c p 是 传输层协议,它给应用层提供了一种可靠的面向连接的字节流服务,它的本质不是物理线路,而是通信双方通过三次握手建立的一组状态信息,由四元组唯一标识,通过序列号窗口和确认机制,在逻辑层面保证数据可靠、有序、可控的传输。那这才是面试里真正的拿分 t c p 连接打法。 本期视频是计算机网络面试仪的第四期,完整文字版和配图我已经整理到了,面试呀,方便你反复消化。那如果觉得有用,点赞、收藏关注我,下期我们直接拿下 t c p 三次握手!

很多开发同学都觉得监控是运维的事,自己只要写好代码就行了,这其实是职场上最大的一个错觉。真正拉开差距的往往不是你写代码的速度,而是你对系统掌控的颗粒度。别人是出了故障被用户投诉才去救火,而高手是在故障发生前就已经感知到了异常征兆。今天我们就来聊聊如何构建一套主动的一个 my circle 的 一个监 控体系,让你从被动背锅变成主动掌控。这份面试题的答案,我整理了两百万字的面试题集,包含多岗位高频题、易错坑解析,以及一份三十天的面试突击学习路线。准备年底和明年春招面试的朋友可以在评论区留言。首先我们要知道如果不做监控会发生什么?连接数被打满, 请求进不来,那随口他拖垮 cpu, 导致全站卡顿,此盘空间不知不觉满了,数据库直接停止写入。这些故障如果靠人工发现,往往为时已晚,造成的一个业务损失是不可估量的。一个完善的一个监控体系呢,至少要包含三个维度。基础监控方面, cpu、 内存、 磁盘、 i o, 网络流量,这是数据库运行的一个生命体征。然后服务监控连接数 q p s t p s。 主存延迟死锁次数,这是衡量数据库健康状态的一个核心指标。接着业务监控卖 c 口的一个数量,全表扫描的一个次数,特定业务表的函数增长,这是预防潜在风险的一 个体检报告。再接着工具选型,公寓上其事必先立其器。目前主流的个监控方案有三类,第一是命令行工具,比如 top, ios t a t 以及 my sql 自带的一个 show status, 适合临时排查问题。接着呢,开源监控体系最经典的就是 promi 修斯加 grafana, 配合 my sql explorer, 能搭建出非常酷炫且实用的一个监控大屏, 是大厂的标配。然后是商用云监控,如果你用的是云数据库,云厂商自带的一个监控往往最精确,配置也最简单。监控体系的个运作原理呢,其实也很简单,就是采集、存, 存储,展示、报警。 developer 呢,负责定期采集数据, prometheus 负责存储持续数据, developer 负责画图, element manager 负责在指标超标时发送短信或者钉钉 通知。聊完架购,我们再来看你实战细节,比如连接数,不要等到百分之百才报警,通常设置在百分之八十就应该报警了,给你留出处理的个时间。对于慢 siri, 不 仅要监控执行时间超过一秒的语句,还要开启 log queries not use desks, 抓出那些每组所有那个潜在问题。在生产中最怕的就是海量告警,如果一出问题,手机就响个不停,运维人员很快就会麻木。所以一定要做到告警收敛。比如同一个故障,十分钟之内只发一条通知,或者根据严重的一个程度分级,严重的去打电话,轻微的呢,发邮件。