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

Zabbix 6 详细安装部署教程

目录

一、安装 MySQL 数据库

二、安装 zabbix 监控平台

三、编辑配置文件 

四、启动服务 

五、zabbix-web 安装

zabbix web 出图展示乱码问题解决方案 


 

        zabbix 的安装部署非常简单,官方提供了四种安装途径,分别是二进制 rpm 包安装方式、源码安装方式、容器安装方式和虚拟机镜像安装方式。本次使用 dnf 在线进行安装的方式。

        Zabbix web 端是基于 HTTP 服务器和 PHP 脚本语言进行构建的,HTTP 服务器可以是 nginx或 apache,zabbix 的数据存储支持多种数据库,可以是 MySQL、Oracle、PostgreSQL、SQLite等,这里我们选择 MySQL 数据库作为后端存储。

虚拟机安装环境介绍:

  • 操作系统:Centos 8 Stream
  • 数据库:MySQL 8.0.32
  • Zabbix:Zabbix 6.4

注意:Centos 7 及以下版本不支持 yum 在线安装 zabbix 6 的 web 服务了(zabbix-nginx-conf),只能手动部署 Nginx 和 PHP,所以为了方便快捷本次使用 Centos 8 及以上版本部署 Zabbix 6.4 

一、安装 MySQL 数据库

        这里使用目前 MySQL 8.0.32 版本(下载地址:MySQL :: Download MySQL Community Server (Archived Versions)),采用 MySQL 官方发布的二进制版本进行安装,下载后的二进制版本名称大致为 mysql-8.0.32-linux-glibc2.12-x86_64.tar.xz,下面是安装 MySQL 的过程: 

#1. 解压安装
[root@zabbix ~]# ls
anaconda-ks.cfg  mysql-8.0.32-linux-glibc2.12-x86_64.tar.xz
[root@zabbix ~]# xz -d mysql-8.0.32-linux-glibc2.12-x86_64.tar.xz 
[root@zabbix ~]# tar -xvf mysql-8.0.32-linux-glibc2.12-x86_64.tar -C /usr/local/
[root@zabbix ~]# cd /usr/local/
[root@zabbix /usr/local]# mv mysql-8.0.32-linux-glibc2.12-x86_64 mysql
[root@zabbix /usr/local]# cd mysql/#2. 创建 mysql 用户
[root@zabbix /usr/local/mysql]# useradd mysql#3. 创建 my.cnf 配置文件
[root@zabbix /usr/local/mysql]# mkdir etc logs data
[root@zabbix /usr/local/mysql]# ls
bin  data  docs  etc  include  lib  LICENSE  logs  man  README  share  support-files
[root@zabbix /usr/local/mysql]# rm -f /etc/my.cnf
[root@zabbix /usr/local/mysql]# vim etc/my.cnf
[mysqld]
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
log-error=/usr/local/mysql/logs/mysqld.log
pid-file=/usr/local/mysql/logs/mysqld.pid#4. 更改目录权限
[root@zabbix /usr/local/mysql]# chown -R mysql:mysql /usr/local/mysql#5. 启动 mysql 服务
[root@zabbix /usr/local/mysql]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
[root@zabbix /usr/local/mysql]# /usr/local/mysql/support-files/mysql.server start
Starting MySQL.... SUCCESS! 

        Mysql 启动成功后,需要重置 root 密码,临时密码在上面定义的 mysql 日志文件 /usr/local/mysql/logs/mysqld.log 中可以查到:

[root@zabbix /usr/local/mysql]# tail -100 logs/mysqld.log 

登录 mysql 命令行,并重置密码,执行如下 SQL 命令: 

[root@zabbix /usr/local/mysql]# /usr/local/mysql/bin/mysql -uroot -p
Enter password: # 输入临时密码
mysql> alter user 'root'@'localhost' identified by 'abc123456';
mysql> exit

        如果当你在命令行登录 mysql 的时候,由于二进制版本发布环境的不同,可能会出现依赖库文件问题,下面是错误信息: 

[root@zabbix_server /usr/local/mysql]# /usr/local/mysql/bin/mysql -uroot -p
/usr/local/mysql/bin/mysql: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory

这就是二进制文件编译环境不同导致的,解决方法如下:

[root@zabbix_server /usr/local/mysql]# find / -name "libtinfo.so*"
/usr/lib64/libtinfo.so.6
/usr/lib64/libtinfo.so.6.1
/usr/lib64/libtinfo.so[root@zabbix_server /usr/local/mysql]# ll /usr/lib64/libtinfo.so.6
lrwxrwxrwx 1 root root 15 6月   1 2021 /usr/lib64/libtinfo.so.6 -> libtinfo.so.6.1[root@zabbix_server /usr/local/mysql]# ln -s /usr/lib64/libtinfo.so.6.1  /usr/lib64/libtinfo.so.5[root@zabbix_server /usr/local/mysql]# ll /usr/lib64/libtinfo.so.5
lrwxrwxrwx 1 root root 26 11月 28 16:46 /usr/lib64/libtinfo.so.5 -> /usr/lib64/libtinfo.so.6.1

做完软连接之后,就可以顺利登陆 mysql 命令行了。至此,MySQL 部署完成。

二、安装 zabbix 监控平台

参考官方安装文档:下载Zabbix

首先,下载 zabbix 的安装源,执行如下命令: 

[root@zabbix ~]# rpm -Uvh https://repo.zabbix.com/zabbix/6.4/rhel/8/x86_64/zabbix-release-6.4-1.el8.noarch.rpm
[root@zabbix ~]# dnf clean all 
[root@zabbix ~]# dnf module switch-to php:7.4 

接着开始安装 Zabbix server、Web 前端、agent:

[root@zabbix ~]# dnf install -y zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent

然后,创建初始数据库,在数据库主机上运行以下代码:

[root@zabbix ~]# /usr/local/mysql/bin/mysql -uroot -p
Enter password: 
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
mysql> create user zabbix@localhost identified by 'zabbix';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> set global log_bin_trust_function_creators = 1;
mysql> quit;

导入初始架构和数据,系统将提示您输入新创建 zabbix 用户的密码:

[root@zabbix ~]# zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | /usr/local/mysql/bin/mysql --default-character-set=utf8mb4 -uzabbix -p zabbix
Enter password:

导入数据库模式后禁用 log_bin_trust_function_creators 选项:

[root@zabbix_server ~]# /usr/local/mysql/bin/mysql -uroot -p
mysql> set global log_bin_trust_function_creators = 0;
mysql> quit

三、编辑配置文件 

首先为 Zabbix server 配置数据库,编辑配置文件 /etc/zabbix/zabbix_server.conf 信息如下: 

[root@zabbix ~]# vim /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBPassword=zabbix
DBSocket=/tmp/mysql.sock
ListenIP=0.0.0.0

        然后是在 zabbix web 配置中,编辑配置文件 /etc/nginx/conf.d/zabbix.conf,去掉下面两行的注释: 

[root@zabbix_server ~]# vim /etc/nginx/conf.d/zabbix.conf listen          8080;server_name     example.com;

至此,zabbix 安装和基础配置完成。

zabbix-server 的配置文件中,除了上面给出的配置参数,还需要关注如下几个配置项:

    ListenPort=10051LogFile=/var/log/zabbix/zabbix_server.logDBHost=localhostDBName=zabbix DBUser=zabbix DBPassword=zabbix ListenIP=0.0.0.0StartPollers=5StartTrappers=10StartDiscoverers=10AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts
  • ListenPort 是 zabbix server 默认监听端口,LogFile 用来指定 zabbix server 日志输出路径,DBHost 为数据库的地址,如果数据库在本机,可不做修改,DBName 为数据库名称,DBUser 为连接数据库的用户名,DBPassword 为连接数据量对应的用户密码。ListenIP 为zabbix server 监听的 IP 地址,也就是 zabbix server 启动的监听端口对哪些 ip 开放,Agentd为主动模式时,这个值建议设置为 0.0.0.0。

  • StartPollers 用于设置 zabbix serve 服务启动时启动 Pollers(主动收集数据进程)的数量,数量越多,则服务端吞吐能力越强,同时对系统资源消耗越大。

  • StartTrappers 用于设置 zabbix server 服务启动时启动 Trappers(负责处理 Agentd 推送过来的数据的进程)的数量。Agentd 为主动模式时,zabbix server 需要设置这个值大一些。

  • StartDiscoverers 用于设置 zabbix server 服务启动时启动 Discoverers 进程的数量,如果 zabbix 监控报 Discoverers 进程忙时,需要提高该值。

  • AlertScriptsPath 用来配置 zabbix server 运行脚本存放目录,一些供 zabbix server 使用的脚本,都可以放在这里。

四、启动服务 

启动 Zabbix server 和 agent 进程,并为它们设置开机自启: 

[root@zabbix_server ~]# systemctl restart zabbix-server zabbix-agent nginx php-fpm
[root@zabbix_server ~]# systemctl enable zabbix-server zabbix-agent nginx php-fpm

五、zabbix-web 安装

访问 http://ip:8080 端口,即可访问 zabbix 的 web 界面。

选择简体中文:
配置数据库连接:
设置时区:
登录 zabbix,默认账号 Admin(注意是大写的 A),密码 zabbix:

仪表盘界面:

zabbix web 出图展示乱码问题解决方案 

安装完成后,在出图界面,会无法显示汉字,如下图所示:

因此,还需要修正字体,zabbix出图界面对应的字体文件在 /usr/share/zabbix/assets/fonts 目录下,默认是 graphfont.ttf 文件,但此文件在 almalinux9 下是不存在的,所以出图界面中文无法显示,解决的方法是:下载需要的中文字体文件,然后拷贝到 /usr/share/zabbix/assets/fonts 目录下,重命名为 graphfont.ttf 即可。 

        我们可以从本地 windows 电脑中拷贝出字体文件,拷贝的目录为 C:\Windows\Fonts,找到 Microsoft YaHei UI 文件:

[root@zabbix_server ~]# cd /usr/share/zabbix/assets/fonts
[root@zabbix_server /usr/share/zabbix/assets/fonts]# mv graphfont.ttf graphfont.ttf.backup
[root@zabbix_server /usr/share/zabbix/assets/fonts]# ls
graphfont.ttf.backup  msyh.ttc
[root@zabbix_server /usr/share/zabbix/assets/fonts]# mv msyh.ttc graphfont.ttf
[root@zabbix_server /usr/share/zabbix/assets/fonts]# ls
graphfont.ttf  graphfont.ttf.backup

重新刷新 zabbix 界面即可:

至此,zabbix 监控平台安装完成。 

上一篇文章:Zabbix 6.0 详细基础介绍-CSDN博客 

相关文章:

Zabbix 6 详细安装部署教程

目录 一、安装 MySQL 数据库 二、安装 zabbix 监控平台 三、编辑配置文件 四、启动服务 五、zabbix-web 安装 zabbix web 出图展示乱码问题解决方案 zabbix 的安装部署非常简单,官方提供了四种安装途径,分别是二进制 rpm 包安装方式、源码安装方…...

如何设置带有密码的excel只读模式?

Excel只读模式大家都不陌生,那大家知道带有密码的只读模式吗?今天给大家分享如何设置带有密码的只读模式。 打开excel文件,将文件进行【另存为】设置,然后停留在保存路径的界面中,我们点击下面的工具 – 常规选项 在常…...

企业人力资源公司抖音直播招聘断播怎么处理?

企业人力资源公司抖音直播招聘断播怎么处理? 最直接的处理方式就是进行抖音直播招聘报白,报白后在直播和视频中发布招聘和企业信息,不用担心被封禁和限制流量。 可以通过抖音直播进行招聘,也可以在视频中添加小程序,…...

数据治理与数据入表、数据交易有什么关系?

数据作为关键生产要素,其乘数效应的发挥离不开数据要素保有量的丰富程度、数据要素市场的发展成熟度以及数据要素应用路径的清晰度。财政部2023年8月21日发布了《企业数据资源相关会计处理暂行规定》,标志着企业数据资源入表迈出了0到1的关键一步。 与此…...

GitHub 2023排名前十的最佳开源项目

开源软件(OSS)彻底改变了当今软件开发的方式。在数百万个开源GitHub项目中,要找到最适合需求的开源项目可能会让人不知所措。 今天给大家列出2023年增长最快的前10个开源GitHub仓库。通过这些增长最快的开源项目,也可以从整体上了…...

抖音视频如何无水印下载,怎么批量保存主页所有视频没水印?

现在最火的短视频平台莫过于抖音,当我们刷到一个视频想下载下来怎么办?我们知道可以通过保存到相册的方式下载,但用这种方法下载的视频带有水印,而且有些视频不能保存到相册(这是视频作者设置了禁止下载)。…...

淘宝详情API接口:一键获取商品信息的实践探索

一、引言 淘宝作为中国最大的电商平台,拥有庞大的商品信息库。为了更好地利用这些数据,开发者可以通过淘宝提供的API接口来获取商品详情。本文将深入探讨如何使用淘宝详情API接口一键获取商品信息,通过实践操作和代码示例,带领读…...

在线陪诊系统: 医学科技的革新之路

医疗服务的数字化时代已经到来,而在线陪诊系统正是医学科技革新的杰出代表。通过巧妙的技术代码,这一系统不仅实现了患者和医生之间的远程互动,还将医疗服务推向了一个更加智能化的未来。在这篇文章中,我们将深入探讨在线陪诊系统…...

2. 两数相加

给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这两个数都不会以 0 …...

自研基于Xilinx PCIe的高性能多路视频采集与显示控制器

1 概述 视频采集与显示子系统可以实时采集多路视频信号,并存储到视频采集队列中,借助高效的硬实时视频帧出入队列管理和PCIe C2H DMA引擎,将采集到的视频帧实时传递到上位机采集缓冲区。在超带宽视频采集情况下,支持采集丢帧操作…...

网络安全小白自学

一、网络安全应该怎么学? 1.计算机基础需要过关 这一步跟网安关系暂时不大,是进入it行业每个人都必须掌握的基础能力。 计算机网络计算机操作系统算法与数据架构数据库 Tips:不用非要钻研至非常精通,可以与学习其他课程同步进行。 2.渗透技…...

sprintboot快速初始化【Springboot】

1.首先选择创建项目 2.填写对应的项目信息 一定要勾选maven,否则没有pom文件,选择next 3.选择应用场景 点击 create,DIEA就会根据你的选择自动创建项目骨架; 4.创建一个控制层 随便创建一个控制层,测试一下项目是否…...

数据库系统概述之国产数据库

当今世界,数据已成为重要的生产要素,数据库管理系统更是广泛应用于信息化行业各领域,国内数据库产业能否健康可持续的发展,在很大程度上影响着国民经济发展和网络空间安全。 当前,国产数据库行业竞争非常激烈&#xf…...

法线制作神器crazybump 和 Normal Map Generator

UE4系列文章目录 文章目录 UE4系列文章目录前言一、crazybump是什么?二、Normal Map Generator是什么? 前言 我们在使用UE4、UE5制作材质时,经常会遇到使用法线图。使用深度图生成法线图,一般会使用photoShop等软件,对…...

【Linux下基本指令——(1)】

Linux下基本指令——(1) 一. ls 指令1.1.语法:1.2.功能:1.3.常用选项:1.4.举例:1.5.Xshell7展示 二. pwd 命令2.1.语法: 2.2.功能:2.3.常用选项:2.4.Xshell7展示 三. cd 指令3.1.语法…...

Linux下基于MPI的hello程序设计

Linux下基于MPI的hello程序设计 一、MPICH并行计算库安装实验环境部署创建SSH信任连接,实现免密钥互相连接node1安装MPICH 3.4配置NFS注意(一定要先看)环境测试 二、HELLO WORLD并行程序设计 一、MPICH并行计算库安装 在Linux环境下安装MPICH执行环境,配…...

Python爬虫404错误:解决方案总结

在进行网络爬虫开发的过程中,经常会遇到HTTP 404错误,即“Not Found”错误。这种错误通常表示所请求的资源不存在。对于爬虫开发者来说,处理这类错误是至关重要的,因为它们可能会导致爬虫无法正常工作。本文将探讨Python爬虫遇到4…...

ICC2/innovus设置no 1x gap的方法

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧? 拾陆楼知识星球入口 ICC2设置no 1x的方法如下: 1) set_placement_spacing_label -name X -lib_cells {*} -side right set_placement_spacing_label -name Y -lib_cells {*} -side left 2) set_placement_spacing_rul…...

如果每天工资按代码行数来算,来看看你每天工资是多少

说在前面 😼😼如果每天的工资取决于我们所编写的代码行数,那么我们的生活会发生怎样的改变?来看看你的同事们今天都提交了多少代码吧,看看谁是卷王,谁在摸鱼(🐶🐶狗头保命…...

TrueLicense实现授权管理

1、生成前准备 在生成授权文件前,首先需要密钥对插入:密钥对分为公钥与私钥,私钥需要本地储存不泄露,公钥需要对外提供;私钥内部包含证书,对于授权文件进行数字签名,相当于加密的步骤&#xff0…...

golang循环变量捕获问题​​

在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - ​​循环变量捕获问题​​。让我详细解释一下: 问题背景 看这个代码片段: fo…...

微信小程序 - 手机震动

一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注&#xff1a;文档 https://developers.weixin.qq…...

基础测试工具使用经验

背景 vtune&#xff0c;perf, nsight system等基础测试工具&#xff0c;都是用过的&#xff0c;但是没有记录&#xff0c;都逐渐忘了。所以写这篇博客总结记录一下&#xff0c;只要以后发现新的用法&#xff0c;就记得来编辑补充一下 perf 比较基础的用法&#xff1a; 先改这…...

oracle与MySQL数据库之间数据同步的技术要点

Oracle与MySQL数据库之间的数据同步是一个涉及多个技术要点的复杂任务。由于Oracle和MySQL的架构差异&#xff0c;它们的数据同步要求既要保持数据的准确性和一致性&#xff0c;又要处理好性能问题。以下是一些主要的技术要点&#xff1a; 数据结构差异 数据类型差异&#xff…...

2021-03-15 iview一些问题

1.iview 在使用tree组件时&#xff0c;发现没有set类的方法&#xff0c;只有get&#xff0c;那么要改变tree值&#xff0c;只能遍历treeData&#xff0c;递归修改treeData的checked&#xff0c;发现无法更改&#xff0c;原因在于check模式下&#xff0c;子元素的勾选状态跟父节…...

智能仓储的未来:自动化、AI与数据分析如何重塑物流中心

当仓库学会“思考”&#xff0c;物流的终极形态正在诞生 想象这样的场景&#xff1a; 凌晨3点&#xff0c;某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径&#xff1b;AI视觉系统在0.1秒内扫描包裹信息&#xff1b;数字孪生平台正模拟次日峰值流量压力…...

C/C++ 中附加包含目录、附加库目录与附加依赖项详解

在 C/C 编程的编译和链接过程中&#xff0c;附加包含目录、附加库目录和附加依赖项是三个至关重要的设置&#xff0c;它们相互配合&#xff0c;确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中&#xff0c;这些概念容易让人混淆&#xff0c;但深入理解它们的作用和联…...

车载诊断架构 --- ZEVonUDS(J1979-3)简介第一篇

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 做到欲望极简,了解自己的真实欲望,不受外在潮流的影响,不盲从,不跟风。把自己的精力全部用在自己。一是去掉多余,凡事找规律,基础是诚信;二是…...

leetcode73-矩阵置零

leetcode 73 思路 记录 0 元素的位置&#xff1a;遍历整个矩阵&#xff0c;找出所有值为 0 的元素&#xff0c;并将它们的坐标记录在数组zeroPosition中置零操作&#xff1a;遍历记录的所有 0 元素位置&#xff0c;将每个位置对应的行和列的所有元素置为 0 具体步骤 初始化…...

游戏开发中常见的战斗数值英文缩写对照表

游戏开发中常见的战斗数值英文缩写对照表 基础属性&#xff08;Basic Attributes&#xff09; 缩写英文全称中文释义常见使用场景HPHit Points / Health Points生命值角色生存状态MPMana Points / Magic Points魔法值技能释放资源SPStamina Points体力值动作消耗资源APAction…...