当前位置: 首页 > news >正文

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

  1. 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

  1. 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年度计划怎么写?工作学习必备!

在新的一年开始之际,制定一份详细而实用的年度计划对于实现个人和职业目标至关重要。无论是在工作、学习还是生活中,一个明确的计划可以帮助你更好地组织时间、资源和精力,从而更有效地实现目标。下面是一个关于如何写年度计划的指南&#xf…...

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后&#xff…...

安装PyTorch详细过程

安装anaconda 登录anaconda的官网下载,anaconda是一个集成的工具软件不需要我们再次下载。anaconda官网 跳转到这个页面如果你的Python版本正好是3.8版,那便可以直接根据系统去选择自己相应的下载版本就可以了。 但是如果你的Python版本号不是当前页面…...

使用Rust开发小型搜索引擎

一、概述 用Rust创建搜索引擎是探索该语言在性能和安全性方面具有优势的绝佳方式。 这个项目将索引和搜索概念转移到Rust的生态系统中,由于Rust独特的语法和范式,这是一个挑战,但也是有益的。 二、构建搜索引擎 步骤1,创建项目…...

2024.3.13

1.顺序表去重 代码&#xff1a; //顺序表去重 void dele(seq_p L) {if(LNULL){printf("入参为空&#xff0c;请检查\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 内核中用于任务调度的两个函数&#xff0c;它们的作用和使用场景有所不同。 schedule() 函数&#xff1a; * 作用&#xff1a;将当前任务放入睡眠状态并调度其他可运行任务的函数。当调用 schedule() 时&#xff0c;当前任务会放弃 CPU…...

AWS入门实践-AWS CLI工具的使用介绍

AWS CLI&#xff08;Amazon Web Services Command Line Interface&#xff09;是一个强大的工具&#xff0c;它允许您直接从命令行与AWS服务进行交互。这不仅可以加快许多任务的处理速度&#xff0c;而且还可以通过脚本自动化。 一、AWS CLI工具的安装 1、Windows 安装下载…...

Xterminal:未来的终端体验

✅作者简介&#xff1a;大家好&#xff0c;我是Leo&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Leo的博客 &#x1f49e;当前专栏&#xff1a; 开发环境篇 ✨特色专栏&#xff1a; M…...

“光谱视界革新:ChatGPT在成像光谱遥感中的智能革命“

遥感技术主要通过卫星和飞机从远处观察和测量我们的环境&#xff0c;是理解和监测地球物理、化学和生物系统的基石。ChatGPT是由OpenAI开发的最先进的语言模型&#xff0c;在理解和生成人类语言方面表现出了非凡的能力。本文重点介绍ChatGPT在遥感中的应用&#xff0c;人工智能…...

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…...

蓝桥杯真题讲解:三国游戏(贪心)

蓝桥杯真题讲解&#xff1a;三国游戏&#xff08;贪心&#xff09; 一、视频讲解二、正解代码 一、视频讲解 蓝桥杯真题讲解&#xff1a;三国游戏&#xff08;贪心&#xff09; 二、正解代码 //三国游戏&#xff1a;贪心 #include<bits/stdc.h> #define int long lon…...

docker之自己制作jdk镜像

一&#xff0c;下载想要制作的镜像的对应jdk&#xff08;自行下载&#xff09;&#xff0c;本文使用jdk17&#xff08;因为自己的springboot项目时在jdk17下开发的&#xff0c;悲&#xff01;&#xff01;&#xff01;&#xff0c;再加上没有在官网上找到对应镜像&#xff0c;只…...

基于SpringBoot的农产品特色供销系统(蔬菜商城)

基于SpringBoot的农产品特色供销系统&#xff08;蔬菜商城&#xff09; 系统介绍 该系统使用Java、MySQL、Redis、Spring Boot和HTML等技术作为系统的技术支撑&#xff0c;实现了以下功能模块&#xff1a; &#xff08;1&#xff09;后台管理模块&#xff0c;包括权限、日志、…...

【性能】如何计算 Web 页面的 TTI 指标

什么是 TTI 指标 TTI&#xff08;Time To Interactive&#xff09;&#xff0c;即从页面加载开始到页面处于完全可交互状态所花费的时间。页面处于完全可交互状态时&#xff0c;满足以下 3 个条件&#xff1a; 页面已经显示有用内容。页面上的可见元素关联的事件响应函数已经…...

高危文件识别的常用算法:原理、应用与企业场景

高危文件识别的常用算法&#xff1a;原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件&#xff0c;如包含恶意代码、敏感数据或欺诈内容的文档&#xff0c;在企业协同办公环境中&#xff08;如Teams、Google Workspace&#xff09;尤为重要。结合大模型技术&…...

从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)

设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile&#xff0c;新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...

【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)

🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...

C++八股 —— 单例模式

文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全&#xff08;Thread Safety&#xff09; 线程安全是指在多线程环境下&#xff0c;某个函数、类或代码片段能够被多个线程同时调用时&#xff0c;仍能保证数据的一致性和逻辑的正确性&#xf…...

精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南

精益数据分析&#xff08;97/126&#xff09;&#xff1a;邮件营销与用户参与度的关键指标优化指南 在数字化营销时代&#xff0c;邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天&#xff0c;我们将深入解析邮件打开率、网站可用性、页面参与时…...

是否存在路径(FIFOBB算法)

题目描述 一个具有 n 个顶点e条边的无向图&#xff0c;该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序&#xff0c;确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数&#xff0c;分别表示n 和 e 的值&#xff08;1…...

Mysql8 忘记密码重置,以及问题解决

1.使用免密登录 找到配置MySQL文件&#xff0c;我的文件路径是/etc/mysql/my.cnf&#xff0c;有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...

Git 3天2K星标:Datawhale 的 Happy-LLM 项目介绍(附教程)

引言 在人工智能飞速发展的今天&#xff0c;大语言模型&#xff08;Large Language Models, LLMs&#xff09;已成为技术领域的焦点。从智能写作到代码生成&#xff0c;LLM 的应用场景不断扩展&#xff0c;深刻改变了我们的工作和生活方式。然而&#xff0c;理解这些模型的内部…...

Xela矩阵三轴触觉传感器的工作原理解析与应用场景

Xela矩阵三轴触觉传感器通过先进技术模拟人类触觉感知&#xff0c;帮助设备实现精确的力测量与位移监测。其核心功能基于磁性三维力测量与空间位移测量&#xff0c;能够捕捉多维触觉信息。该传感器的设计不仅提升了触觉感知的精度&#xff0c;还为机器人、医疗设备和制造业的智…...

Modbus RTU与Modbus TCP详解指南

目录 1. Modbus协议基础 1.1 什么是Modbus? 1.2 Modbus协议历史 1.3 Modbus协议族 1.4 Modbus通信模型 🎭 主从架构 🔄 请求响应模式 2. Modbus RTU详解 2.1 RTU是什么? 2.2 RTU物理层 🔌 连接方式 ⚡ 通信参数 2.3 RTU数据帧格式 📦 帧结构详解 🔍…...