Zabbix-4.2部署示例
环境概况
系统类型:Centos7
Zabbix-4.2-server:192.18.73.211
Zabbix-4.2-proxy:192.168.73.212
Zabbix-4.2-agentd:192.168.73.213
Zabbix-server环境:
LNMP+zabbix-4.2-server
Zabbix-proxy环境:
Zabbix-4.2-proxy
1、zabbix-4.2-server安装
- 、LNMP安装
Mysql安装
[root@zabbix-4 ~]# useradd -s /sbin/nologin mysql
[root@zabbix-4 data]# tar -xf mysql-5.7.tar.gz
[root@zabbix-4 data]# mv mysql-5.7.24-linux-glibc2.12-x86_64 mysql-5.7
[root@zabbix-4 data]# mkdir mysql
[root@zabbix-4 data]# chmod 755 -R .
[root@zabbix-4 data]# chown -R mysql:mysql .
[root@zabbix-4 ~]# vim /etc/my.cnf
[mysqld]
datadir=/data/mysql/
socket=/tmp/mysql.sock
symbolic-links=0
[mysqld_safe]
log-error=/data/mysql/mysql.log
pid-file=/data/mysql/mysql.pid
[root@zabbix-4 mysql-5.7]# cd /data/mysql-5.7/bin/
[root@zabbix-4 bin]# ./mysqld --initialize --user=mysql --basedir=/data/mysql-5.7/ --datadir=/data/mysql/
[root@zabbix-4 mysql]# touch /data/mysql/mysql.log
[root@zabbix-4 mysql]# chmod 755 /data/mysql/mysql.log
[root@zabbix-4 mysql]# chown mysql:mysql /data/mysql/mysql.log
[root@zabbix-4 mysql]# /data/mysql-5.7/bin/mysqld_safe --defaults-file=/etc/my.cnf &
[root@zabbix-4 bin]# ln -s /data/mysql-5.7/bin/mysql /usr/bin/
[root@zabbix-4 bin]# ln -s /data/mysql-5.7/bin/mysqladmin /usr/bin/
[root@zabbix-4 bin]# ln -s /data/mysql-5.7/bin/mysqld /usr/bin/
[root@zabbix-4 bin]# mysqladmin -u root -p'IesiN5q<fiBA' password 123456
安装nginx和依赖包
[root@zabbix-4 data]# yum -y install gcc pcre-devel openssl-devel
[root@zabbix-4 data]# tar -xf nginx-1.12.2.tar.gz
[root@zabbix-4 data]# mv nginx-1.12.2 nginx-1.12
[root@zabbix-4 data]# cd nginx-1.12/
[root@zabbix-4 nginx-1.12]# ./configure --with-http_ssl_module
[root@zabbix-4 nginx-1.12]# make && make install
安装php和php与mysql的依赖包
[root@zabbix-4 nginx-1.12]# yum -y install php php-mysql mariadb-devel
[root@zabbix-4 ~]# yum -y install php-fpm-5.4.16-42.el7.x86_64.rpm
修改nginx的配置文件
[root@zabbix-4 ~]# vim /usr/local/nginx/conf/nginx.conf
fastcgi_buffers 8 16k;
fastcgi_buffer_size 32k;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
[root@zabbix-4 ~]# ln -s /usr/local/nginx/sbin/nginx /sbin/nginx
[root@zabbix-4 ~]# nginx
[root@zabbix-4 ~]# /data/mysql-5.7/bin/mysqld_safe --defaults-file=/etc/my.cnf &
[root@zabbix-4 ~]# systemctl restart php-fpm
测试php
[root@zabbix-4 ~]# vim /usr/local/nginx/html/test.php
[root@zabbix-4 ~]# cat /usr/local/nginx/html/test.php
<?php
$i=33;
echo $i;
?>
[root@zabbix-4 ~]# curl http://192.168.73.211/test.php
33
安装zabbix相关依赖包及zabbix
[root@zabbix-4 ~]# yum -y install net-snmp-devel libcurl-devel libevent-devel-2.0.21-4.el7.x86_64.rpm
[root@zabbix-4 data]# tar -xf zabbix-4.2.3.tar.gz
[root@zabbix-4 data]# mv zabbix-4.2.3 zabbix-4.2
[root@zabbix-4 data]# cd zabbix-4.2/
[root@zabbix-4 zabbix-4.2]# ./configure --enable-server --enable-proxy --enable-agent --with-mysql=/usr/bin/mysql_config --with-net-snmp --with-libcurl
[root@zabbix-4 zabbix-4.2]# make && make install
数据库创建库,导入库,赋zabbix用户权限,及处理zabbix页面文件
[root@zabbix-4 bin]# mysql -uroot -p123456
mysql> create database zabbix character set utf8;
mysql> grant all on zabbix.* to zabbix@'localhost' identified by 'zabbix';
mysql> grant all on zabbix.* to zabbix@'127.0.0.1' identified by 'zabbix';
mysql> flush privileges;
[root@zabbix-4 mysql]# cd /data/zabbix-4.2/database/mysql/
[root@zabbix-4 mysql]# mysql -uroot -p123456 zabbix < schema.sql
[root@zabbix-4 mysql]# mysql -uroot -p123456 zabbix < images.sql
[root@zabbix-4 mysql]# mysql -uroot -p123456 zabbix < data.sql
[root@zabbix-4 mysql]# cd /data/zabbix-4.2/frontends/php/
[root@zabbix-4 php]# cp -r * /usr/local/nginx/html/
[root@zabbix-4 php]# chmod 777 -R /usr/local/nginx/html/*
修改zabbix_server的配置文件
[root@zabbix-4 php]# vim /usr/local/etc/zabbix_server.conf
[root@zabbix-4 php]# cat /usr/local/etc/zabbix_server.conf |grep -v ^#|grep -v ^$
LogFile=/tmp/zabbix_server.log
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
Timeout=4
LogSlowQueries=3000
StatsAllowedIP=127.0.0.1
[root@zabbix-4 ~]# mkdir -p /var/lib/mysql/
[root@zabbix-4 ~]# chmod -R 777 /var/lib/mysql/
[root@zabbix-4 ~]# chown -R mysql:mysql /var/lib/mysql/
[root@zabbix-4 ~]# ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock
[root@zabbix-4 php]# useradd -s /sbin/nologin zabbix
[root@zabbix-4 php]# zabbix_server
修改zabbix_agentd配置文件
[root@zabbix-4 ~]# vim /usr/local/etc/zabbix_agentd.conf
[root@zabbix-4 ~]# cat /usr/local/etc/zabbix_agentd.conf |grep -v ^#|grep -v ^$
LogFile=/tmp/zabbix_agentd.log
Server=127.0.0.1,192.168.73.211,192.168.73.212
ServerActive=127.0.0.1,192.168.73.211,192.168.73.212
Hostname=192.168.73.211
UnsafeUserParameters=1
[root@zabbix-4 ~]# zabbix_agentd
安装zabbix的web的环境的依赖包并设置zabbix的环境
[root@zabbix-4 ~]# yum -y install php-mbstring-5.4.16-42.el7.x86_64.rpm php-bcmath-5.4.16-42.el7.x86_64.rpm php-gd php-xml
[root@zabbix-4 ~]# vim /etc/php.ini
date.timezone = Asia/Shanghai
max_execution_time = 300
post_max_size = 32M
max_input_time = 300
memory_limit = 128M
[root@zabbix-4 ~]# systemctl restart php-fpm
访问zabbix页面
[root@zabbix-4 ~]# firefox http://192.168.73.211/index.php
报错:zabbix的web页面报错,不能通过/var/lib/mysql/msyql.sock连接数据库问题
解决办法
[root@zabbix-4 mysql]# setsebool -P httpd_can_network_connect_db=1
后将localhost改为127.0.0.1
分析:selinux限制问题,改selinux配置,再将配置写入文件(-P的作用)
2、zabbix_proxy安装
Mysql数据库安装
[root@zabbix-4 data]# tar -xf mysql-5.7.tar.gz
[root@zabbix-4 data]# mv mysql-5.7.24-linux-glibc2.12-x86_64 mysql-5.7
[root@zabbix-4 data]# mkdir /data/mysql
[root@zabbix-4 data]# vi /etc/my.cnf
[root@zabbix-4 data]# cat /etc/my.cnf |grep -v ^#|grep -v ^$
[mysqld]
datadir=/data/mysql/
socket=/tmp/mysql.sock
symbolic-links=0
[mysqld_safe]
log-error=/data/mysql/mysql.log
pid-file=/data/mysql/mysql.pid
[root@zabbix-4 data]# useradd -s /sbin/nologin mysql
[root@zabbix-4 data]# chmod -R 755 .
[root@zabbix-4 data]# chown mysql:mysql -R mysql
[root@zabbix-4 data]# chown mysql:mysql -R mysql-5.7
[root@zabbix-4 data]# cd mysql-5.7/bin/
[root@zabbix-4 bin]# ./mysqld --initialize --user=mysql --basedir=/data/mysql-5.7/ --datadir=/data/mysql/
[root@zabbix-4 bin]# /data/mysql-5.7/bin/mysqld_safe --defaults-file=/etc/my.cnf &
[root@zabbix-4 bin]# ln -s /data/mysql-5.7/bin/mysql /usr/bin/
[root@zabbix-4 bin]# ln -s /data/mysql-5.7/bin/mysqladmin /usr/bin/
[root@zabbix-4 bin]# ln -s /data/mysql-5.7/bin/mysqld /usr/bin/
[root@zabbix-4 mysql]# mysqladmin -uroot -p'+&evc6Y?Fm7)' password 123456
安装zabbix(代理)
[root@zabbix-4 ~]# yum -y install net-snmp-devel curl-devel libevent-devel-2.0.21-4.el7.x86_64.rpm mariadb-devel
[root@zabbix-4 data]# mv zabbix-4.2.3 zabbix-4.2
[root@zabbix-4 data]# cd zabbix-4.2
[root@zabbix-4 data]# yum -y install gcc pcre-develel openssl-devel
[root@zabbix-4 zabbix-4.2]# ./configure --enable-proxy --enable-agent --with-mysql=/usr/bin/mysql_config --with-net-snmp --with-libcurl
[root@zabbix-4 zabbix-4.2]# make && make install
数据库创建库,导入库,赋zabbix用户权限
[root@zabbix-4 bin]# mysql -uroot -p123456
mysql> create database zabbix_proxy character set utf8;
mysql> grant all on zabbix_proxy.* to zabbix@'localhost' identified by 'zabbix';
mysql> grant all on zabbix_proxy.* to zabbix@'127.0.0.1' identified by 'zabbix';
mysql> flush privileges;
[root@zabbix-4 zabbix-4.2]# cd /data/zabbix-4.2/database/mysql/
[root@zabbix4 mysql]# mysql -uroot -p’123456’ zabbix_proxy < schema.sql
[root@zabbix-4 mysql]# vi /usr/local/etc/zabbix_proxy.conf
[root@zabbix-4 mysql]# cat /usr/local/etc/zabbix_proxy.conf|grep -v ^#|grep -v ^$
Server=192.167.73.211
Hostname=192.168.73.212
LogFile=/tmp/zabbix_proxy.log
DBHost=localhost
DBName=zabbix_proxy
DBUser=zabbix
DBPassword=zabbix
DBSocket=/tmp/mysql.sock
Timeout=4
LogSlowQueries=3000
StatsAllowedIP=127.0.0.1
[root@zabbix-4 mysql]# vi /usr/local/etc/zabbix_agentd.conf
[root@zabbix-4 mysql]# cat /usr/local/etc/zabbix_agentd.conf|grep -v ^#|grep -v ^$
LogFile=/tmp/zabbix_agentd.log
Server=192.168.73.212
ServerActive=192.168.73.212
Hostname=192.168.73.212
[root@zabbix-4 mysql]# useradd -s /sbin/nologin zabbix
[root@zabbix-4 mysql]# chmod -R 755 /data/zabbix-4.2
[root@zabbix-4 mysql]# chown -R zabbix:zabbix /data/zabbix-4.2
[root@zabbix-4 mysql]# zabbix_proxy
[root@zabbix-4 mysql]# zabbix_agentd
3、zabbix_agentd安装
[root@zabbix-4 ~]# yum -y install gcc pcre-develel openssl-devel
[root@zabbix-4 ~]# mkdir /data
[root@zabbix-4 ~]# chmod 777 -R /data
[root@zabbix-4 ~]# mv zabbix-4.2.3.tar.gz /data/
[root@zabbix-4 data]# tar -xf zabbix-4.2.3.tar.gz
[root@zabbix-4 data]# mv zabbix-4.2.3 zabbix-4.2
[root@zabbix-4 data]# cd zabbix-4.2
[root@zabbix-4 zabbix-4.2]# ./configure --enable-agent
[root@zabbix-4 zabbix-4.2]# make && make install
[root@zabbix-4 zabbix-4.2]# vi /usr/local/etc/zabbix_agentd.conf
[root@zabbix-4 zabbix-4.2]# cat /usr/local/etc/zabbix_agentd.conf|grep -v ^#|grep -v ^$
LogFile=/tmp/zabbix_agentd.log
Server=192.168.73.212
ServerActive=192.168.73.212
Hostname=192.168.73.213
[root@zabbix-4 zabbix-4.2]# cd misc/init.d/fedora/core/
[root@zabbix-4 core]# useradd -s /sbin/nologin zabbix
[root@zabbix-4 core]# ./zabbix_agentd start
[root@zabbix-4 core]# ln -s /data/zabbix-4.2/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
[root@zabbix-4 core]# /etc/init.d/zabbix_agentd restart