Zabbix Server和MPM(monitor for mysql)的快速部署

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软件

wget http://mirrors.163.com/centos/6/os/x86_64/Packages/python-iniparse-0.3.1-2.1.el6.noarch.rpm
wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-metadata-parser-1.1.2-16.el6.x86_64.rpm
wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-3.2.29-40.el6.centos.noarch.rpm
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包

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

3.1.3 安装centOS的yum包

rpm -ivh python-iniparse-0.3.1-2.1.el6.noarch.rpm
rpm -ivh yum-metadata-parser-1.1.2-16.el6.x86_64.rpm
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

[[email protected] yum.repos.d]# cd /etc/yum.repos.d
[[email protected] yum.repos.d]# cat CentOS6-Base-163.repo
# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client.  You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#

[base]
name=CentOS-6.6 - Base - 163.com
baseurl=http://mirrors.163.com/centos/6.6/os/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=6.6&arch=$basearch&repo=os
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6

#released updates
[updates]
name=CentOS-6.6 - Updates - 163.com
baseurl=http://mirrors.163.com/centos/6.6/updates/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=6.6&arch=$basearch&repo=updates
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6

#additional packages that may be useful
[extras]
name=CentOS-6.6 - Extras - 163.com
baseurl=http://mirrors.163.com/centos/6.6/extras/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=6.6&arch=$basearch&repo=extras
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-6.6 - Plus - 163.com
baseurl=http://mirrors.163.com/centos/6.6/centosplus/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=6.6&arch=$basearch&repo=centosplus
gpgcheck=1
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6

#contrib - packages by Centos Users
[contrib]
name=CentOS-6.6 - Contrib - 163.com
baseurl=http://mirrors.163.com/centos/6.6/contrib/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=6.6&arch=$basearch&repo=contrib
gpgcheck=1
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6

3.1.5 配置zabbix的yum源

wget http://repo.zabbix.com/zabbix/2.4/rhel/6/i386/zabbix-release-2.4-1.el6.noarch.rpm
rpm -ivh zabbix-release-2.4-1.el6.noarch.rpm
[[email protected] yum.repos.d]# cat zabbix.repo 
[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=http://repo.zabbix.com/zabbix/2.4/rhel/6/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX

[zabbix-non-supported]
name=Zabbix Official Repository non-supported - $basearch 
baseurl=http://repo.zabbix.com/non-supported/rhel/6/$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=1

3.2 Zabbix Server安装

3.2.1 安装mysql数据库

yum remove mysql-libs-5.1.71-1.el6.i686
rpm -ivh MySQL-server-advanced-5.6.23-1.el6.i686.rpm
rpm -ivh MySQL-client-advanced-5.6.23-1.el6.i686.rpm
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

[[email protected] etc]# cat my.cnf
[client]
port = 3306
socket = /tmp/mysql.sock

#The MySQL Server
#########Basic######
[mysqld]
server-id = 1
port = 3306
user = mysql
basedir = /usr/
datadir = /var/lib/mysql
tmpdir = /var/lib/mysql/tmp
socket = /tmp/mysql.sock
skip-external-locking
skip-name-resolve
default-storage-engine = INNODB
character-set-server = utf8
wait_timeout = 100
connect_timeout = 20
interactive_timeout = 100
back_log = 500
event_scheduler = on
explicit_defaults_for_timestamp
#skip-grant-tables
#############binlog##############
log-bin = /var/lib/mysql/logs/mysql-bin
binlog_format = row
max_binlog_size = 128M
binlog_cache_size = 4M
expire_logs_days = 5
##############Slow log####################
slow_query_log = 1
slow_query_log_file = /var/lib/mysql/logs/mysql.slow
long_query_time = 2
###############Per_Thread_Buffers########################
max_connections = 1024
max_user_connections = 1000
max_connect_errors = 10000
key_buffer_size = 32M
max_allowed_packet = 128M
table_open_cache = 3096
table_definition_cache = 4096
sort_buffer_size = 512K
read_buffer_size = 512K
read_rnd_buffer_size = 512K
join_buffer_size = 512K
tmp_table_size = 16M
max_heap_table_size = 16M
query_cache_type = 0
query_cache_size = 0
bulk_insert_buffer_size = 16M
thread_cache_size = 64
thread_stack = 256K
################InnoDB#########################
innodb_data_home_dir = /var/lib/mysql
innodb_autoinc_lock_mode = 2
innodb_log_group_home_dir = /var/lib/mysql/logs
innodb_data_file_path = ibdata1:1G:autoextend
innodb_buffer_pool_size = 256M
innodb_buffer_pool_instances = 1
innodb_log_file_size = 64M
innodb_log_buffer_size = 4M
innodb_flush_log_at_trx_commit = 2
innodb_lock_wait_timeout = 10
innodb_sync_spin_loops = 40
innodb_max_dirty_pages_pct = 90
innodb_support_xa = 1
innodb_thread_concurrency = 0
innodb_thread_sleep_delay = 500
innodb_file_io_threads = 4
innodb_concurrency_tickets = 1000
log_bin_trust_function_creators = 1
innodb_flush_method = O_DIRECT
innodb_file_per_table
innodb_read_io_threads = 4
innodb_write_io_threads = 4
innodb_io_capacity = 2000
innodb_file_format = Barracuda
innodb_purge_threads = 1
innodb_purge_batch_size = 32
innodb_old_blocks_pct = 75
innodb_change_buffering = all
transaction_isolation = READ-COMMITTED
[mysqldump]
quick
max_allowed_packet = 64M

[mysql]
no-auto-rehash

[myisamchk]
key_buffer_size = 32M
sort_buffer_size = 256K
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout

[mysqld_safe]
open-files-limit=28192

[mysql]
host=localhost
user=zabbix
password=zabbix
socket=/tmp/mysql.sock

[mysqladmin]
host=localhost
user=zabbix
password=zabbix
socket=/tmp/mysql.sock

创建目录

mkdir -p /var/lib/mysql/tmp
mkdir -p /var/lib/mysql/logs
chown -R mysql:mysql /var/lib/mysql

初始化mysql

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

启动数据库后,创建zabbix数据库,设置root密码

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

mysql> flush privileges;

3.2.3 安装zabbix

yum install zabbix-server-mysql zabbix-web-mysql
yum install zabbix-get

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

3.2.4 初始化zabbix数据库

cd /usr/share/doc/zabbix-server-mysql-2.4.5/create
[[email protected] create]# mysql -p123456 -uroot zabbix < schema.sql
[[email protected] create]# mysql -p123456 -uroot zabbix < images.sql
[[email protected] create]# mysql -p123456 -uroot zabbix < data.sql 

3.2.5 修改zabbix server配置文件

cat /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=root
DBPassword=123456

3.2.6 修改php配置文件

php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
date.timezone = PRC

3.2.7 启动服务

service zabbix-server start
servivce httpd start

3.2.8 配置页面

打开 http://192.168.8.3/zabbix 后,配置相关选项

安装要求检查

数据库配置

zabbix-server

安装预览

完成后,可以使用默认管理员用户admin/zabbix进行登录

4. 配置Zabbix Agent和MPM

4.1 zabbix agent配置

yum的配置上一部分已经说了,直接安装

yum install zabbix-agent
yum install zabbix-sender

配置/etc/zabbix/zabbix_agentd.conf

Server=192.168.8.3
ServerActive=192.168.8.3
Hostname=oneproxy-vm

4.2 MPM安装配置

4.2.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进行模板导入

将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使用我们导入的。

关联Template

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

4.2.5 MPM agent配置

解压缩我们的agent软件包mysql_performance_monitor_agent-0.9.3.tar.gz,将其放到/opt目录下

mv mysql_performance_monitor_agent-0.9.3 /opt/mysql_performance_monitor_agent
cd /opt/mysql_performance_monitor_agent/etc
cp FromDualMySQLagent.conf.template /etc/zabbix/FromDualMySQLagent.conf
mkdir -p /var/log/zabbix /var/log/zabbix/cache
chown -R zabbix: /var/log/zabbix /var/log/zabbix/cache

编辑/etc/zabbix/zabbix-agent.conf,添加

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

修改MPM配置文件

[[email protected] zabbix]# cat /etc/zabbix/FromDualMySQLagent.conf
[default]

# Type of section:
# mysqld for a normal MySQL database
# ndbd   for a MySQL cluster
Type         = mysqld

# Debug levels are:
# 1 is logging only errors
# 2 is logging errors and warnings (this is the default)
# 3 logs some informations messages as well
# 4 logs everything (for debugging purposes only)

Debug         = 2
LogFile       = /var/log/zabbix/FromDualMySQLagent.log
# Directory where the Cache files should be written to:
CacheFileBase = /var/log/zabbix/cache/FromDualAgentCache

# If you agent is not located in the same time zone as your server
# For US something like -6.0 to our MaaS Server
# For Asia something like +7.0 to our MaaS Server
# TimeShift = +0.0

# Information for MySQL connections:
Username     = root
Password     = 123456
MysqlHost    = 127.0.0.1
MysqlPort    = 3306

# Zabbix Server IP address
ZabbixServer = 192.168.8.3
</pre><pre name="code" class="html"># If section is disabled
Disabled     = false

# Possible modules for databases are:
# process mysql myisam aria innodb pbxt ndb master slave drbd galera memcache
# Possible modules for servers are:
# mpm server
# Usual modules are
Modules      = process mysql myisam innodb
[oneproxy-vm]          # This MUST match Hostname in Zabbix!

Type         = mysqld
Username     = root
Password     = 123456
MysqlHost    = 127.0.0.1
MysqlPort    = 3306
Modules      = process mysql myisam innodb
PidFile      = /data/mysql_3306/mysql.pid

其中default字段是默认的,oneproxy-vm字段必须与zabbix-server中配置的hosts名称相等。其他的根据自己的本地mysql环境进行配置。

给予zabbix对pid文件的读权限和MPM日志的权限

chmod o+r /data/mysql_3306/mysql.pid
touch /var/log/zabbix/FromDualMySQLagent.log
chown -R zabbix:zabbix /var/log/zabbix

启动zabbix-agent即可

service zabbix-agent start

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-20 07:10:32

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

Zabbix配合fpmmm(mpm)实现对Mysql的全面监控

Zabbix使用fpmmm(mpm)模块实现对Mysql的全面监控(Performance Monitor for MySQL) fpmmm is the FromDualPerformance Monitor for MySQL and MariaDB and the counterpart to the MySQL EnterpriseMonitor from Oracle.With fpmmm you can monitor your MySQL/MariaDB databases and

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

我们环境用zabbix mpm来监控mysql,不过最近官网已经不叫mpm了,而是叫fpmmm,理由为: fpmmm is the successor of mpm. mpm was renamed to fpmmm because of the naming conflict with the Apache Multi-Processing Modules (MPM). 好啦,那是官方的行为,我们可以不管,于是我们下载了最新的fpmmm(fpmmm-0.10.5.tar.gz)监控模块 一切按

Centos 7.0 下安装 Zabbix server 服务器的安装及 监控主机的加入(1)

一.本系列分为6部分 1.Centos 7.0 下安装 Zabbix server 服务器的安装及 监控主机的加入 2.Centos 6.5 下安装 Zabbix server 服务器的安装及 监控主机的加入 3.zabbix server的Discover功能,实现zabbix agent 大批量的自动添加,并链接到指定的模版 4.zabbix 报警方式之 邮件报警 5.zabbix 报警方式之 微信公众号报警 6.zabbix server 端的优化工作(解决mysql 性能下降,以及zab

CentOS 7上安装Zabbix Server 3.0 图文详解

转载自 http://www.linuxidc.com/Linux/2016-09/135204.htm CentOS 7上安装Zabbix Server 3.0 图文详解 1.查看系统信息. cat /etc/RedHat-releaseCentOS Linux release 7.0.1406 (Core) uname -a Linux VM_96_155_centos3.10.0-123.el7.x86_64 #1 SMP Mon Jun 30 12:09:22 UTC 2014 x86_

zabbix server安装 &nbsp;

(版本为:zabbix-2.4.5) 1.防火墙开启 iptables -A INPUT -p tcp --dport 10050 -j ACCEPT iptables -A INPUT -p udp --dport 10050 -j ACCEPT iptables -A INPUT -p tcp --dport 10051 -j ACCEPT iptables -A INPUT -p udp --dport 10051 -j ACCEPT 2.配置zabbix 数据库服务 #说明:本人使用的是

Zabbix Server参数文件详解

Zabbix的配置文件一般有三种: zabbix_server.conf:zabbix server的配置文件 zabbix_proxy.conf:zabbix proxy的配置文件 zabbix_agentd.conf:zabbix agentd的配置文件 Zabbix安装完成后,服务端默认的配置文件存在安装文件夹中的etc目录中,假设编译的参数是"--prefix=/usr/local/zabbix",那么服务端的配置文件则保存在"/usr/loca/zabbix/etc

zabbix server 数据库迁移

zabbix server 迁移DB: 之前zabbix server 和DB 在同一台机器上10.10.4.3,现在DB迁移到另外一台机器上10.10.4.2 Zabbix server 内网IP: 10.10.4.3 新DB内网IP为10.10.4.2 1.导出zabbix库,并导入新db中 mysql -uroot -p zabbix< zabbix.sql 2.新DB添加并授权zabbix用户 grant all on zabbix.* to [email protected]'%' i

zabbix server web端的常见错误

安装出现 PHP option max_input_time       60   300   off 解决:在php.ini文件中将两处max_input_time = 60 的 60 改为 300 安装出现PHP always_populate_raw_post_data    on  off    off 解决:CFrontendSetup.php 文件中修改为: See: http://php.net/manual/en/ini.core.php#ini.always-populate-

手把手教你在Centos7上安装zabbix server 3.0

1.查看系统信息. cat /etc/redhat-release CentOS Linux release 7.0.1406 (Core) uname -a Linux VM_96_155_centos3.10.0-123.el7.x86_64 #1 SMP Mon Jun 30 12:09:22 UTC 2014 x86_64 x86_64 x86_64GNU/Linux 2.使用rpm命令安装zabbix 3.0最新的epel源,关闭selinux和iptables. rpm -ivh h