记录一次基于LNMP环境下的Zabbix3.0部署
前言:公司现需要部署一个Zabbix来监控线上环境,但是线上服务器资源有限,无法部署到其中任意一台。那怎么办呢?于是查阅一番资料,获取解决思路:
1.线下环境使用一台服务器做为Zabbix Server,线上环境任意一台搭建***,将所有服务器连接到一起,组成一个安全的局域网环境。
2.线下环境使用一台服务器作为Zabbix Server,使用路由做端口映射,将内网Zabbix Server的10050-10051端口映射出去。
一番比较下,各方面表明:使用第二个思路是最符合实际的。下面是部署Zabbix的一个过程记录。
一、环境检测
1.Mysql
Welcome to the MySQL monitor.Commands end with ; or \g.
Your MySQL connection id is 20416
Server version: 5.5.47 MySQL Community Server (GPL)
2.PHP
PHP Version 5.3.3
3.Nginx
nginx version: nginx/1.8.0
二、编译升级软件版本
经过检查发现,现有的环境当中,PHP版本不满足新版zabbix要求,需要做一个升级。但由于Zabbix Server是开发人员用于测试的服务器,需要多个PHP版本共存,遂:
安装libiconv
mkdir -p /usr/local/setup
cd /usr/local/setup
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
tar zxvf libiconv-1.14.tar.gz
cd libiconv-1.14
./configure --prefix=/usr/local/libiconv
make && make install
cd ..
安装libmcrypt
wget http://iweb.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
tar zxvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure
make && make install
cd ..
安装mhash
tar jxvf mhash-0.9.3.tar.bz2
cd mhash-0.9.3
./configure
make && make install
cd ..
安装mcrypt
wget http://iweb.dl.sourceforge.net/project/mcrypt/MCrypt/2.6.8/mcrypt-2.6.8.tar.gz
tar zxvf mcrypt-2.6.8.tar.gz
cd mcrypt-2.6.8
./configure
make && make install
cd ..
安装PHP 5.5.5
wget http://mirrors.sohu.com/php/php-5.5.5.tar.gz
tar zxvf php-5.5.5.tar.gz
cd php-5.5.5 正式编译,注意安装路径不能与旧版本路径相同
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-magic-quotes --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-mbstring --with-mcrypt --enable-ftp --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --disable-fileinfo --enable-maintainer-zts
make && make install
修改fpm配置php-fpm.conf.default文件名称
mv /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
复制php.ini配置文件
cp php.ini-production /usr/local/php/etc/php.ini
复制php-fpm启动脚本到init.d,因为不想与原来的php启动服务冲突,特改为php-fpm2
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm2
赋予执行权限
chmod +x /etc/init.d/php-fpm2
添加为启动项
chkconfig --add php-fpm2
启动php-fpm
service php-fpm2 start
在PHP5.5配置文件
vim /usr/local/php/etc/php-fpm.conf
修改:
listen = 127.0.0.1:端口号 端口号不能与5.3重复
在Nginx上的配置文件中 修改:
fastcgi_pass
127.0.0.1:端口号
OK,到这里PHP多个版本就不会起冲突,直接在nginx上指定不同端口号就能随意切换PHP版本了。
二、Zabbix Server安装
[*] 建立一个用于zabbix的用户
useradd zabbix
passwd zabbix
2.到官网找到Zabbix Server源码安装包
tar -zxvf /usr/local/src/zabbix-3.0.3.tar.gz
cd zabbix-3.0.3
./configure --prefix=/usr/local/zabbix/ --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --enable-java
make && make install
3.MySQL导入SQL语句
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by '';
mysql> flush privileges;
mysql> quit;
按照SQL语句顺序导入SQL:
shell> mysql -uzabbix -p zabbix < database/mysql/schema.sql
shell> mysql -uzabbix -p zabbix < database/mysql/images.sql
shell> mysql -uzabbix -p zabbix < database/mysql/data.sql
4.修改zabbix.conf
DBName=zabbix #数据库名称
DBUser=zabbix #数据库用户名
DBPassword=jiayuan.com #数据库密码
ListenIP=localhost #数据库ip地址
AlertScriptsPath=****/zabbix/alertscripts #zabbix运行脚本存放目录
5.修改PHP.ini
PHP option post_max_size 16M
PHP option max_execution_time 300
PHP option max_input_time 300
PHP time zone Asia/Shanghai
6.将前端文件拷贝到nginx站点目录下
cd /usr/local/src/zabbix-3.0.3/frontends/
cp -rf php /usr/local/nginx/zabbix
三、前端配置
这一步比较容易,直接next.不行直接修改配置文件,具体自行百度。
四、客户端agent安装
wget http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.0.3/zabbix-3.0.3.tar.gz
tar zxf zabbix-3.0.3.tar.gz
cd zabbix-3.0.3
./configure --prefix=/usr/local/zabbix_agent --enable-agent ; make install
cp /usr/local/src/zabbix-3.0.3/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
sed -i 's#BASEDIR=/usr/local#BASEDIR=/usr/local/zabbix_agent#' /etc/init.d/zabbix_agentd # 修改 Agent 安装路径
grep -vP '^#|^$' /usr/local/zabbix_agent/etc/zabbix_agentd.conf# 调整配置文件
LogFile=/tmp/zabbix_agentd.log
Server=xx.xx.xx.xx # Zabbix Server IP ( 被动模式,客户端被动 )
ServerActive=127.0.0.1 # 主动模式,如果使用也填 Zabbix Server IP ,不使用可以注释掉
Hostname=xx.xx.xx.xx # 本身 IP ,Zabbix Server 添加主机时需要使用,不一定是 IP
Include=/usr/local/zabbix_agent/etc/zabbix_agentd.conf.d/*.conf # 加载自定义的监控配置文件
UnsafeUserParameters=1 # 允许自定义 Keyservice zabbix_agentd start
chkconfig --add zabbix_agentd
chkconfig --level 35 zabbix_agentd on
iptables -A INPUT -s 'Zabbix Server IP' -p tcp --dport 10050 -j ACCEPT # 由于是客户端被动模式,所以要开放端口供 Zabbix Server 连接
五、路由映射端口
将端口映射出去,不同型号路由配置略有不同,思路是一样的,自行摸索就行。若是采用映射的方法,上面客户端中指定server地址后面需要加端口号。
http://s1.运维网.com/wyfs02/M00/82/DF/wKiom1djacaT2o4lAAAz0pVHKh4769.png-wh_500x0-wm_3-wmp_4-s_3367733873.png
如连接不上,检查防火墙是否放通,ZabbixServer端口是10051 agent端口是10050。
zabbix到此部署完成。
页:
[1]