前言
先来说说什么是 Zabbix,Zabbix 是一个基于 WEB 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案,简单来说就是服务器的监控面板程序。这个程序是开源免费的,我使用它是主要是为了监控我的多台服务器运行状态。
Zabbix 由两部分构成,Zabbix Server(服务端) 与可选组件 Zabbix Agent(客户端)。Zabbix Server 可以通过 SNMP,Zabbix Agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能。Zabbix 可以运行在 Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X 等各种平台上。
环境说明
操作系统:CentOS 7.6
宝塔面板版本:7.5.2
PHP版本:7.4
Nginx版本:1.18.0
Mysql版本:5.6.50
phpMyAdmin版本:5.0
部署 Zabbix 程序
Zabbix 需要 LNMP 或者 LAMP 环境,由于我的服务器已经部署了宝塔面板的 LNMP 环境,所以我需要基于宝塔安装 Zabbix Server。
创建用户
为了安全考虑,Zabbix 只使用普通用户运行,假如你当前用户是 zhang3,那么你运行它,它便使用 zhang3 身份运行。但是如果你在 root 环境下运行 Zabbix,那么 Zabbix 将会主动使用 zabbix 用户来运行。假如你的系统没有名叫 zabbix 的用户,那么你需要创建一个用户,如下:
groupadd zabbix
useradd zabbix -g zabbix -s /sbin/nologin
Shell 复制
安装 Zabbix 所需依赖
yum -y install epel-release
yum -y install net-snmp-devel fping
Shell 复制
下载 Zabbix 源码并解压
wget http://cdn.zabbix.com/zabbix/sources/stable/5.0/zabbix-5.0.1.tar.gz
tar -zxvf zabbix-5.0.1.tar.gz
Shell 复制
编译解压后的程序
注意:先进入目录,然后在执行以下语句
查看其他参数说明 ./configure -h
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
Shell 复制
若无报错则开始编译安装
make install
Shell 复制
在宝塔面板新建一个站点
注意不要创建数据库,因为宝塔自动创建的数据库 Zabbix Web 端大概率报错。
建立 Zabbix 的数据库
使用命令的方式创建 zabbix 数据库,创建完成后去 宝塔面板-数据库-从服务器获取 就可以看到新建的数据库了。
shell> mysql -uroot -p
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> create user 'zabbix'@'localhost' identified by '''';
mysql> grant all privileges on zabbix.* to 'zabbix'@'localhost';
mysql> quit;
Shell 复制
解压前面下载到本地的源码文件,进入 /database/mysql 目录,分别按顺序导入
schema.sql、images.sql、data.sql 这三个文件,这样数据库就创建完成并导入初始数据了。
mysql> show databases;
mysql> use zabbix;
Database changed
mysql> source /usr/local/zabbix-5.0.1/database/mysql/schema.sql;
mysql> source /usr/local/zabbix-5.0.1/database/mysql/images.sql;
mysql> source /usr/local/zabbix-5.0.1/database/mysql/data.sql;
mysql> quit;
Shell 复制
更新 Zabbix 的配置文件
1.使用
vi /usr/local/zabbix/etc/zabbix_server.conf
Shell 复制
更改 DBName,DBUser和DBPassword 这三个值,即上面创建的 zabbix 数据库名称、用户名、密码
2.在宝塔面板安全里放行 10051 端口,也可以使用下面的命令直接关闭 Centos 防火墙
关闭防火墙
systemctl stop firewalld.service
开机不启动防火墙
systemctl disable firewalld.service
Shell 复制
修改宝塔 PHP 配置
将下图的红框中的值改为 300,删除禁用函数中的 putenv 函数
注:如果要在宝塔面板管理数据库的话,可以在宝塔面板后台->数据库->从服务器获取启动 Zabbix 程序
/usr/local/zabbix/sbin/zabbix_server
/usr/local/zabbix/sbin/zabbix_agentd
Shell 复制
将上面的两行命令添加到 /etc/rc.d/rc.local 文件中,即可实现开机自启
10.部署 Zabbix Web 端
将本地解压的 Zabbix 源码文件中的 ui 目录中的所有内容,上传到刚才新建的站点根目录中,访问站点并根据流程安装程序,开始使用。
11.监控多个服务器
只需要在你想要监控的服务器上部署 Zabbix Agent 程序,放行 10050 端口,然后在你的服务端的 Web 后台添加相应的主机即可。这里不再赘述了,部署方法参照http://www.zabbix.com/cn/download |