美文网首页
MySQL-监控

MySQL-监控

作者: 慧玲说 | 来源:发表于2019-02-17 17:09 被阅读0次

    001 MySQL是一个数据库管理系统,也是一个关系数据库。它是由Oracle支持的开源软件。

    002 MySQL触发器是自动执行以响应与表相关联的特定事件的存储程序,例如插入,更新或删除记录

    003 Mysql 不能调试存储过程,存储过程大量的逻辑操作,会导致CPU使用率增加

    004 存储函数,CREATE FUNCTION
    存储的函数是返回单个值的特殊类型的存储程序。您使用存储的函数来封装在SQL语句或存储的程序中可重用的常用公式或业务规则。

    005 最常用的MySQL函数,包括聚合函数,字符串函数,日期时间函数,控制流函数等。
    006 搜索函数,like,正则运算
    当文本列较大并且表中的行数增加时
    007 MySQL性能分析、监控预警、容量扩展问题上

    带界面的工具
    1、MySQL可视化工具
    a、MySQL查询浏览器(MySQL Query Browser)
    b、MySQL管理员(MySQL Administrator)
    c、MySQL迁移工具箱(MySQL Migration Tookit)
    d、MySQL工作台(MySQL Workbench):MySQL的建模工具。

    • 2、SQLyog
      SQLyog是最常用的MySQL可视化工具,只能用于win下

    • 3.phpMyAdmin
      phpMyAdmin是一款很流行的管理工具,它基于Web界面来管理MySQL服务器

    • 监控
      它接收系统的测量值,如果有超出安全范围的,就通过发出警告提醒管理员

    监控界流行一句话:只要用顺了Nagios,你就永远不会再想到其它监控系统。

    Nagios是一款用于系统和网络监控的应用程序。它可以在你设定的条件下对主机和服务进行监控,在状态变差和变好的时候给出告警信息。
    Nagios最初被设计为在Linux系统之上运行,然而它同样可以在类Unix的系统之上运行。
    Nagios 特征包括:监控网络服务(SMTP、POP3、HTTP、NNTP、PING等);
    监控主机资源(处理器负荷、磁盘利用率等);
    简单地插件设计使得用户可以方便地扩展自己服务的检测方法;
    并行服务检查机制;
    具备定义网络分层结构的能力,用”parent”主机定义来表达网络主机间的关系,这种关系可被用来发现和明晰主机宕机或不可达状态;
    当服务或主机问题产生与解决时将告警发送给联系人(通过EMail、短信、用户定义方式);
    具备定义事件句柄功能,它可以在主机或服务的事件发生时获取更多问题定位;
    自动的日志回滚;可以支持并实现对主机的冗余监控;可选的WEB界面用于查看当前的网络状态、通知和故障历史、日志文件等;

    i、Zenoss
    Zenoss是用Python编写的,拥有基于浏览器的用户界面,并使用了Ajax使操作更加快捷而富有效率。它将监控、报警、趋势显示、图表显示和记录历史数据等功能合成在一个统一的工具里,它还能在网上自动发现资源,在默认情况下,Zenoss使用SNMP从远程机器上收集数据,但它也可以使用SSH,并且支持Nagios插件。
    ii、Hyperic HQ
    Hyperic HQ是一款基于Java的监控系统,它的目标跟其他同类别的软件不太一样,它要成为企业级的监控系统。跟Zenoss一样,它也能自动发现资源,支持Nagios插件,但是它的逻辑组织和架构很不一样,显得有点庞大。至于它是不是合适你的需求,那要看你的参数设置和监控的方式了。
    iii、OpenNMS
    OpenNMS是由Java编写的,拥有一个活跃的开发者社区。它具备了常规的功能,例如监控和报警,也加入了图表和趋势显示的功能。它的目标是高性能、伸缩性、自动化以及良好的兼容性。跟Hyperic一样,它也企图成为一款企业级的监控软件,可以用于大型的关键系统上。
    iv、Groundwork Open Source
    Groundwork Open Source实际上是基于Nagios的,它把Nagios和其他几个工具集成为一个系统,并安上一个统一的门户界面。描述它的最好方法可能就是:如果你对Nagios、Cacti及其他工具很熟悉,并且能够花大量的时间把它们无缝地集成在一起的话,你也能在家庭作坊里做一个出来。
    v、Zabbix
    Zabbix是一个开源监控系统,在许多方面跟Nagios很相像,但是也有一些关键的不同点。例如:它把所有配置信息和其他数据都存放在一个数据库里,而不是放在配置文件里;它比Nagios存储了更多类型的数据,这样可以生成更好的趋势图和历史报告。它的网络图表和可视化功能也优于Nagios。很多使用它的人发现它更易配置,更具有兼容性。说起来它也能比Nagios少,它的报警功能也不够高级。
    

    2、MySQL监控和建议
    企业版
    3、MONyog
    一个轻量级的无代理的监控系统
    4、基于RRDTool的系统
    不算是一个监控系统
    很多组织里都是使用几种脚本或程序–这些一般都是自制的–从服务器那里读取信息,然后再保存到循环数据库(Round-robin database,RRD)文件里
    它们还都带有强大的图表工具,能够生成漂亮的 图表。

    交互工具

    innotop
    mtop
    是一个显示MySQL服务器查询状态的监视器。功能包括显示完成的查询进程,显示查询优化的信息及杀死一个查询。附加功能包括服务器性能统计,配置信息和调整技巧提示。

    mytop
    mytop就是類似top的MySQL監察工具。執行mytop後,它會每隔幾秒更新一次,而且也可以針對性地監察某一個資料庫

    分析工具

    如监测服务器,找出还可以优化和调优的功能区域。
    1、Mysqlreport
    2、Mysqlsla

    监控性能的指标内容

       1、os层面
            空间监控df -h ,防止文件系统空间满造成数据库hang住
            性能cpu监控
                vmstat 
                    r队列,这个队列需要小于cpu核数,最大不要超过4倍???
                top load average队列数量,同上???
                top中sys cpu占比小于5%,iowait占比小于5%,user占比小于70%
                top H线程占cpu占比,不要出现70%+的线程
        2、内存
            vmstat中出现swap in out    ,free至少2G以上
        3、io
            iostat -x 中  r/s     w/s 
            svctm<=6ms
            %util<80%
        4、网络监控
            sar监控中,网络带宽不需要达到90%,一般1000Mbit/s 带宽足够使用,除了备份等场景
    
        5、数据库
            真实负载监控
                    | Innodb_rows_deleted | 99493 |
                    | Innodb_rows_inserted | 1376624 |
                    | Innodb_rows_read | 12895545 |
                    | Innodb_rows_updated | 2720746 |
    
                    | Queries | 8932356 |:qps,所有查询语句(i+d+u+s)的数量,如执行一个存储过程,会把存储过程中的执行sql数量也包括。questions是一个存储过程算一个,不管存过程中有多少语句。
                    tps:
                    显示的tps:
                    | Com_commit | 338336 |
                    | Com_rollback | 1057 |
                    隐式tps:
                    | Handler_commit | 12519502 |
                    | Handler_rollback | 2114 |
    --------------------- 
    作者:宸小浩属牛 
     
    

    IO相关

    物理读相关:
    Innodb_buffer_pool_read_requests
    Innodb_buffer_pool_reads
    Innodb_pages_read
    Handler_read_rnd_next 全表扫描
    物理写相关
    Innodb_buffer_pool_pages_flushed
    Innodb_buffer_pool_write_requests
    Innodb_dblwr_writes
    Innodb_dblwr_pages_written
    Innodb_log_writes
    关注pending(读不动,写不动---IO有问题)的数量:读写挂起,日志挂起
    Innodb_data_pending_reads |0 |

    内存相关

    Innodb_buffer_pool_wait_free 内存少,物理读取不了,为0 表示内存中总有可用页。

    连接

     | Connection_errors_max_connections | 0 |因为连接数达到最大而不能连接所产生的错误次数。>0 表示连接数超了。
    

    用户空间相关

    | Sort_merge_passes | 0 |sort 用户空间太小发生磁盘排序的数量。
    | Binlog_cache_disk_use | 0 |:binlog 用户空间太小发生使用磁盘空间的数量。

    锁相关

    | Table_locks_waited | 0 |产生表锁等待的数量

    慢查询

    | Slow_queries | 508 |:慢查询执行次数
    慢查询日志的解读
    对慢查询日志进行tail -f式的解读

    产生的日志量相关:——产生的redo数量

    | Innodb_os_log_written | 1255217664 |redo log 产生的量,字节数
    show master status;隔段时间监控的差值除以时间间隔得到每秒产生binlog 日志量。

    网络相关

    | Bytes_received | 372184964 |
    | Bytes_sent | 1996745853 |

    全表扫描

    PT
    ZABBIX
    SHELL脚本

    相关文章

      网友评论

          本文标题:MySQL-监控

          本文链接:https://www.haomeiwen.com/subject/zgtgeqtx.html