zabbix源码安装
zabbix下载地址:https://www.zabbix.com/cn/download_sources#unsupported
本文详细环境:
iso镜像:Rocky Linux 8.6
zabbix安装版本:3.4.15
LNMP环境:
Nginx1.12.2
mariadb10.3.32
PHP 7.2.24
安装流程
安装相关依赖
首先需要部署LNMP平台,然后才能安装zabbix
解压安装zabbix
创建存储数据的库,表,连接数据库服务用户
初始化准备
初始化配置(网页配置)
登录管理平台
启动zabbix监控服务
安装依赖
安装net-snmp-devel curl-devel libevent-devel make gcc openssl-devel pcre-devel zlib-devel



部署LNMP平台
安装Nginx-1.12
解压nginx-1.12.2
tar -xf nginx-1.12.2.tar.gz

安装Nginx
cd nginx-1.12.2
./configure --with-http_ssl_module

make && make install

排错:
出现错误:'struct crypt_data'没有名为'current_salt'的成员
这个问题一般不是Nginx的版本高就是服务器版本高的问题

解决方法:
修改nginx源码目录下src/os/unix/ngx_user.c中注释掉以下部分


然后在obj/Makefile里去掉如下光标处的-Werror

重新make && make install 问题解决
安装数据库mariadb
yum -y install mariadb mariadb-devel mariadb-server

安装php服务
yum -y install php php-fpm

yum -y install php-gd php-xml php-ldap php-bcmath php-mbstring

yum -y install php-pdo php-mysqlnd

启动服务
修改nginx配置文件/usr/local/nginx/conf/nginx.conf
vim +65 /usr/local/nginx/conf/nginx.conf

启动nginx /usr/local/nginx/sbin/nginx
查看端口 启动成功

启动mariadb和php-fpm
systemctl start mariadb
systemctl start php-fpm
写一个php脚本测试:
vim /usr/local/nginx/html/test.php
<?php i = 99; echo i; ?>
curl 访问

排错:
如果发现php-fpm并没有启动9000端口
netstat -tunlp | grep 9000
若没有任何回显则端口没有开放。
执行下面命令,给php-fpm开放9000端口。
php-cgi -b 127.0.0.1:9000 &

解压并安装zabbix
将下载的zabbix安装包放于Linux下的/root目录

解压:tar -xf zabbix-3.4.15.tar.gz

安装:
cd zabbix-3.4.15
./configure --enable-server --ebale-proxy --enable-agent --with-mysql=/usr/bin/mysql_config --with-net-snmp --with-libcurl


make install
创建数据库、表,用户
创建用户zabbix设置密码zabbix
create user zabbix@localhost identified by 'zabbix';

创建zabbix库
create database zabbix character set utf8;

赋予用户zabbix库权限
grant all on zabbix.* to zabbix@localhost ;

关闭InnoDB严格模式
set global innodb_strict_mode=0;

将zabbix文件里面的sql数据表导入到zabbix库中,要按如下顺序导入
mysql -uzabbix -pzabbix zabbix < database/mysql/schema.sql
mysql -uzabbix -pzabbix zabbix < database/mysql/images.sql
mysql -uzabbix -pzabbix zabbix < database/mysql/data.sql
初始化zabbix服务
源码目录中有一个frontends文件夹下的php文件夹

将所有php文件拷贝到html下
cp -a .php /usr/local/nginx/html/

修改目录权限
chmod -R 777 /usr/local/nginx/html/

修改nginx配置/usr/local/nginx/conf/nginx.conf
fastcgi_buffers 8 16k; //缓存php生成的页面内容,8个16k
fastcgi_buffers_size 32k; //缓存php生成的头部信息
fastcgi_connect_timeout 300; //连接php超时时间
fastcgi_send_timeout 300; //发送请求的超时时间
fastcgi_read_timeout 300; //读取请求的超时时间
重新加载:/usr/local/nginx/sbin/nginx -s reload 
修改php配置文件并重启php服务
vim /etc/php.ini
date.timezone=Asia/Shanghai //设置时区
max_execution_time=300 //最大执行时间,秒
post_max_size=32M //POST数据最大容量
max_input_time=300 // 服务器接收数据的时间限制






重启php-cgi
killall php-cgi
php-cgi -b 127.0.0.1:9000 &
zabbix初始化配置(网页)






初始化完成,需要查看初始化配置信息在/usr/local/nginx/html/conf/zabbix.conf.php
登录账户为Admin密码为zabbix

修改管理员登录密码和页面语言



修改后界面为中文

修改zabbix配置文件配置监控主机
修改/usr/local/etc/zabbix_server.conf
DBHost=localhost //数据库主机
DBName=zabbix //数据库名称
DBUser=zabbix //数据库账户
DBPassword=zabbix //数据库密码
LogFile=/tmp/zabbix_server.log //设置日志

启动服务
创建zabbix用户
useradd zabbix -s /sbin/nologin
直接输入zabbix_server启动服务
停止服务命令 killall -9 zabbix_server //zabbix没有停止相应命令


部署zabbix被监控端
安装zabbix包
安装依赖文件 gcc pcre-devel make
解压zabbix软件包
编译安装
./configure --enable-agent
make install
修改配置文件
vim /usr/local/etc/zabbix_agent.conf
Server=127.0.0.1,192.168.4.7 //允许访问服务地址列表
ServerActive=192.168.2.5:10051 //监控服务器IP地址
LogFile=/tmp/zabbix_agentd.log //日志文件
Hostname=web111 //主机名


创建zabbix用户
useradd zabbix -s /sbin/nologin
启动服务
zabbix_agentd

添加主机



选择监控模板

这里根据自己需求去选择模板



查看监控数据

