Rocky Linux 9.4 部署Zabbix 7.0

news2024/11/15 8:49:59

文章目录

  • Zabbix基本概念
    • zabbix介绍
    • zabbix特性
    • zabbix结构
  • 安装Zabbix
    • 主机名配置
    • 配置Zabbix-Server
      • (1)禁用EPEL提供的Zabbix软件包
      • (2)安装Zabbix Server、Web前端、Agent
      • (3)创建初始数据库
      • (4)Zabbix server配置数据库
      • (5)为Zabbix前端配置PHP
      • (6)启动Zabbix server和agent进程
      • (7)放行端口
      • (8)浏览器访问
      • (9)配置zabbix
    • 配置Zabbix-agent
      • (1)配置zabbix仓库
      • (2)下载Zabbix Agent
      • (3)修改Zabbix Agent配置文件
      • (4)启动Zabbix agent进程
      • (5)放行端口
      • (6)登陆zabbix监控平台添加主机
    • 一些问题
      • 乱码
      • 不能选中文

Zabbix基本概念

zabbix官方文档

zabbix介绍

下图来自百度百科

image-20230723075025732

用通俗易懂的话来说,Zabbix是一个监控系统,它可以帮助我们实时检查设备的状态,比如服务器、网络设备等。当设备出现问题时,它会及时通知我们,让我们可以采取措施来解决。同时,它还可以把收集到的数据转化成图表和报告,让我们更直观地了解设备的运行情况

zabbix特性

数据采集:Zabbix Agent方式会定期收集设备的各种指标数据,比如CPU使用率、内存占用、网络流量等。这些数据会被Zabbix Server主动获取。

触发检测告警:Zabbix会根据我们事先设定的阈值和触发条件,对采集到的数据进行检测。如果某个指标超过了阈值或满足了触发条件,Zabbix会触发一个告警。Zabbix会根据事先设置的通知方式,比如邮件、短信等,通知相关的人员或团队。这样我们可以及时知道设备出现了问题。

数据存储:Zabbix将采集到的数据存储在数据库中

数据展示:Zabbix提供了丰富的可视化功能,可以将采集到的数据转化成各种图表和报表。这样我们可以直观地了解设备的运行状态和趋势。

zabbix结构

image-20240612002113555

Zabbix-server:收集监控数据,计算是否满足触发条件,向用户发送通知

Zabbix-database:所有配置信息和Zabbix收集到的数据都被存储在数据库中

Zabbix-Web:为了在任何地方和任何平台都能轻松地访问Zabbix,Zabbix提供了基于Web的界面。该界面是

Zabbix Server的一部分,通常跟Zabbix Server运行在同一台物理机器上。

Zabbix-proxy:Zabbix Proxy可以替Zabbix Server收集性能和可用性数据。Proxy代理服务器是Zabbix 软件可选择部署的一部分。当然,Proxy代理服务器可以帮助单台Zabbix Server分担负载压力。

Zabbix-agent:Zabbix Agents监控代理部署在监控目标上,主动监控本地资源和应用(硬件驱动,内存等)

安装Zabbix

节点规划

IP主机名节点操作系统
192.168.200.10zabbix-serverServer节点Rocky Linux 9
192.168.200.20zabbix-agentAgent节点Centos 7.9.2009

主机名配置

一台server节点一台agent节点

[root@localhost ~]# hostnamectl set-hostname zabbix-server
[root@localhost ~]# bash
[root@zabbix-server ~]# 

[root@localhost ~]# hostnamectl set-hostname zabbix-agent
[root@localhost ~]# bash
[root@zabbix-agent ~]# 

配置Zabbix-Server

配置server的YUM源我这里使用的是Rocky Linux 9操作系统,访问官网页面,选择zabbix版本、操作系统、操作系统版本、zabbix组件、数据库和Web服务器

如下图zabbix官方下载说明页面

image-20240611221239552

选择好后第二步就是安装,官方文档也有详细的说明安装步骤,以下配置均参考官方文档

(1)禁用EPEL提供的Zabbix软件包

编辑配置文件 /etc/yum.repos.d/epel.repo 并添加以下语句

[epel]
...
excludepkgs=zabbix*

安装所需版本的zabbix仓库

rpm -Uvh https://repo.zabbix.com/zabbix/7.0/rocky/9/x86_64/zabbix-release-7.0-2.el9.noarch.rpm && yum clean all

查看一下里面的内容,可以看到连接的是官方镜像仓库,有可能因为我们网络不给力可能会下载不了,所以我们更改为阿里云的镜像仓库

vim /etc/yum.repos.d/zabbix.repo 

image-20240611225051557

# 修改完后内容如下
[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/7.0/rocky/9/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-B5333005

[zabbix-non-supported]
name=Zabbix Official Repository non-supported - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/non-supported/rhel/9/$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-08EFA7DD
gpgcheck=1

[zabbix-sources]
name=Zabbix Official Repository source code - $basearch
baseurl=https://repo.zabbix.com/zabbix/7.0/rocky/9/SRPMS
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-B5333005
gpgcheck=1

(2)安装Zabbix Server、Web前端、Agent

yum install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent -y

(3)创建初始数据库

zabbix文档没有写这一步,他只做了简单提醒让启动并运行数据库服务器

安装数据库

yum install -y mariadb  mariadb-server

启动mariadb

systemctl enable mariadb --now

初始化mariadb数据库

[root@zabbix-server ~]# mysql_secure_installation # 初始化脚本

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
haven't set the root password yet, you should just press enter here.

Enter current password for root (enter for none):  # 按回车设置或更改root用户的密码
OK, successfully used password, moving on...

Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.

You already have your root account protected, so you can safely answer 'n'.

Switch to unix_socket authentication [Y/n] y  # 切换到unix_socket身份验证
Enabled successfully!
Reloading privilege tables..
 ... Success!


You already have your root account protected, so you can safely answer 'n'.

Change the root password? [Y/n] y # 更改root密码
New password: 
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y # 删除匿名用户
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] n  # 限制root远程登录
 ... skipping.

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y # 删除测试数据库和访问权限
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y  # 重新加载权限表
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

在数据库上运行以下代码

# 登陆数据库
mysql -uroot -p
# 创建名为zabbix的数据库,并设置字符集为utf8mb4,排序规则为utf8mb4_bin
create database zabbix character set utf8mb4 collate utf8mb4_bin;
# 创建名为zabbix的用户,并设置其密码为'000000'
create user zabbix@localhost identified by '000000';
# 授予zabbix用户在zabbix数据库上的所有权限
grant all privileges on zabbix.* to zabbix@localhost;
# 设置全局变量log_bin_trust_function_creators为1
set global log_bin_trust_function_creators = 1;
# 退出MariaDB
quit;

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

zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix

导入数据库架构后禁用log_bin_trust_function_creators选项

# 登陆mysql
mysql -uroot -p
# 设置全局变量log_bin_trust_function_creators为0
set global log_bin_trust_function_creators = 0;
# 退出MariaDB
quit;

(4)Zabbix server配置数据库

编辑配置文件 /etc/zabbix/zabbix_server.conf

DBPassword=password  # zabbix数据库密码

(5)为Zabbix前端配置PHP

编辑配置文件 /etc/nginx/conf.d/zabbix.conf 取消注释并设置“listen”和“server_name”指令。

# listen 8080;
# server_name example.com;

(6)启动Zabbix server和agent进程

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

systemctl enable zabbix-server zabbix-agent nginx php-fpm --now

(7)放行端口

放行80(nginx),8080(zabbix自定义端口),10050(agent端口),3306(数据库端口)

firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --add-port=10050/tcp --permanent
firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --add-port=3306/tcp --permanent
firewall-cmd --reload

(8)浏览器访问

http://本机IP:8080/setup.php

(9)配置zabbix

  1. 选择语言

image-20240611233939374

  1. 检查必要条件,默认下一步

image-20240611234115475

  1. 配置数据库连接

image-20240611234336130

  1. 设置zabbix主机名称、时区、主题

image-20240611234735865

  1. 安装前汇总

image-20240611234759958

  1. 完成安装

image-20240611234818154

  1. 登陆,默认用户名Admin密码zabbix

image-20240611234856223

image-20240611234953888

配置Zabbix-agent

在官网选择zabbix服务平台

image-20240611235232086

(1)配置zabbix仓库

rpm -Uvh https://repo.zabbix.com/zabbix/7.0/rhel/7/x86_64/zabbix-release-7.0-1.el7.noarch.rpm && yum clean all

还是一样,修改仓库地址为阿里云镜像仓库

vim /etc/yum.repos.d/zabbix.repo 
# 修改完后的内容如下
[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/7.0/rhel/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-B5333005

[zabbix-non-supported]
name=Zabbix Official Repository non-supported - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/non-supported/rhel/7/$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=1

[zabbix-debuginfo]
name=Zabbix Official Repository debuginfo - $basearch
baseurl=https://repo.zabbix.com/zabbix/7.0/rhel/7/$basearch/debuginfo/
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-B5333005
gpgcheck=1

[zabbix-sources]
name=Zabbix Official Repository source code - $basearch
baseurl=https://repo.zabbix.com/zabbix/7.0/rhel/7/SRPMS
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-B5333005
gpgcheck=1

(2)下载Zabbix Agent

yum install -y zabbix-agent

(3)修改Zabbix Agent配置文件

vim /etc/zabbix/zabbix_agentd.conf 
# 修改如下内容
Server=zabbix-server IP        # 这里写Zabbix-server 节点的IP(被动监控)
ServerActive=zabbix-server IP  # 这里写Zabbix-server 节点的IP(主动监控)
Hostname=zabbix-agent          # 被监控的主机名

(4)启动Zabbix agent进程

systemctl enable zabbix-agent --now

(5)放行端口

# 放行10050端口
firewall-cmd --add-port=10050/tcp --permanent
firewall-cmd --reload

(6)登陆zabbix监控平台添加主机

左侧栏 >> 数据采集 >> 主机 >> 创建主机(右上角)

image-20240612000830359

添加完后查看zabbix-server节点的日志文件

image-20240612001024802

启动成功,再次刷新zabbix页面,可用性已经变为绿色了

image-20240612001112224

一些问题

乱码

在zabbix服务端找到defines.inc.php文件;找不到的可以使用find 方法查找

find / -name defines.inc.php

找到这个目录进入,这里需要修改两处地方

vim /usr/share/zabbix/include/defines.inc.php
#修改两处地方;
#修改一:可以查找到这个单词“ZBX_GRAPH_FONT_NAME”,默认应该是在72行;
原:define('ZBX_GRAPH_FONT_NAME',           'graphfont'); // font file name
改为:define('ZBX_GRAPH_FONT_NAME',           'zabbix'); // font file name

#修改二:可以查找到这个单词“ZBX_FONT_NAME”,默认应该是在113行;
原:define('ZBX_FONT_NAME', 'graphfont');
改为:define('ZBX_FONT_NAME', 'zabbix');

将Windows的字体上传到服务器上并放到指定目录

首先我们现在windows上找到存放字体的地方,默认的位置在 C:\Windows\Fonts 目录下;
找到之后我们可以找出自己想要的字体,但是为了能看懂还是选择中文较好;

image-20240612005112822

上传至服务器上,这个一般就存放到 /usr/share/zabbix/assets/fonts/ 目录下

mv /root/simkai.ttf /usr/share/zabbix/assets/fonts/zabbix.ttf
# 重启服务
systemctl restart zabbix-server.service

image-20240612005337263

不能选中文

安装zh_CN语言包

dnf install langpacks-zh_CN.noarch

安装glibc-common实现对语言包的识别

dnf reinstall glibc-common

测试安装是否成功,如果看到zh_CN语言已安装,则表示成功

locale -a | grep zh_CN

安装完成后,回到web页面刷新,可以看到中文语言已可以选中

上述内容参考:

解决Zabbix 5.0不能选择中文和中文乱码问题 - 不羁的罗恩 - 博客园 (cnblogs.com)

Zabbix下载安装页面官方文档

【zabbix】解决zabbix在web页面显示中文乱码问题_zabbix网页乱码-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1813750.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Windows电脑清理C盘内存空间

ps:过程截图放在篇末 一、%tmp%文件 win R键呼出运行窗口,输入 %tmp% 自动进入tmp文件夹,ctrl A全选删除 遇到权限不足,正在运行,丢失的文件直接跳过即可 二、AppData文件夹 1、pipcache 在下列路径下面&…

Amortized bootstrapping via Automorphisms

参考文献: [MS18] Micciancio D, Sorrell J. Ring packing and amortized FHEW bootstrapping. ICALP 2018: 100:1-100:14.[GPV23] Guimares A, Pereira H V L, Van Leeuwen B. Amortized bootstrapping revisited: Simpler, asymptotically-faster, implemented. …

代理设计模式之JDK动态代理CGLIB动态代理原理与源码剖析

代理设计模式 代理模式(Proxy),为其它对象提供一种代理以控制对这个对象的访问。如下图 从上面的类图可以看出,通过代理模式,客户端访问接口时的实例实际上是Proxy对象,Proxy对象持有RealSubject的引用,这样一来Proxy在可以在实际执行RealSubject前后做一些操作,相当于…

MTK烧录USB驱动下载

下载链接 https://www.catalog.update.microsoft.com/Search.aspx?qMediaTek%20USB%20Port 驱动安装教程 https://miuiver.com/install-official-mediatek-driver/

中科数安 |-公司办公透明加密系统,数据防泄漏软件

#数据防泄漏软件# 中科数安是一家专注于提供企业级数据防泄漏解决方案的公司,其办公透明加密系统是专为保护企业内部核心数据资料设计的。 PC地址:——www.weaem.com 该系统通过以下主要功能模块实现高效的安全防护: 文档透明加密&#xff1…

惠州惠城:可燃气体报警器定期校准检测,安全更放心

在惠州惠城这片繁华的土地上,工业发展日新月异,安全问题愈发受到重视。其中,可燃气体报警器作为预防火灾和爆炸事故的重要设备,正在越来越多的场所得到应用。 今天,佰德就来探讨一下可燃气体报警器在惠州惠城的重要性…

PV 操作

PV 操作是一种实现进程 互斥 与 同步 的有效方法。PV 操作与信号量的处理相关,P 表示 passeren 通过的意思,V 表示 vrijgeven 释放的意思. 包含在 1965 年, 由荷兰人 Dijkstra 提出的信号量机制; (同是 银行家算法 和 最短路径算法 的提出者) 术语: sema…

Pytorch 实现简单的 线性回归 算法

Pytorch实现简单的线性回归算法 简单 tensor的运算 Pytorch涉及的基本数据类型是tensor(张量)和Autograd(自动微分变量) import torch x torch.rand(5, 3) #产生一个5*3的tensor,在 [0,1) 之间随机取值 y torch.o…

ATFX汇市:非农数据超预期靓丽,美指重新站上105关口

ATFX汇市:6月7日,美国劳工统计局公布5月份非农就业报告,其中提到:5月份增加了27.2万个岗位,大幅高于前值16.5万人,数据超预期靓丽;几个行业的就业人数继续呈上升趋势,其中医疗领域增…

操作系统 c语言模仿 磁盘文件操作

1.实验目的 深入了解磁盘文件系统的实现。 2.实验预备知识 文件的操作; 文件的逻辑结构和物理结构; 磁盘空间的管理; 磁盘目录结构。 3.实验内容 设计一个简单的文件系统,用文件模拟磁盘&…

springboot+vue前后端分离项目中使用jwt实现登录认证

文章目录 一、后端代码1.响应工具类2.jwt工具类3.登录用户实体类4.登录接口5.测试接口6.过滤器7.启动类 二、前端代码1.登录页index 页面 三、效果展示 一、后端代码 1.响应工具类 package com.etime.util;import com.etime.vo.ResponseModel; import com.fasterxml.jackson.…

RAG核心算法

一、分块与向量化 首先,我们的目标是创建一个向量索引,用以代表我们文档的内容,然后在运行时寻找所有这些向量与查询向量之间的最小余弦距离,以匹配最接近的语义含义。 1、分块 由于 Transformer 模型具有固定的输入序列长度,即便输入上下文窗口很大,一个句子或几个句…

【全网最有效,保姆级教程】KEPServerEX 6下载安装解决时长问题

1、下载KEPServer KEPServerEX 6下载链接(为了防止版本不兼容,一定要使用下面链接里面的版本!): https://pan.baidu.com/s/19pAXzhWa5nxduU3mi1V4Nw?pwd1234 提取码:1234 2、安装KEPServer 基本上都是默认下一步,选择中文&…

python中用列表实现栈

【小白从小学Python、C、Java】 【考研初试复试毕业设计】 【Python基础AI数据分析】 python中用列表实现栈 选择题 以下代码最后一次输出的结果是? stack [] stack.append(1) stack.append(2) stack.append(3) print(【显示】stack ,stack) print(【显示】stack.…

SpringCloud 前端-网关-微服务-微服务间实现信息共享传递

目录 1 网关获取用户校验信息并保存至请求头(前端-网关) 2 微服务获取网关中的用户校验信息(网关-微服务) 2.1 一般的做法是在公共的module中添加,此处示例为common 公共配置module中添加 2.2 定义拦截器 2.3 定义…

C++|哈希结构封装unordered_set和unordered_map

上一篇章,学习了unordered系列容器的使用,以及哈希结构,那么这一篇章将通过哈希结构来封装unordered系列容器,来进一步的学习他们的使用以及理解为何是如此使用。其实,哈希表的封装方式和红黑树的封装方式形式上是差不…

鸿蒙低代码开发的局限性

在版本是DevEco Studio 3.1.1 Release,SDK是3.1.0(API9) 的基础上。 1、低代码插件没有WebView组件。 2、低代码插件没有空白的自定义组件,当前提供的所谓自定义组件,只能用列表中提供的组件来拼接新的组件。 3、使用ets代码自定义的组件&…

JVM 常量池汇总

Tips JVM常量池分为静态常量池和运行时常量池,因为Jdk1.7后字符串常量池从运行时常量池存储位置剥离,故很多博客也是区分开来,存储位置和内容注意区别! 字符串常量池底层是由C实现,是一个类似于HashTable的数据结构&am…

Spring 中使用MyBatis

一、Mybatis 的作用 1、MyBatis(前身为iBatis)是一个开源的Java持久层框架,它主要用于与数据库交互,帮助开发者更轻松地进行数据库操作。 持久层:指的是就是数据访问层(dao),是用来操作数据库的。 2、MyB…

Filament 【表单操作】修改密码

场景描述: 新增管理员信息时需要填写密码,修改管理员信息时密码可以为空(不修改密码),此时表单中密码输入有冲突,需要对表单中密码字段进项条件性的判断,使字段在 create 操作时为必需填写&…