如何设计一个mysql性能监控的软件
首先介绍下 pt-stalk,它是 Percona-Toolkit 工具包中的一个工具,说起 PT 工具包大家都不陌生,平时常用的 pt-query-digest、 pt-online-schema-change 等工具都是出自于这个工具包,这里就不多介绍了。
pt-stalk 的主要功能是在出现问题时收集 OS 及 MySQL 的诊断信息,这其中包括:
1 OS 层面的 CPU、IO、内存、磁盘、网络等信息;
2 MySQL 层面的行锁等待、会话连接、主从复制,状态参数等信息。
而且 pt-stalk 是一个 Shell脚本,对于我这种看不懂 perl 的人来说比较友好,脚本里面的监控逻辑与监控命令也可以拿来参考,用于构建自己的监控体系。
三、使用
接着我们来看下如何使用这个工具。
pt-stalk 通常以后台服务形式监控 MySQL 并等待触发条件,当触发条件时收集相关诊断数据。
触发条件相关的参数有以下几个:
function:
∘ 默认为 status,代表监控 SHOW GLOBAL STATUS 的输出;
∘ 也可以设置为 processlist,代表监控 show processlist 的输出;
variable:
∘ 默认为 Threads_running,代表 监控参数,根据上述监控输出指定具体的监控项;
threshold:
∘ 默认为 25,代表 监控阈值,监控参数超过阈值,则满足触发条件;
∘ 监控参数的值非数字时,需要配合 match 参数一起使用,如 processlist 的 state 列;
cycles:
∘ 默认为 5,表示连续观察到五次满足触发条件时,才触发收集;
连接参数:host、password、port、socket。
其他一些重要参数:
iterations:该参数指定 pt-stalk 在触发收集几次后退出,默认会一直运行。
run-time:触发收集后,该参数指定收集多长时间的数据,默认 30 秒。
sleep:该参数指定在触发收集后,sleep 多久后继续监控,默认 300 秒。
interval:指定状态参数的检查频率,判断是否需要触发收集,默认 1 秒。
dest:监控数据存放路径,默认为 /var/lib/pt-stalk。
retention-time :监控数据保留时长,默认 30 天。
daemonize:以后台服务运行,默认不开启。
log:后台运行日志,默认为 /var/log/pt-stalklog。
collect:触发发生时收集诊断数据,默认开启。
∘ collect-gdb:收集 GDB 堆栈跟踪,需要 gdb 工具。
∘ collect-strace:收集跟踪数据,需要 strace 工具。
∘ collect-tcpdump:收集 tcpdump 数据,需要 tcpdump 工具。
分享几大常用的服务器管理软件。
1、远程桌面连接
Remote Desktop - 远程桌面连接(以前称为“终端服务客户端”)主要是用于对远程托管的服务器进行远程管理,使用非常方便,如同操作本地电脑一样方便。远程服务器端必须要先安装“远程桌面连接”的服务器端程序,然后客户端可以通过远程桌面来管理服务器了。
2、Arp防火墙
Arp Firewall - 现在托管服务器必须安装的个软件是Arp防火墙,没办法啊,中国这网络环境,不安装Arp防火墙等着被人挂木马了。现在免费的Arp防火墙主要有两款,一个是奇虎的360 Arp防火墙,一个是金山Arp防火墙。
3、FileZilla与FTP服务和客户端
将客户端的文件上传到服务器上,最常用的软件是FTP了,微软的IIS自带了一个简单的FTP服务器管理软件,如果觉得不好用,服务器上也可以安装免费的FileZilla服务器管理软件,客户端可以使用免费的FileZilla Client,支持多线程上传文件。
4、CPU-Z硬件检测
CPU-Z - CPU-Z是一款免费的系统检测工具,可以检测CPU、主板、内存、系统等各种硬件设备的信息。它支持的CPU种类相当全面,软件的启动速度及检测速度都很快。另外,它还能检测主板和内存的相关信息,其中有我们常用的内存双通道检测功能。远程管理服务器的时候,使用这个软件可以对服务器的硬件信息一清二楚。
5、DU Meter 流量监控
DU Meter是一个简单易用的网络流量监视工具,图形化的界面显示非常直观,可以实时监测服务器的上传和下载的网速,同时还有流量统计功能。可以分析出日流量、周流量、月流量等累计统计数据。不过遗憾的是这个软件不是免费的。
6、TcpView 端口监控
TcpViews是一款免费的端口和线程监控工具,可以列出当前所有TCP和UDP端口的进程清单,包括本地和远程地址的TCP连接,其实和系统命令netstat类似,不过是GUI界面的,使用方便,占用资源少,默认字体在中文环境下很小,需要手动修改。在服务器上运行的话,默认刷新时间不要用默认的1秒。
7、Process Explorer 进程监控
Process Explorer是一款免费的进程监视工具,功能比Windows自带的任务管理器要强大的多,不仅可以监视、暂停、终止进程,还可以查看进程调用的DLL文件,是预防病毒、查杀木马的好帮手。
8、WebLog Expert 日志分析
虽然Google Analytics是一款强大的免费的网站分析服务,但必须加入统计代码才能使用,WebLog Expert则可以直接分析网站的访问日志文件,通过日志文件分析出网站的站点访问者、活动统计、文件访问量、搜索引擎、浏览器、操作系统和错误页面等等众多的统计信息,是网络监测的好助手。这个软件本身不免费,不过其另一个版本WebLog Expert Lite是免费的。
9、WinHex 日志搜索
WinHex是一款速度很快的文件编辑器。打开数百兆的大型文件速度飞快,使用WinHex可以轻松打开服务器上的大型日志文件,并对其进行关键字搜索,效果非常好,是我见到的速度的文本编辑搜索软件,总体来说是一款非常不错的16进制编辑器。
10、Notepad++ 代码编辑
Notepad++是一个免费开源的源程序代码、HTML网页代码编辑工具,支持多达数十种常见源代码或脚本的语法,包括C,C++,Java,C#,XML,HTML,PHP,Javascript,RC resource file,makefile,ASCII,doxygen,ini file,batch file,ASP ,VB/VBS,SQL,Objective-C,CSS,Pascal,Perl,Python,Lua等,功能非常强大。在服务器上安装后可以直接修改网站上的源程序代码。
希望可以帮到你~
0条评论