1.部署Zabbix有四种途径:
- 从分发包安装
- 下载最新的源代码归档,并自行编译
- 从容器安装
- 下载虚拟应用
本篇主要使用分发包进行安装部署。
2. 安装要求
硬件
Zabbix同时需要物理内存和磁盘空间。刚开始使用Zabbix,建议128MB物理内存和256MB可用磁盘空间。然而, 具体需要的内存大小和磁盘空间要根据主机数量和监控参数而定。如果你计划对监控的参数进行长期保存,你应该考虑至少在数据库中预留几个GB的空间,以用来保留历史数据。 每个Zabbix的守护进程需要与数据库服务器建立多个连接。分配给连接的内存数量,取决于数据库引擎的配置。
根据监控参数及选择的数据库引擎,Zabbix,特别是Zabbix数据库,可能需要大量的CPU资源。
名称 | 平台 | 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 |
Tip: 具体的配置极其依赖于Active Item数量和轮询频率。如需要进行大规模部署,强烈建议将数据库进行独立部署。
3.安装部署
3.1 环境准备
环境准备包括主机名解析、yum仓库配置和时间同步
# vim /etc/hosts
192.168.1.224 node1
192.168.1.74 node2
192.168.1.53 node3
# rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm
# ntpdate 0.centos.pool.ntp.org
3.2 安装Zabbix部署包
以下是使用Mysql数据库安装Zabbix server、WEB前端的示例
[root@node1 ~]# yum install zabbix-server-mysql zabbix-web-mysql zabbix-get
只安装Zabbix Agent的示例
[root@node1 ~]# yum install -y zabbix-agent
[root@node2 ~]# yum install -y zabbix-agent zabbix-sender
安装初始化数据库
[root@node1 ~]# yum install -y mariadb-server
[root@node1 ~]# systemctl start mariadb.service
[root@node1 ~]# mysql
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by '123456';
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@'192.168.1._' identified by '123456';
MariaDB [(none)]> flush privileges;
验证
[root@node1 ~]# mysql -uzabbix -hlocalhost -p
Enter password: 123456
初始化数据库
[root@node1 ~]# cd /usr/share/doc/zabbix-server-mysql-3.4.5/
[root@node1 zabbix-server-mysql-3.4.5]# zcat create.sql.gz |mysql -uzabbix -hlocalhost -p123456 zabbix
验证初始化数据库
MariaDB [zabbix]> use zabbix
MariaDB [zabbix]> show tables;
启动Zabbix Server进程
在zabbix_server.conf中编辑数据库配置
[root@node1 ~]# vim /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=123456
启动Zabbix Server进程
[root@node1 ~]# systemctl start zabbix-server
[root@node1 ~]# ss -tnl|grep 10051
LISTEN 0 128 *:10051 *:*
LISTEN 0 128 :::10051 :::*
编辑Zabbix前端的PHP配置
Zabbix前端的Apache配置文件位于 /etc/httpd/conf.d/zabbix.conf 。一些PHP设置已经完成了配置
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value always_populate_raw_post_data -1
php_value date.timezone Asia/Shanghai
依据所在时区,你可以取消 “date.timezone” 设置的注释,并正确配置它。在配置文件更改后,需要重启Apache Web服务器。
[root@node1 ~]# systemctl start httpd
4.配置前端web页面
浏览器访问http://192.168.1.224/zabbix
确保这些配置检查都是OK
设置数据库
输入默认的账号密码进行访问
Admin/zabbix
添加zabbix-server监控自身
zabbix监控自身只需要启动zabbix-agent即可,因为其默认的Sever=127.0.0.1
,已经在zabbix-agent.conf中已经指明了zabbix服务端的地址。
[root@node1 ~]# systemctl start zabbix-agent
[root@node1 ~]# ss -tnl|grep 10050
LISTEN 0 128 *:10050 *:*
LISTEN 0 128 :::10050 :::*
在web页面,使其enable即可
zabbix状态为绿色说明已经监控上
我们可以在Monitoring
-->Graphs
上选择对应的主机查看数据。