zabbix4.0 Server端编译安装、部署 (LAMP+Zabbix4.0)

写在最前头,本文是个人通过测试和生产环境总结下来的文章,并作了小部分处理,文中可能会存在某些描述不准确或错误的地方,欢迎各位大佬评论指出,互相学习!

Server端

系统:Centos 7
实验环境中请确保selinux和防火墙为关闭状态,所需要的zabbix安装包在zabbix官网上下载。
本次实验架构是 LAMP

Apache

yum install -y httpd
vi vi /etc/httpd/conf/httpd.conf	#默认安装目录

	DirectoryIndex index.html index.php		#添加index.php

Mysql

 yum install -y mariadb mariadb-server

PHP

(yum默认安装5.4,建议安装5.5,不然后面会有坑)

yum install -y php php-mysql php-devel php-gd php-bcmath php-mbstring php-xml php-xmlwriter php-xmlreader php-ctype php-session php-gettext

测试apache是否能正常显示php

vi /var/www/html/index.php

<?php    echo phpinfo();  ?>

在这里插入图片描述


修改php参数

vi /etc/php.ini
	memory_limit = 128M
	post_max_size = 16M
	upload_max_filesize = 2M
	max_execution_time = 300
	max_input_time = 300
	session.auto_start = 0
	mbstring.func_overload = 0
	date.timezone = Asia/Shanghai

安装依赖包

yum install -y net-snmp gcc libxml2-devel  net-snmp-devel  libevent-devel  libcurl-devel unixODBC-devel 

修改数据库

创建zabbix数据库

数据库名为“zabbix”,密码“zabbix”

CREATE DATABASE zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
flush privileges;

导入模板数据

use zabbix
source schema.sql;     
source images.sql;
source data.sql;


测试数据库是否连接成功

通过apache页面反馈,成功返回“success”,失败则“fail”。

vi /var/www/html/index.php
<?php 
$link=mysql_connect('localhost','zabbix','zabbix');  
if(!$link) echo "fail";  
else echo "success";  
mysql_close();  
?> 

在这里插入图片描述

编译安装

在解压文件夹下进行编译安装。

./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --with-mysqli

在这里插入图片描述

出现 Now run ‘make install’ 则表示编译成功,进行make install安装。


make install 

修改zabbix_server配置

要设置数据库密码,本文密码为“zabbix”

vi /usr/local/etc/zabbix_server.conf
	 DBHost=localhost
	 DBPassword=zabbix
	 Timeout=20

查看zabbix启动日志

启动正常。

在这里插入图片描述


zabbix-agent(服务端的Agent)

启动服务器的agent用于监控服务器,默认日志位置 zabbix_agentd.log (详细参考agent配置)

zabbix_agentd		

zabbix-web

在apache目录下创建文件用来放zabbix前端界面的配置文件

mkdir /var/www/html/zabbix
cp -a frontends/php/* /var/www/html/zabbix/   #在zabbix解压包根目录下
chmod -R 755 /var/www/html/zabbix/
chown -R root:root /var/www/html/zabbix/

浏览器输入 http://ip/zabbix 打开zabbix前端界面。

next step

在这里插入图片描述


​ 根据报错去修改参数

在这里插入图片描述


全部‘OK’,next step

在这里插入图片描述


输入数据库密码,本文设置的为"zabbix"

在这里插入图片描述

在这里插入图片描述


登陆,账号:Admin 密码:zabbix

在这里插入图片描述


问题一:za-server日志网络错误

问题描述:Zabbix agent item “system.users.num” on host “Zabbix server” failed: first network error, wait for 15 seconds

解决方法:编辑zabbix_server.conf和zabbix_agent.conf,把 timeout时间改为20。


问题二:apache日志报权限问题

问题描述:zabbix_server端启动日志正常,apache报错“Permission Denied because search permissions are missing on a component of the path”

解决方法:权限问题

确保apache网站目录下有执行权限。

chmod -R 755 /var/www/html/zabbix/

把apache启动用户、组改为zabbix,与zabbix的启动用户一致,避免出现权限问题。(可以ps查看两个进程所属用户)

vi /etc/httpd/conf/httpd.conf
	User zabbix
	Group zabbix
	
systemctl restart httpd

问题三:web端next step没反应

问题描述:Web端欢迎界面点击“next step”没反应

修改/var/lib/php/session/宿主或者添加777权限

问题四:web提示缺少配置文件

缺少配置文件,但是提供了解决方法,点击“Download”下载一个“zabbix.conf.php”文件,把它上传到指定路径,同时把文件权限改为755。

在这里插入图片描述


重新刷新网页。

在这里插入图片描述


问题五:web端监控项空白

在这里插入图片描述

问题描述:查看apache日志提示PHP Fatal error: Call to undefined function array_column() in /var/www/html/zabbix/items.php on line 2025

解决方法:缺少array_column()函数,php5.5才有这个新特性,两个解决方法,第一是更新php版本到5.5,第二是在日志报错php文件中添加自定义的array_column()函数,我选择第二种。

vim /var/www/html/zabbix/items.php
	#文件中添加
	
	if (! function_exists('array_column')) {
    function array_column(array $input, $columnKey, $indexKey = null) {
        $array = array();
        foreach ($input as $value) {
            if ( ! isset($value[$columnKey])) {
                trigger_error("Key \"$columnKey\" does not exist in array");
                return false;
            }
            if (is_null($indexKey)) {
                $array[] = $value[$columnKey];
            }
            else {
                if ( ! isset($value[$indexKey])) {
                    trigger_error("Key \"$indexKey\" does not exist in array");
                    return false;
                }
                if ( ! is_scalar($value[$indexKey])) {
                    trigger_error("Key \"$indexKey\" does not contain scalar value");
                    return false;
                }
                $array[$value[$indexKey]] = $value[$columnKey];
            }
        }
        return $array;
    }
}

在这里插入图片描述


再次查看Zabbix-web监控项,正常显示
在这里插入图片描述


Zabbix-agent编译安装在我下一篇文章处。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值