基础准备
运用VMware Workstation 创建2台虚拟机,使用提供的CentOS-7-x86_64-DVD-1908镜像,内存2G,CPU 2核。使用提供的Zabbix依赖安装包。
1. 基础环境部署
(1)更改主机名
# hostnamectl set-hostname zabbix-server # hostnamectl set-hostname zabbix-agent
(2)关闭防火墙及安全规则
# systemctl stop firewalld # systemctl disable firewalld # setenforce 0
(3)测试网络
# ping baidu.com PING baidu.com (39.156.69.79) 56(84) bytes of data. 64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=1 ttl=128 time=47.2 ms 64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=2 ttl=128 time=45.8 ms 64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=3 ttl=128 time=46.2 ms
2. LNMP环境部署(Zabbix服务端):
(1)上传LNMP环境部署包
(2)解压LNMP环境部署源码包
# tar zxvf lnmp1.6-full.tar.gz
(3)一键部署LNMP环境
# cd lnmp1.6-full 修改MySQL数据目录: # vi lnmp.conf MySQL_Data_Dir='/data/mysql' # ./install.sh lnmp #执行脚本
选择MySQL版本:
设置MySQL密码:
选择InnoDB引擎是否开启:
选择PHP版本:
选择不安装内存分配器:
按Enter键开始安装:
部署成功显示:
测试访问网页:
Zabbix服务端部署及配置
(1)安装依赖包
# yum install -y libevent-devel wget tar gcc gcc-c++ make net-snmp-devel libxml2-devel libcurl-devel
(2)创建zabbix用户
# useradd -s /sbin/nologin zabbix
(3)zabbix-4.0.3.tar.gz传到/usr/local/src目录下解压编译安装
# tar zxvf zabbix-4.0.3.tar.gz #解压源码包 # mkdir /usr/local/zabbix # mv /usr/local/src/zabbix-4.0.3/* /usr/local/zabbix #迁移到安装目录 # cd /usr/local/zabbix/ # ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql=/usr/local/mysql/bin/mysql_config --with-net-snmp --with-libcurl --with-libxml2
# make && make install
(4)环境变量设置
# vi /etc/profile export PATH=$PATH:/usr/local/zabbix/sbin/:/usr/local/zabbix/bin/ # source /etc/profile # echo $PATH
查看版本:zabbix_server --version
(5)配置启动脚本
# cp /usr/local/zabbix/misc/init.d/fedora/core/zabbix_server /etc/init.d/ #cp /usr/local/zabbix/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/ # vi /etc/init.d/zabbix_server BASEDIR=/usr/local/zabbix #zabbix安装目录 # vi /etc/init.d/zabbix_agentd BASEDIR=/usr/local/zabbix #zabbix安装目录
添加权限:
# chmod 755 /etc/init.d/zabbix_*
启动Zabbix服务及启动状态:
# systemctl start zabbix_server # systemctl start zabbix_agentd # systemctl status zabbix_server # systemctl status zabbix_agentd
(6)登录数据库创建Zabbix用户和导入Zabbix库
Mysql数据库 mysql -h 127.0.0.1 -uroot -p000000 mysql> create database zabbix character set utf8 collate utf8_bin; ##创建Zabbix库和设置格式 mysql> grant all privileges on zabbix.* to zabbix@'127.0.0.1' identified by 'zabbix'; ##创建Zabbix用户并分配权限 mysql> grant all privileges on zabbix.* to zabbix@'%' identified by 'zabbix'; mysql> flush privileges; ##刷新权限 mysql> set names utf8; ##设置字符集 mysql> use zabbix ##切换到Zabbix库中
把源码/usr/local/zabbix/database/mysql/安装路径下的3个sql文件导入数据库:
mysql> source /usr/local/zabbix/database/mysql/schema.sql mysql> source /usr/local/zabbix/database/mysql/data.sql mysql> source /usr/local/zabbix/database/mysql/images.sql mysql> show tables; ##查看导入的表格
(7)编辑Zabbix server的配置(记得先备份配置文件)
# cp /usr/local/zabbix/etc/zabbix_server.conf{,.bak} # vi /usr/local/zabbix/etc/zabbix_server.conf LogFile=/tmp/zabbix_server.log DBHost=127.0.0.1 ##指定数据库信息(需配合参数 DBSocket 使用) DBName=zabbix ##服务端连接数据库的库名 DBUser=zabbix ##连接数据库的用户 DBPassword=zabbix ##连接数据库的密码 DBPort=3306 ##指定连接数据库的端口 Timeout=30 ##与AGNET和其它外部设备通信超时设置,单位为秒 LogSlowQueries=3000 ##用于服务端数据库慢查询功能,单位是毫秒 DBSocket=/tmp/mysql.sock ##指定MYSQL的SOCK连接路径
修改Zabbix目录的权限:
# chown zabbix:zabbix -R /usr/local/zabbix/
重启服务生效:
# systemctl restart zabbix_server
任务实施
1. 配置Nginx虚拟主机
# vi /usr/local/nginx/conf/vhost/zabbix.com.conf server { listen 80; server_name zabbix.com www.zabbix.com; index index.html index.htm index.php; root /data/nginx/zabbix; ##Zabbix Web界面数据目录 location ~ [^/]\.php(/|$) { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /data/nginx/zabbix$fastcgi_script_name; include fastcgi_params; } }
源码安装包路径下的文件cp到Zabbix Web文件目录当中:
# mkdir -p /data/nginx/zabbix # /etc/init.d/nginx reload ##生效服务 # cp -rf /usr/local/zabbix/frontends/php/* /data/nginx/zabbix
2. 修改php.ini的配置文件
# vi /usr/local/php/etc/php.ini post_max_size = 32M max_execution_time = 350 max_input_time = 350 date.timezone = Asia/Shanghai
3. 修改php-fpm.conf的配置文件
# vi /usr/local/php/etc/php-fpm.conf [www] listen = 127.0.0.1:9000
重启php-fpm服务:
/etc/init.d/php-fpm restart
检查端口是否启动:
# netstat -lntp | grep php tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 2141/php-fpm: maste
4. Web界面部署安装