在 Ubuntu 上安装 Zabbix(以 Zabbix 6.4 LTS 版本为例)
nanshan 2025-07-03 18:28 5 浏览 0 评论
Zabbix 是一个流行的开源监控解决方案,能够监控各种网络参数和服务器健康状态。
一、环境准备
- 系统要求Ubuntu 20.04/22.04 LTS至少 2GB RAM(生产环境建议 4GB+)至少 10GB 可用磁盘空间
- 更新系统
sudo apt update && sudo apt upgrade -y
二、安装并配置数据库(以 PostgreSQL 为例)
- 安装 PostgreSQL
sudo apt install postgresql postgresql-contrib -y
- 启动并验证服务
sudo systemctl start postgresql sudo systemctl enable postgresql sudo systemctl status postgresql
- 创建 Zabbix 数据库和用户
sudo -u postgres psql
- 在 psql 交互式 shell 中执行:
CREATE DATABASE zabbix WITH ENCODING 'UTF8' LC_COLLATE 'C' LC_CTYPE 'C' TEMPLATE template0; CREATE USER zabbix WITH PASSWORD 'your_password_here'; GRANT ALL PRIVILEGES ON DATABASE zabbix TO zabbix; \q -- 退出 psql
三、安装 Zabbix 服务器和代理
- 添加 Zabbix 官方仓库
wget https://repo.zabbix.com/zabbix/6.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.4-1+ubuntu$(lsb_release -rs)_all.deb sudo dpkg -i zabbix-release_6.4-1+ubuntu$(lsb_release -rs)_all.deb sudo apt update
- 安装 Zabbix 服务器、Web 前端和代理
sudo apt install zabbix-server-pgsql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent -y
四、导入初始架构和数据
- 切换到 zabbix 用户并导入数据
zcat /usr/share/zabbix-sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql -d zabbix
五、配置 Zabbix 服务器连接数据库
编辑配置文件
/etc/zabbix/zabbix_server.conf
sudo nano /etc/zabbix/zabbix_server.conf
找到并修改以下行(取消注释并设置正确的值):
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=your_password_here # 与创建数据库时设置的密码一致
六、配置 PHP 环境
编辑配置文件 /etc/zabbix/apache.conf
sudo nano /etc/zabbix/apache.conf
确保以下 PHP 参数正确设置(取消注释或修改):
apache
php_value date.timezone Asia/Shanghai # 根据实际时区修改
七、启动并启用 Zabbix 服务
sudo systemctl restart zabbix-server zabbix-agent apache2
sudo systemctl enable zabbix-server zabbix-agent apache2
八、Web 界面配置
- 访问 Zabbix Web 界面
在浏览器中打开:http://your_server_ip/zabbix - 完成安装向导步骤 1:检查先决条件(确保所有 PHP 模块满足要求)步骤 2:配置数据库连接(使用前面创建的数据库和用户信息)步骤 3:配置 Zabbix 服务器(通常保持默认)步骤 4:确认配置摘要步骤 5:完成安装
- 登录 Zabbix默认用户名:Admin默认密码:zabbix首次登录后建议立即修改密码
九、验证安装
- 检查 Zabbix 服务器日志
tail -f /var/log/zabbix/zabbix_server.log
确保没有错误信息,特别是数据库连接相关的错误。
2、检查 Zabbix 代理状态
在 Zabbix Web 界面中:进入 Configuration → Hosts确认本地主机(Zabbix server)状态为 Green(可用)
各个版本路径不一样
可以通过 “Monitoring”(监控)菜单下的 “Hosts” 选项来查看主机状态我的是这种,或者在 “Inventory”(资源清单)菜单中找到相关信息。
十、可选:配置远程监控(Zabbix Agent)
若需监控其他服务器,需在目标服务器上安装 Zabbix Agent:
- 在目标服务器上添加 Zabbix 仓库并安装 Agent
wget https://repo.zabbix.com/zabbix/6.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.4-1+ubuntu$(lsb_release -rs)_all.deb sudo dpkg -i zabbix-release_6.4-1+ubuntu$(lsb_release -rs)_all.deb sudo apt update sudo apt install zabbix-agent -y
- 配置 Agent 连接到 Zabbix 服务器
编辑 /etc/zabbix/zabbix_agentd.conf:
Server=your_zabbix_server_ip ServerActive=your_zabbix_server_ip Hostname=your_hostname_here # 设置一个唯一的主机名
- 启动并启用 Agent
sudo systemctl restart zabbix-agent sudo systemctl enable zabbix-agent
- 在 Zabbix Web 界面添加主机进入 Configuration → Hosts → Create host填写主机信息和模板(如 Linux by Zabbix agent)根据自己情况选择设置
十一、常见问题与解决方案
- PHP 时区问题错误:Web 界面显示错误的时间解决:确保 /etc/zabbix/apache.conf 中的 date.timezone 正确设置,并重启 Apache。
- 数据库连接失败错误:Zabbix 服务器日志显示 connection to database failed解决:检查 /etc/zabbix/zabbix_server.conf 中的数据库配置,确保用户名、密码和主机名正确。
- Zabbix Agent 无法连接错误:主机在 Zabbix 界面显示为 Red(不可用)解决:检查目标服务器防火墙是否开放 Zabbix Agent 端口(默认 10050)确认 zabbix_agentd.conf 中的服务器 IP 配置正确
通过以上步骤,你可以成功在 Ubuntu 上安装并配置 Zabbix 监控系统,实现对服务器、网络设备和应用程序的全面监控。
下面说下我遇到的问题
1、问题:四、导入初始架构和数据这一步时报错“ERROR: current transaction is aborted, commands ignored until end of transaction block”
分析:
一、定位错误位置
- 解压脚本并检查
zcat
/usr/share/zabbix-sql-scripts/postgresql/server.sql.gz > zabbix.sql
2.分步执行脚本
# 执行前 10000 行(示例) head -n 10000 zabbix.sql | sudo -u zabbix psql -d zabbix # 执行接下来的 10000 行 sed -n '10001,20000p' zabbix.sql | sudo -u zabbix psql -d zabbix
逐步定位出错的代码段。
结论:
Zabbix SQL 脚本与 PostgreSQL 16 版本不兼容。Zabbix 6.4 官方推荐使用 PostgreSQL 14/15,而最新的 16 版本可能存在语法差异导致导入失败
解决步骤:
一、卸载 PostgreSQL 16,安装 PostgreSQL 15
# 停止并卸载 PostgreSQL 16 sudo systemctl stop postgresql sudo apt purge postgresql-16 postgresql-client-16 -y sudo rm -rf /var/lib/postgresql/16 # 添加 PostgreSQL 15 仓库 sudo sh -c 'echo "deb
http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" >
/etc/apt/sources.list.d/pgdg.list' wget --quiet -O -
https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - sudo apt update # 安装 PostgreSQL 15 sudo apt install postgresql-15 postgresql-client-15 -y # 启动并验证服务 sudo systemctl start postgresql@15-main sudo systemctl enable postgresql@15-main sudo systemctl status postgresql@15-main
二、重新创建数据库并导入脚本
# 创建数据库和用户 sudo -u postgres psql <<EOF DROP DATABASE IF EXISTS zabbix; CREATE DATABASE zabbix WITH ENCODING 'UTF8' LC_COLLATE 'C' LC_CTYPE 'C' TEMPLATE template0; CREATE USER zabbix WITH PASSWORD 'your_password_here'; GRANT ALL PRIVILEGES ON DATABASE zabbix TO zabbix; ALTER DATABASE zabbix OWNER TO zabbix; EOF # 导入 Zabbix SQL 脚本(使用单事务模式) zcat
/usr/share/zabbix-sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql -d zabbix --single-transaction
三、验证导入结果
# 连接数据库 sudo -u zabbix psql -d zabbix # 检查表结构 \dt # 查看关键表 SELECT * FROM dbversion; -- 应返回版本信息 SELECT * FROM users LIMIT 10; -- 应返回用户表结构 # 退出 \q
四、配置 Zabbix 服务器使用 PostgreSQL 15
DBType=pgsql DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=your_password_here # 与创建用户时一致 DBPort=5432
五、重启 Zabbix 服务
sudo systemctl restart zabbix-server zabbix-agent apache2
- 上一篇:如何在 Ubuntu 24.04 服务器上安装 Apache Solr
- 已经是最后一篇了
相关推荐
- 在 Ubuntu 上安装 Zabbix(以 Zabbix 6.4 LTS 版本为例)
-
Zabbix是一个流行的开源监控解决方案,能够监控各种网络参数和服务器健康状态。一、环境准备系统要求Ubuntu20.04/22.04LTS至少2GBRAM(生产环境建议4GB+)至少1...
- 如何在 Ubuntu 24.04 服务器上安装 Apache Solr
-
ApacheSolr是一个免费、开源的搜索平台,广泛应用于实时索引。其强大的可扩展性和容错能力使其在高流量互联网场景下表现优异。Solr基于Java开发,提供了分布式索引、复制、负载均衡及自...
- 如何在 Ubuntu 24.04 LTS 或 22.04/20.04 上安装 Apache Maven
-
Maven是由Apache托管的开源工具,用于管理Java项目。它包含一个项目对象模型(POM):一个配置文件(XML),其中包含项目的基本信息,包括配置、项目依赖项等。Maven可以处理...
- Cursor的终极对手——Trae Pro最新系统提示词
-
前段时间,字节的AI编程神器Trae国际版,终于甩出了Pro订阅计划!很多对它又爱又恨的小伙伴,直呼:终于等到你。爱它,是因为Trae长期免费+体验真香;恨它?还不是那该死的排队等待,...
- AI系统提示词:V0(ai代码提示)
-
以下是对V0系统提示词(SystemPrompt)的分部分讲解与解读,帮助你理解其核心内容和设计意图。V0系统提示词##CoreIdentity-Youarev0,Vercel&...
- 8岁男童失踪第13天,搜救人员发现可疑水库,更恶心的事情发生了
-
Lookingatyourrequest,Ineedtorewritethearticleaboutthe8-year-oldmissingboywhilemaking...
- docker常用指令及安装rabbitMQ(docker安装zabbix)
-
一、docker常用指令启动docker:systemctlstartdocker停止docker:systemctlstopdocker重启docker:systemctlrestart...
- 三步教你用Elasticsearch+PyMuPDF实现PDF大文件秒搜!
-
面对100页以上的大型PDF文件时,阅读和搜索往往效率低下。传统关系型数据库在处理此类数据时容易遇到性能瓶颈,而Elasticsearch凭借其强大的全文检索和分布式架构,成为理想解决方案。通过...
- ElasticSearch中文分词插件(IK)安装
-
坚持原创,共同进步!请关注我,后续分享更精彩!!!前言ElasticSearch默认的分词插件对中文支持很不友好。一段话按规则会以每个中文字符来拆解,再分别建立倒排索引。如"中华人民共和国国歌...
- SpringBoot使用ElasticSearch做文档对象的持久化存储?
-
ElasticSearch是一个基于Lucene的开源搜索引擎,广泛应用于日志分析、全文搜索、复杂查询等领域,在有些场景中使用ElasticSearch进行文档对象的持久化存储是一个很不错的选择...
- Elasticsearch数据迁移方案(elasticsearch copyto)
-
前言最近小编要去给客户部署一套系统涉及到了Mysql和ES数据的迁移,下面就给大家分享一下ES数据迁移的几套方案,根据具体的使用场景来选择不同的迁移方案能使你事倍功半,话多说下面就一一介绍。Elast...
- Rancher部署单体ElasticSearch(rancher2.5部署)
-
Rancher是k8s图形管理界面,之前曾有写文章介绍如何安装。ElasticSearch是热门搜索引擎,很多地方都有用到,常规安装部署略显繁琐,本文介绍在k8s下用rancher简易部署ES。1.在...
- Elasticsearch在Java项目的搜索实践:从零开始构建高效搜索系统
-
Elasticsearch在Java项目中的搜索实践:从零开始构建高效搜索系统在现代的Java项目中,数据量激增,传统的数据库查询方式已经无法满足快速检索的需求。这时,Elasticsearch(E...
- 小白入门-Kibana安装(kibana安装配置)
-
一Kibana基础1.1介绍Kibana是一款免费且开放的前端应用程序,其基础是ElasticStack,可以为Elasticsearch中索引的数据提供搜索和数据可视化功能。Kiban...
- Docker上使用Elasticsearch,Logstash,Kibana
-
在对一个项目做性能测试时我需要处理我们web服务器的访问日志来分析当前用户的访问情况。因此,我想这是试用ELK的一个好机会。ELK栈首先要注意的是使用它是非常简单的。从决定使用ELK到在本机上搭一个...
你 发表评论:
欢迎- 一周热门
- 最近发表
-
- 在 Ubuntu 上安装 Zabbix(以 Zabbix 6.4 LTS 版本为例)
- 如何在 Ubuntu 24.04 服务器上安装 Apache Solr
- 如何在 Ubuntu 24.04 LTS 或 22.04/20.04 上安装 Apache Maven
- Cursor的终极对手——Trae Pro最新系统提示词
- AI系统提示词:V0(ai代码提示)
- 8岁男童失踪第13天,搜救人员发现可疑水库,更恶心的事情发生了
- docker常用指令及安装rabbitMQ(docker安装zabbix)
- 三步教你用Elasticsearch+PyMuPDF实现PDF大文件秒搜!
- ElasticSearch中文分词插件(IK)安装
- SpringBoot使用ElasticSearch做文档对象的持久化存储?
- 标签列表
-
- linux 查询端口号 (58)
- docker映射容器目录到宿主机 (66)
- 杀端口 (60)
- yum更换阿里源 (62)
- internet explorer 增强的安全配置已启用 (65)
- linux自动挂载 (56)
- 禁用selinux (55)
- sysv-rc-conf (69)
- ubuntu防火墙状态查看 (64)
- windows server 2022激活密钥 (56)
- 无法与服务器建立安全连接是什么意思 (74)
- 443/80端口被占用怎么解决 (56)
- ping无法访问目标主机怎么解决 (58)
- fdatasync (59)
- 405 not allowed (56)
- 免备案虚拟主机zxhost (55)
- linux根据pid查看进程 (60)
- dhcp工具 (62)
- mysql 1045 (57)
- 宝塔远程工具 (56)
- ssh服务器拒绝了密码 请再试一次 (56)
- ubuntu卸载docker (56)
- linux查看nginx状态 (63)
- tomcat 乱码 (76)
- 2008r2激活序列号 (65)