环境介绍

以下为本次使用的环境,

角色 版本 备注
操作系统 Kylin V10 SP3 本次使用 X86 版本
PHP 8.0.3 源码安装
Nginx 1.26.0 源码安装
数据库 Oceanbase V4.3.4 社区版本
Zabbix Zabbix 7.0.5 源码安装

基本环境配置

本次在联网情况下进行安装,离线环境建议挂载 IOS 做本地源。 更新系统,并关闭防火墙

yum update -y
systemctl disable --now firewalld
yum install chrony -y
systemctl enable --now chronyd

本地使用https://lnmp.org的lnmp2.1-full.tar.gz安装包进行安装php、nginx等环境,上传包到服务器,解压,执行安装

tar zxvf lnmp2.1-full.tar.gz
cd lnmp2.1-full/
./install.sh

本次不安装 MySQL 数据库,php 选择 8.0.30 版本,选择后开始进行安装,预计 15 分钟左右安装完成。

安装 Oceanbase 数据库

Oceanbase 设备版本兼容 MySQL 协议,本次使用一键安装包进行安装。配置内核参数,修改/etc/security/limits.conf 文件,文件末尾添加如下内容

* soft nofile 655350
* hard nofile 655350
* soft stack unlimited
* hard stack unlimited
* soft nproc 655360
* hard nproc 655360
* soft core unlimited
* hard core unlimited

之后重启操作系统,新建 admin 用户,作为安装用户

useradd -U admin -d /home/admin -s /bin/bash
chown -R admin:admin /home/admin

修改/etc/sudoers 文件添加如下内容,为 admin 配置 sudo 权限

admin       ALL=(ALL)       NOPASSWD: ALL

下载 oceanbase-all-in-one-4.3.4_20241108.el8.x86_64.tar.gz 安装包到/home/admin 目录,切换到 admin 用户解压包,并执行安装

tar zxvf oceanbase-all-in-one-4.3.4_20241108.el8.x86_64.tar.gz
cd oceanbase-all-in-one/bin
./install

执行后会安装对应的包,之后执行

source ~/.oceanbase-all-in-one/bin/env.sh
obd demo

安装数据库,如运行错误,可根据提示修改对应参数。安装成功后会提示数据库连接的账号和密码,以及 prometheus 和 grafana 的账号密码

obclient -h127.0.0.1 -P2883 -uroot -p'4tc17uTOHvB6aLWOfLb4' -Doceanbase -A

根据提示使用命令连接到数据库,并建立 zabbix 数据库及用户

create database zabbix character set utf8mb4 collate utf8mb4_bin;
create user 'zabbix'@'127.0.0.1' identified by 'password';
grant all privileges on zabbix.* to 'zabbix'@'127.0.0.1';

由于 zabbix 7.0 对 MySQL 的版本有要求,Oceanbase 默认 MySQL 协议版本为 5.7 版本,不符合 Zabbix 要求,可使用以下命令配置为 8.0 版本

SET GLOBAL version = '8.0.30-OceanBase_CE-v4.3.4.0'

安装 Zabbix

安装操作系统相关依赖包

yum install make wget gcc curl-devel net-snmp-devel libxml2-devel libevent-devel pcre-devel OpenIPMI-devel mariadb-devel -y

下载 zabbix 源码到系统/usr/local/src 下

cd /usr/local/src
wget https://cdn.zabbix.com/zabbix/sources/stable/7.0/zabbix-7.0.5.tar.gz

解压源码包,并执行编译安装,由于 Oceanbase 兼容 MySQL 协议,因此编译时使用–with-mysql 参数

tar zxvf zabbix-7.0.5.tar.gz
cd zabbix-7.0.5/
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql  --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi
make
make install

安装成功后,导入 sql 文件,使用 mysql 客户端连接,用户使用 root,密码为之前安装 Oceanbase 的密码

cd /usr/local/src/zabbix-7.0.5/database/mysql/
mysql -h127.0.0.1 -P2881 -uroot -p zabbix < schema.sql
mysql -h127.0.0.1 -P2881 -uroot -p zabbix < images.sql
mysql -h127.0.0.1 -P2881 -uroot -p zabbix < data.sql

修改 Zabbix server 配置文件 zabbix_server.conf, 主要修改以下内容

DBHost=127.0.0.1
DBPassword=password
DBPort=2883

建立 zabbix 用户,并配置 Zabbix server 及 Zabbix Agent 的 systemd 启动文件

useradd zabbix

配置 Zabbix Server 启动文件

tee /lib/systemd/system/zabbix-server.service <<EOL
[Unit]
Description=Zabbix Server
After=syslog.target
After=network.target
After=mysql.service
After=mysqld.service
After=mariadb.service
After=postgresql.service

[Service]
Environment="CONFFILE=/usr/local/zabbix/etc/zabbix_server.conf"
EnvironmentFile=-/etc/sysconfig/zabbix-server
Type=forking
Restart=on-failure
PIDFile=/tmp/zabbix_server.pid
KillMode=control-group
ExecStart=/usr/local/zabbix/sbin/zabbix_server -c \$CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
TimeoutSec=0

[Install]
WantedBy=multi-user.target
EOL

创建 Zabbix Agent 启动文件

tee /lib/systemd/system/zabbix-agent.service <<EOL
[Unit]
Description=Zabbix Agent
After=syslog.target
After=network.target

[Service]
Environment="CONFFILE=/usr/local/zabbix/etc/zabbix_agentd.conf"
EnvironmentFile=-/etc/sysconfig/zabbix-agent
Type=forking
Restart=on-failure
PIDFile=/tmp/zabbix_agentd.pid
KillMode=control-group
ExecStart=/usr/local/zabbix/sbin/zabbix_agentd -c \$CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
User=zabbix
Group=zabbix

[Install]
WantedBy=multi-user.target
EOL

使用以下命令启动 zabbix server 及 zabbix agent

systemctl enable --now zabbix-server
systemctl enable --now zabbix-agent

如启动失败可查看对应的日志文件/tmp/zabbix_server.log 及/tmp/zabbix_agentd.log。 删除默认的 LNMP 默认的 web 页面,并拷贝 zabbix web 文件到默认目录.

rm -rf /home/wwwroot/default/*
cd /usr/local/src/zabbix-7.0.5/ui/
cp -raf * /home/wwwroot/default/
chown -R www:www /home/wwwroot/default/

使用浏览器访问服务器 80 端口,完成初始化即可。

关注我的微信公众号 微信