1. 前言

        zabbix作为开源免费的监控软件。其易于管理配置和可视化的视图、历史数据的定期维护、模板化的监控项目越来越受到广大IT运维人员的喜爱。

这里主要是总结了下Zabbix Server和MPM使用yum进行高速部署。其更加具体的东西,大家还是看官方文档吧。我们首先把环境搭起来!

2. 环境

1)Zabbix Server

Os:Redhat6.5 i686(vmware)
        ipaddr:192.168.8.3
        hostname:linux-zabbix
        MySQL :5.6.23
        MEM:1G

2)监控端

        Os:CentOS 6.4 x64(vmware)
        ipaddr:192.168.8.5
        hostname:oneproxy-vm
        MEM:1G

3. Zabbix Server部署

3.1 yum环境配置

这里的yum源使用的是163的CentOS6.6和zabbix官网的源。

因为我的server安装的是rehat。所以首先要把redhat的yum卸载掉。安装centOS的yun软件。

3.1.1 下载centos yum软件

  1. wget http://mirrors.163.com/centos/6/os/x86_64/Packages/python-iniparse-0.3.1-2.1.el6.noarch.rpm
  2. wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-metadata-parser-1.1.2-16.el6.x86_64.rpm
  3. wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-3.2.29-40.el6.centos.noarch.rpm
  4. wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.30-14.el6.noarch.rpm

3.1.2 卸载redhat的yum包

  1. rpm -qa|grep -i yum|xargs rpm -e --nodeps

3.1.3 安装centOS的yum包

  1. rpm -ivh python-iniparse-0.3.1-2.1.el6.noarch.rpm
  2. rpm -ivh yum-metadata-parser-1.1.2-16.el6.x86_64.rpm
  3. rpm -ivh yum-3.2.29-40.el6.centos.noarch.rpm yum-plugin-fastestmirror-1.1.30-14.el6.noarch.rpm

3.1.4 配置163的CentOS6.6的yum

  1. [root@linux-zabbix yum.repos.d]# cd /etc/yum.repos.d
  2. [root@linux-zabbix yum.repos.d]# cat CentOS6-Base-163.repo
  3. # CentOS-Base.repo
  4. #
  5. # The mirror system uses the connecting IP address of the client and the
  6. # update status of each mirror to pick mirrors that are updated to and
  7. # geographically close to the client. You should use this for CentOS updates
  8. # unless you are manually picking other mirrors.
  9. #
  10. # If the mirrorlist= does not work for you, as a fall back you can try the
  11. # remarked out baseurl= line instead.
  12. #
  13. #
  14.  
  15. [base]
  16. name=CentOS-6.6 - Base - 163.com
  17. baseurl=http://mirrors.163.com/centos/6.6/os/$basearch/
  18. #mirrorlist=http://mirrorlist.centos.org/?release=6.6&arch=$basearch&repo=os
  19. gpgcheck=1
  20. gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
  21.  
  22. #released updates
  23. [updates]
  24. name=CentOS-6.6 - Updates - 163.com
  25. baseurl=http://mirrors.163.com/centos/6.6/updates/$basearch/
  26. #mirrorlist=http://mirrorlist.centos.org/?
  27.  
  28. release=6.6&arch=$basearch&repo=updates
  29. gpgcheck=1
  30. gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
  31.  
  32. #additional packages that may be useful
  33. [extras]
  34. name=CentOS-6.6 - Extras - 163.com
  35. baseurl=http://mirrors.163.com/centos/6.6/extras/$basearch/
  36. #mirrorlist=http://mirrorlist.centos.org/?
  37.  
  38. release=6.6&arch=$basearch&repo=extras
  39. gpgcheck=1
  40. gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
  41.  
  42. #additional packages that extend functionality of existing packages
  43. [centosplus]
  44. name=CentOS-6.6 - Plus - 163.com
  45. baseurl=http://mirrors.163.com/centos/6.6/centosplus/$basearch/
  46. #mirrorlist=http://mirrorlist.centos.org/?release=6.6&arch=$basearch&repo=centosplus
  47. gpgcheck=1
  48. enabled=0
  49. gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
  50.  
  51. #contrib - packages by Centos Users
  52. [contrib]
  53. name=CentOS-6.6 - Contrib - 163.com
  54. baseurl=http://mirrors.163.com/centos/6.6/contrib/$basearch/
  55. #mirrorlist=http://mirrorlist.centos.org/?release=6.6&arch=$basearch&repo=contrib
  56. gpgcheck=1
  57. enabled=0
  58. gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6

3.1.5 配置zabbix的yum源

  1. wget http://repo.zabbix.com/zabbix/2.4/rhel/6/i386/zabbix-release-2.4-1.el6.noarch.rpm
  2. rpm -ivh zabbix-release-2.4-1.el6.noarch.rpm
  1. [root@linux-zabbix yum.repos.d]# cat zabbix.repo 
  2. [zabbix]
  3. name=Zabbix Official Repository - $basearch
  4. baseurl=http://repo.zabbix.com/zabbix/2.4/rhel/6/$basearch/
  5. enabled=1
  6. gpgcheck=1
  7. gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
  8.  
  9. [zabbix-non-supported]
  10. name=Zabbix Official Repository non-supported - $basearch 
  11. baseurl=http://repo.zabbix.com/non-supported/rhel/6/$basearch/
  12. enabled=1
  13. gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
  14. gpgcheck=1

3.2 Zabbix Server安装

3.2.1 安装mysql数据库

  1. yum remove mysql-libs-5.1.71-1.el6.i686
  2. rpm -ivh MySQL-server-advanced-5.6.23-1.el6.i686.rpm
  3. rpm -ivh MySQL-client-advanced-5.6.23-1.el6.i686.rpm
  4. rpm -ivh MySQL-shared-compat-advanced-5.6.23-1.el6.i686.rpm MySQL-shared-advanced-5.6.23-1.el6.i686.rpm MySQL-devel-advanced-5.6.23-1.el6.i686.rpm

3.2.2 配置mysql

配置文件/etc/my.cnf
  1. [root@linux-zabbix etc]# cat my.cnf
  2. [client]
  3. port = 3306
  4. socket = /tmp/mysql.sock
  5.  
  6. #The MySQL Server
  7. #########Basic######
  8. [mysqld]
  9. server-id = 1
  10. port = 3306
  11. user = mysql
  12. basedir = /usr/
  13. datadir = /var/lib/mysql
  14. tmpdir = /var/lib/mysql/tmp
  15. socket = /tmp/mysql.sock
  16. skip-external-locking
  17. skip-name-resolve
  18. default-storage-engine = INNODB
  19. character-set-server = utf8
  20. wait_timeout = 100
  21. connect_timeout = 20
  22. interactive_timeout = 100
  23. back_log = 500
  24. event_scheduler = on
  25. explicit_defaults_for_timestamp
  26. #skip-grant-tables
  27. #############binlog##############
  28. log-bin = /var/lib/mysql/logs/mysql-bin
  29. binlog_format = row
  30. max_binlog_size = 128M
  31. binlog_cache_size = 4M
  32. expire_logs_days = 5
  33. ##############Slow log####################
  34. slow_query_log = 1
  35. slow_query_log_file = /var/lib/mysql/logs/mysql.slow
  36. long_query_time = 2
  37. ###############Per_Thread_Buffers########################
  38. max_connections = 1024
  39. max_user_connections = 1000
  40. max_connect_errors = 10000
  41. key_buffer_size = 32M
  42. max_allowed_packet = 128M
  43. table_open_cache = 3096
  44. table_definition_cache = 4096
  45. sort_buffer_size = 512K
  46. read_buffer_size = 512K
  47. read_rnd_buffer_size = 512K
  48. join_buffer_size = 512K
  49. tmp_table_size = 16M
  50. max_heap_table_size = 16M
  51. query_cache_type = 0
  52. query_cache_size = 0
  53. bulk_insert_buffer_size = 16M
  54. thread_cache_size = 64
  55. thread_stack = 256K
  56. ################InnoDB#########################
  57. innodb_data_home_dir = /var/lib/mysql
  58. innodb_autoinc_lock_mode = 2
  59. innodb_log_group_home_dir = /var/lib/mysql/logs
  60. innodb_data_file_path = ibdata1:1G:autoextend
  61. innodb_buffer_pool_size = 256M
  62. innodb_buffer_pool_instances = 1
  63. innodb_log_file_size = 64M
  64. innodb_log_buffer_size = 4M
  65. innodb_flush_log_at_trx_commit = 2
  66. innodb_lock_wait_timeout = 10
  67. innodb_sync_spin_loops = 40
  68. innodb_max_dirty_pages_pct = 90
  69. innodb_support_xa = 1
  70. innodb_thread_concurrency = 0
  71. innodb_thread_sleep_delay = 500
  72. innodb_file_io_threads = 4
  73. innodb_concurrency_tickets = 1000
  74. log_bin_trust_function_creators = 1
  75. innodb_flush_method = O_DIRECT
  76. innodb_file_per_table
  77. innodb_read_io_threads = 4
  78. innodb_write_io_threads = 4
  79. innodb_io_capacity = 2000
  80. innodb_file_format = Barracuda
  81. innodb_purge_threads = 1
  82. innodb_purge_batch_size = 32
  83. innodb_old_blocks_pct = 75
  84. innodb_change_buffering = all
  85. transaction_isolation = READ-COMMITTED
  1. [mysqldump]
  2. quick
  3. max_allowed_packet = 64M
  4.  
  5. [mysql]
  6. no-auto-rehash
  7.  
  8. [myisamchk]
  9. key_buffer_size = 32M
  10. sort_buffer_size = 256K
  11. read_buffer = 2M
  12. write_buffer = 2M
  13.  
  14. [mysqlhotcopy]
  15. interactive-timeout
  16.  
  17. [mysqld_safe]
  18. open-files-limit=28192
  19.  
  20. [mysql]
  21. host=localhost
  22. user=zabbix
  23. password=zabbix
  24. socket=/tmp/mysql.sock
  25.  
  26. [mysqladmin]
  27. host=localhost
  28. user=zabbix
  29. password=zabbix
  30. socket=/tmp/mysql.sock

创建文件夹

  1. mkdir -p /var/lib/mysql/tmp
  2. mkdir -p /var/lib/mysql/logs
  3. chown -R mysql:mysql /var/lib/mysql

初始化mysql

  1. mysql_install_db --defaults-file=/etc/my.cnf --datadir=/var/lib/mysql/

启动数据库后,创建zabbix数据库。设置rootpassword

  1. service mysql start
  2. mysql> create database zabbix default charset utf8;
  1. mysql> grant all on *.* to 'root'@'localhost' identified by '123456';
  1. mysql> grant all on *.* to 'root'@'%' identified by '123456';
  1.  
  1. mysql> flush privileges;

3.2.3 安装zabbix

  1. yum install zabbix-server-mysql zabbix-web-mysql
  2. yum install zabbix-get

yum会自己主动的将apache和php安装配置好。


3.2.4 初始化zabbix数据库

  1. cd /usr/share/doc/zabbix-server-mysql-2.4.5/create
  1. [root@linux-zabbix create]# mysql -p123456 -uroot zabbix < schema.sql
  2. [root@linux-zabbix create]# mysql -p123456 -uroot zabbix < images.sql
  3. [root@linux-zabbix create]# mysql -p123456 -uroot zabbix < data.sql

3.2.5 改动zabbix server配置文件

  1. cat /etc/zabbix/zabbix_server.conf
  2. DBHost=localhost
  3. DBName=zabbix
  4. DBUser=root
  5. DBPassword=123456

3.2.6 改动php配置文件

  1. php_value max_execution_time 300
  2. php_value memory_limit 128M
  3. php_value post_max_size 16M
  4. php_value upload_max_filesize 2M
  5. php_value max_input_time 300
  6. date.timezone = PRC

3.2.7 启动服务

  1. service zabbix-server start
  2. servivce httpd start

3.2.8 配置页面

打开 http://192.168.8.3/zabbix 后,配置相关选项
安装要求检查



数据库配置

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">


zabbix-server


安装预览


完毕后,能够使用默认管理员用户admin/zabbix进行登录


4. 配置Zabbix Agent和MPM

4.1 zabbix agent配置

yum的配置上一部分已经说了,直接安装
  1. yum install zabbix-agent
  2. yum install zabbix-sender

配置/etc/zabbix/zabbix_agentd.conf

  1. Server=192.168.8.3
  2. ServerActive=192.168.8.3
  3. Hostname=oneproxy-vm

4.2 MPM安装配置

4.2.1 安装依赖包

  1. yum install perl-File-Which perl-libwww-perl perl-Digest-SHA perl-DBD-MySQL perl-Time-HiRes perl-Crypt-SSLeay

4.2.2 软件介绍

到官网http://www.fromdual.com/ 下载MPM的相关版本号。这里我使用的是mysql_performance_monitor-0.9.3.tar.gz。(PS:最新的0.10版本号没有相关文档,简直坑啊!)

解压缩软件包后,会发现有两个文件mysql_performance_monitor_agent-0.9.3.tar.gz和mysql_performance_monitor_templates-0.9.3.tar.gz。当中mysql_performance_monitor_agent-0.9.3.tar.gz是放在监控机器上的配置信息。mysql_performance_monitor_templates-0.9.3.tar.gz则是要让我们导入到zabbix server的模板数据。


4.2.3 模板导入

登录到我们的zabbix server服务器上,通过Configuration-->Templates-->Import进行模板导入

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

将mysql_performance_monitor_templates-0.9.3.tar.gz解压缩后Template_FromDual.MySQL.mpm.xml是必须导入的,我们优先导入。其它的大家依据需求进行导入。我这里是将全部模板导入了。

4.2.4 创建监控host

通过Configuration-->Host groups创建一个用户组。我这里创建名称为mpm的用户组。


通过Configuration-->Hosts创建一个用户,将其增加到mpm用户组中。关联的Template使用我们导入的。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">


关联Template



ok,我们的server端就配置完成了。

4.2.5 MPM agent配置

解压缩我们的agent软件包mysql_performance_monitor_agent-0.9.3.tar.gz。将其放到/opt文件夹下
  1. mv mysql_performance_monitor_agent-0.9.3 /opt/mysql_performance_monitor_agent
  1. cd /opt/mysql_performance_monitor_agent/etc
  2. cp FromDualMySQLagent.conf.template /etc/zabbix/FromDualMySQLagent.conf
  3. mkdir -p /var/log/zabbix /var/log/zabbix/cache
  4. chown -R zabbix: /var/log/zabbix /var/log/zabbix/cache

编辑/etc/zabbix/zabbix-agent.conf。加入

  1. UserParameter=FromDual.MySQL.check,/opt/mysql_performance_monitor_agent/FromDualMySQLagent.pl /etc/zabbix/FromDualMySQLagent.conf

改动MPM配置文件
  1. [root@oneproxy-vm zabbix]# cat /etc/zabbix/FromDualMySQLagent.conf
  2. [default]
  3.  
  4. # Type of section:
  5. # mysqld for a normal MySQL database
  6. # ndbd for a MySQL cluster
  7. Type = mysqld
  8.  
  9. # Debug levels are:
  10. # 1 is logging only errors
  11. # 2 is logging errors and warnings (this is the default)
  12. # 3 logs some informations messages as well
  13. # 4 logs everything (for debugging purposes only)
  14.  
  15. Debug = 2
  16. LogFile = /var/log/zabbix/FromDualMySQLagent.log
  17. # Directory where the Cache files should be written to:
  18. CacheFileBase = /var/log/zabbix/cache/FromDualAgentCache
  19.  
  20. # If you agent is not located in the same time zone as your server
  21. # For US something like -6.0 to our MaaS Server
  22. # For Asia something like +7.0 to our MaaS Server
  23. # TimeShift = +0.0
  24.  
  25. # Information for MySQL connections:
  26. Username = root
  27. Password = 123456
  28. MysqlHost = 127.0.0.1
  29. MysqlPort = 3306
  30.  
  31. # Zabbix Server IP address
  32. ZabbixServer = 192.168.8.3
  1. </pre><pre name="code" class="html"># If section is disabled
  2. Disabled     = false
  3.  
  4. # Possible modules for databases are:
  5. # process mysql myisam aria innodb pbxt ndb master slave drbd galera memcache
  6. # Possible modules for servers are:
  7. # mpm server
  8. # Usual modules are
  9. Modules      = process mysql myisam innodb
  10. [oneproxy-vm] # This MUST match Hostname in Zabbix!
  11.  
  12. Type = mysqld
  13. Username = root
  14. Password = 123456
  15. MysqlHost = 127.0.0.1
  16. MysqlPort = 3306
  17. Modules = process mysql myisam innodb
  18. PidFile = /data/mysql_3306/mysql.pid

当中default字段是默认的,oneproxy-vm字段必须与zabbix-server中配置的hosts名称相等。

其它的依据自己的本地mysql环境进行配置。

给予zabbix对pid文件的读权限和MPM日志的权限
  1. chmod o+r /data/mysql_3306/mysql.pid
  1. touch /var/log/zabbix/FromDualMySQLagent.log
  1. chown -R zabbix:zabbix /var/log/zabbix
  1.  
启动zabbix-agent就可以
  1. service zabbix-agent start

Zabbix Server和MPM(monitor for mysql)的高速部署的更多相关文章

  1. zabbix server安装详解

    简介 zabbix(音同 zæbix)是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以 ...

  2. zabbix 使用自带模板监控mysql

    1.这里可以采用zabbix自带的mysql模版,但是也需要在mysql服务器上准备获取mysql status的脚本chk_mysql.sh,zabbix通过调用这个脚本来获取mysql的运行信息. ...

  3. Zabbix Server 自带模板监控更加灵活MySQL数据库

    Zabbix Server 自带模板监控更加灵活MySQL数据库 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.  一.zabbix-agent端配置 1>.修改zabbix的 ...

  4. Zabbix Server 自带模板监控有密码MySQL数据库

    Zabbix Server 自带模板监控有密码MySQL数据库 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.  一.Zabbix-agent端的配置 1>.为数据库设置密码 ...

  5. Zabbix Server 自带模板监控无密码MySQL数据库

    Zabbix Server 自带模板监控无密码MySQL数据库 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.  一.安装MariaDB 1>.安装MariaDB  [root ...

  6. zabbix启动web界面提示:Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

    问题 zabbix启动web界面提示: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' ( ...

  7. zabbix配fpmmm(mpm)数据传送不了问题解决

    我们环境用zabbix mpm来监控mysql,不过最近官网已经不叫mpm了,而是叫fpmmm,理由为: fpmmm is the successor of mpm. mpm was renamed ...

  8. 运维监控-基于yum的方式部署Zabbix Server 4.0 版本

    运维监控-基于yum的方式部署Zabbix Server 4.0 版本 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.如何选择zabbix版本 1>.打开zabbix官方 ...

  9. Zabbix server 3.2安装部署

    zabbix server 前提环境: CentOS 6 Lnmp php需要的包(bcmath,mbstring,sockets,gd,libxml,xmlwriter,xmlreader,ctyp ...

随机推荐

  1. java23种设计模式之一: 单例模式(Singleton Pattern)

    单例模式(Singleton Pattern)是设计模式中比较常用的一种,下面来总结单例模式的知识,包括: 1.理解什么是单例模式.单例模式有什么优点/缺点.单例模式的应用场景: 2.再来看看Java ...

  2. Problem F: 深入浅出学算法007-统计求和

    Description 求含有数字a且不能被a整除的4位整数的个数,并求这些整数的和 Input 多组测试数据,先输入整数T表示组数然后每组输入1个整数a(1<=a<=9) Output ...

  3. Spring Boot 中文参考文档

    本人翻译Spring Boot官方文档已经有几天了,虽然不能全天投入,但是间隔一到两天时间还是可以翻译部分内容,Spring Boot的文档内容比较多,翻译工作注定是长期的,毕竟个人能力有限,但为了加 ...

  4. springmvc 配置和spring配置?

    最近在接触mybatis,之间使用springmvc时,配置文件一直是,web.xml+XX-servlet.xml 的配置(xx为web.xml中servlet name名称).为了整合mybati ...

  5. Android 新浪博客分享问题总结

     分类: android(33)  版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[-] 我遇到BUG 1    sso package or singn error Bug2 ...

  6. Androidclient与服务端交互之登陆演示样例

    今天了解了一下androidclient与服务端是如何交互的,发现事实上跟web有点类似吧,然后网上找了大神的登陆演示样例.是基于IntentService的 1.后台使用简单的servlet,支持G ...

  7. 2013年,移动App设计的13大精髓

    摘要:在 过去的一年里,移动成主流也让众多的移动应用如雨后春笋般层出不穷,在众多开发者从中获利的同时竞争也愈演愈烈,如何才能保证自己立于不败之地?用户是上 帝,一切还得从应用说起.本文总结了新一年里A ...

  8. 如何修改容器内的/etc/resolv.conf

    源由不表,暂且略过. 直接说workaround. 因为openshift的模式,/etc/resolv.conf是在pod生成的时候插入的,写入的是宿主机的ip作为dns的寻址,如果需要修改的化,需 ...

  9. MD5在线查询的实现

    #!/usr/bin/env python # -*- coding: UTF-8 -*- ''' 快速查询md5值工具,通过模拟浏览器发包请求http://cmd5.com和 http://xmd5 ...

  10. XMPP键盘订制实现图文混排

    在现阶段的通信服务中,各种标准都有,因此会出现无法实现相互连通,而XMPP(Extensible Message and presence Protocol)协议的出现,实现了整个及时通信服务协议的互 ...