实验环境

环境介绍
操作系统:RHEL 7.2
服务器IP:192.168.1.45
软件版本:zabbix-3.4.15
软件存放位置:/opt/soft
软件安装位置:/apps/zabbix
数据库类型:mysql
数据库IP:192.168.1.45

所需软件下载地址
链接:https://pan.baidu.com/s/1nrDbe02L1ei0HE9gR5fIAw
提取码:1tu6

意外彩蛋
Zabbix Server是基于LAMP平台部署的,本实验让我们在学会如何部署Zabbix Server的同时,还巩固了对LAMP架构及原理的理解。

配置YUM源

挂载系统镜像

[]# mount /dev/cdrom /media/
[]# mkdir /opt/soft

拷贝httpd所需软件

[]# cp /media/Packages/httpd-2.4.6-40.el7.x86_64.rpm /opt/soft/
[]# cp /media/Packages/httpd-tools-2.4.6-40.el7.x86_64.rpm /opt/soft/
[]# cp /media/Packages/mailcap-2.1.41-2.el7.noarch.rpm /opt/soft/

安装httpd服务

[]# rpm -ivh httpd-tools-2.4.6-40.el7.x86_64.rpm
[]# rpm -ivh mailcap-2.1.41-2.el7.noarch.rpm
[]# rpm -ivh httpd-2.4.6-40.el7.x86_64.rpm
[]# systemctl enable httpd
[]# systemctl start httpd

拷贝、安装制作软件仓库所需软件

[]# cp /media/Packages/createrepo-0.9.9-23.el7.noarch.rpm /opt/soft/
[]# cp /media/Packages/python-deltarpm-3.6-3.el7.x86_64.rpm /opt/soft/
[]# cp /media/Packages/deltarpm-3.6-3.el7.x86_64.rpm /opt/soft
[]# rpm -ivh createrepo-0.9.9-23.el7.noarch.rpm
[]# rpm -ivh python-deltarpm-3.6-3.el7.x86_64.rpm
[]# rpm -ivh deltarpm-3.6-3.el7.x86_64.rpm

准备本次实验的依赖软件包
1.将myrepo文件夹上传到服务器的/var/www/html/目录中
2.拷贝系统镜像中所有软件包到/var/www/html/myrepo/中

[]# cp -r /media/Packages /var/www/html/myrepo/
[]# pwd
/var/www/html/myrepo
[]# ls

fping-2.4b2-10.el6.x86_64.rpm            Packages                               php-devel-5.4.16-36.el7_1.x86_64.rpm
OpenIPMI-devel-2.0.19-11.el7.x86_64.rpm  php-bcmath-5.4.16-36.el7_1.x86_64.rpm  php-mbstring-5.4.16-36.el7_1.x86_64.rpm

生成本地资源库

[]# cd /var/www/html/myrepo
[]# createrepo . //注意中间有个空格

配置yum源

[]# vim /etc/yum.repos.d/yum.repo

[zabbix]
name=zabbix
baseurl=http://192.168.1.45/myrepo/
enable=1
gpgcheck=0

安装web服务

安装httpd-devel包

[]# yum install httpd-devel
[]# systemctl restart httpd

安装PHP软件包

[]# yum install php*

配置PHP
编辑/etc/httpd/conf/httpd.conf,在最下面新加一行添加如下内容:

[]# vim /etc/httpd/conf/httpd.conf
AddHandler application/x-httpd-php .php
[]# systemctl restart httpd

安装Zabbix Server

创建zabbix用户

[]# groupadd zabbix
[]# useradd -g zabbix zabbix -s /sbin/nologin

安装libevent软件包
拷贝libevent-release-1.4.15-stable.tar.gz到/opt/soft下,并解压

[]# tar zxvf libevent-release-1.4.15-stable.tar.gz
[]# cd libevent-release-1.4.15-stable/
[]# ./autogen.sh
[]# ./configure --prefix=/usr
[]# make
[]# make install
[]# ln -s /usr/lib/libevent-1.4.so.2 /usr/lib64/libevent-1.4.so.2

安装zabbix server依赖包

[]# yum -y install unixODBC-devel curl-devel net-snmp-devel OpenIPMI-devel mysql-devel libxml2-devel

编译安装zabbix server

[]# cd /opt/soft/zabbix-3.4.15/
[]# tar zxvf zabbix-3.4.15.tar.gz
[]# ./configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi --with-unixodbc --prefix=/apps/zabbix
[]# make install

配置Zabbix server

修改zabbix配置文件

[]# vim /apps/zabbix/etc/zabbix_server.conf

SourceIP=192.168.1.45           //本机IP
DBHost=192.168.1.45             //数据库IP
DBName= zabbix                      //数据库名称
DBUser= root                              //数据库用户名
DBPassword=1qaz3edc         //数据库用户密码
DBPort=3306                             //数据库端口
StartPollers=50                          //初始化时,启动子进程数量,数量越多,服务器吞吐能力越强,对系统资源消耗越大。
StartPreprocessors=10               
StartTrappers=10                       //用于设置诸如SNMP STRAPPER场景提交的数据的接收进程数,若客户机SNMP STRAPPER技术较多,建议加大此数据。
StartPingers=5                          //用于设置使用ICMP协议ping主机方式的监控进程数,若单台代理所监控的机器超过500台,建议加大此数字。
StartDiscoverers=5              //用于设置自动发现主机的进程数量,若单台代理所监控的机器超过500台,建议加大此数字。
CacheSize=128M
TrendCacheSize=32M
ValueCacheSize=32M

拷贝zabbix_server启动文件

[]# cp /opt/soft/zabbix-3.4.15/misc/init.d/tru64/zabbix_server /etc/init.d/
[]# chmod 775 /etc/init.d/zabbix_server

配置zabbix_server启动文件

[]# vim /etc/init.d/zabbix_server

#/etc/rc.d/init.d/zabbix_server
# chkconfig: - 95 5
# processname: zabbix_server        //这三行需要添加,注意带“#”号
DAEMON=/apps/zabbix/sbin/zabbix_server    //这一行需要修改,改成自己的安装目录

添加zabbix_server服务,并设置其开机自启

[]# chkconfig --add zabbix_server
[]# systemctl enable zabbix_server

DB安装及配置

安装MySQL数据库
建议安装Linux 7.2自带的mariadb(就是MySQL,改名了)。

[]# yum install mariadb-server mariadb-devel

启动MySQL数据库

[]# systemctl enable mariadb
[]# systemctl start mariadb

配置DB
1.创建可以从外部访问的账号
mysql默认安装会创建root用户,本机登录的密码为空。以root用户登录:

[]# mysql
GRANT ALL PRIVILEGES ON *.* to 'root'@'%' IDENTIFIED BY '1qaz3edc';
(.表示所有数据库的所有表,%表示任意ip,如果限定用户只能从192.168.1.45以root用户登录就是:'root'@'192.168.1.45',’1qaz3edc’为密码)

2.创建zabbix数据库

[]# mysql

create database zabbix character set utf8 collate utf8_bin;
quit;

[]# cd /opt/soft/zabbix-3.4.15/database/mysql/
[]# mysql zabbix < schema.sql
[]# mysql zabbix < images.sql
[]# mysql zabbix < data.sql

通过web配置zabbix

[]# cp -r /opt/soft/zabbix-3.4.15/frontends/php/ /var/www/html/
[]# setfacl -R -m u:zabbix:rwx /var/www/html/php/
[]# vim /etc/php.ini

post_max_size = 16M
max_execution_time = 300
max_input_time = 300
date.timezone = Asia/Shanghai

[]# systemctl restart httpd
[]# systemctl restart zabbix_server

通过浏览器访问http://192.168.1.45/php/setup.php配置数据库ip及端口号。
Zabbix实战-1.zabbix server程序部署_第1张图片

检查配置是否正确
Zabbix实战-1.zabbix server程序部署_第2张图片

配置数据库连接
Zabbix实战-1.zabbix server程序部署_第3张图片

配置zabbix server
Zabbix实战-1.zabbix server程序部署_第4张图片
Zabbix实战-1.zabbix server程序部署_第5张图片

下载配置文件,并保存到服务器的对应目录中
Zabbix实战-1.zabbix server程序部署_第6张图片
Zabbix实战-1.zabbix server程序部署_第7张图片

验证

访问:http://192.168.1.45/php/index.php
可以使用Admin/zabbix或gust登陆,验证是否安装成功。
Zabbix实战-1.zabbix server程序部署_第8张图片

一切正常,没有报错,本实验成果。
Zabbix实战-1.zabbix server程序部署_第9张图片