【zabbix5.0部署笔记】1 - 服务器部署

服务器部署

1.环境准备

zabbix 5.0版本对基础环境要求有较大改变,最大的就是对php版本的要求,最低要求7.2.0版本,对扩展组件也有要求
官网文档:https://www.zabbix.com/documentation/current/manual/installation/requirements

Linux服务器,系统为centos7:
关闭防火墙selinux

sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
 systemctl disable --now firewalld
 reboot

2.获取zabbix官方源

rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

#获取完毕后,可在 /etc/yum.repos.d/ 目录,即yum仓库中,看到zabbix.repo 仓库文件
#用vim 查看zabbix.repo,会发现下载源地址都是repo.zabbix.com,国外地址下载会比较慢

3.更换zabbix.repo源为阿里云的

sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo

#用sed处理zabbix.repo文件,将下载源地址替换成阿里云的

yum clean all    #清空yum缓存

4.安装zabbix server和agent

yum install zabbix-server-mysql zabbix-agent -y

5.安装 Software Collections

yum install centos-release-scl -y

便于后续安装高版本的php,默认yum安装的php版本为5.4过低。
# SCL(Software Collections)可以让你在同一个操作系统上安装和使用多个版本的软件,而不会影响整个系统的安装包。

# 软件包会安装在/opt/rh/ 目录下

# 为了避免系统广泛冲突,/opt/rh安装包在目录中,例如,这允许你在centos7机器上安装python3.5而不会删除或干扰python2.7

# /etc/opt/rh/ 软件包的所有配置文件都存储在相应的目录中,SCL包提供了定义使用所包含应用程序所需的环境变量的shell脚本,例如 PATH, LD_LIBRARY_PATH޾MANPATH ,这些脚本存储在文件系统中,作为/opt/rh/package-name/enable 。

6.修改zabbix前端源

vim /etc/yum.repos.d/zabbix.repo

#将zabbix-frontend 的enabled开启,修改为1

```
[zabbix-frontend]
name=Zabbix Official Repository frontend - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/$b
asearch/frontend
enabled=1   #修改这里
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
```

7.安装zabbix前端环境

yum install zabbix-web-mysql-scl zabbix-apache-conf-scl -y

#使用scl工具安装到scl环境下,不影响整个操作系统

8.安装zabbix所需的数据库

#直接用centos7自带的mariadb即可
yum install mariadb-server -y

9.启动数据库,并配置开启自启动

 systemctl enable --now mariadb

10.初始化mariadb数据库,设置root密码

mysql_secure_installation

#第一次会提示输入当前root密码,第一次安装默认为空,直接回车,
#然后会提示输入新密码,输入 y ,然后设置密码 'root'
#提示是否移除匿名用户 ,输入 y
#提示是否禁止用户远程登录,输入 n
#是否移除test测试数据库 , 输入 y
#是否刷新授权表 , 输入 y
#完成

使用' mysql -u root -p '登录数据库验证

11.使用root用户登录mariadb,建立zabbix数据库

这里的编码设置非常重要,否则zabbix无法安装

登录数据库: mysql -u root -p

#创建数据库,名称为zabbix , 编码方式为utf8
create database zabbix character set utf8 collate utf8_bin;

#创建用户zabbix,允许登录的地址为localhost(本机),密码设置为zabbix
create user zabbix@localhost identified by 'zabbix';

#授权,zabbix数据库中所有的表(*通配) 授权给zabbix用户
grant all privileges on zabbix.* to zabbix@localhost;

#刷新授权表
flush privileges;
#退出
quit;


#删除zabbix用户方式
    drop user zabbix@localhost;
  flush privileges;

12.使用zabbix-mysql命令,导入数据库信息

zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

# mysql -u用户名 -p 数据库名
# 出现了报错,将-uzabbix换成-uroot,解决了

13.修改zabbix server 配置文件,修改数据库的密码

vim /etc/zabbix/zabbix_server.conf

#找到并修改 DBPassword=zabbix 
# 检验: grep '^DBPassword' /etc/zabbix/zabbix_server.conf
        # 输出:DBPassword=zabbix

14.修改zabbix的php配置文件

vim etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf

# 修改时区为亚洲/上海
# php_value[date.timezone] = Asia/Shanghai
检验:
    grep 'timezone' /etc/opt/rh/rhphp72/php-fpm.d/zabbix.conf

15.启动zabbix相关服务

#启动 zabbix服务端、zabbix客户端、httpd(apache)、php72 服务,确认start即可
 systemctl restart zabbix-server zabbix-agent httpd php72-php-fpm
#开机自启
 systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm

#排错, restart时,php72报错了
 卸载了rh文件外面的centos本身php服务,使用yum remove php*  #这条应该不需要
 参考:https://www.cnblogs.com/ikai/p/13691706.html
 (1)进入 cd /etc/opt/rh/rh-php72 ; 创建 vim php-fpm.service
 (2)复制以下内容到文件内
       [Unit]
      Description=php-fpm
      After=network.target
      [Service]
      Type=forking
      ExecStart=你的文件目录/php/sbin/php-fpm
      ExecStop=/bin/pkill -9 php-fpm
      PrivateTmp=true
      [Install]
      WantedBy=multi-user.target
 (3)使用systemctl list-unit-files --type=service ,发现rh-php72-php-fpm.service 存在
 (4)如果没有,就用systemctl daemon-reload 重新加载,再使用以上命令查看
 (5)启动rh-php72-php-fpm.service,并添加开机自启
            systemctl  restart rh-php72-php-fpm.service
      systemctl  enable rh-php72-php-fpm.service

字段说明:
[Unit]:服务的说明
Description:描述服务
After:描述服务类别
[Service]服务运行参数的设置
Type=forking是后台运行的形式
ExecStart为服务的具体运行命令
ExecReload为重启命令
ExecStop为停止命令
PrivateTmp=True表示给服务分配独立的临时空间
注意:[Service]的启动、重启、停止命令全部要求使用绝对路径
[Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3

登录zabbix

1.登录zabbix主页

centos的ip为192.168.164.132; 直接登录80端口会出现apache默认页面,使用192.168.164.132/zabbix 即可登录到zabbix5.0初始页面

【zabbix5.0部署笔记】1 - 服务器部署


2.监测环境

【zabbix5.0部署笔记】1 - 服务器部署

环境排错

排错, 打开时发现date.timezone 报错
1. 参考上面步骤,修改php配置文件
    vim etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
    # 修改时区为亚洲/上海
    # php_value[date.timezone] = Asia/Shanghai
  
2.参考https://www.cnblogs.com/sswind/p/12095139.html
    修改/etc/opt/rh/rh-php72/php.ini文件
  ```
    ;date.timezone =
    #将注释去掉,并修改为
    date.timezone = "Asia/Shanghai"
  ```
3.重启apache (重启zabbix相关服务)

3.连接数据库

输入zabbix账号的密码 'zabbix'

【zabbix5.0部署笔记】1 - 服务器部署

4.zabbix服务器细节

默认即可

【zabbix5.0部署笔记】1 - 服务器部署

5.显示安装的细节信息

下一步即可

【zabbix5.0部署笔记】1 - 服务器部署

6.完成

【zabbix5.0部署笔记】1 - 服务器部署

7.登录信息

默认账号:Admin     #A大写

默认密码:zabbix


上一篇:Linq 知识回顾


下一篇:IPMI 接口配置