zabbix 7.0编译部署教程
zabbix 7.0编译部署教程
2024-03-08 16:50·乐维社区
zabbix7.0 alpha版本、beta版本已经陆续发布,Zabbix7.0 LTS版本发布时间也越来越近。据了解,新的版本在性能提升、架构优化等新功能方面有非常亮眼的表现,不少小伙伴对此也已经跃跃欲试。心动不如行动,不妨先体验了一把beta版本。
本教程仅适用于编译部署Zabbix7.0 beta1版本,部署环境为kylinV10。文章内容来源于乐维社区。
事前准备:软件包下载
l kylinV10 sp2 x86_64:
https://pan.baidu.com/s/1-pg76mcXLn8rWP22Adr1iA?pwd=lwjk 提取码: lwjk
l nginx: https://nginx.org/download/nginx-1.24.0.tar.gz
l php: https://www.php.net/distributions/php-8.3.3.tar.gz
l pg:https://ftp.postgresql.org/pub/source/v16.2/postgresql-16.2.tar.gz
l timescaledb:https://codeload.github.com/timescale/timescaledb/tar.gz/refs/tags/2.13.1
l zabbix:https://cdn.zabbix.com/zabbix/sources/development/7.0/zabbix-7.0.0beta1.tar.gz
- lnpp安装
linux+nginx+postgresql+php
(1) 本操作示例中linux环境使用kylinV10 SP2

(2) 环境已配置公网yum源

1.1. nginx安装
选择nginx版本 1.24.0
(1) yum 安装工具及环境依赖
#编译工具安装
yum -y install gcc-c++
#nginx 依赖安装
yum -y install pcre-devel openssl-devel
(2) itops用户创建
#程序用户itops创建
groupadd itops
useradd -g itops itops
echo Kylin_p@ssw0rd | passwd --stdin itops
(3) nginx编译操作
tar xf nginx-1.24.0.tar.gz
cd nginx-1.24.0/
./configure --user=itops --group=itops --prefix=/opt/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-pcre
make -j8 && make install
(4) nginx配置文件编写
mv /opt/nginx/conf/nginx.conf /opt/nginx/conf/nginx.bak
vi /opt/nginx/conf/nginx.conf
#i#输入
user itops itops;
worker_processes 1;
error_log logs/error.log crit;
error_log logs/error.log notice;
error_log logs/error.log info;
pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;server {listen 80;server_name localhost;#charset koi8-r;#access_log logs/host.access.log main;location / {root html;index index.html index.htm index.php;}error_page 500 502 503 504 /50x.html;location = /50x.html {root html;}location ~ \.php$ {fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include fastcgi_params;}
}
}
测试nginx配置格式
chown itops: -R /opt/zabbix
/opt/nginx/sbin/nginx -t
(5) nginx服务文件编写
vi /usr/lib/systemd/system/nginx.service
#i# 输入
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/opt/nginx/sbin/nginx -c /opt/nginx/conf/nginx.conf
ExecReload=/opt/nginx/sbin/nginx -s reload
ExecStop=/opt/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
(6) nginx服务启动及自启
systemctl enable nginx --now
(7) 页面访问测试

1.2. 数据库安装
选择postgresql 版本16.2
选择timescaledb 版本2.13.1
(1) yum安装工具及环境依赖
yum install -y unzip gcc gcc-c++ perl readline readline-devel openssl openssl-devel zlib zlib-devel ncurses-devel perl-ExtUtils-Embed python python-devel libxslt* python3-devel
(2) cmake 工具安装
yum install cmake -y
cmake版本需大于3.4版本,如yum方式安装cmake版本低,则需要用手动编译方式进行替换
cmake --version
(3) PG编译安装
编译PG
tar xf postgresql-16.2.tar.gz
cd postgresql-16.2/
./configure --prefix=/opt/postgresql --with-pgport=5432 --with-segsize=16 --with-blocksize=32 --with-wal-blocksize=64 --with-libedit-preferred --with-perl --with-openssl --with-libxml --with-python --with-libxslt --enable-thread-safety --enable-nls=en_US.UTF-8 --without-icu
make -j8 && make install
初始化
mkdir /data
chown itops: /data
su - itops
/opt/postgresql/bin/initdb -D /data/postgresql -E utf8
启动
/opt/postgresql/bin/pg_ctl -D /data/postgresql/ start
设定全局变量
vim /etc/profile
#i # 尾行追加如下部分
PATH=/opt/postgresql/bin:/usr/bin:/usr/sbin:/bin:/sbin/bin
export PATH
PG_CONFIG=/opt/postgresql/bin/pg_config
export PG_CONFIG
PGDATA=/data/postgresql
export PGDATA
LD_LIBRARY_PATH=/opt/postgresql/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
执行如下命令使变量生效
source /etc/profile
(4) TS时序库编译(可选)
tar xf timescaledb-2.13.1.tar.gz
cd timescaledb-2.13.1/
echo y | ./bootstrap -DREGRESS_CHECKS=OFF
cd ./build && make
make install
PG配置载入ts模块
echo “shared_preload_libraries = ‘timescaledb’” >> /data/postgresql/postgresql.conf
重启pg令模块生效
su - itops -c ‘pg_ctl restart’
(5) pg服务文件编写
vi /usr/lib/systemd/system/postgresql.service
#i# 输入
[Unit]
Description=PostgreSQL database server
After=network.target
[Service]
Type=forking
User=itops
Group=itops
Environment=PGPORT=5432
Environment=PGDATA=/data/postgresql
OOMScoreAdjust=-1000
ExecStart=/opt/postgresql/bin/pg_ctl start -D ${PGDATA} -s -o “-p ${PGPORT}” -w -t 300
ExecStop=/opt/postgresql/bin/pg_ctl stop -D ${PGDATA} -s -m fast
ExecReload=/opt/postgresql/bin/pg_ctl reload -D ${PGDATA} -s
TimeoutSec=300
[Install]
WantedBy=multi-user.target
(6) pg服务启动及自启
su - itops -c ‘pg_ctl stop’
systemctl enable postgresql --now
1.3. php安装
选择php版本 8.3.3
(1) yum 安装工具及环境依赖
oniguruma、oniguruma-devel包(kylinV10) yum -y install libxml2-devel bzip2-devel libcurl-devel libpng-devel libjpeg-devel freetype-devel gmp-devel openldap-devel readline-devel libxslt-devel net-snmp-devel
cp -frp /usr/lib64/libldap* /usr/lib/
yum install oniguruma-*
#编译安装php
tar xf php-8.3.3.tar.gz
cd php-8.3.3/
./configure --prefix=/opt/php --with-config-file-path=/opt/php/etc --with-pgsql=/opt/postgresql --with-pdo-pgsql=/opt/postgresql --enable-gd --enable-bcmath --with-jpeg --with-freetype --enable-ctype --enable-xml --enable-session --enable-sockets --enable-mbstring --with-gettext --with-ldap --with-openssl --without-pdo-sqlite --without-sqlite3 --enable-fpm
sed -i “s@-lcrypto@-lcrypto -llber@g” Makefile
make -j8 && make install
#配置php相关参数
cp php.ini-production /opt/php/etc/php.ini
ln -s /opt/php/etc/php.ini /etc/php.ini
cp /opt/php/etc/php-fpm.conf.default /opt/php/etc/php-fpm.conf
cp /opt/php/etc/php-fpm.d/www.conf.default /opt/php/etc/php-fpm.d/www.conf
sed -i “s@user = nobody@user = itops@g” /opt/php/etc/php-fpm.d/www.conf
sed -i “s@group = nobody@group = itops@g” /opt/php/etc/php-fpm.d/www.conf
sed -i “s@pm.max_children = 5@pm.max_children = 30@g” /opt/php/etc/php-fpm.d/www.conf
sed -i “s@;pid = run/php-fpm.pid@pid = run/php-fpm.pid@g” /opt/php/etc/php-fpm.d/www.conf
sed -i “s@post_max_size = 8M@post_max_size = 16M@g” /opt/php/etc/php.ini
sed -i “s@max_execution_time = 30@max_execution_time = 300@g” /opt/php/etc/php.ini
sed -i “s@max_input_time = 60@max_input_time = 300@g” /opt/php/etc/php.ini
#生成php-fpm启动文件
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
chown -R itops: /opt/php
systemctl enable php-fpm --now
- zabbix安装及启动
2.1. zabbix 编译安装
选择zabbix版本 7.0.0beta1
(1) yum 安装编译工具及依赖
yum -y install libssh2 libssh2-devel OpenIPMI-devel libevent-devel unixODBC unixODBC-devel java-1.8.0-openjdk-devel openssl-devel
(2) zabbix编译及配置参数定义
tar xf zabbix-7.0.0beta1.tar.gz
cd zabbix-7.0.0beta1
./configure --prefix=/opt/zabbix --enable-server --enable-agent --with-postgresql=/opt/postgresql/bin/pg_config --with-net-snmp --with-libcurl --with-libxml2 --with-unixodbc --with-openipmi --enable-ipv6 --enable-java --with-openssl --with-ssh2 --with-iconv --with-iconv-include --with-iconv-lib --with-libpcre --with-libevent --with-zlib --with-zlib-include --with-zlib-lib --with-libpthread --with-ldap
make -j8 && make install
chown itops: -R /opt/zabbix
vi /opt/zabbix/etc/zabbix_server.conf
#文件最后追加如下行
LogFile=/tmp/zabbix_server.log
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=ZABBIX
DBPort=5432
Timeout=4
LogSlowQueries=3000
User=itops
StatsAllowedIP=127.0.0.1
(3) zabbix库创建
#创建zabbix用户
su - itops -c ‘createuser --pwprompt zabbix’
#输入用户密码
创建zabbix库
su - itops -c ‘createdb -O zabbix -E Unicode -T template0 zabbix’

(4) 数据库表结构导入
#进入编译包数据库路径下
cd zabbix-7.0.0beta1/database/postgresql/
#导入表结构
cat schema.sql | /opt/postgresql/bin/psql -Uzabbix zabbix
cat images.sql | /opt/postgresql/bin/psql -Uzabbix zabbix
cat data.sql | /opt/postgresql/bin/psql -Uzabbix zabbix
/opt/postgresql/bin/psql -Uzabbix zabbix -c ‘CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE’
#关闭压缩,如果需要正常压缩,则跳过下方sed命令
sed -i ‘s#compression_status=1#compression_status=0#g’ timescaledb/schema.sql
cat timescaledb/schema.sql | /opt/postgresql/bin/psql -Uzabbix zabbix
#抛出 TimescaleDB is configured successfully 即视为超表创建成功,其余提示信息可忽略

2.2. zabbix 服务及agent程序启动
(1) 启动zabbix_server
/opt/zabbix/sbin/zabbix_server
ss -lnt
2) zabbix agent启动
echo ‘User=itops’ >> /opt/zabbix/etc/zabbix_agentd.conf
/opt/zabbix/sbin/zabbix_agentd
2.3. zabbix_web 配置及初始化
(1) web部署
#进入编译包路径下
cd zabbix-7.0.0beta1/
#拷贝ui代码至nginx
cp -r ui/ /opt/nginx/html/zabbix
chown itops: -R /opt/nginx/html/zabbix
(2) web页面初始化配置




以上就是Zabbix7.0 beta1编译部署的全部内容,感兴趣的小伙伴不妨抢先上车体验。
此外,乐维监控V7.0版本也即将与大家见面,敬请期待。
大家好,我是乐乐,专注运维技术研究与分享,更多Zabbix等技术知识与问题,欢迎到乐维社区交流~
相关文章:
zabbix 7.0编译部署教程
zabbix 7.0编译部署教程 2024-03-08 16:50乐维社区 zabbix7.0 alpha版本、beta版本已经陆续发布,Zabbix7.0 LTS版本发布时间也越来越近。据了解,新的版本在性能提升、架构优化等新功能方面有非常亮眼的表现,不少小伙伴对此也已经跃跃欲试。心…...
Oracle Linux 8.9 安装 Python 3.11.8 和 Miniconda
Oracle Linux 8.9 安装 Python 3.11.8 和 Miniconda 1. 安装 Python 3.11.82. 安装 Miniconda 1. 安装 Python 3.11.8 Update system, sudo dnf update -yInstall Library, sudo dnf install curl gcc openssl-devel bzip2-devel libffi-devel zlib-devel wget make git -yI…...
Docker 配置阿里云镜像加速器
一、首先需要创建一个阿里云账号 二、登录阿里云账号 三、进入控制台 四、搜索容器镜像服务,并选择 五、选择镜像工具中的镜像加速 六 、配置镜像源 注意:有/etc/docker文件夹的直接从第二个命令开始...
[Linux][CentOs][Mysql]基于Linux-CentOs7.9系统安装并配置开机自启Mysql-8.0.28数据库
目录 一、准备工作:获取安装包和相应工具 (一)所需安装包 (二)安装包下载链接 (三)在服务器上创建文件夹并上传安装包 二、安装MySql (一)删除系统自带的mariadb …...
实用指南!2024年度计划怎么写?工作学习必备!
在新的一年开始之际,制定一份详细而实用的年度计划对于实现个人和职业目标至关重要。无论是在工作、学习还是生活中,一个明确的计划可以帮助你更好地组织时间、资源和精力,从而更有效地实现目标。下面是一个关于如何写年度计划的指南…...
js的事件有哪些?
鼠标事件: 鼠标事件 触发条件 onclick 鼠标点击左键触发 oncontextmenu 鼠标点击右键触发 ondblclick 鼠标双击触发 onmouseover 鼠标经过触发 onmouseout 鼠标离开触发 onmousemove 鼠标移动触发 onmouseup 鼠标弹起触发 onmousedown 鼠标按下触发 键盘事…...
Mock.js 基本语法与应用笔记
🌟 前言 欢迎来到我的技术小宇宙!🌌 这里不仅是我记录技术点滴的后花园,也是我分享学习心得和项目经验的乐园。📚 无论你是技术小白还是资深大牛,这里总有一些内容能触动你的好奇心。🔍 &#x…...
vue从零到一创建项目?
创建一个Vue项目通常需要经过以下步骤,从零开始构建一个基本的Vue项目: 步骤一:安装Node.js和npm 下载安装Node.js: 在Node.js官网下载适合你操作系统的Node.js安装包,并按照提示进行安装。安装完Node.js后ÿ…...
安装PyTorch详细过程
安装anaconda 登录anaconda的官网下载,anaconda是一个集成的工具软件不需要我们再次下载。anaconda官网 跳转到这个页面如果你的Python版本正好是3.8版,那便可以直接根据系统去选择自己相应的下载版本就可以了。 但是如果你的Python版本号不是当前页面…...
使用Rust开发小型搜索引擎
一、概述 用Rust创建搜索引擎是探索该语言在性能和安全性方面具有优势的绝佳方式。 这个项目将索引和搜索概念转移到Rust的生态系统中,由于Rust独特的语法和范式,这是一个挑战,但也是有益的。 二、构建搜索引擎 步骤1,创建项目…...
2024.3.13
1.顺序表去重 代码: //顺序表去重 void dele(seq_p L) {if(LNULL){printf("入参为空,请检查\n");return;}for(int i0;i<L->len-1;i){for(int ji1;j<L->len;j){if(L->data[i]L->data[j]){dele_data(L,L->data[j]);j--;}…...
schedule() , schedule_work() 以及schedule_timeout_interruptible()区别
schedule() 和 schedule_work() 是 Linux 内核中用于任务调度的两个函数,它们的作用和使用场景有所不同。 schedule() 函数: * 作用:将当前任务放入睡眠状态并调度其他可运行任务的函数。当调用 schedule() 时,当前任务会放弃 CPU…...
AWS入门实践-AWS CLI工具的使用介绍
AWS CLI(Amazon Web Services Command Line Interface)是一个强大的工具,它允许您直接从命令行与AWS服务进行交互。这不仅可以加快许多任务的处理速度,而且还可以通过脚本自动化。 一、AWS CLI工具的安装 1、Windows 安装下载…...
Xterminal:未来的终端体验
✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客 💞当前专栏: 开发环境篇 ✨特色专栏: M…...
“光谱视界革新:ChatGPT在成像光谱遥感中的智能革命“
遥感技术主要通过卫星和飞机从远处观察和测量我们的环境,是理解和监测地球物理、化学和生物系统的基石。ChatGPT是由OpenAI开发的最先进的语言模型,在理解和生成人类语言方面表现出了非凡的能力。本文重点介绍ChatGPT在遥感中的应用,人工智能…...
Docker Register 搭建私有镜像仓库
1 安装 docker (1)更新软件源 sudo apt update (2)安装 docker 组件 sudo apt install docker.io (3)启动 docker 服务 sudo systemctl start docker (4)设置 docker 服务开机自启动 sudo systemctl enable docker (5)验证 docker 功能 sudo docker contai…...
蓝桥杯真题讲解:三国游戏(贪心)
蓝桥杯真题讲解:三国游戏(贪心) 一、视频讲解二、正解代码 一、视频讲解 蓝桥杯真题讲解:三国游戏(贪心) 二、正解代码 //三国游戏:贪心 #include<bits/stdc.h> #define int long lon…...
docker之自己制作jdk镜像
一,下载想要制作的镜像的对应jdk(自行下载),本文使用jdk17(因为自己的springboot项目时在jdk17下开发的,悲!!!,再加上没有在官网上找到对应镜像,只…...
基于SpringBoot的农产品特色供销系统(蔬菜商城)
基于SpringBoot的农产品特色供销系统(蔬菜商城) 系统介绍 该系统使用Java、MySQL、Redis、Spring Boot和HTML等技术作为系统的技术支撑,实现了以下功能模块: (1)后台管理模块,包括权限、日志、…...
【性能】如何计算 Web 页面的 TTI 指标
什么是 TTI 指标 TTI(Time To Interactive),即从页面加载开始到页面处于完全可交互状态所花费的时间。页面处于完全可交互状态时,满足以下 3 个条件: 页面已经显示有用内容。页面上的可见元素关联的事件响应函数已经…...
树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频
使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...
FFmpeg 低延迟同屏方案
引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...
visual studio 2022更改主题为深色
visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中,选择 环境 -> 常规 ,将其中的颜色主题改成深色 点击确定,更改完成...
java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别
UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...
【磁盘】每天掌握一个Linux命令 - iostat
目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat(I/O Statistics)是Linux系统下用于监视系统输入输出设备和CPU使…...
TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案
一、TRS收益互换的本质与业务逻辑 (一)概念解析 TRS(Total Return Swap)收益互换是一种金融衍生工具,指交易双方约定在未来一定期限内,基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...
涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战
“🤖手搓TuyaAI语音指令 😍秒变表情包大师,让萌系Otto机器人🔥玩出智能新花样!开整!” 🤖 Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制(TuyaAI…...
工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配
AI3D视觉的工业赋能者 迁移科技成立于2017年,作为行业领先的3D工业相机及视觉系统供应商,累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成,通过稳定、易用、高回报的AI3D视觉系统,为汽车、新能源、金属制造等行…...
Element Plus 表单(el-form)中关于正整数输入的校验规则
目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入(联动)2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...
2023赣州旅游投资集团
单选题 1.“不登高山,不知天之高也;不临深溪,不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...
