性能监控利器:Ubuntu 22.04 上的 Zabbix 安装与配置指南

embedded/2024/11/24 16:30:52/

简介

今天我们来聊聊如何在 Ubuntu 22.04 上安装和配置 Zabbix。我们会用到 PostgreSQL 作为数据库后端,Nginx 作为 Web 服务器,并用 Let’s Encrypt SSL 证书来保驾护航。

什么是 Zabbix?

Zabbix 是一个开源的网络监控和管理解决方案,专门用来监控网络、服务器、应用程序和服务的性能和可用性。它功能强大,支持实时监控、告警和可视化指标,帮助你深入了解 IT 基础设施的健康状况和性能。

image.png

接下来,我将一步一步教大家如何进行安装和部署!!

准备工作

服务器准备

必要前提:

  • 一个充满求知欲的大脑。
  • 一台 Linux 服务器(推荐腾讯云、阿里云或雨云等)。

我将以 雨云 为例,带大家创建一台自己的云服务器,以便学习本篇文章的内容。

注册链接: https://rainyun.ivwv.site

创建雨云服务器

以下步骤仅供参考,请根据实际需求选择配置。

  • 点击 云产品服务器立即购买
  • 选择距离你较近的区域,以保证低延迟。

https://img-blog.csdnimg.cn/img_convert/4c16271f125adea69da6ed9e7b2a4226.png

  • 按照自己需求选择配置,选择Ubuntu 22.04 版本,按照自己需求是否预装Docker。
  • 最后按照提示进行购买。
  • 购买后等待机器部署完毕,点击刚刚创建好的服务器,进入管理面板,找到远程连接相关信息。

https://img-blog.csdnimg.cn/img_convert/414570cd3da48d4cc4bf51489992000b.png

  • 我们使用 PowerShell 进行 SSH 远程连接到服务器Win+R 打开运行窗口,输入 powershell 后点击确定。

https://img-blog.csdnimg.cn/img_convert/c8afbeb764459a37a8451dd2ed8eeff1.png

  • 输入 ssh root@你的服务器IP 例如 ssh root@154.9.227.239 回车后,首次需要输入 yes,再次回车后即可登录服务器

https://img-blog.csdnimg.cn/img_convert/ea5814f1d1068ca9fa2bb94631cfbdf1.png

  • 到此为止,我们的云服务器就远程连接上了。

开始部署

1. 更新系统

首先,我们更新一下包列表和已安装的包:

sudo apt update
sudo apt upgrade -y

2. 安装 PostgreSQL

接下来,安装 PostgreSQL,它将作为 Zabbix 的数据库:

sudo apt install postgresql postgresql-contrib -y

安装完成后,创建一个 PostgreSQL 用户和数据库给 Zabbix:

sudo -u postgres psql

在 PostgreSQL 命令行中执行以下命令:

CREATE USER zabbix WITH PASSWORD 'your_password';
CREATE DATABASE zabbix OWNER zabbix;
\\q

记得把 your_password 替换成一个强密码。

3. 安装 Nginx

安装 Nginx 来运行 Zabbix 的 Web 界面:

sudo apt install nginx -y

启动 Nginx 并设置开机自启:

sudo systemctl start nginx
sudo systemctl enable nginx

4. 安装 Zabbix 服务器、前端和代理

安装 Zabbix 仓库配置包:

wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-6+ubuntu24.04_all.deb
sudo dpkg -i zabbix-release_6.0-6+ubuntu24.04_all.deb
sudo apt update

安装 Zabbix 服务器、前端和代理:

sudo apt install zabbix-server-pgsql zabbix-frontend-php php8.3-pgsql zabbix-nginx-conf zabbix-sql-scripts zabbix-agent -y

5. 为 Zabbix 配置 PostgreSQL

导入 Zabbix 的初始架构和数据:

zcat /usr/share/zabbix-sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbix

现在,配置 Zabbix 服务器使用 PostgreSQL:

sudo nano /etc/zabbix/zabbix_server.conf

更新以下参数:

DBName=zabbix
DBUser=zabbix
DBPassword=your_password

保存并关闭文件。

6. 为 Zabbix 前端配置 PHP

编辑 PHP 配置文件以适配 Zabbix:

sudo nano /etc/zabbix/nginx.conf

修改 listenserver_name 指令以匹配你的服务器配置。确保以下设置正确配置:

server {listen 80;server_name your_domain;...
}

注意:your_domain 替换为你的域名。

保存并关闭文件。

启动并设置 Zabbix 服务器和代理开机自启:

sudo systemctl start zabbix-server zabbix-agent nginx php8.3-fpm
sudo systemctl enable zabbix-server zabbix-agent nginx php8.3-fpm

7. 使用 SSL 加固

Certbot 是一个自动获取和续订 Let’s Encrypt SSL 证书的工具。安装 Certbot 和 Nginx 插件:

sudo apt install certbot python3-certbot-nginx -y

使用 Certbot 为你的域名获取证书。将 your_domain 替换为你的实际域名:

sudo certbot --nginx -d your_domain

按照提示选择适当的域名并同意服务条款。Certbot 会自动配置 Nginx 使用获得的证书。

如果你的服务器上启用了防火墙,请允许 HTTPS 流量(端口 443):

sudo ufw allow http
sudo ufw allow https
sudo ufw reload

8. 配置 Zabbix 前端

打开浏览器,访问 http://your_domain/zabbix。按照屏幕上的指示完成 Zabbix 安装:

image.png

  • 选择你的语言,点击 “Next”。
  • 检查预安装条件,点击 “Next”。
  • 配置数据库连接:
    • 数据库类型:PostgreSQL
    • 数据库主机:localhost
    • 数据库名称:zabbix
    • 用户:zabbix
    • 密码:your_password

继续安装步骤,设置服务器详细信息并完成设置。

9. 登录 Zabbix

安装完成后,使用默认凭据登录 Zabbix 前端:

用户名:Admin
密码:zabbix

相关链接
雨云 - 新一代云服务提供商: https://rainyun.ivwv.site
我的博客:https://blog.ivwv.site


http://www.ppmy.cn/embedded/140161.html

相关文章

MacOS通过VMware Fusion安装windows 11问题汇总

环境 虚拟机,VMware Fusion 13.6.1本地机器,ARM芯片的Mac,系统版本14.5Windows系统镜像,Window11 ARM 64 bit 安装卡在WiFi连接界面 适合我本地环境的解决步骤为: 1、系统设置网络共享 我开启的是en5,这…

ArcGIS 10.2软件安装包下载及安装教程!

今日资源:ArcGIS 适用系统:WINDOWS 软件介绍:ArcGIS是一款专业的电子地图信息编辑和开发软件,提供一种快速并且使用简单的方式浏览地理信息,无论是2D还是3D的信息。软件内置多种编辑工具,可以轻松的完成地…

如何理解 TypeScript 中命名空间与模块?两者都有那些区别?如何更好的应用?

在 TypeScript 中,命名空间(Namespace)和模块(Module)是两种不同的代码组织方式,用于组织和管理代码结构,避免命名冲突和提高可维护性。虽然它们都可以将代码划分为不同的逻辑单元,但…

【layui】table的switch、edit修改

<title>简单表格数据</title><div class"layui-card layadmin-header"><div class"layui-breadcrumb" lay-filter"breadcrumb"><a>系统设置</a><a>简单表格数据</a></div> </div>&…

03系统设计之商业业务平台(D2_【秒杀抽奖】秒杀系统设计)

目录 学习前言 一、基本介绍 二、解决方案 1. 秒杀中的削峰 方案一&#xff1a;消息队列 答题器 数据过滤 2. 秒杀中的服务性能优化 三、知识小结 四、参考文献 学习前言 提示&#xff1a;这个章节会重新梳理。 一、基本介绍 秒杀请求在高度集中在某一个时间点。这…

【人工智能】AutoML自动化机器学习模型构建与优化:使用Auto-sklearn与TPOT的实战指南

解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 机器学习模型的构建和优化是一个复杂且耗时的过程,涉及特征工程、模型选择、超参数调优等多个环节。AutoML(Automated Machine Learning)旨在通过自动化的方式来简化这些流程,提高开发效率并提升模型表现。Au…

Redis入门(九)

Redis地理空间&#xff08;GEO&#xff09; 简介 从版本 3.2 开始&#xff0c;Redis 引入了地理空间支持&#xff0c;允许用户在 Redis 中存储地理位置信息&#xff0c;并执行一些与地理位置相关的操作。 原理 将球体转换为平面&#xff0c;区块转换为一点 基本命令 1.G…

next build报错bash: next: command not found

相关背景&#xff1a;我有个next.js项目&#xff08;第一次使用next.js框架&#xff09;&#xff0c;想构建一下&#xff0c;发现报错了&#xff0c;没有该命令。 &#xff08;ps&#xff1a;我测试用的是&#xff1a;yarn dev&#xff09; 然后我用everything全局搜了下 next…