本次部署Zabbix5.0的基础环境卫生:
操作系统:Centos7.9
数据库:mariadb
web:nginx
1.更改zabbbix的官方源
1 [root@bogon ~]# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
2.重建yum 缓存并查看源仓库
1 [root@bogon ~]# yum clean all 2 [root@bogon ~]# yum makecache 3 [root@bogon ~]# ll /etc/yum.repos.d/ 4 -rw-r--r--. 1 root root 2523 Jul 14 23:48 CentOS-Base.repo 5 -rw-r--r--. 1 root root 664 Jul 14 23:48 epel.repo 6 -rw-r--r-- 1 root root 853 May 11 2020 zabbix.repo 7 [root@bogon ~]# yum repolist #查看zabbix 源文件 8 [root@bogon ~]# yum list zabbix* #查看当前源存在哪些zabbix应用包
3.安装zabbix的服务端和客户端
1 [root@bogon ~]# yum -y install zabbix-server-mysql zabbix-agent
4.安装zabbix的web前端
1 [root@bogon ~]# yum -y install centos-release-scl
5.打开zabbix的前端仓库,因为在5.0版本的zabbix的源中,web前端的源是被默认禁用的,我们需要启用
1 [root@m01 ~]# vim /etc/yum.repos.d/zabbix.repo 2 [zabbix-frontend] 3 enabled=1 #由 0改为1,既开启
6.安装zabbix前端
1 [root@bogon ~]# yum -y install zabbix-web-mysql-scl zabbix-nginx-conf-scl
7.安装数据库
1 [root@bogon ~]# yum -y install mariadb-server
8.启动mariadb并加入开机自启
1 [root@bogon ~]# systemctl start mariadb 2 [root@bogon ~]# systemctl enable mariadb
9.连接数据库,默认数据库没有用户名密码
1 [root@bogon ~]# mysql
10.创建数据库
1 #创建zabbix数据库,字符集是utf8,校验规则是utf8_bin 2 MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin; 3 MariaDB [(none)]> show databases; 4 +--------------------+ 5 | Database | 6 +--------------------+ 7 | information_schema | 8 | mysql | 9 | performance_schema | 10 | test | 11 | zabbix | 12 +--------------------+
11.创建数据库用户
1 #创建zabbix用户,主机是localhost,密码是zabbix 2 MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix'; 3 MariaDB [(none)]> select user,host from mysql.user; 4 +--------+-----------+ 5 | user | host | 6 +--------+-----------+ 7 | root | 127.0.0.1 | 8 | root | ::1 | 9 | | localhost | 10 | root | localhost | 11 | zabbix | localhost | 12 | | zabbix | 13 | root | zabbix | 14 +--------+-----------+
12.导入数据库
1 [root@bogon ~]# zcat /usr/share/doc/zabbix-server-mysql-5.0.20/create.sql.gz|mysql zabbix 2 #进入数据库 3 [root@bogon ~]# mysql 4 MariaDB [(none)]> use zabbix; 5 MariaDB [zabbix]> show tables;
13.修改zabbix-server配置文件
1 [root@bogon ~]# vim /etc/zabbix/zabbix_server.conf 2 DBHost=localhost 3 DBName=zabbix 4 DBUser=zabbix 5 DBPassword=zabbix
14.修改zabbix前端配置(nginx配置)
1 [root@bogon ~]# vim /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf 2 server { 3 listen 80; 4 server_name localhost;
15.我们配置的监听端口是80并且监听的域名是本地的,所以在主配置文件中,我们需要将这两条进行注释。
1 [root@bogon ~]# vim /etc/opt/rh/rh-nginx116/nginx/nginx.conf
2 server {
# listen 80 default_server
# listen [::]:80 default_server
}#这里将server 中所有的配置全部都注释掉,以保证两个配置文件不会发生冲突
17.修改php-fpm配置文件
1 [root@bogon ~]# vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf 2 [zabbix] 3 user = nginx 4 group = nginx 5 listen.acl_users = nginx 6 7 php_value[date.timezone] = Asia/Shanghai #更改时区
18.启动服务并加入开机自启
1 [root@bogon ~]# systemctl start zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm 2 [root@bogon ~]# systemctl enable zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm
19.修改目录权限
1 -----------------------------1.修改php session共享的目录权限 ---------------------------------- 2 3 [root@bogon ~]# chown -R nginx.nginx /var/opt/rh/ 4 5 -----------------------------2.php socket文件授权 -------------------------------------------- 6 7 [root@bogon ~]# chown nginx.nginx /var/opt/rh/rh-php72/run/php-fpm/zabbix.sock 8 9 ---------------------------- 3.修改php目录权限 ------------------------------------------------ 10 11 [root@bogon ~]# chown -R nginx.nginx /etc/zabbix/web/
20.关闭selinux和firewalld
1 [root@bogon ~] systemctl stop firewalld 2 [root@bogon ~] systemctl status firewalld 3 [root@bogon ~] systemctl disable firewalld 4 [root@bogon ~] getenforce 5 Enforcing #表示开启状态,需要关闭 6 [root@bogon ~] setenforce 0 7 [root@bogon ~] vim /etc/selinux/config 8 SELINUX = disable #将这里修改为关闭
21.查看相应服务启动情况
1 [root@bogon ~] systemctl start zabbix-server.service 2 [root@bogon ~] systemctl start rh-php72-php-fpm.service 3 [root@bogon ~] systemctl start rh-nginx116-nginx.service 4 [root@bogon ~] netstat -lutnp 5 #其中 9000 是php的端口 6 #3306是mysql的端口 7 #80是nginx端口 8 #10050是zabbix-agent端口 9 #10051是zabbix-server端口 10 11 #检查以上的端口是否都存在,如端口存在则说明对应的应用已经启动完成了
22.浏览器访问服务器ip地址,所以组件状态为OK,不是的需要对应修复。
23.数据库实例名、用户名、密码都按之前填写的。
24.zabbix用户名,最终配置成功如下。
25.初始用户名Admin,密码zabbix
26.zabbix图形页显示乱码方框子修改方法
(1)直接将windows系统中的simsun.ttc上传到zabbix字体目录下,zabbix-server默认路径地址为/usr/share/zabbix/assets/fonts并将后缀改为ttf。
(2)修改配置文件/usr/share/zabbix/include/defines.inc.php
将
1 define('ZBX_GRAPH_FONT_NAME', 'graphfont'); 2 define('ZBX_FONT_NAME', 'graphfont');
改为
1 define('ZBX_GRAPH_FONT_NAME', 'simsun'); 2 define('ZBX_FONT_NAME', 'simsun');
保存退出后刷新web页面恢复正常。