百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

在 Ubuntu 上安装 Zabbix(以 Zabbix 6.4 LTS 版本为例)

nanshan 2025-07-03 18:28 5 浏览 0 评论

Zabbix 是一个流行的开源监控解决方案,能够监控各种网络参数和服务器健康状态。

一、环境准备

  1. 系统要求Ubuntu 20.04/22.04 LTS至少 2GB RAM(生产环境建议 4GB+)至少 10GB 可用磁盘空间
  2. 更新系统

sudo apt update && sudo apt upgrade -y

二、安装并配置数据库(以 PostgreSQL 为例)

  1. 安装 PostgreSQL

sudo apt install postgresql postgresql-contrib -y

  1. 启动并验证服务

sudo systemctl start postgresql sudo systemctl enable postgresql sudo systemctl status postgresql

  1. 创建 Zabbix 数据库和用户

sudo -u postgres psql

  1. 在 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 服务器和代理

  1. 添加 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

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

sudo apt install zabbix-server-pgsql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent -y

四、导入初始架构和数据

  1. 切换到 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 界面配置

  1. 访问 Zabbix Web 界面
    在浏览器中打开:http://your_server_ip/zabbix
  2. 完成安装向导步骤 1:检查先决条件(确保所有 PHP 模块满足要求)步骤 2:配置数据库连接(使用前面创建的数据库和用户信息)步骤 3:配置 Zabbix 服务器(通常保持默认)步骤 4:确认配置摘要步骤 5:完成安装
  3. 登录 Zabbix默认用户名:Admin默认密码:zabbix首次登录后建议立即修改密码

九、验证安装

  1. 检查 Zabbix 服务器日志

tail -f /var/log/zabbix/zabbix_server.log

确保没有错误信息,特别是数据库连接相关的错误。

2、检查 Zabbix 代理状态
在 Zabbix Web 界面中:进入
ConfigurationHosts确认本地主机(Zabbix server)状态为 Green(可用)
各个版本路径不一样

以通过 “Monitoring”(监控)菜单下的 “Hosts” 选项来查看主机状态我的是这种,或者在 “Inventory”(资源清单)菜单中找到相关信息。

十、可选:配置远程监控(Zabbix Agent)

若需监控其他服务器,需在目标服务器上安装 Zabbix Agent:

  1. 在目标服务器上添加 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

  1. 配置 Agent 连接到 Zabbix 服务器
    编辑 /etc/zabbix/zabbix_agentd.conf:

Server=your_zabbix_server_ip ServerActive=your_zabbix_server_ip Hostname=your_hostname_here # 设置一个唯一的主机名

  1. 启动并启用 Agent

sudo systemctl restart zabbix-agent sudo systemctl enable zabbix-agent

  1. 在 Zabbix Web 界面添加主机进入 ConfigurationHostsCreate host填写主机信息和模板(如 Linux by Zabbix agent)根据自己情况选择设置

十一、常见问题与解决方案

  1. PHP 时区问题错误:Web 界面显示错误的时间解决:确保 /etc/zabbix/apache.conf 中的 date.timezone 正确设置,并重启 Apache。
  2. 数据库连接失败错误:Zabbix 服务器日志显示 connection to database failed解决:检查 /etc/zabbix/zabbix_server.conf 中的数据库配置,确保用户名、密码和主机名正确。
  3. 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

分析:

一、定位错误位置

  1. 解压脚本并检查

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 上安装 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到在本机上搭一个...

取消回复欢迎 发表评论: