Rapid deployment of Zabbix Server and MPM (monitor for mysql), zabbixmpm

Source: Internet
Author: User

Rapid deployment of Zabbix Server and MPM (monitor for mysql), zabbixmpm
1. Preface zabbix, as a free open-source monitoring software, is increasingly popular among it o & M personnel for its ease of configuration management and visualized views, regular maintenance of historical data, and templated monitoring projects. This section mainly summarizes Zabbix Server and MPM's quick deployment using yum. For more details, see the official documentation. Let's set up the environment first! 2. Environment 1) Zabbix Server
OS: Redhat6.5 i686 (vmware) ipaddr: 192.168.8.3 hostname: linux-zabbix MySQL: 5.6.23 MEM: 1G
2) monitoring end
OS: CentOS 6.4x64 (vmware) ipaddr: 192.168.8.5 hostname: oneproxy-vm MEM: 1G
3. Deploy the Zabbix Server in the 3.1 yum environment. The yum source here uses the 163 CentOS6.6 and the zabbix official website. Because my server is installed with rehat, we need to first uninstall the redhat yum and install centOS yun software. 3.1.1 download centos yum Software

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

3.1.2 uninstall the redhat yum package
rpm -qa|grep -i yum|xargs rpm -e --nodeps

3.1.3 install centOS yum package
rpm -ivh python-iniparse-0.3.1-2.1.el6.noarch.rpmrpm -ivh yum-metadata-parser-1.1.2-16.el6.x86_64.rpmrpm -ivh yum-3.2.29-40.el6.centos.noarch.rpm yum-plugin-fastestmirror-1.1.30-14.el6.noarch.rpm

3.1.4 configure the yum of CentOS6.6 of centos 163
[root@linux-zabbix yum.repos.d]# cd /etc/yum.repos.d[root@linux-zabbix 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.combaseurl=http://mirrors.163.com/centos/6.6/os/$basearch/#mirrorlist=http://mirrorlist.centos.org/?release=6.6&arch=$basearch&repo=osgpgcheck=1gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6#released updates [updates]name=CentOS-6.6 - Updates - 163.combaseurl=http://mirrors.163.com/centos/6.6/updates/$basearch/#mirrorlist=http://mirrorlist.centos.org/?release=6.6&arch=$basearch&repo=updatesgpgcheck=1gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6#additional packages that may be useful[extras]name=CentOS-6.6 - Extras - 163.combaseurl=http://mirrors.163.com/centos/6.6/extras/$basearch/#mirrorlist=http://mirrorlist.centos.org/?release=6.6&arch=$basearch&repo=extrasgpgcheck=1gpgkey=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.combaseurl=http://mirrors.163.com/centos/6.6/centosplus/$basearch/#mirrorlist=http://mirrorlist.centos.org/?release=6.6&arch=$basearch&repo=centosplusgpgcheck=1enabled=0gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6#contrib - packages by Centos Users[contrib]name=CentOS-6.6 - Contrib - 163.combaseurl=http://mirrors.163.com/centos/6.6/contrib/$basearch/#mirrorlist=http://mirrorlist.centos.org/?release=6.6&arch=$basearch&repo=contribgpgcheck=1enabled=0gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6

3.1.5 configure zabbix yum Source
wget http://repo.zabbix.com/zabbix/2.4/rhel/6/i386/zabbix-release-2.4-1.el6.noarch.rpmrpm -ivh zabbix-release-2.4-1.el6.noarch.rpm
[root@linux-zabbix yum.repos.d]# cat zabbix.repo [zabbix]name=Zabbix Official Repository - $basearchbaseurl=http://repo.zabbix.com/zabbix/2.4/rhel/6/$basearch/enabled=1gpgcheck=1gpgkey=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=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIXgpgcheck=1

3.2 install Zabbix Server 3.2.1 install mysql database
yum remove mysql-libs-5.1.71-1.el6.i686rpm -ivh MySQL-server-advanced-5.6.23-1.el6.i686.rpmrpm -ivh MySQL-client-advanced-5.6.23-1.el6.i686.rpmrpm -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 configure the mysql configuration file/etc/my. cnf
[root@linux-zabbix etc]# cat my.cnf[client]port = 3306socket = /tmp/mysql.sock#The MySQL Server#########Basic######[mysqld]server-id = 1port = 3306user = mysqlbasedir = /usr/ datadir = /var/lib/mysqltmpdir = /var/lib/mysql/tmpsocket = /tmp/mysql.sockskip-external-lockingskip-name-resolvedefault-storage-engine = INNODBcharacter-set-server = utf8wait_timeout = 100connect_timeout = 20interactive_timeout = 100back_log = 500event_scheduler = onexplicit_defaults_for_timestamp#skip-grant-tables #############binlog##############log-bin = /var/lib/mysql/logs/mysql-binbinlog_format = rowmax_binlog_size = 128Mbinlog_cache_size = 4Mexpire_logs_days = 5 ##############Slow log####################slow_query_log = 1slow_query_log_file = /var/lib/mysql/logs/mysql.slowlong_query_time = 2###############Per_Thread_Buffers########################max_connections = 1024max_user_connections = 1000max_connect_errors = 10000key_buffer_size = 32Mmax_allowed_packet = 128Mtable_open_cache = 3096table_definition_cache = 4096sort_buffer_size = 512Kread_buffer_size = 512Kread_rnd_buffer_size = 512Kjoin_buffer_size = 512Ktmp_table_size = 16Mmax_heap_table_size = 16Mquery_cache_type = 0query_cache_size = 0bulk_insert_buffer_size = 16Mthread_cache_size = 64thread_stack = 256K################InnoDB#########################innodb_data_home_dir = /var/lib/mysqlinnodb_autoinc_lock_mode = 2innodb_log_group_home_dir = /var/lib/mysql/logsinnodb_data_file_path = ibdata1:1G:autoextendinnodb_buffer_pool_size = 256Minnodb_buffer_pool_instances = 1innodb_log_file_size = 64Minnodb_log_buffer_size = 4Minnodb_flush_log_at_trx_commit = 2innodb_lock_wait_timeout = 10innodb_sync_spin_loops = 40innodb_max_dirty_pages_pct = 90innodb_support_xa = 1innodb_thread_concurrency = 0innodb_thread_sleep_delay = 500innodb_file_io_threads = 4innodb_concurrency_tickets = 1000log_bin_trust_function_creators = 1innodb_flush_method = O_DIRECTinnodb_file_per_tableinnodb_read_io_threads = 4innodb_write_io_threads = 4innodb_io_capacity = 2000innodb_file_format = Barracudainnodb_purge_threads = 1innodb_purge_batch_size = 32innodb_old_blocks_pct = 75innodb_change_buffering = alltransaction_isolation = READ-COMMITTED
[mysqldump]quickmax_allowed_packet = 64M[mysql]no-auto-rehash[myisamchk]key_buffer_size = 32Msort_buffer_size = 256Kread_buffer = 2Mwrite_buffer = 2M[mysqlhotcopy]interactive-timeout[mysqld_safe]open-files-limit=28192[mysql]host=localhostuser=zabbixpassword=zabbixsocket=/tmp/mysql.sock[mysqladmin]host=localhostuser=zabbixpassword=zabbixsocket=/tmp/mysql.sock
Create directory
mkdir -p /var/lib/mysql/tmpmkdir -p /var/lib/mysql/logschown -R mysql:mysql /var/lib/mysql
Initialize mysql
mysql_install_db --defaults-file=/etc/my.cnf --datadir=/var/lib/mysql/
After starting the database, create the zabbix database and set the root password.
service mysql startmysql> 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 install zabbix
yum install zabbix-server-mysql zabbix-web-mysqlyum install zabbix-get
Yum automatically installs and configures apache and php.
3.2.4 initialize the zabbix Database
cd /usr/share/doc/zabbix-server-mysql-2.4.5/create
[root@linux-zabbix create]# mysql -p123456 -uroot zabbix < schema.sql[root@linux-zabbix create]# mysql -p123456 -uroot zabbix < images.sql [root@linux-zabbix create]# mysql -p123456 -uroot zabbix < data.sql 
3.2.5 modify the zabbix server configuration file
cat /etc/zabbix/zabbix_server.confDBHost=localhostDBName=zabbixDBUser=rootDBPassword=123456
3.2.6 modify the php configuration file
php_value max_execution_time 300php_value memory_limit 128Mphp_value post_max_size 16Mphp_value upload_max_filesize 2Mphp_value max_input_time 300date.timezone = PRC
3.2.7 start the service
service zabbix-server startservivce httpd start

3.2.8 after http: // 192.168.8.3/zabbix is opened on the configuration page, check the installation requirements of related options.


Database Configuration

Zabbix-server

Installation Preview

After logon, you can use the default Administrator admin/zabbix to log on.

4. Configure Zabbix Agent and MPM4.1 zabbix agent. The configuration of yum has been described in the previous section. Install Zabbix Agent directly.
yum install zabbix-agentyum install zabbix-sender
Configure/etc/zabbix/zabbix_agentd.conf
Server=192.168.8.3ServerActive=192.168.8.3Hostname=oneproxy-vm

4.2 MPM installation configuration 4.2.1 install the dependency package
yum install perl-File-Which perl-libwww-perl perl-Digest-SHA perl-DBD-MySQL perl-Time-HiRes perl-Crypt-SSLeay

4.2.2 software introduced to the official website http://www.fromdual.com/download mpmrelated documents, here I use mysql_performance_monitor-0.9.3.tar.gz. (PS: no documentation is available for the latest version 0.10 !) . Signature is the template data that we want to import to zabbix server.
4.2.3 log on to the zabbix server and Import the template through Configuration --> Templates --> Import.
After extracting mysql_cece_monitor_templates-0.9.3.tar.gz, Template_FromDual.MySQL.mpm.xml must be imported. Others can be imported as needed. I have imported all templates here.
4.2.4 create a monitoring host and create a user group through Configuration --> Host groups. Create a user group named mpm.

Use Configuration --> Hosts to create a user and add it to the mpm user group. The associated Template is imported by us.


Associate Template


OK. We have configured the server.
4.2.5 MPM agentconfiguration uncompress our agentsoftware package mysql_cece_monitor_agent-0.9.3.tar.gz and put it in the/opt directory
mv mysql_performance_monitor_agent-0.9.3 /opt/mysql_performance_monitor_agent
cd /opt/mysql_performance_monitor_agent/etccp FromDualMySQLagent.conf.template /etc/zabbix/FromDualMySQLagent.confmkdir -p /var/log/zabbix /var/log/zabbix/cachechown -R zabbix: /var/log/zabbix /var/log/zabbix/cache

Edit/etc/zabbix/zabbix-agent.conf, add
UserParameter=FromDual.MySQL.check,/opt/mysql_performance_monitor_agent/FromDualMySQLagent.pl /etc/zabbix/FromDualMySQLagent.conf

Modify the MPM configuration file
[root@oneproxy-vm zabbix]# cat /etc/zabbix/FromDualMySQLagent.conf[default]# Type of section:# mysqld for a normal MySQL database# ndbd   for a MySQL clusterType         = 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         = 2LogFile       = /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     = rootPassword     = 123456MysqlHost    = 127.0.0.1MysqlPort    = 3306# Zabbix Server IP addressZabbixServer = 192.168.8.3
</pre><pre name="code" class="html"># If section is disabledDisabled     = 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 areModules      = process mysql myisam innodb[oneproxy-vm]          # This MUST match Hostname in Zabbix!Type         = mysqldUsername     = rootPassword     = 123456MysqlHost    = 127.0.0.1MysqlPort    = 3306Modules      = process mysql myisam innodbPidFile      = /data/mysql_3306/mysql.pid

The default field is the default field, and the oneproxy-vm field must be the same as the hosts name configured in zabbix-server. Others are configured according to your local mysql environment. Zabbix is given the read permission on the pid file and the MPM log permission.
chmod o+r /data/mysql_3306/mysql.pid
touch /var/log/zabbix/FromDualMySQLagent.log
chown -R zabbix:zabbix /var/log/zabbix
Start zabbix-agent. 
service zabbix-agent start


Copyright Disclaimer: This article is an original article by the blogger and cannot be reproduced without the permission of the blogger.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.