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

devtools/2024/11/26 23:46:35/

简介

今天我们来聊聊如何在 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/devtools/137249.html

相关文章

【人工智能】Python与Scikit-learn的模型选择与调参:用GridSearchCV和RandomizedSearchCV提升模型性能

解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 在机器学习建模过程中,模型的表现往往取决于参数的选择与优化。Scikit-learn提供了便捷的工具GridSearchCV和RandomizedSearchCV,帮助我们在参数空间中搜索最佳组合以提升模型表现。本文将从理论和实践两个角度…

计算机网络——第3章 数据链路层(自学笔记)

本文参考【王道计算机考研 计算机网络】 数据链路层的功能 主要任务:实现帧在一段链路上或在一个网络中进行传输。 基本原则:封装成帧、透明传输和差错检测。 信道:点对点信号和广播信道。 数据链路层所处地位 数据进入路由器后&#x…

‌Kotlin中的?.和!!主要区别

目录 1、?.和!!介绍 2、使用场景和最佳实践 3、代码示例和解释 1、?.和!!介绍 ‌Kotlin中的?.和!!主要区别在于它们对空指针的处理方式。‌ ‌?.(安全调用操作符)‌:当变量可能为null时,使用?.可以安全地调用其方法或属性…

基于联邦学习的卫星-地面集成网络移动流量预测

论文标题:Federated Learning-Based Mobile Traffic Prediction in Satellite-Terrestrial Integrated Networks 作者信息:Weiwei Jiang1,2, Jianbin Mu3, Haoyu Han1,2, Yang Zhang1,2, Sai Huang1,2 Key Laboratory of Universal Wireless Communicat…

《用Python画蔡徐坤:艺术与编程的结合》

简介 大家好!今天带来一篇有趣的Python编程项目,用代码画出知名偶像蔡徐坤的形象。这个项目使用了Python的turtle库,通过简单的几何图形和精心设计的代码来展示艺术与编程的结合。 以下是完整的代码和效果介绍,快来试试看吧&…

elasticsearch的文档管理

2 json数据入门 json数据类型 基础数据类型 字符串,只要用双引号包裹的都是字符串类型。“嘻嘻”,“文勇”,“2024” 数字型,2024,3.1415926 布尔型,true 和 false 空值,null 高级数据类…

彻底理解Redis的过期策略

一.由来 因为现在Redis的使用是非常普遍的,Redis是基于内存的数据存储系统,而内存相比于早些年而言,还是便宜了很多,但是相比硬盘而言还是最很多,因此提高Redis里面的内存利用率是非常重要,而Redis的过期策…

淘宝商品评论爬虫:Java版“窃听风云”

在这个信息爆炸的时代,淘宝评论就像是隐藏在商品页面背后的小秘密,等待着我们去发掘。今天,我们将化身为“数据侦探”,使用Java编写一个爬虫程序,潜入淘宝的评论区,窃取那些珍贵的用户反馈。请注意&#xf…