4 从软件包安装

概述

官方Zabbix 7.0软件包可在Zabbix website获取,您可在该页面选择操作系统和Zabbix组件以generate适用于您环境的安装指南。 另请参阅本页的软件包安装说明以获取重要附加信息

以下Linux发行版提供软件包支持:

  • Red Hat Enterprise Linux及其衍生版本:AlmaLinux、Amazon Linux 2023、CentOS Stream、CentOS、Oracle Linux、Rocky Linux
  • Debian, Ubuntu, Raspberry Pi OS, Raspbian
  • SUSE Linux Enterprise Server, openSUSE Leap

某些操作系统发行版(特别是基于Debian的发行版)提供其自有的Zabbix软件包。 这些软件包不受Zabbix官方支持,可能已过时或缺少最新功能及错误修复。 建议仅使用来自Zabbix Official Repository的官方软件包 如果您之前从操作系统仓库安装了Zabbix,请参阅upgrading Zabbix packages from OS repositories中的步骤。

软件包支持MySQL/PostgreSQL数据库及Apache/nginx网页服务器 请注意 Zabbix server 和 proxy 不能共享同一个数据库;如果两者安装在同一台 主机 上,请使用不同的数据库名称。

如有需要,可在Zabbix Official Repository获取单独的Zabbix agent/agent 2、Zabbix get和Zabbix sender安装包。

自Zabbix 7.0.5起,由于Go 1.22(及更高版本)与RHEL 6提供的GCC 4.4.7不兼容导致编译错误,Zabbix agent 2软件包不再为RHEL 6提供。 但请注意,Zabbix agent packages 仍受支持。

Zabbix还提供针对非Linux操作系统的Zabbix agent预编译二进制文件,参见:

Package installation notes

以下注意事项适用于所有系统:

以下注意事项适用于RHEL及其衍生系统:

SELinux配置

Zabbix采用基于套接字的进程间通信机制。 在启用安全增强型Linux(SELinux)的系统上,可能需要添加SELinux规则以允许Zabbixcreate/使用SocketDir目录中的UNIX域套接字。 套接字文件由Zabbix server(告警器、预处理、IPMI)和Zabbix proxy(IPMI)使用,这些文件在进程运行时存在。

在强制模式下启用SELinux时,execute以下命令以启用Zabbix前端与服务器之间的通信:

针对RHEL 7(及更高版本)、AlmaLinux、CentOS Stream、Oracle Linux、Rocky Linux 8(及更高版本):

setsebool -P httpd_can_connect_zabbix on

若数据库通过网络访问(包括PostgreSQL的localhost),还需允许Zabbix前端连接数据库:

setsebool -P httpd_can_network_connect_db on

针对RHEL 7之前版本:

setsebool -P httpd_can_network_connect on
       setsebool -P zabbix_can_network on

应用SELinux设置后,重启Apache:

systemctl restart httpd

可选操作:可从Zabbix Official Repository安装预定义的zabbix-selinux-policy软件包。 该软件包为所有受支持的操作系统版本提供,用于简化Zabbix部署并避免用户因配置复杂性而关闭SELinux。

为实现最高安全性,建议设置自定义SELinux规则。

zabbix-selinux-policy软件包包含基础SELinux策略,允许Zabbixcreate和使用套接字,并启用HTTPd与PostgreSQL的连接(供前端使用)。

源代码zabbix_policy.tefile包含以下规则:

module zabbix_policy 1.2;
       
       require {
           type zabbix_t;
           type zabbix_port_t;
           type zabbix_var_run_t;
           type postgresql_port_t;
           type httpd_t;
           class tcp_socket name_connect;
           class sock_file { create unlink };
           class unix_stream_socket connectto;
       }
       
       #============= zabbix_t ==============
       allow zabbix_t self:unix_stream_socket connectto;
       allow zabbix_t zabbix_port_t:tcp_socket name_connect;
       allow zabbix_t zabbix_var_run_t:sock_file create;
       allow zabbix_t zabbix_var_run_t:sock_file unlink;
       allow httpd_t zabbix_port_t:tcp_socket name_connect;
       
       #============= httpd_t ==============
       allow httpd_t postgresql_port_t:tcp_socket name_connect;

Debuginfo packages

Debuginfo软件包包含Zabbix二进制文件的调试符号。 它们不是正常安装或运行所必需的,但对于高级故障排除非常有用。

要启用zabbix-debuginfo仓库:

  • 在RHEL 6或7上,编辑/etc/yum.repos.d/zabbix.repo并将zabbix-debuginfo部分的enabled=1设置为:
[zabbix-debuginfo]
       name=Zabbix Official Repository debuginfo - $basearch
       baseurl=http://repo.zabbix.com/zabbix/7.0/stable/rhel/7/$basearch/debuginfo/
       enabled=1
       gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
       gpgcheck=1
  • 在SUSE上,编辑/etc/zypp/repos.d/zabbix.repo并将zabbix-debuginfo部分的enabled=1设置为:
[zabbix-debuginfo]
       name=Zabbix Official Repository debuginfo
       type=rpm-md
       baseurl=https://repo.zabbix.com/zabbix/7.0/stable/sles/15/x86_64/debuginfo/
       gpgcheck=1
       gpgkey=https://repo.zabbix.com/zabbix/7.0/stable/sles/15/x86_64/debuginfo/repodata/repomd.xml.key
       enabled=0
       update=1

启用后,安装软件包:

  • 在RHEL上,安装包含所有Zabbix组件调试信息的单个软件包:
dnf install zabbix-debuginfo
  • 在SUSE上,安装特定组件的debuginfo软件包:
zypper install zabbix-<component>-debuginfo