1. 离线文件准备.
2.1 操作流程,从外网下载安装包和依赖包,然后拷贝到内网服务器进行离线安装.官网的教程是在线安装,
教程地址:https://www.zabbix.com/cn/download?zabbix=5.0&os_distribution=centos&os_version=7&db=mysql&ws=apache
2.2 先配置zabbix的yum源,下载https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm到/root/softFile/下,
使用命令:rpm -ivh /root/softFile/zabbix-release-5.0-1.el7.noarch.rpm 进行安装,
此文件安装之后会在/etc/yum.repos.d/目录下生成zabbix.repo文件,当在线下载zabbix依赖包时,此repo文件会做出指引.
编辑这个zabbix.repo文件,将zabbix-frontend enabled改为1
vim /etc/yum.repos.d/zabbix.repo
[zabbix-frontend]
...
enabled=1
...
2. 刷新yum源.
在设置yum源之后,需要清理缓存,重新启用.yum 清理缓存,使用如下三条命令:
yum clean all
yum makecache
3. 明确要安装的服务有下面四个,
zabbix-server-mysql,和mysql挂钩的zabbix服务.
zabbix-agent,zabbix客户端,将主动向服务器端发送数据.
zabbix-web-mysql-scl,zabbix服务端管理页面,与mysql挂钩,前端使用php编写,所以需要php环境.
zabbix-apache-conf-scl,zabbix服务端管理页面
4. 安装软件集合存储库(SCL)
在下载zabbix-web-mysql-scl及其依赖时,会提示缺rh-php72-php*文件,
这些文件在软件集合存储库(SCL)中,所以需要先安装scl,
输入:yum install centos-release-scl-rh
说明:配置yum源,生成CentOS-SCLo-scl-rh.repo
5. 安装php环境.
在下载zabbix-web-mysql-scl及其依赖时,会提示缺rh-php72-php*文件,
这是由于管理页面的前端使用php编写,所以需要安装php环境,
zabbix我们准备装5.0版本,依赖的php版本是7.2,有的centos没装或已经装了php5.6,此时用以下命令安装或升级php到7.2
rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm 说明:配置yum源,生成epel.repo epel-testing.repo
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm 说明,配置yum源,生成webtatic-archive.repo webtatic-testing.repo webtatic.repo
6. 下载zabbix安装包及其所有依赖.
yum install --downloadonly --downloaddir=/root/softFile/zabbix5.0_download zabbix-server-mysql
yum install --downloadonly --downloaddir=/root/softFile/zabbix5.0_download zabbix-agent
yum install --downloadonly --downloaddir=/root/softFile/zabbix5.0_download rh-php72-php-mbstring rh-php72-php-fpm rh-php72-php-ldap rh-php72-php-bcmath rh-php72-php-mysqlnd rh-php72-php-gd rh-php72-php-xml rh-php72
6.1 遇到个奇怪的问题,yum install --downloadonly --downloaddir=/root/softFile/zabbix5.0_download zabbix-server-mysql
执行有时查找依赖然后下载文件,有时直接打出"已加载插件:fastestmirror"就结束了.
但是执行yum install --downloadonly --downloaddir=/root/softFile/zabbix5.0_download java
一定会查找依赖并下载文件,遇到这种情况,我都是把命令回删,修改下载路径和下载文件,这样就能正常下载,很是奇怪.
7. 通过以上步骤,我们就将离线的zabbix安装文件全部下载出来了.我上传到了百度网盘,链接: https://pan.baidu.com/s/1XwUB3hLEdPMJzK99Br5e8w 提取码: arvw
8. 在linux系统安装本地文件
yum clean all ;
yum localinstall –y --skip-broken /root/softFile/zabbix5.0_downloadcreate.sql.gz | mysql -h 68.119.49.123 -P 3306 -uzabbix -p zabbix
Enter password:xxxxx
然后会开始执行表格的初始化操作,需要内心等待,等#出来.
注意,如果zabbixServer和mysql没有在同一台机器,上面可能会提示找不到mysql的命令,此时可以把create.sql.gz 从zabbix服务器上拷贝到mysql的服务器上执行,或者在zabbix服务器的服务器上装一个mysql或者MariaDB(mysql的一个分支版本).
11. 配置zabbix服务和管理页面.
为Zabbix server配置数据库
vi /etc/zabbix/zabbix_server.conf
修改DBPassword=zondy
为Zabbix前端配置PHP
vi /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
修改php_value[date.timezone] = Europe/Riga
12. 启动Zabbix server和agent进程,并为它们设置开机自启
# systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
# systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
13. 配置防火墙.
zabbix agent与zabbix server通过10050端口通信。server端侦听在10051端口,客户端侦听在10050端口,80web页面访问接口.
输入:
firewall-cmd --add-port=10050/tcp --permanent
firewall-cmd --add-port=10051/tcp --permanent
firewall-cmd --add-port=80/tcp --permanent
说明:防火墙开放指定端口.
14. 访问页面,并进一步进行配置
http://68.119.52.10/zabbix
页面连接数据库,设置zabbix 服务地址和服务名,最后登录Admin/zabbix,注意Admin第一个字母大些.
15. 其他电脑安装agent
准备agent离线文件zabbix-agent-5.0.11-1.el7.x86_64.rpm,不需要其他依赖文件.
安装,yum localinstall –y --skip-broken /root/softFile/zabbix5.0_agent_download/zabbix-agent-5.0.11-1.el7.x86_64.rpm
配置, 修改zabbix-server的IP
vim /etc/zabbix/zabbix_agentd.conf
修改Server=10.0.0.147
systemctl restart zabbix-agent
重启zabbix-agent
14. 遇到问题.
14.1 mysql添加用户名报错
MySQ8.0报错:Access denied; you need (at least one of) the SYSTEM_USER privilege(s) for this operation
MySQL8.0.16版本中新增了一个system_user帐户类型,当我通过phpAdmin新增用户并赋予权限时
CREATE USER 'homestead'@'%' IDENTIFIED WITH caching_sha2_password BY '***';
GRANT ALL PRIVILEGES ON *.* TO 'homestead'@'%' WITH GRANT OPTION;
原因是由于root用户没有SYSTEM_USER权限,把权限加入后即可解决:
grant system_user on *.* to 'root';
14.2 zabbix 5.0 页面第三步,连接musql,出现Permission denied,
此时只需要关闭Selinux,临时关闭:setenforce 0 ,永久关闭参照:https://blog.51cto.com/bguncle/957315
14.3 报错:Job for zabbix-server.service failed because a configured resource limit was exceeded.
See "systemctl status zabbix-server.service" and "journalctl -xe" for details.
解决: 关闭SeLinux 即可,参见上面.
15. 拓展.
现场项目需要监测交换机,路由器,需要用到snmp功能.
yum install-n net-snmp-libs net-snmp net-snmp-utils --downloadonly --downloaddir=/root/softFile/snmp_download
安装,yum localinstall –y --skip-broken /root/softFile/snmp_download/*
snmp 监控项说明https://blog.csdn.net/VIP099/article/details/105935696