欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

CentOS7 部署zabbix5.0 LTS

程序员文章站 2022-07-10 08:14:53
...

前言

Zabbix是一款开源免费,能够监控各种网络参数以及服务器健康性和完整性的软件。Zabbix使用灵活的通知机制,允许用户为几乎任何事件配置基于邮件的告警。这样可以快速反馈服务器的问题。基于已存储的数据,Zabbix提供了出色的报告和数据可视化功能。这些功能使得Zabbix成为容量规划的理想方案。

Zabbix 5.0 版本于 5 月 11 日正式发布,是最新的 LTS(长期支持)版本,5.0 带来很多功能和特性,详细见官方文档。


一、配置zabbix 5.0源

[aaa@qq.com ~]# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm 
[aaa@qq.com ~]# yum clean all

二、安装zabbix各组件

[aaa@qq.com ~]# yum -y install zabbix-server-mysql zabbix-agent zabbix-get

三,安装zabbix前端组件

[aaa@qq.com ~]# yum -y install centos-release-scl	#安装zabbix前端yum源
[aaa@qq.com ~]# vim /etc/yum.repos.d/zabbix.repo	#开启zabbix-frontend源
[zabbix-frontend]
enabled=1
[aaa@qq.com ~]# yum -y install zabbix-web-mysql-scl zabbix-nginx-conf-scl zabbix-web-deps-scl

四、安装及配置Mysql数据库

[aaa@qq.com ~]# rpm -Uvh http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm	#配置mysql源
[aaa@qq.com ~]# yum -y install mysql-server	#安装mysql数据库
[aaa@qq.com ~]# systemctl start mysqld		#启动mysql
[aaa@qq.com ~]# grep 'temporary password' /var/log/mysqld.log	#mysql5.7以上版本,root账号的密码不再是空的,而是自动生成的,可在mysql的日志中查看

CentOS7 部署zabbix5.0 LTS

[aaa@qq.com ~]# mysql -uroot -p
CentOS7 部署zabbix5.0 LTS

修改root的默认密码及创建zabbix数据库实例

mysql> set password for root@localhost = password('password');	#修改root密码
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to aaa@qq.com'%' identified by 'password';
mysql> flush privileges;

导入zabbix数据表结构

[aaa@qq.com ~]# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

五、zabbix-server配置

[aaa@qq.com ~]# cd /etc/zabbix/
[aaa@qq.com zabbix]# cp zabbix_server.conf{,.bak}
[aaa@qq.comx5 zabbix]# vim zabbix_server.conf
参考以下内容进行修改,主要修改数据库连接参数
DBHost=127.0.0.1		#数据库主机
DBName=zabbix			#数据库实例名称
DBUser=zabbix			#连接数据库时的用户
DBPassword=password	#用户的密码
[aaa@qq.com zabbix]# grep -E "^[[:alpha:]]+" zabbix_server.conf

启动zabbix-server

[aaa@qq.com zabbix]# systemctl start zabbix-server
[aaa@qq.com zabbix]# systemctl enable zabbix-server
[aaa@qq.com zabbix]# tail -20 /var/log/zabbix/zabbix_server.log  #查看启动日志

CentOS7 部署zabbix5.0 LTS

启动日志出现报错:连接数据库失败

解决方法:
检查服务器SELinux状态

[aaa@qq.com zabbix]# getenforce 
Enforcing		
#SELinux正在运行中,我们临时关闭它
[aaa@qq.com zabbix]# setenforce 0
#重启zabbix-server,并查看启动日志
[aaa@qq.com zabbix]# systemctl restart zabbix-server
[aaa@qq.com zabbix]# tail -70 /var/log/zabbix/zabbix_server.log 

CentOS7 部署zabbix5.0 LTSzabbix-server成功启动,检查端口是否监听

[aaa@qq.com zabbix]# netstat -lntup | grep 10051

六、配置zabbix前端参数

php时区

[aaa@qq.com zabbix]# cp /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf{,.bak}
[aaa@qq.com zabbix]# vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
; php_value[date.timezone] = Europe/Riga  -->	php_value[date.timezone] = Asia/Shanghai

修改php属主属组(默认为apache,现在需要修改为nginx)

[aaa@qq.com zabbix]# vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf 
user = apache		-->	user = nginx
group = apache	-->	group = nginx
listen.acl_users = apache	-->	listen.acl_users = nginx

Nginx配置

[aaa@qq.com zabbix]# cp /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf{,.bak}
[aaa@qq.com zabbix]# vim /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf
取消listen已经server_name的注释,并修改server_name为服务器IP地址或域名
#server_name     example.com;	-->	server_name     192.168.1.100;

七、启动各个服务

5.0版本的前端与php启动名称改变了,前端是:rh-nginx116-nginx,php是rh-php72-php-fpm

[aaa@qq.com zabbix]# systemctl start zabbix-agent rh-nginx116-nginx rh-php72-php-fpm
[aaa@qq.com zabbix]# systemctl enable zabbix-agent rh-nginx116-nginx rh-php72-php-fpm 

八、浏览器初始化zabbix-web

浏览器打开:http://IP/

#如果服务器防火墙开启可以使用以下命令开放TCP80端口
[aaa@qq.com zabbix]# firewall-cmd --permanent --add-port=80/tcp
[aaa@qq.com zabbix]# firewall-cmd --reload

CentOS7 部署zabbix5.0 LTS

访问出现错误:状态码500,从状态码上看是服务器出现错误了,我们查看一下Nginx的错误日志。注意啊:由于5.0版本的更新,我这边感觉变化还是比较大的,Nginx的日志路径不再是/var/log/nginx了,而是/var/opt/rh/rh-nginx116/log/nginx/了。

[aaa@qq.com nginx]# tailf /var/opt/rh/rh-nginx116/log/nginx/error.log

CentOS7 部署zabbix5.0 LTS

大概意思就是:网站在接收到动态请求后,Nginx把请求通过FastCGI转发给php进行处理,但是在进入php的目录的时候出现了权限问题。。。我们来看一下php-fpm这一个应用程序的启动是谁
CentOS7 部署zabbix5.0 LTS

可以看到,有apache的有nginx的,查看一下php配置文件
CentOS7 部署zabbix5.0 LTS
CentOS7 部署zabbix5.0 LTS

再对比官方部署文档中php的配置,人家只需要修改一次地方,把原来的补回去

重启php-fpm服务,浏览器再次打开页面看一下

[aaa@qq.com nginx]# systemctl restart rh-php72-php-fpm 

CentOS7 部署zabbix5.0 LTS

OK,初始化界面出来了,我们点击下一步
检查各个组件的版本要求以及配置是否符合(需要注意一点的是:zabbix5.0版本,PHP需要7.2以上版本才行)
CentOS7 部署zabbix5.0 LTS
设置数据库连接参数CentOS7 部署zabbix5.0 LTS

zabbix-server的一些主机名设置,默认就好
CentOS7 部署zabbix5.0 LTS
摘要信息,直接下一步
CentOS7 部署zabbix5.0 LTS

初始化完成,Finish
CentOS7 部署zabbix5.0 LTS

进入登录界面:默认账号密码:Admin/zabbix
CentOS7 部署zabbix5.0 LTS

主界面(菜单栏不再在上面了,而是在左侧了)
CentOS7 部署zabbix5.0 LTS

设置中文来看一下
CentOS7 部署zabbix5.0 LTS
CentOS7 部署zabbix5.0 LTS

至此zabbix5.0 LTS版本完成部署

上一篇: 跨域

下一篇: JAVA中的四种引用