mysql性能监控工具:mycheckpoint的使用方法

本贴最后更新于 2970 天前,其中的信息可能已经沧海桑田

mycheckpoint 是针对mysql的一个性能监控、指标采集的python写成的工具。

工作原理说明:

mycheckpoint是一段脚本,通过将其设置为crontab定时任务,每几分钟采集一次数据(受限于crontab只能是分钟为基本单位)存储在自己的数据库中,并可以将采集的数据进行统计,以web页面的形式展现出来。

示例效果:

mycheckpoint-dml-chart-sample-88

 

详细请参见:http://code.openark.org/forge/mycheckpoint

 

使用步骤:

0. 下载:

 wget https://mycheckpoint.googlecode.com/files/mycheckpoint-231.tar.gz


1. 为mycheckpoint创建数据库 

CREATE DATABASE mycheckpoint;

2. 授权给当前登录mysql的用户

 GRANT ALL PRIVILEGES ON mycheckpoint.* TO 'root'@'localhost' IDENTIFIED BY 'xxxx';

3. 创建mycheckpoint需要的数据库表。

    mycheckpoint --host=127.0.0.1 --port=3306 --user=root --password=xxxx --socket=/mysql/tmp/mysql.sock --database=mycheckpoint

进过这一个步骤之后,会在名为:mycheckpoint数据库中,生成以下数据表。

 

+------------------------------------+
| Tables_in_mycheckpoint             |
+------------------------------------+
| alert                              |
| alert_condition                    |
| alert_condition_query_view         |
| alert_email_message_items_view     |
| alert_pending                      |
| alert_pending_html_view            |
| alert_pending_view                 |
| alert_view                         |
| charts_api                         |
| custom_query                       |
| custom_query_top_navigation_view   |
| custom_query_view                  |
| html_components                    |
| metadata                           |
| numbers                            |
| status_variables                   |
| status_variables_aggregated_day    |
| status_variables_aggregated_hour   |
| sv_custom_chart_day                |
| sv_custom_chart_flattened_day      |
| sv_custom_chart_flattened_hour     |
| sv_custom_chart_flattened_sample   |
| sv_custom_chart_hour               |
| sv_custom_chart_sample             |
| sv_custom_html                     |
| sv_custom_html_brief               |
| sv_day                             |
| sv_diff                            |
| sv_hour                            |
| sv_latest                          |
| sv_param_change                    |
| sv_parameter_change_union          |
| sv_report_24_7                     |
| sv_report_24_7_minmax              |
| sv_report_chart_24_7               |
| sv_report_chart_day                |
| sv_report_chart_day_labels         |
| sv_report_chart_day_timeseries     |
| sv_report_chart_hour               |
| sv_report_chart_hour_labels        |
| sv_report_chart_hour_timeseries    |
| sv_report_chart_sample             |
| sv_report_chart_sample_labels      |
| sv_report_chart_sample_timeseries  |
| sv_report_day                      |
| sv_report_day_recent               |
| sv_report_day_recent_minmax        |
| sv_report_hour                     |
| sv_report_hour_recent              |
| sv_report_hour_recent_minmax       |
| sv_report_html                     |
| sv_report_html_24_7                |
| sv_report_html_brief               |
| sv_report_human_day                |
| sv_report_human_hour               |
| sv_report_human_sample             |
| sv_report_sample                   |
| sv_report_sample_recent            |
| sv_report_sample_recent_aggregated |
| sv_report_sample_recent_minmax     |
| sv_sample                          |
+------------------------------------+

如果意外将你的web app 的DB指定成了log数据库,则会在你的web app DB中加入以上数据表,并将原web app DB中重名的数据表删除。这将是灾难性的!

4. 将mycheckpoint配置成定时任务

 * * * * * /usr/local/bin/mycheckpoint --user=root --password=xxxx --socket=/redmine/mysql/tmp/mysql.sock --database=mycheckpoint

5. http方式查看结果:

   mycheckpoint --host=127.0.0.1 --port=3306 --user=root --password=xxxx --socket=/mysql/tmp/mysql.sock --database=mycheckpoint  http

指定数据库时需注意,切莫使用你的web app 的DB. 

一个小时之后就可以打开本地的http://localhost:12306/mycheckpoint 查看报表。

 点评: 

这个工具的优势是能将数据统计结果以web形式展现,但是由于其依赖crontab,导致数据采集间隔过大,不能很好的描述mysql的运行状况, 另外,此工具已经于2014年4月停止更新

其它的mysql第三方工具还有: percona-toolkit / mysqltuner.pl / tuning-primer.sh 等。

 参考:

1. http://code.openark.org/forge/mycheckpoint

2. https://code.google.com/p/mycheckpoint/downloads/list

 
  • MySQL

    MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是最流行的关系型数据库管理系统之一。

    675 引用 • 535 回帖 • 1 关注
  • mycheckpoint
    1 引用

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...

推荐标签 标签

  • WebSocket

    WebSocket 是 HTML5 中定义的一种新协议,它实现了浏览器与服务器之间的全双工通信(full-duplex)。

    48 引用 • 206 回帖 • 399 关注
  • 宕机

    宕机,多指一些网站、游戏、网络应用等服务器一种区别于正常运行的状态,也叫“Down 机”、“当机”或“死机”。宕机状态不仅仅是指服务器“挂掉了”、“死机了”状态,也包括服务器假死、停用、关闭等一些原因而导致出现的不能够正常运行的状态。

    13 引用 • 82 回帖 • 36 关注
  • 负能量

    上帝为你关上了一扇门,然后就去睡觉了....努力不一定能成功,但不努力一定很轻松 (° ー °〃)

    85 引用 • 1200 回帖 • 455 关注
  • 数据库

    据说 99% 的性能瓶颈都在数据库。

    330 引用 • 614 回帖
  • 生活

    生活是指人类生存过程中的各项活动的总和,范畴较广,一般指为幸福的意义而存在。生活实际上是对人生的一种诠释。生活包括人类在社会中与自己息息相关的日常活动和心理影射。

    228 引用 • 1450 回帖 • 1 关注
  • Ngui

    Ngui 是一个 GUI 的排版显示引擎和跨平台的 GUI 应用程序开发框架,基于
    Node.js / OpenGL。目标是在此基础上开发 GUI 应用程序可拥有开发 WEB 应用般简单与速度同时兼顾 Native 应用程序的性能与体验。

    7 引用 • 9 回帖 • 344 关注
  • 酷鸟浏览器

    安全 · 稳定 · 快速
    为跨境从业人员提供专业的跨境浏览器

    3 引用 • 59 回帖 • 24 关注
  • Ant-Design

    Ant Design 是服务于企业级产品的设计体系,基于确定和自然的设计价值观上的模块化解决方案,让设计者和开发者专注于更好的用户体验。

    17 引用 • 23 回帖 • 1 关注
  • Markdown

    Markdown 是一种轻量级标记语言,用户可使用纯文本编辑器来排版文档,最终通过 Markdown 引擎将文档转换为所需格式(比如 HTML、PDF 等)。

    163 引用 • 1450 回帖
  • 反馈

    Communication channel for makers and users.

    123 引用 • 906 回帖 • 189 关注
  • 游戏

    沉迷游戏伤身,强撸灰飞烟灭。

    169 引用 • 799 回帖
  • 大数据

    大数据(big data)是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。

    89 引用 • 113 回帖 • 1 关注
  • React

    React 是 Facebook 开源的一个用于构建 UI 的 JavaScript 库。

    192 引用 • 291 回帖 • 441 关注
  • 职场

    找到自己的位置,萌新烦恼少。

    126 引用 • 1699 回帖 • 1 关注
  • 工具

    子曰:“工欲善其事,必先利其器。”

    273 引用 • 678 回帖
  • QQ

    1999 年 2 月腾讯正式推出“腾讯 QQ”,在线用户由 1999 年的 2 人(马化腾和张志东)到现在已经发展到上亿用户了,在线人数超过一亿,是目前使用最广泛的聊天软件之一。

    45 引用 • 557 回帖 • 228 关注
  • Tomcat

    Tomcat 最早是由 Sun Microsystems 开发的一个 Servlet 容器,在 1999 年被捐献给 ASF(Apache Software Foundation),隶属于 Jakarta 项目,现在已经独立为一个顶级项目。Tomcat 主要实现了 JavaEE 中的 Servlet、JSP 规范,同时也提供 HTTP 服务,是市场上非常流行的 Java Web 容器。

    162 引用 • 529 回帖
  • App

    App(应用程序,Application 的缩写)一般指手机软件。

    90 引用 • 383 回帖
  • ZooKeeper

    ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是 Google 的 Chubby 一个开源的实现,是 Hadoop 和 HBase 的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

    59 引用 • 29 回帖 • 15 关注
  • BAE

    百度应用引擎(Baidu App Engine)提供了 PHP、Java、Python 的执行环境,以及云存储、消息服务、云数据库等全面的云服务。它可以让开发者实现自动地部署和管理应用,并且提供动态扩容和负载均衡的运行环境,让开发者不用考虑高成本的运维工作,只需专注于业务逻辑,大大降低了开发者学习和迁移的成本。

    19 引用 • 75 回帖 • 617 关注
  • LeetCode

    LeetCode(力扣)是一个全球极客挚爱的高质量技术成长平台,想要学习和提升专业能力从这里开始,充足技术干货等你来啃,轻松拿下 Dream Offer!

    209 引用 • 72 回帖
  • 前端

    前端技术一般分为前端设计和前端开发,前端设计可以理解为网站的视觉设计,前端开发则是网站的前台代码实现,包括 HTML、CSS 以及 JavaScript 等。

    247 引用 • 1347 回帖
  • Electron

    Electron 基于 Chromium 和 Node.js,让你可以使用 HTML、CSS 和 JavaScript 构建应用。它是一个由 GitHub 及众多贡献者组成的活跃社区共同维护的开源项目,兼容 Mac、Windows 和 Linux,它构建的应用可在这三个操作系统上面运行。

    15 引用 • 136 回帖 • 7 关注
  • C

    C 语言是一门通用计算机编程语言,应用广泛。C 语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

    83 引用 • 165 回帖 • 53 关注
  • abitmean

    有点意思就行了

    19 关注
  • Telegram

    Telegram 是一个非盈利性、基于云端的即时消息服务。它提供了支持各大操作系统平台的开源的客户端,也提供了很多强大的 APIs 给开发者创建自己的客户端和机器人。

    5 引用 • 35 回帖
  • BND

    BND(Baidu Netdisk Downloader)是一款图形界面的百度网盘不限速下载器,支持 Windows、Linux 和 Mac,详细介绍请看这里

    107 引用 • 1281 回帖 • 19 关注