ZABIX5.0.7源码安装详细过程

ZABIX5.0.7源码安装详细过程

Zabbix5.0源码安装文档
一:Linux初始设置
关闭selinux
vi /etc/selinux/config
SELINUX=disabled
关闭网络管理
Systemctl stop NetworkManager
systemctl disable NetworkManager
关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
编辑网卡配置,编辑以下几行,其余的可以保留不动
vi /etc/sysconfig/network-scripts/ifcfg-ens192
BOOTPROTO=static
ONBOOT=yes
IPADDR=
NETMASK=255.255.255.0
GATEWAY=
DNS1=
重启网卡服务
service network restart
如需要,更改主机名
vi /etc/hostname
重启机器
reboot

二、安装前配置及编译安装
创建用户
groupadd --system zabbix
useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c “Zabbix Monitoring System” zabbix

创建文件目录
mkdir /opt/monitor
mkdir /opt/download

下载安装包上传至服务器/opt/download或者在线下载
Wget https://cdn.zabbix.com/zabbix/sources/stable/5.0/zabbix-5.0.7.tar.gz

安装基础环境
首先apache的安装: yum install httpd
接着mysql/mariadb的安装: yum install httpd mariadb mariadb-server
然后php的安装:yum install php php-mysql php-devel

安装依赖包(包含上述步骤)

yum -y install gcc gcc-c++ make php* unixODBC fping OpenIPMI OpenIPMI-libs httpd mariadb mariadb-server net-snmp net-snmp-devel libxml2-devel libevent-devel mysql-devel java-1.8.0-openjdk* curl curl-devel

安装php可能会报错,zabbix5.0需要安装php7.2以上的版本

yum install epel-release -y

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

重新安装php7.2
yum -y remove php*

yum -y install php72w php72w-cli php72w-fpm php72w-common php72w-devel php72w-embedded php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xml
再重新执行
yum -y install gcc gcc-c++ unixODBC fping OpenIPMI OpenIPMI-libs httpd mariadb mariadb-server net-snmp net-snmp-devel libxml2-devel libevent-devel mysql-devel java-1.8.0-openjdk* curl curl-devel

接着启动对应服务和设置开机自启
systemctl start httpd
systemctl enable httpd
systemctl enable mariadb
systemctl start mariadb

进入解压缩目录,对zanbbix的包进行解压
cd /opt/download/
tar -zxvf zabbix-5.0.7.tar.gz
cd zabbix-5.0.7

编译安装
样例:./configure --prefix=/usr/local/zabbix/ --enable-server --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl
实际要求:
./configure --prefix=/opt/monitor/zabbix-5.0.7 --enable-server --enable-proxy --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2

make && make install

参数说明:
–prefix=/usr/local/zabbix-server # 编译安装路径
–enable-server          # server端
–enable-agent          # agent端
–enable-proxy # proxy端
–with-mysql #编译连接mysql
–with-net-snmp          #启动snmp相关,用于snmp监控设备
–with-libcurl           #启动curl相关
–with-libxml2           #启动xml相关
–with-unixodbc         #启动odbc相关用于监控数据库

三、数据库
启动数据库
#上面已经启动数据库不需要执行再次启动了
systemctl start mariadb.service
systemctl enable mariadb
#mysql的初始化
mysql_secure_installation #在Set root password? [Y/n]后面输入 y,设置密码123456(可自己更改),在Disallow root login remotely? [Y/n] 后面输入n,允许root用户远程登录,其他选项直接回车默认就可以了
mysql -uroot -p123456
mysql -uroot -p
第一次可以空密码进入的

创建zabbix库
create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to zabbix@localhost identified by ‘zabbix’;
flush privileges;
sql语句在解压的文件夹里

cd /opt/download/zabbix-5.0.7

mysql -uzabbix -pzabbix zabbix < database/mysql/schema.sql //表结构
mysql -uzabbix -pzabbix zabbix < database/mysql/images.sql //图片
mysql -uzabbix -pzabbix zabbix < database/mysql/data.sql //模板
四、配置php基础环境及zabbix配置文件的修改
配置 php 环境,修改 php.ini,目的是 zabbix 的 web 代码要求这么配置才能正常运行,
所以,不修改的后果就是无法安装,无法获得正常的环境。

vim /etc/php.ini

date.timezone =Asia/Shanghai
max_execution_time = 300
post_max_size = 32M
max_input_time = 300
memory_limit = 128M //如果web页面提示内存不够使用,请调整此值
mbstring.func_overload = 0

重启httpd服务
systemctl restart httpd.service
systemctl enable httpd.service

创建日志目录
[root@linuxlz ~]# cd /var/log
[root@linuxlz zabbix]# mkdir zabbix-5.0.7
[root@linuxlz zabbix]# chown zabbix:zabbix zabbix-5.0.7

修改zabbix_server.conf负责服务器端的设定
cd /opt/monitor/zabbix-5.0.7/etc/
cp zabbix_server.conf zabbix_server.conf.bak
vi zabbix_server.conf
LogFile= /var/log/zabbix-5.0.7/zabbix_server.log //日志路径
PidFile=/tmp/zabbix_server.pid # 指定zabbix的pid文件
DBHost=localhost //数据库的地址
DBName=zabbix //数据库名称
DBUser=zabbix //数据库用户
DBPassword=zabbix //数据库密码
DBSocket=/var/lib/mysql/mysql.sock //根据实际填写路径,此处为 YUM 安装的
DBPort=3306 //数据库端口
Include=/opt/monitor/zabbix-5.0.7/etc/zabbix_server.conf.d/.conf
从解压包目录中拷贝zabbix_server启动脚本至开机启动目录
复制启动脚本
cd /opt/download/zabbix-5.0.7/
cp misc/init.d/fedora/core/zabbix_
/etc/init.d/
ll -d /etc/init.d/zabbix_*
chmod +x /etc/init.d/zabbix_*
修改zabbix_agentd.conf设置客户端代理参数
agentd 的作用就是获得 host 数据,然后将收集到的数据发送给 server。
/opt/monitor/zabbix-5.0.7/etc/ //配置目录
cp zabbix_agentd.conf zabbix_agentd.conf.origin
vim zabbix_agentd.conf
LogFile=/var/log/zabbix-5.0.7/zabbix_agented.log //日志路径
PidFile=/tmp/zabbix_agentd.pid //指定zabbix的pid文件
Include=/opt/monitor/zabbix-5.0.7/etc/zabbix_agentd.conf.d/*.conf //自定义的 agentd 配置文件存放路径
Server=127.0.0.1 //服务端 IP
ServerActive=172.19.6.45:10051 //服务端 IP,端口固定
UnsafeUserParameters=1 //自定义脚本功能,1 为开启,默认 0 为关闭
配置WEB页面
这里需要注意,4.0和5.0的php文件路径不一致
Apache Web服务器 的HTML文档目录的常见位置包括:
/ usr / local / apache2 / htdocs(从源代码安装Apache时的默认目录)
/ srv / www / htdocs(OpenSUSE,SLES)
/ var / www / html(Debian,Ubuntu,Fedora,RHEL,CentOS)

4.0复制 PHP 文件
Zabbix 前端是 PHP 编写的,所以必须运行在支持 PHP 的 Web 服务器上。只需要简单的从 frontends/php 路径下复制 PHP 文件到 Web 服务器的HTML文档目录,即可完成安装。
5.0复制PHP文件
Zabbix前端是用PHP编写的,因此要运行它,需要一个PHP支持的Web服务器。安装只需将ui目录中的PHP文件复制到Web服务器HTML文档目录中即可。
建议使用子目录而不是HTML根目录。要创建一个子目录并将Zabbix前端文件复制到其中,请执行以下命令,替换实际目录:
cd /var/www/html
mkdir zabbix
cd /usr/download/zabbix-5.0.0/ui
cp -axv ./ /var/www/html/zabbix
启动zabbix的服务
/opt/monitor/zabbix-4.0.27/sbin/zabbix_server
/opt/monitor/zabbix-4.0.27/sbin/zabbix_agent

访问浏览器
http://ip/setup.php

如果遇到php页面的如上报错,
解决方法:
yum -y install php-bcmath php-mbstring php-xmlwriter php-xmlreader
systemctl restart httpd
页面php报错,证明上面的php.ini参数没有配,返回上面修改参数,或者考虑用以下脚本修改
sed -i ‘/post_max_size/s/8/16/g;/max_execution_time/s/30/300/g;/max_input_time/s/60/300/g;s/;date.timezone.* /date.timezone =PRC/g;s/;always_populate_raw_post_data/always_populate_raw_post_data/g’ /etc/php.ini
systemctl restart httpd
然后回到页面继续下一步;

cd /var/www/html/conf/zabbix
上传下载的zabbix.conf.php
默认账号Admin
默认密码zabbix

如果页面设置后,修改中文字体后有部分图形界面的汉字显示为方框,文字显示不全,可以按照下述方法处理
把本地windows的字体文件上传到linux服务器即可/opt/download/
然后复制到zabbix的web目录下assets/fonts目录
cd /opt/monitor/zabbix-5.0.7/html/assets/fonts
cp /opt/download/simhei.ttf ./

把黑体的字体文件符号链接为zabbix的默认字体:DejaVuSans.ttf
mv DejaVuSans.ttf DejaVuSans.ttf.bak
ln -s simhei.ttf DejaVuSans.ttf

五、故障处理
可能遇到的故障一:
报错:zabbix 服务未运行

处理方法:修改/etc/init.d/zabbix_server启动文件
如果按照上述做了启动脚本两处都需要修改
vim /etc/init.d/zabbix_server
vim /opt/monitor/zabbix-5.0.7/sbin/zabbix_server

修改成编译安装路径BASEDIR=/opt/monitor/zabbix-5.0.7/
修改zabbix_agentd配置文件
vim /etc/init.d/zabbix_agentd
vim /opt/monitor/zabbix-5.0.7/sbin/zabbix_agented

修改成编译安装路径BASEDIR=/opt/monitor/zabbix-5.0.7/

可能遇到的故障二:
查看启动日志,如果有如下报错

ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock

可能遇到的故障三:
如需重新安装mariadb,步骤如下:
rpm -qa|grep mariadb
yum remove mariadb
ls /etc/my.cnf
ll /var/lib/mysql/
rm -rf /etc/my.cnf
rm -rf /var/lib/mysql/
yum install -y mariadb mariadb-server
设置开机启动
systemctl start mariadb
systemctl enable mariadb
mariadb的初始化
mysql_secure_installation

六、安装proxy
如果前面没有编译安装zabbix_proxy,需要再安装proxy,步骤如下
/opt/download/zabbix-5.0.7
./configure --prefix=/usr/local/zabbix --enable-proxy --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
make && make install

Proxy需要单独的数据库
mysql -root -p
Enter password:
create database zabbix_proxy character set UTF8 collate utf8_bin;
grant all privileges on zabbix_proxy.* to zabbix@localhost identified by ‘zabbix’;
zabbix mariaDB flush privileges; #重新加载权限表

MariaDB [(none)]> use proxy;
Database changed
MariaDB [proxy]> source /opt/download/zabbix-5.0.7/datebase/mysql/schema.sql;
MariaDB [proxy]> source /opt/download/zabbix-5.0.7/database/mysql/schema.sql;

修改zabbix_proxy的配置
vi zabbix_proxy.conf
Server= #指定zabbix-server的ip地址
DBHost=localhost             #以下都是数据库信息
DBName=zabbix_proxy
DBUser=zabbix
DBPassword=zabbix
DBSocket=/var/lib/mysql/mysql.sock
DBPort=3306

启动zabbix-proxy

后续页面功能不再赘述,网上有相关操作手册和视频。文档可能存在一定的疏忽,以后会再进行更新

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值