Zabbix([`zæbiks])是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
简单说明一下Zabbix的大体架构,Zabbix主要有zabbix-server、zabbix-agent、zabbix-web、zabbix-proxy(本次部署不涉及)组成。其中:
zabbix-server为zabbix的核心,用于收集各个客户端节点的数据并进行处理。
zabbix-agent为客户端程序,用于安装到被监控端进行数据收集,它包含两种模式:主动模式
主动模式:agent请求server获取主动的监控项列表,并主动将监控项内需要检测的数据提交给server/proxy;
被动模式:server向agent请求获取监控项的数据,agent返回数据。
zabbix-web为监控数据呈现平台,用于提供web界面展示相关监控数据。
zabbix-proxy为分布式监控环境中的专用组件,用于在分布式环境中代替server收集数据分担server压力。
本着要么不搞,要搞就搞大的原则,本次部署配置采用组件独立部署模式,即Zabbix Web(项目要求web使用nginx实现,还有一个apache模式,此次不涉及)、Zabbix Server、DB(数据库支持mysql和pgsql,此次采用mysql)全部分离的方式部署。
简单介绍部署环境的网络信息: - web ip:192.168.77.200; - server ip:192.168.77.201; - db ip:192.168.77.202; - TLinux ip:192.168.77.250; - TWinSvr ip:192.168.77.248。 TLinux和TWinSvr为被监控服务器。
所有涉及的Linux操作系统为CentOS8
开始部署 zabbix-web
首先安装zabbix国内源。
rpm -Uvh https://repo.huaweicloud.com/zabbix/zabbix/5.4/rhel/8/x86_64/zabbix-release-5.4-1.el8.noarch.rpm
关闭SELINUX,修改/etc/selinux/config文件,将SELINUX关闭。否则会出现Web配置时连接不上数据库问题。
安装zabbix-web相关组件。
yum install -y zabbix-web-mysql zabbix-nginx-conf
安装完成后cat /etc/nginx/conf.d/zabbix.conf将server标签内容复制,替换/etc/nginx/nginx.conf中的server标签内容,并去掉listen和server_name的注释。
修改/etc/php-fpm.d/zabbix.conf设置时区为Asia/Shanghai。
防火墙开启TCP80端口。
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
启动nginx和php,并添加开机启动。
systemctl start nginx php-fpm
systemctl enable nginx php-fpm
zabbix-server
关闭SELINUX,否则会出现zabbix-server无法启动的问题。
安装zabbix国内源。
rpm -Uvh https://repo.huaweicloud.com/zabbix/zabbix/5.4/rhel/8/x86_64/zabbix-release-5.4-1.el8.noarch.rpm
安装zabbix-server相关组件。
yum install -y zabbix-server-mysql zabbix-sql-scripts
安装完成后修改/etc/zabbix/zabbix_server.conf文件。主要修改下面几个项目,注意DBPassword要记住,在安装配置数据库时需要。
DBHost=192.168.77.202
DBName=zabbix
DBUser=zabbix
DBPassword=Password
防火墙开启TCP10051端口。
firewall-cmd --zone=public --add-port=10051/tcp --permanent
firewall-cmd --reload
启动zabbix server,并添加开机启动。
systemclt start zabbix-server
systemctl enable zabbix-server
DB Server
安装数据库。
yum install -y mariadb-server
启动数据库,并添加开机启动。
systemctl start mariadb
systemctl enable mariadb
初始化数据库。
mysql_secure_installation
大体初始化流程如下:
第一步直接回车
是否设置root密码:y
第一次密码:
确认密码:
是否移除anonymous用户:y
是否不允许root远程登录:y
是否移除test数据库:y
是否更新:y
登录数据库,配置数据库。
mysql -uroot -p
创建数据,字符格式必须UTF8,否则会出现中午乱码。
create database zabbix character set utf8 collate utf8_bin;
创建数据库用户。
create user zabbix@localhost identified by 'password';
授权用户远程登录数据库。(刚才在配置server是的那个DBPassword填在这里。)
grant all privileges on zabbix.* to zabbix@'%' identified by 'Password' with grant option;
更新。
flush privileges;
去zabbix server把数据库创建脚本拿过来,数据库创建脚本在/usr/share/doc/zabbix-sql-scripts/mysql/create.sql.gz,解压文件。
gunzip create.sql.gz
修改create.sql,在文件头部加入"USE zabbix"并保存。
将create.sql内容导入数据库。
cat create.sql | mysql -uzabbix -p
如果不修改.sql文件在这里会有错误提示
防火墙开始TCP3306端口。
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
+++++++++++++++++++来条分割线+++++++++++++++++++
浏览器输入zabbix web的IP地址登录zabbix,下一步开始配置。
必要条件检查,如有不满足请排查。
配置数据库,数据库主机填写数据服务器ip,密码填写数据库授权时的密码。
配置zabbix server服务器ip及名称。
配置时区和主题。
确认信息。
完成配置。
登录zabbix,默认用户名Admin,密码zabbix。
注意:用户名区分大小写
Now zabbix it's Over!