Zabbix3.4介绍

zabbix(音同 za:bix)是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。

zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。

zabbix由2部分构成,zabbix server与可选组件zabbix agent。

zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,AIX,HP-UX,Free BSD,Open BSD,OS X等平台上。

Zabbix特点

1. 安装与配置简单,学习成本低

2. 支持多语言(包括中文)

3. 免费开源

4. 自动发现服务器与网络设备

5. 分布式监视以及WEB集中管理功能

6. 可以无agent监视

7. 用户安全认证和柔软的授权方式

8. 通过WEB界面设置或查看监视结果

9. Email等通知功能

安装要求

  1. 硬件

内存和磁盘

Zabbix同时需要物理内存和磁盘空间。刚开始使用Zabbix,建议128MB物理内存和256MB可用磁盘空间。然而, 具体需要的内存大小和磁盘空间要根据主机数量和监控参数而定。如果你计划对监控的参数进行长期保存,你应该考虑至少在数据库中预留几个GB的空间,以用来保留历史数据。 每个Zabbix的守护进程需要与数据库服务器建立多个连接。分配给连接的内存数量,取决于数据库引擎的配置。

你使用的内存越多,你的数据库(也包括Zabbix)工作得越快!

CPU

根据监控参数及选择的数据库引擎,Zabbix,特别是Zabbix数据库,可能需要大量的CPU资源,

其他硬件

如果需要启用短信(SMS)通知功能,需要串行通讯口(serial communication port)和串行GSM调制解调器(serial GSM modem)。USB转串行转接器也同样可以工作。

硬件配置示例

下表是几个硬件配置的示例:

名称平台CPU/内存数据库监控主机数量
小型CentOS虚拟应用MySQL InnoDB100
中型CentOS2 CPU cores/2GBMySQL InnoDB500
大型RedHat Enterprise Linux4 CPU cores/8GBRAID10 MySQL InnoDB or PostgreSQL>1000
巨大型RedHat Enterprise Linux8 CPU cores/16GB快速RAID10 MySQL InnoDB or PostgreSQL>10000


具体的配置极其依赖于Active Item数量和轮询频率。如需要进行大规模部署,强烈建议将数据库进行独立部署。

  1. 支持平台

由于监控服务器的安全要求及关键任务的特性,UNIX是唯一可以持续提供必要性能、容错性和扩展性的操作系统。Zabbix可以运行在市场上的主流版本。

经测试,Zabbix可运行在下列平台:

  • Linux

  • IBM AIX

  • FreeBSD

  • NetBSD

  • OpenBSD

  • HP-UX

  • Mac OS X

  • Solaris

  • Windows: Windows 2000以后的所有桌面和服务器版本 (只可运行Zabbix agent)

Zabbix可能也可以运行在其他Unix类操作系统。

如果使用加密编译,那么Zabbix会禁用核心转储(Core dumps);同时,如果系统不允许禁用核心转储,那么Zabbix无法启动。

  1. 软件

Zabbix基于先进的Apache Web服务器、领先的数据库引擎和PHP脚本语言进行构建。

数据库管理系统
软件版本备注
MySQL5.0.3或以上使用MySQL作为Zabbix后端数据库。需要InnoDB引擎。
Oracle10g或以上使用Oracle作为Zabbix后端数据库。
PostgreSQL8.1或以上使用PostgreSQL作为Zabbix后端数据库。
建议使用PostgreSQL 8.3以上的版本。以提供更好的VACUUM性能. 。
SQLite3.3.5或以上使用SQLite作为Zabbix后端数据库。
IBM DB29.7或以上使用IBM DB2作为Zabbix后端数据库。

注意:

对于IBM DB2的支持仅供测试!

虽然Zabbix proxy可以正常使用SQLite3,但是不推荐Zabbix server使用SQLite3。自Zabbix 2.4.0起,,Zabbix server和前端同时进行数据库访问,甚至可能导致数据库中断!


  1. 前端

Zabbix前端需要使用下列软件:

软件版本备注
Apache1.3.12或以上
PHP5.4.0或以上
PHP扩展包:
gd2.0或以上PHP GD扩展包必须支持PNG图片 (--with-png-dir), JPEG (--with-jpeg-dir) images and FreeType 2 (--with-freetype-dir).
bcmath
php-bcmath (--enable-bcmath)
ctype
php-ctype (--enable-ctype)
libXML2.6.15或以上php-xml or php5-dom,由分发者提供单独的部署包。
xmlreader
php-xmlreader,由分发者提供单独的部署包。
xmlwriter
php-xmlwriter,由分发者提供单独的部署包。
session
php-session,由分发者提供单独的部署包。
sockets
php-net-socket (--enable-sockets). 用户脚本支持所需要的组件。
mbstring
php-mbstring (--enable-mbstring)
gettext
php-gettext (--with-gettext). 用于翻译的运行。
ldap
php-ldap.只有当在前端使用LDAP认证时才需要。
ibm_db2
使用IBM DB2作为Zabbix后端数据库所需要的组件。
mysqli
使用MySQL作为Zabbix后端数据库所需要的组件。
oci8
使用Oracle作为Zabbix后端数据库所需要的组件。
pgsql
使用PostgreSQL作为Zabbix后端数据库所需要的组件。
sqlite3
使用SQLite作为Zabbix后端数据库所需要的组件。



Zabbix部署

一、Zabbix环境准备

1. 环境准备

OS版本:centos 7.5 64bit

Zabbix版本:3.4

MySQL版本:5.7

2. 系统基本信息查看

[root@zabbix-server ~]#  cat /etc/redhat-release #查看系统版本

Centos 7.5 部署zabbix3.4_Centos

[root@zabbix-server ~]#  uname -r #查看内核版本

Centos 7.5 部署zabbix3.4_Centos_02

[root@zabbix-server ~]#  ifconfig ens33 |awk -F '[ :]+' 'NR==2{print $3}' #查看主机IP地址

Centos 7.5 部署zabbix3.4_Centos_03

[root@zabbix-server ~]#  hostname #查看主机名

Centos 7.5 部署zabbix3.4_linux_04

[root@zabbix-server ~]#  systemctl stop ebtables firewalld #关闭ebtables firewall防火墙

[root@zabbix-server ~]#  systemctl diable ebtables firewalld #重启不启动ebtables firewall防火墙

Centos 7.5 部署zabbix3.4_zabbix_05

[root@zabbix-server ~]# vim /etc/sysconfig/selinux      #编辑selinux的著配置文件设置其状态为disabled关闭状态

Centos 7.5 部署zabbix3.4_Centos_06

[root@zabbix-server ~]#  setenforce 0 #临时调整selinux状态为Permissive

[root@zabbix-server ~]#  getenforce #检测selinux的状态

Centos 7.5 部署zabbix3.4_Centos_07

二、zabbix server 配置

1、安装Zabbix3.4 存储配置包以及yum配置文件

rpm -ivh https://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm

Centos 7.5 部署zabbix3.4_linux_08

2、安装Zabbix服务器,前端,代理

yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-agent 

Centos 7.5 部署zabbix3.4_linux_09Centos 7.5 部署zabbix3.4_linux_10

3、安装并且启动数据库(你可以使用MySQL Mariadb)

安装mysql5.6源

[root@zabbix-server ~]# rpm -ivh http://repo.mysql.com/yum/mysql-5.6-community/el/7/x86_64/mysql-community-release-el7-5.noarch.rpm

Centos 7.5 部署zabbix3.4_linux_11

[root@zabbix-server ~]# yum -y  install mysql-community-server   #安装数据库软件

Centos 7.5 部署zabbix3.4_zabbix_12Centos 7.5 部署zabbix3.4_zabbix_13

[root@zabbix-server ~]# systemctl start mysqld   #启动MySQL服务

[root@zabbix-server ~]# systemctl enable mysqld #将MySQL服务设置为开机启动

[root@zabbix-server ~]# systemctl status mysqld  #查看MySQL服务运行状态

Centos 7.5 部署zabbix3.4_zabbix_14

4、初始化数据库信息

[root@zabbix-server ~]# mysql_secure_installation  #初始化数据库信息

Centos 7.5 部署zabbix3.4_Centos_15Centos 7.5 部署zabbix3.4_linux_16

5、创建数据库zabbix,并给zabbix用户授权

[root@zabbix-server ~]#mysql -uroot -p   #用root用户登陆MySQL数据库

mysql> create database zabbix character set utf8 collate utf8_bin;     #创建zabbix数据库

mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';   #给zabbix用户授权zabbix数据库的权限

mysql> quit;

Centos 7.5 部署zabbix3.4_zabbix_17

6、导入初始架构和数据。系统将提示您输入新创建的密码。

[root@zabbix-server ~]# zcat /usr/share/doc/zabbix-server-mysql-3.4.12/create.sql.gz | mysql -uzabbix -p zabbix

Centos 7.5 部署zabbix3.4_linux_18

7、为Zabbix服务器编辑配置数据库,编辑文件/etc/zabbix/zabbix_server.conf

[root@zabbix-server ~]#  vim /etc/zabbix/zabbix_server.conf

行号      编辑内容

 91    DBHost=localhost

101   DBName=zabbix

117   DBUser=zabbix

125   DBPassword=zabbix

Centos 7.5 部署zabbix3.4_linux_19Centos 7.5 部署zabbix3.4_Centos_20

8、查看编辑配置的数据库信息

[root@zabbix-server ~]# grep  ^DB /etc/zabbix/zabbix_server.conf

DBHost=localhost

DBName=zabbix

DBUser=zabbix

DBPassword=zabbix

Centos 7.5 部署zabbix3.4_linux_21

9、为Zabbix前端配置PHP编辑文件/etc/httpd/conf.d/zabbix.conf,取消注释并为您设置正确的时区。

[root@zabbix-server ~]# vim /etc/httpd/conf.d/zabbix.conf    #编辑PHP前端配置文件

       php_value date.timezone Asia/Shanghai        #第20行设置时区为亚洲/上海

Centos 7.5 部署zabbix3.4_Centos_22

10、启动Zabbix服务器和代理进程并使其在系统引导时启动:

[root@Server ~]# systemctl restart zabbix-server zabbix-agent httpd  #重启zabbix-server zabbix-agent http服务

[root@Server ~]# systemctl enable zabbix-server zabbix-agent httpd  #开机自动启动zabbix-server zabbix-agent http服务

Centos 7.5 部署zabbix3.4_zabbix_23

现在您的Zabbix服务器已启动并运行!

三、安装 zabbix Web

1、 在你的浏览器,打开网址http://Zabbix_server_ip/zabbix。你应该看到的web安装向导的第一个屏幕。    

Centos 7.5 部署zabbix3.4_Centos_24           

2、 确保所有软件先决条件。

Centos 7.5 部署zabbix3.4_zabbix_25

3、 输入连接到数据库详细信息。Zabbix数据库必须已经创建好。

Centos 7.5 部署zabbix3.4_linux_26

4、 连接Zabbix服务细节,如果没有改变可选择默认。

Centos 7.5 部署zabbix3.4_Centos_27

5、 回顾zabbix前端设置概要。

Centos 7.5 部署zabbix3.4_zabbix_28

6、 完成安装。

Centos 7.5 部署zabbix3.4_linux_29

7、 安装完成后会在/etc/zabbix/web/zabbix.conf.php生成配置文件,根据提示可以看到上面图形界面的操作都写到这个配置文件中。

Centos 7.5 部署zabbix3.4_linux_30

8、 Zabbix登陆准备。默认的用户名:Admin,密码:zabbix。

Centos 7.5 部署zabbix3.4_zabbix_31

9、 登录界面,我们可以看到zabbix的仪表盘

Centos 7.5 部署zabbix3.4_Centos_32

10、更改web登陆的Admin默认密码

Centos 7.5 部署zabbix3.4_linux_33

11、设置新的密码,这里也可以设置界面的主题、语言和登陆后显示的默认界面等

Centos 7.5 部署zabbix3.4_zabbix_34