一、Zabbix简介

1.1 Zabbix简介

  官方网站:http://www.zabbix.com。Zabbix通过C/S模式采集数据,通过B/S模式在web端展示和配置。

1.2 Zabbix功能

  具备常见的商业监控软件所具备的功能(主机的性能监控、网络设备性能监控、数据库性能监控、FTP等通用协议监控、多种告警方式、详细的报表图表绘制)支持自动发现网络设备和服务器;支持分布式,能集中展示、管理分布式的监控点;扩展性强,server提供通用接口,可以自己开发完善各类监控。

1.3 优劣势

  优点:开源,无软件成本投入;Server对设备性能要求低(实际测试环境:虚拟机CentOS5,2GCPU 1G内存,监控5台设备,CPU使用率基本保持在10%以下,内存剩余400M以上);支持设备多;支持分布式集中管理;开放式接口,扩展性强。
缺点:中文资料较少。

1.4 参考资源

  企业应用监控利器-ZABBIX(包括zabbix安装方法、中文字体的设定和防火墙设定等)http://waringid.blog.51cto.com/65148/904201


Zabbix中文使用手册(包括重要的zabbix监控参数、重要监控图表的意义等)http://waringid.blog.51cto.com/65148/945352


zabbix中文配置指南(包括item参数的定制,windows监控参数的定义,snmp设备的OID查询、设置等。zabbix使用手册侧重使用人员,而这份文档侧重专业管理人员)http://waringid.blog.51cto.com/65148/955939


  zabbix中文配置指南续(时间同步,windows、linux、cisco IOS设置以及cisco 2960网络设备监控)http://waringid.blog.51cto.com/65148/1104627


zabbix之auth login邮件报警(通过使件msmtp实现zabbix验证型邮件的报警通知功能)http://waringid.blog.51cto.com/65148/1142579


Monitor MySQL with Zabbix
http://www.badllama.com/content/monitor-mysql-zabbix
Monitor Apache with Zabbix
http://www.badllama.com/content/monitor-apache-zabbix
Monitor Nginx with Zabbix
http://www.badllama.com/content/monitor-nginx-zabbix
Partitioning Tables on Zabbix 1.8
http://zabbixzone.com/zabbix/partitioning-tables/
Heavy MySQL monitoring solution
https://www.zabbix.com/wiki/howto/monitor/db/mysql/extensive_mysql_monitoring_including_replication


二、Mysql监控配置

2.1 说明

  Mysql的监控主要通过配置文件的“UserParameter”参数结合“Items”监控项目或相关模板实现。实现后如图一所示。

图一:MySQL性能监控图

2.2 设定配置文件

  Zabbix安装后自带有详细的mysql配置实例,先将配置文件复制到相应的地方,然后按实际情况修改这个配置文件。图二是监控MySQL的模板内容。

图二:MySQL性能监控模板图

  1. cp /root/zabbix-2.0.5/conf/zabbix_agentd/userparameter_mysql.conf /usr/local/zabbix/etc/zabbix_agentd.conf.d/userparameter_mysql.conf
  1. UserParameter=mysql.status[*],echo "show global status where Variable_name='$1';" | mysql -uzabbix -ppassword -N | awk '{print $$2}' #取mysql状态,如图三所示

图三:MySQL性能监控状态图

  1. UserParameter=mysql.size[*],echo "select sum($(case "$3" in both|"") echo "data_length+index_length";; data|index) echo "$3_length";; free) echo "data_free";; esac)) from information_schema.tables$([[ "$1" = "all" || ! "$1" ]] || echo " where table_schema='$1'")$([[ "$2" = "all" || ! "$2" ]] || echo "and table_name='$2'");" | mysql -uzabbix -ppassword –N #取mysql操作状态,如图四所示

图四:MySQL性能流量图

  1. UserParameter=mysql.ping,HOME=/var/lib/mysql/zabbix mysqladmin -uzabbix -ppassword | grep -c alive
  2. UserParameter=mysql.version,mysql –V #取mysql版本,如图五所示

图五:MySQL版本图

2.3修改agnet配置文件

  完成后修改相应的agent配置文件,加入新增加的“userparameter_mysql.conf”文件。

  1. vi /usr/local/zabbix/etc/zabbix_agent.conf
  2. Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/ #加入mysql配置
  3. vi /usr/local/zabbix/etc/zabbix_agentd.conf
  4. Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/ #加入mysql配置

  需要说明的是MySQL的监控涉及主机名、用户名和密码(这个在2.2项中有说明),要注意的是如果mysql的用户名是root@localhost的话要在监控设定的页面中将主机名称改为localhost,同时相应的zabbix_agent.conf相关配置文件中的Hostnam项要设成localhost,如图六所示。

图六:MySQL主机监控设定图

2.4 重启应用

  1. service zabbix_agentd restart

  如果存在问题,注意查看zabbix_server.log和zabbix_agentd.log日志,然后对照进行相应调整。

三、Zabbix性能优化

  网上这方面的资源其实挺多的,唯一麻烦点的是大部份都是英文的,但是对照相应的指令也可以猜出操作方式,以下是可以参考的一些内容。

mysql数据库自动备份http://ourmysql.com/archives/356?f=wb


改良版本mysqldump来备份MYSQL数据库http://ourmysql.com/archives/463?f=wb


Performance Tuning MySQL for Zabbix
http://sysadminnotebook.blogspot.com/2011/08/performance-tuning-mysql-for-zabbix.html

3.1 度量Zabbix性能

  通过Zabbix的NVPS(每秒处理数值数)来衡量其性能,在Zabbix的dashboard上有一个粗略的估值,如图七所示。

图七:nvps图

3.2 Zabbix性能低下的表象

1、zabbix队列中有太多被延迟的item: Administration -> Queue(如图八、图九所示)

2、zabbix绘图中经常性出现断档,一些item没有数据

3、带有nodata()函数的触发器出现false

4、前端页面无响应

图八:zabbix性能图

图九:zabbix queue图

3.3 Zabbix性能低下的因素

3.4 Zabbix性能优化的原则

1、确保zabbix内部组件性能处于被监控状态(调优的基础!)

2、使用硬件性能足够好的服务器

3、不同角色分开,使用各自独立的服务器

4、使用分布式部署

5、调整MySQL性能

6、调整Zabbix自身配置

四、MySQL性能优化

  本例服务器为IBM X3550(CPU Xeon E5504 4核 RAM 4G HDD RAID1 146G);Zabbix 2.05;MySQL版本“mysql Ver 14.14 Distrib 5.1.67”;现有监控内容如图十所示,服务器及MySQL性能如图十一、十二所示。

图十:zabbix NVPS图

图十一:zabbix 主机性能图

图十二:zabbix MySQL性能图

4.1 使用tmpfs文件系统

  1. cd /
  2. mkdir zabbixtmp
  3. chown mysql:mysql zabbixtmp
  4. vi /etc/fstab #配置/etc/fstab文件
  5. tmpfs /zabbixtmp tmpfs rw,size=400m,nr_inodes=10k,mod=0700,uid=mysql,gid=mysql 0 0

  在配置/etc/fstab参数中需要注意文件的大小设置,一般情况下设成物理内存的8%-10%。

4.2 配置my.cnf文件

  1. [mysqld]
  2. datadir=/var/lib/mysql
  3. socket=/var/lib/mysql/mysql.sock
  4. user=mysql
  5. # Disabling symbolic-links is recommended to prevent assorted security risks
  6. tmpdir=/zabbixtmp
  7. #network
  8. connect_timeout =60
  9. wait_timeout =5000
  10. max_connections =400
  11. max_allowed_packet =16M
  12. max_connect_errors =400
  13. #limits
  14. tmp_table_size =256M
  15. max_heap_table_size =64M
  16. table_cache =256
  17. #logs
  18. slow_query_log_file =/var/log/slowquery.log
  19. log_error =/var/log/mysql-error.log
  20. long_query_time =10
  21. slow_query_log =1
  22. #innodb
  23. #innodb_data_file_path =ibdata1:128M;ibdata2:128M:autoextend:max:4096M
  24. innodb_file_per_table =1
  25. innodb_status_file =1
  26. innodb_additional_mem_pool_size =128M
  27. innodb_buffer_pool_size =2800M
  28. innodb_flush_method =O_DIRECT
  29. #innodb_io_capacity =1000
  30. innodb_support_xa =0
  31. innodb_log_file_size =64M
  32. innodb_log_buffer_size =32M
  33. symbolic-links=0
  34. #log-queries-not-using-indexes
  35. thread_cache_size=4
  36. query_cache_size=128M
  37. #join_buffer_size=512K
  38. join_buffer_size=128M
  39. read_buffer_size=128M
  40. read_rnd_buffer_size=128M
  41. key_buffer=128M
  42. innodb_flush_log_at_trx_commit=2
  43. [mysqld_safe]
  44. log-error=/var/log/mysqld.log
  45. pid-file=/var/run/mysqld/mysqld.pid

  “innodb_buffer_pool_size”一般设为服务器物理内存的70%-80%。

4.3 参考内容

InnoDB Startup Options and System Variables http://dev.mysql.com/doc/refman/5.5/en/innodb-parameters.html

MySQL Performance Blog http://www.mysqlperformanceblog.com

Benchmarks For Percona Server http://www.percona.com/software/percona-server/benchmarks

Choosing innodb_buffer_pool_size http://www.mysqlperformanceblog.com/2007/11/03/choosing-innodb_buffer_pool_size/


你可以从这里下载到本文的电子档

本文出自 “虚拟的现实” 博客,请务必保留此出处http://waringid.blog.51cto.com/65148/1156013

zabbix性能优化相关推荐

  1. zabbix学习4: 监控Java原理-zabbix性能优化-低级自动发现-zabbix api

    文章目录 20: zabbix监控java jvm原理 21: zabbix性能优化 22: zabbix低级自动发现 23: zabbix api 20: zabbix监控java jvm原理 to ...

  2. zabbix性能优化中的几个中肯建议

    随着zabbix的广泛应用,少数人的zabbix服务器在性能上出现瓶颈,或者在未来会出现性能方面的瓶颈,接下来讨论几个有效并且简单的优化方案. 服务器硬件 想 通过几个简单的配置让服务器提高成倍的性能 ...

  3. zabbix Linux 线程,zabbix性能优化小结

    zabbix我们主要用于数据库的监控,数量百台,采用passive模式由server向client轮询数据.监控主要是shell收集数据. 数据库分布于国内和国外(可定会遇到网络问题,zabbix暂时 ...

  4. Zabbix性能优化方案

    (1)去掉无用监控项,增加监控项的取值间隔,减少历史数据保存周期 (2)增加zabbix-proxy,分布式监控 (3)针对于zabbix-server进程调优,谁忙,就加大它的进程数量 (4)针对于 ...

  5. 023-zabbix性能优化中的几个中肯建议

    随着zabbix的广泛应用,少数人的zabbix服务器在性能上出现瓶颈,或者在未来会出现性能方面的瓶颈,接下来讨论几个有效并且简单的优化方案. 服务器硬件 想通过几个简单的配置让服务器提高成倍的性能, ...

  6. Zabbix服务器性能优化记录

    Zabbix服务器性能优化记录 一.检查服务器当前负载 二.检查CPU和内存占比 1.CPU占用率情况 2.内存使用情况 三.处理解决 1.临时关闭图形界面 2.systemd启动目标介绍 3.永久设 ...

  7. mysql zabbix优化_zabbix性能优化中的几个中肯建议(104)

    随着zabbix的广泛应用,少数人的zabbix服务器在性能上出现瓶颈,或者在未来会出现性能方面的瓶颈,接下来讨论几个有效并且简单的优化方案. 服务器硬件 想通过几个简单的配置让服务器提高成倍的性能, ...

  8. DBA很忙—MySQL的性能优化及自动化运维实践

    作者:王辰 来自:高效运维(ID:greatops) DBA的日常工作 首先,我们来看看DBA的具体工作,我觉得 DBA 真的很忙:备份和恢复.监控状态.集群搭建与扩容.数据迁移和高可用,这是我们 D ...

  9. 亿级PV,常见性能优化策略总结与真实案例

    作者:晓明 来自:美团技术团队 0 题记 美团网是国内最大的O2O服务平台,虽然经常面临高并发.大流量等问题,但在用户体验优化上美团APP仍被众多IT同行所推崇,他们在性能优化方面积累的宝贵经验尤其值 ...

最新文章

  1. 使用TENSORRT和NVIDIA-DOCKER部署深部神经网络
  2. python会搞坏电脑吗_搞python,把原本php环境所需的libjpeg搞坏了
  3. linux中vim常用命令总结
  4. 注解IOC案例-把自己编写的类使用注解配置
  5. 基于CMake构建MSVC_CUDA及MinGW编译环境下的的OpenCV项目
  6. BeginnersBook Java 示例
  7. 字符集编码转换--MFC
  8. 获取mysqli函数的值和字段名
  9. vs 2010下载地址
  10. 如何DIY一台属于你自己的电脑?
  11. 《深度学习入门-基于Python的理论与实现》第七章带读 -- CNN介绍
  12. python之whl文件解释与安装
  13. usb万能驱动win7_Win10改装win7原来这么简单
  14. 大批制造企业总部离沪 三四线城市成避风港
  15. python删除word表格中的某一行_python读取word 中指定位置的表格及表格数据
  16. Mysql 如何批量复制一个表数据进行增加条数
  17. 2020考研数学一考研大纲原文
  18. 复制淘宝店需要设置那些?
  19. 自由浏览器 android,百度浏览器发布安卓6.1版 趣味视频弹幕吐槽不停
  20. 动态规划——最长湍流子数组

热门文章

  1. android 绘图 双缓存,Android开发之用双缓冲技术绘图
  2. VK Cup 2017 - Round 1
  3. 搜索引擎优化的关键字工具
  4. MVC架构简介及其测试策略
  5. Python之路_Day13
  6. BZOJ2388 : 旅行规划
  7. Mysql 索引的基础(下)
  8. 使用rapid-framework自动生成struct2
  9. linux dd命令参数及用法详解---用指定大小的块拷贝一个文件
  10. u-boot移植第一弹——制作可用的BL1