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等通知功能
安装要求
硬件
内存和磁盘
Zabbix同时需要物理内存和磁盘空间。刚开始使用Zabbix,建议128MB物理内存和256MB可用磁盘空间。然而, 具体需要的内存大小和磁盘空间要根据主机数量和监控参数而定。如果你计划对监控的参数进行长期保存,你应该考虑至少在数据库中预留几个GB的空间,以用来保留历史数据。 每个Zabbix的守护进程需要与数据库服务器建立多个连接。分配给连接的内存数量,取决于数据库引擎的配置。
你使用的内存越多,你的数据库(也包括Zabbix)工作得越快!
CPU
根据监控参数及选择的数据库引擎,Zabbix,特别是Zabbix数据库,可能需要大量的CPU资源,
其他硬件
如果需要启用短信(SMS)通知功能,需要串行通讯口(serial communication port)和串行GSM调制解调器(serial GSM modem)。USB转串行转接器也同样可以工作。
硬件配置示例
下表是几个硬件配置的示例:
名称 | 平台 | CPU/内存 | 数据库 | 监控主机数量 |
---|---|---|---|---|
小型 | CentOS | 虚拟应用 | MySQL InnoDB | 100 |
中型 | CentOS | 2 CPU cores/2GB | MySQL InnoDB | 500 |
大型 | RedHat Enterprise Linux | 4 CPU cores/8GB | RAID10 MySQL InnoDB or PostgreSQL | >1000 |
巨大型 | RedHat Enterprise Linux | 8 CPU cores/16GB | 快速RAID10 MySQL InnoDB or PostgreSQL | >10000 |
具体的配置极其依赖于Active Item数量和轮询频率。如需要进行大规模部署,强烈建议将数据库进行独立部署。
支持平台
由于监控服务器的安全要求及关键任务的特性,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无法启动。
软件
Zabbix基于先进的Apache Web服务器、领先的数据库引擎和PHP脚本语言进行构建。
数据库管理系统
软件 | 版本 | 备注 |
---|---|---|
MySQL | 5.0.3或以上 | 使用MySQL作为Zabbix后端数据库。需要InnoDB引擎。 |
Oracle | 10g或以上 | 使用Oracle作为Zabbix后端数据库。 |
PostgreSQL | 8.1或以上 | 使用PostgreSQL作为Zabbix后端数据库。 建议使用PostgreSQL 8.3以上的版本。以提供更好的VACUUM性能. 。 |
SQLite | 3.3.5或以上 | 使用SQLite作为Zabbix后端数据库。 |
IBM DB2 | 9.7或以上 | 使用IBM DB2作为Zabbix后端数据库。 |
注意:
对于IBM DB2的支持仅供测试!
虽然Zabbix proxy可以正常使用SQLite3,但是不推荐Zabbix server使用SQLite3。自Zabbix 2.4.0起,,Zabbix server和前端同时进行数据库访问,甚至可能导致数据库中断!
前端
Zabbix前端需要使用下列软件:
软件 | 版本 | 备注 |
---|---|---|
Apache | 1.3.12或以上 | |
PHP | 5.4.0或以上 | |
PHP扩展包: | ||
gd | 2.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) | |
libXML | 2.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 #查看系统版本
[root@zabbix-server ~]# uname -r #查看内核版本
[root@zabbix-server ~]# ifconfig ens33 |awk -F '[ :]+' 'NR==2{print $3}' #查看主机IP地址
[root@zabbix-server ~]# hostname #查看主机名
[root@zabbix-server ~]# systemctl stop ebtables firewalld #关闭ebtables firewall防火墙
[root@zabbix-server ~]# systemctl diable ebtables firewalld #重启不启动ebtables firewall防火墙
[root@zabbix-server ~]# vim /etc/sysconfig/selinux #编辑selinux的著配置文件设置其状态为disabled关闭状态
[root@zabbix-server ~]# setenforce 0 #临时调整selinux状态为Permissive
[root@zabbix-server ~]# getenforce #检测selinux的状态
二、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
2、安装Zabbix服务器,前端,代理
yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-agent
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
[root@zabbix-server ~]# yum -y install mysql-community-server #安装数据库软件
[root@zabbix-server ~]# systemctl start mysqld #启动MySQL服务
[root@zabbix-server ~]# systemctl enable mysqld #将MySQL服务设置为开机启动
[root@zabbix-server ~]# systemctl status mysqld #查看MySQL服务运行状态
4、初始化数据库信息
[root@zabbix-server ~]# mysql_secure_installation #初始化数据库信息
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;
6、导入初始架构和数据。系统将提示您输入新创建的密码。
[root@zabbix-server ~]# zcat /usr/share/doc/zabbix-server-mysql-3.4.12/create.sql.gz | mysql -uzabbix -p zabbix
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
8、查看编辑配置的数据库信息
[root@zabbix-server ~]# grep ^DB /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
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行设置时区为亚洲/上海
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服务
现在您的Zabbix服务器已启动并运行!
三、安装 zabbix Web
1、 在你的浏览器,打开网址http://Zabbix_server_ip/zabbix。你应该看到的web安装向导的第一个屏幕。
2、 确保所有软件先决条件。
3、 输入连接到数据库详细信息。Zabbix数据库必须已经创建好。
4、 连接Zabbix服务细节,如果没有改变可选择默认。
5、 回顾zabbix前端设置概要。
6、 完成安装。
7、 安装完成后会在/etc/zabbix/web/zabbix.conf.php生成配置文件,根据提示可以看到上面图形界面的操作都写到这个配置文件中。
8、 Zabbix登陆准备。默认的用户名:Admin,密码:zabbix。
9、 登录界面,我们可以看到zabbix的仪表盘
10、更改web登陆的Admin默认密码
11、设置新的密码,这里也可以设置界面的主题、语言和登陆后显示的默认界面等