ZabbixManual1.4 在ubuntu 中详解
ZabbixManual1.4/Installation/zh
出自Ubuntu中文
<!-- start content -->点击翻译 : |
English • 中文 |
|
目录[隐藏 ] |
[编辑 ] 如何获取 ZABBIX
在 Zabbix 主页 http://www.zabbix.com 上找到当版版本及其下载说明。
[编辑 ] 要求
[编辑 ] 硬件要求
[编辑 ] 存储要求
ZABBIX 对物理内存和硬盘存储容量都有要求,128 MB 的物理内存和至少 256 MB 空闲的硬盘空间是将一个好的开始点。不过,其所需磁盘空间的大小显然有赖于主机及其所需监控参数的数量。如果您想保留监控参数一个较长的历史记录,那么您 应该考虑至少 2 到 3 G 的空间用以保存数据库中的历史记录。
Each ZABBIX daemon process requires several connections to a database server. Amount of memory allocated for the connection depends on configuration of the database engine. 每个 Zabbix 守护程序进程都需要几条到数据库服务器的连接。分配给连接的内存总量也有赖于数据库引擎的配置。
注意: 您的物理内存越多,那么您数据库(因此 Zabbix)运行的也就越快!
[编辑 ] CPU 要求
ZABBIX,特别是 ZABBIX 数据库可能要求大量的 CPU 资源,这有赖于监控参数的数量以及所选数据库的引擎。
[编辑 ] 其他硬件
为使用Zabbix 内建的 SMS 通知,要求使用一个串行通信口和一个串行 GSM 调制器。
[编辑 ] 硬件配置的范例
下表提供了一些硬件配置:
Name | 操作系统 | CPU/内存 | 数据库 | 被监测主机数 |
小型 | Ubuntu Linux | P2 350MHz/256MB | MySQL MyISAM | 20 |
中型 | Ubuntu Linux 64 bit | AMD Athlon 3200+/2GB | MySQL InnoDB | 500 |
大型 | Ubuntu Linux 64 bit | Intel Dual Core 6400/4GB/RAID | MySQL InnoDB or PostgreSQL | >1000 |
Very large | RedHat Enterprise | Intel Xeon 2 CPU/8GB/RAID | MySQL InnoDB or PostgreSQL | >10000 |
注意: 实际配置特别有赖于激活监测项的数目以及刷新率。It is recommended to keep database engine on a separate box for large installations.
[编辑 ] 支持的操作系统
出于监测服务器的安全需求和对关键任务的判断,Unix 是唯一能够持续提供必要的性能、容错能力以及恢复能力的操作系统。ZABBIX 支持目前市场上的主流版本。
ZABBIX 在以下操作系统中测试过:
- AIX
- FreeBSD
- HP-UX
- Linux
- Mac OS/X
- OpenBSD
- SCO Open Server
- Solaris
注意: ZABBIX 也可能在其它的类 Unix 操作系统中良好运行。
[编辑 ] 软件需求
ZABBIX 是基于最新的 Apache Web 服务器、主流的数据库引擎以及 PHP 脚本语言编译的。
运行 ZABBIX 需要下列软件:
软件 | 版本 | 说明 |
Apache | 1.3.12 或以后版本 | |
PHP | 4.3 或以后版本 | |
PHP 模块:
php-gd php-bcmath |
4.3 或以后版本 | PHP GD 模块必须支持 PNG 图片 |
MySQL
php-mysql |
3.22 或以后版本 | 使用 MySQL 作为 ZABBIX 后台数据库时被要求 |
Oracle
php-sqlora8 |
9.2.0.4 或以后版本 | 使用 Oracle 作为 ZABBIX 后台数据库时被要求 |
PostgreSQL
php-pgsql |
7.0.2 或以后版本 | 使用 PostgreSQL 作为 ZABBIX 后台数据库时被要求。使用 PostgreSQL 8.x 或以后版本以获取更好的性能。 |
SQLite
php-sqlite3 |
3.3.5 或以后版本 | 使用 SQLite 作为 ZABBIX 后台数据库时被要求 |
注意: ZABBIX 在使用 Apache、MySQL、Oracle 或 PostgreSQL 的以前版本也可能正常运行。
[编辑 ] 客户端 WEB 浏览器
要求支持 HTML 和 PNG 图片。MS Explorer(5.xx 和 6.xx)以及 Mozilla 1.x 上运行正常。必须支持 Cookies 和 JavaScript。其它浏览器也能支持 Zabbix
[编辑 ] 数据库引擎的选择
ZABBIX 支持四种数据库引擎:
- MySQL
- Oracle
- PostgreSQL
- SQLite
每种数据库引擎都有它自己的优势,我们不好说哪一种最好。
选择数据库引擎主要看以下几个方面:
- 您硬件的性能
- 自由或商业的数据库引擎
- ZABBIX 服务器的繁忙程度
下表为选择数据库引擎提供一般性的建议
ZABBIX 服务器的用途 | 选择的数据库引擎 |
重负载节点/单机 | MySQL InnoDB |
轻负载节点/单机 | PostgreSQL
MySQL MyISAM |
远程零管理节点 | PostgreSQL
SQLite |
单独轻负载 | MySQL MyISAM |
[编辑 ] 时间同步
对于运行 Zabbix 的服务器来说拥有精确的系统时间是十分重要的。Timed 是最通用的守护进程之一,以同步主机与其他机器的时间。
[编辑 ] 组件
[编辑 ] ZABBIX 组件
Zabbix 包含了几个重要的组件,其功能大致说明如下:
[编辑 ] ZABBIX 服务器
这是 Zabbix 软件的核心部分。服务器可以使用简单的服务检查来远程检查网络服务(如 Web 服务和 mail 服务),但它也是核心组件以便代理报告可用性以及完整的信息和状态。服务器是存放所有配置、状态和操作数据的中心库,同时它也是 Zabbix 软件中的实体,在被监测系统产生问题时主动向管理员报警。
Zabbix 可以执行无代理监测,同时也可以监测使用 SNMP 代理的网络设备。
[编辑 ] ZABBIX 代理
为了主动监测网络系统上的本地资源和应用程序(如硬件、内存、处理器状态等),那些系统必须运行 Zabbix 代理。代理将从所运行的系统上收集可操作信息,并将这些数据报告给 Zabbix,以便做进一步处理。万一出现失败(如硬盘满或服务进程崩溃),Zabbix 服务器能主动向特定机器的管理员报告失败。
Zabbix 代理使用本地系统调用来收集统计信息,所以其效率是十分高的。
[编辑 ] Web 界面
为了能够方便地访问监测数据,同时可以从任何地方和任何平台来配置 Zabbix,Zabbix 提供了基于 Web 的界面。该界面是 Zabbix 服务器的一部分,并且通常(但不必需)运行在与 Zabbix 服务器相同的物理机器上。
注意: 使用 SQLite 时,Zabbix 前端必须运行在相同的物理机器上。
[编辑 ] 从源安装
[编辑 ] 软件要求
从源代码编译 Zabbix 服务器或代理需要其它软件。
编译 ZABBIX 需要以下软件: 下列数据库引擎之一:
MySQL 头文件和库文件 要求 3.22 或以后版本 Oracle 头文件和库文件 要求 Sqlora8 头文件或库文件 PostgreSQL 头文件和库文件 要求 7.0.2 或以后版本。 考虑使用 PostgreSQL 8.x 以获得更好的性能。 SQLite 头文件和库文件 要求 3.3.5 或以后版本
注意: 通常做为 mysql-dev、postgresql-dev或sqlite3-dev 包的一部分。
NET-SNMP (或 UCD-SNMP) 头文件和库文件
要求支持 SNMP,可选
Iksemel 头文件和库文件
要求支持 Jabber 消息,可选
Libcurl 头文件和库文件
Web 监测模块需要,可选
C 编译器
要求 C 编译器。 GNU C 编译器是开放平台的最好选择。其他(HP、IBM)的 C 编译器也许一样好用。
GNU Make
要求 GNU make 以便处理 Zabbix Make 文件
[编辑 ] ZABBIX 发行版结构
doc
包含本手册不同格式的目录
src
包含除前端外所有 Zabbix 处理程序源代码的目录
src/zabbix_server
该目录包含 zabbix_server 的源代码和 make 文件。
src/zabbix_agent
该目录包含 zabbix_agent 和 zabbix_agentd 的源代码和 make 文件。
src/zabbix_sender
该目录包含 zabbix_sender 的源代码和 make 文件。
include
该目录包含 ZABBIX 的 include 文件。
misc
misc/init.d
该目录包含不同平台的启动脚本。
misc/pinger
该目录包含 ICMP pinging 的脚本,pinger.pl。
frontends
frontends/php
该目录包含前端的 PHP 源代码。
create
该目录包含创建数据库的 SQL 初始化脚本。
create/mysql
MySQL 数据库模式。
create/postgresql
PostgreSQL 数据库模式
create/data
创建数据库的初始化数据
upgrades
该目录包含 Zabbix 不同版本的升级步骤
[编辑 ] ZABBIX 服务器
服务器端
第1步 创建 Zabbix 的超级用户帐号
这是用来运行服务器的用户。在实际应用过程中你应该创建一个专用的普通帐号(通常使用 ‘zabbix’)。使用 'root'、'bin' 或其他特殊帐号会产生安全问题,切记不要这样做。
注意: ZABBIX 服务器进程 (zabbix_server) 在 root 帐号下运行将被保护。
第 2 步 解开 ZABBIX 源代码
shell> gunzip zabbix.tar.gz && tar -xvf zabbix.tar
第 3 步 创建 ZABBIX 数据库
ZABBIX 使用 SQL 脚本来创建要求的数据库模式并插入缺省配置。这儿有 MySQL 和 PostgreSQL 两种不同的脚本。
对于 MySQL 来说:
shell> mysql -u<username> -p<password> mysql> create database zabbix; mysql> quit; shell> cd create/mysql shell> cat schema.sql |mysql -u<username> -p<password> zabbix shell> cd ../data shell> cat data.sql |mysql -u<username> -p<password> zabbix shell> cat images_mysql.sql |mysql -u<username> -p<password> zabbix
对于 PostgreSQL 来说:
shell> psql -U <username> psql> create database zabbix; psql> \q shell> cd create/postgresql shell> cat schema.sql|psql -U <username> zabbix shell> cd ../data shell> cat data.sql|psql -U <username> zabbix shell> cat images_pgsql.sql |psql -U <username> zabbix
对于 SQLite 来说:
shell> cd create/sqlite shell> cat schema.sql | sqlite3 /var/lib/sqlite/zabbix.db shell> cd ../data shell> cat data.sql | sqlite3 /var/lib/sqlite/zabbix.db shell> cat images.sql | sqlite3 /var/lib/sqlite/zabbix.db
注意: 数据库如果不存在,将被自动创建。
第 4 步 为您的系统配置和编译源代码
源代码必须在服务器(监测机)和客户端(被监测机)上编译。为服务器配置源代码,您必须指定将使用哪种数据库。
shell> ./configure --enable-server --with-mysql --with-net-snmp –with-jabber –with-libcurl # 配置成 MySQL + Jabber + WEB 监测
或
shell> ./configure --enable-server --with-pgsql --with-net-snmp –with-jabber –with-libcurl # 配置成 PostgreSQL + Jabber + WEB 监测
或
shell> ./configure --enable-server --with-oracle=/home/zabbix/sqlora8 --with-net-snmp –with-jabber –with-libcurl # 配置成 Oracle + Jabber + WEB 监测
注意:使用标记 --with-oracle 是为了指出 sqlora8 库文件所在的位置。支持 Oracle 就需要该库文件。该库文件可以在 libsqlora8 主页上找到。
Note: 使用标记 --enable-static 用来统计链接库。如果您计划在不同的服务器间发布被编译的二进制文件,您必须使用该标记,从而让这些二进制文件可以在没有所要求库文件的情况下工作。 --enable-static 不能在 Solaris 上正常工作。 标记 --with-ucd-snmp 可以用来代替 --with-net-snmp。如果不要求支持 SNMP 的话,--with-net-snmp 和 --with-ucd-snmp 标记都可以省略。
然而,如果您想单独编译客户端二进制文件的话,请运行:
shell> ./configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-jabber –with-libcurl
参数 --enable-static 也可以强行用于静态链接上。
第 5 步 Make 和 安装
shell> make install
缺省使用
make install
将所有文件安装在 /usr/local/bin、/usr/local/lib 等目录中,您也可以使用 --prefix 来指定您要安装的目录前缀
第 6 步 配置 /etc/services
这一步并不真的必需,但它被推荐。在客户机(被监测)上在 /etc/services 文件中添加以下几行:
zabbix_agent 10050/tcp zabbix_trap 10051/tcp
第 7 步 配置 /etc/inetd.conf
如果您计划使用 zabbix_agent 来代替推荐使用的 zabbix_agentd, 那么必须添加以下几行:
zabbix_agent stream tcp nowait.3600 zabbix /opt/zabbix/bin/zabbix_agent
然后重启 inetd
shell> killall -HUP inetd
在配置文件中修改缺省设置
第 8 步 配置 /etc/zabbix/zabbix_agent.conf
您需要为每个安装了 zabbix_agent 的主机配置该文件。该文件将包含 Zabbix 服务器的 IP 地址。来自其他主机的连接将被拒绝。您也可以参考 misc/conf/zabbix_agent.conf 文件。
第 9 步 配置 /etc/zabbix/zabbix_agentd.conf
您需要为每个安装了 zabbix_agentd 的主机配置该文件。该文件将包含 Zabbix 服务器的 IP 地址。来自其他主机的连接将被拒绝。您也可以参考 misc/conf/zabbix_agentd.conf 文件。
第 10 步 配置 /etc/zabbix/zabbix_server.conf
对于小安装来说 (最大不超过 10 个被监测主机),缺省的参数是完成胜任的。但当您要让 Zabbix 发挥最佳性能时就要更改缺省参数。更多详情请参见 [性能调整]章节。
您或许可以参考 misc/conf/zabbix_server.conf 文件。
第 11 步 运行服务器进程
在服务器端运行 zabbix_server
shell> cd bin shell> ./zabbix_server
第 12 步 运行代理
在需要的地方运行 zabbix_agentd
shell> cd bin shell> ./zabbix_agentd
[编辑 ] ZABBIX 代理
客户端
第 1 步 创建 Zabbix 帐号
这是用来运行服务器的用户。在实际应用过程中你应该创建一个专用的普通帐号(通常使用 ‘zabbix’)。ZABBIX 代理在 root 帐号下运行会被保护。
第 2 步 解压 ZABBIX 源代码
shell> gunzip zabbix.tar.gz && tar xvf zabbix.tar
第 3 步 为您的系统配置和编译源代码
该源代码仅为客户端编译。为客户端配置源代码如下:
shell> ./configure --enable-agent
注意: 使用标记 --enable-static 可以统计链接库。如果您计划在不同服务器之间发布编译过的二进制文件,您必须使用该标志以使这些二进制文件在没有要求库文件的情况下也能运行。
第 4 步 生成代理
shell> make
从 bin/ 目录创建二进制文件复制到 /opt/zabbix/bin 或其它常用目录如 /usr/local/bin 或 /usr/local/zabbix/bin 中
第 5 步 配置 /etc/services
这一步并非必需,但推荐做这一步。On the client (monitored) machines, add the following lines to /etc/services:
zabbix_agent 10050/tcp zabbix_trap 10051/tcp
第6步 配置 /etc/inetd.conf
如果您计划使用 zabbix_agent 来代替 zabbix_agentd 的话,那么下行必须要添加:
zabbix_agent stream tcp nowait.3600 zabbix /opt/zabbix/bin/zabbix_agent
重启 inetd
shell> killall -HUP inetd
第7步 配置 /etc/zabbix/zabbix_agent.conf
您需要在每个安装了 zabbix_agent 的主机上配置这个文件,该文件包含 Zabbix 服务器的 IP 地址。来自其他主机的连接将被拒绝。注意,该文件中将不会出现行结束字符。
您也可以参考 misc/conf/zabbix_agent.conf 文件
第8步 配置 /etc/zabbix/zabbix_agentd.conf
您需要在每个安装了 zabbix_agentd 的主机上配置这个文件,该文件包含了 Zabbix 服务器的 IP 地址。 来自其他主机的连接将被拒绝。您可以参考 misc/conf/zabbix_agentd.conf 文件。
第9步 在所有被监测机器上运行 zabbix_agentd
shell> /opt/zabbix/bin/zabbix_agentd
注意: 如果您选择使用 zabbix_agent,那么您不应该再运行 zabbix_agentd !
[编辑 ] ZABBIX WEB 界面
第1步 将您的浏览器指向 Zabbix 的 URL
第2步 阅读和接受 GRL v2
第3步 确保所有软件的先决条件均已满足
第4步 配置数据库设置。Zabbix 数据库必须已经被创建
第5步 查看设置
第6步 下载配置文件并将其放在 conf/ 目录下
第7步 检查是否准备就绪
第9步 仅用于分布式监测!
如果使用分布式环境,您必须运行:
shell> ./zabbix_server –n <nodeid>
其中节点 ID 是一个唯一的节点标识符。例如:
shell> ./zabbix_server –n 1
该语句将转换成使用节点 ID '1' 的数据库数据并添加一个本地节点。
第10步 ZABBIX 前端已经就绪!缺省用户名是 ‘Admin’ ,没设密码
[编辑 ] 升级
升级过程很简单。新二进制文件和前端根据最新安装操作进行安装。为了能更新数据库结构,以下步骤必须执行:
整个升级过程可能花费从0秒(如果不要求补丁的话)到几小时不等。注意在打数据库补丁之前,应停用所有的 Zabbix 进程。
数据库升级通常要求从一个主稳定版本到另一个,如从 1.1.x 到 1.4.x
在进行安装时一个数据库备份是必要的!
[编辑 ] 数据库升级
进入 upgrades/dbpatches 目录中。在该目录中的子目录是按版本升级来命名的(如 1.0beta3_to_1.0beta4)。进入与您升级相一致的目录(如果您要从多个版本进行升级,那么您也必须一次只升级一个)。这有赖于您所使用的数据库:
shell> cd mysql; cat patch.sql |mysql zabbix -u<username> -p<password>
或
shell> cd postgresql; cat patch.sql|psql -U <username> zabbix
别忘了升级 PHP 前端文件。最后阅读版本下面的特别说明以便进行一些额外的处理和得到一些有用的信息。
相关推荐
### Qt4.5.3与tslib1.4在Ubuntu 8.04下的安装及移植至友善之臂Mini2440开发板 #### 开发背景与意义 随着嵌入式系统的广泛应用和发展,Qt图形界面库因其跨平台、易用性好等特点,成为众多嵌入式开发者的首选。tslib...
编译比较新的版本的uboot的时候要求dtc版本不低于1.4 dtc-1.4,在ubuntu 12.04上验证过可以用的。 可以直接放在/usr/bin目录下。
指定类型文档在生成过程中强制,实时,自动加密,而用户感觉不到它的存在,无需改变任何操作流程和习惯. 智能解密: 当开发人员需要查看,编辑源代码时自动解密,使开发人员看到明文。当需要编译代码的时候,...
#1.4_Ubuntu_安装软件_app_(Linux_机器学习_教程教学_tutorial)
Ubuntu 下 SSH 配置详解 在 Linux 的 Ubuntu 版本下,配置 SSH 服务是一件非常重要的事情。SSH(Secure Shell)是一种安全的远程登录协议,可以实现远程登录到服务器上。下面将详细介绍在 Ubuntu 下配置 SSH 服务的...
在Linux系统中,`top`命令是一个非常强大的实时系统监控工具,尤其在Ubuntu等基于Linux的发行版中广泛使用。`top`命令提供了系统运行状态的动态视图,包括CPU使用情况、内存使用情况、任务(进程)状态以及系统负载...
本文将详细介绍如何在 Ubuntu 8.04 系统下安装 Qt4.5.3 和 tslib1.4,并解决移植过程中遇到的问题。Qt 是一款跨平台的应用开发框架,广泛应用于桌面、移动设备等多领域。而 tslib 是一个用于触摸屏校准和管理的库。...
### 在Windows中安装Ubuntu步骤详解 #### 一、前言 随着信息技术的发展,越来越多的人希望在Windows环境下体验或使用Linux操作系统。为此,很多人选择在Windows上安装虚拟机软件,通过虚拟机来运行Ubuntu等Linux...
详细介绍了ubuntu新手安装,从下载到刻入优盘再到安装,有截图,步骤详细
Ubuntu 图形界面配置 IP 步骤详解 Linux 系统是指在 Ubuntu 操作系统中使用图形界面来配置 IP 地址的过程。本文将详细介绍 Ubuntu 图形界面配置 IP 步骤,帮助用户快速掌握配置 IP 地址的技能。 配置 IP 地址的重要...
在Debian/Ubuntu中,可以使用以下命令安装: `apt-get install gcc-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64-tools` 获取VLC源代码 获取VLC源代码可以从VLC官方网站下载。 配置编译环境 在编译VLC之前,...
Ubuntu的apt命令详解 Ubuntu的apt命令是Ubuntu操作系统中最常用的软件包管理命令,用于安装、卸载、更新和管理软件包。下面是apt命令的详细解释: 安装软件包 apt-get install packagename:安装一个新软件包,这...
在本篇【ubuntu 11.10 安装过程详解】中,我们将详细探讨如何在虚拟环境中安装 Ubuntu 11.10 操作系统,包括使用 VMware 和 VirtualBox 两种虚拟机软件的步骤。 首先,我们看到的是使用 VMware 进行安装的过程。...
手把手教你在Ubuntu中怎么打中文,图文并貌
手把手教你sqlite3在Ubuntu中的安装及使用
在Ubuntu中安装apache 安装指令: sudo apt-get install apache2 安装结束后: 产生的启动和停止文件是:/etc/init.d/apache2 启动: sudo apache2ctl -k start 停止: sudo apache2ctl -k stop 重新启动: sudo...
标题中的“硬盘安装Ubuntu 9.04过程详解”指的是在个人计算机的硬盘上安装Linux Ubuntu 9.04操作系统的详细步骤。Ubuntu 9.04,代号“Jaunty Jackalope”,是Ubuntu发布的一个较早的版本,于2009年推出,它提供了对...
作为Linux发行版中的后起之秀,Ubuntu Linux在短短几年时间里就成长为从Linux初学者到资深专家都十分青睐的发行版。Ubuntu Linux是开放源代码的自由软件,用户可以登录Ubuntu Linux的官方网址免费下载该软件的安装包...
- 配置JAVA_HOME等环境变量,并添加到`/etc/profile`文件中以确保Java命令可以在终端中执行。 #### 安装依赖包 - **安装依赖**:根据Oracle的官方文档,安装一系列必要的依赖包,包括但不限于: - lesstif2及其...