需求描述
甲方要求整体业务国产化,抛弃CentOS服务器,选择麒麟v10,kylinv10。
从最基础的K8S都要全部过渡安装到麒麟上。
本次先研究如何安装zabbix6,因为zabbix6也刚好可以监控K8S了。
甲方没有上外网的麒麟服务器,需要用正向代理。
因此首先在本人的环境上验证联网环境下的kylinv10安装zabbix6。
kylinv10本质上还就是centos8
一些相关地址
- 【麒麟v10操作系统官网】
- 【zabbix官网安装步骤】
- 【MySQL8.0.30以上版本的DNF源】
- 【阿里CentOS8的DNF源】
- 【我已汇总需要的DNF源及repo文件】
- 【MySQL官方不通版本的YUM源列表】
印象中踩过的坑
- kylinv10最好使用dnf而不使用yum。
- 如果坚持使用yum,则kylinv10可以同时使用centos7的epel源和centos8的valut源。
- MySQL8可以通过centos8源安装, 没必要编译安装。但需要修改具体版本号。
- zabbix6.4只支持MySQL8.00.30及以上版本。
- zabbix6安装后无法启动,原因是kylin自带的net-snmp版本太低。此处版本需要精确到小版本,即便是5.7.14都不行,必须是5.7.18及以上才行。
- 使用yum解决不了php7.4的需求,改用dnf的话就行,而且很简单。
简要步骤
准备dnf/yum源
安装MySQL8.00.30需要的DNF源
#下载官方源安装包
wget https://repo.mysql.com//mysql80-community-release-el8-1.noarch.rpm
#如果你需要,这是mysql5.7的repo.rpm文件:
#wget https://repo.mysql.com//mysql57-community-release-el7.rpm
#安装此类rpm后,就会创建相关的repo文件。
rpm -ivh mysql80-community-release-el8-1.noarch.rpm
#查看相关的repo文件信息
cat /etc/yum.repos.d/mysql-community.repo
cat /etc/yum.repos.d/mysql-community-source.repo
#此处仅配置DNF源,尚未使用。
安装Zabbix6.x需要的DNF源
参考zabbix官网安装步骤,直接下载并安装zabbix6.x需要的DNF源
rpm -Uvh https://repo.zabbix.com/zabbix/6.4/rhel/8/x86_64/zabbix-release-6.4-1.el8.noarch.rpm
#查看相关的repo文件信息
cat /etc/yum.repos.d/zabbix.repo
#此处仅配置DNF源,尚未使用。
安装net-snmp-5.7.18的DNF源
cd /etc/yum.repos.d
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo
sed -i -e "s|mirrors.cloud.aliyuncs.com|mirrors.aliyun.com|g " /etc/yum.repos.d/CentOS-*
sed -i -e "s|releasever|releasever-stream|g" /etc/yum.repos.d/CentOS-*
yum clean all && yum makecache
安装软件
安装MySQL-8.00.30(或以上)
dnf module disable mysql
dnf install mysql-community-server-8.0.31
dnf install mysql-community-server-8.0.31 --nogpgcheck
cat /var/log/mysql/mysqld.log
cat /var/log/mysql/mysqld.log|grep password
mysql -uroot -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'pass123';
Query OK, 0 rows affected (0.03 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
安装Zabbix-6.4
dnf install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent
安装PHP7.4(或以上)
dnf module enable php:7.4
rpm -qa |grep php
dnf module install php:7.4
rpm -qa |grep php
安装net-snmp-5.7.18(或以上)
rpm -qa |grep net-snmp
dnf install net-snmp
启动zabbix
检查数据库版本,初始化数据库。
mysql -uroot -p
password
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
mysql> create user zabbix@localhost identified by 'password';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> set global log_bin_trust_function_creators = 1;
mysql> quit;
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix
mysql -uroot -p
password
mysql> set global log_bin_trust_function_creators = 0;
mysql> quit;
修改zabbix-server配置文件。
Edit file /etc/zabbix/zabbix_server.conf
DBPassword=password
检查php版本
[root@kylinV10-Target01 ~]# rpm -qa |grep php
php-mysqlnd-7.4.30-1.module_el8.7.0+1190+d11b935a.x86_64
php-bcmath-7.4.30-1.module_el8.7.0+1190+d11b935a.x86_64
php-cli-7.4.30-1.module_el8.7.0+1190+d11b935a.x86_64
php-common-7.4.30-1.module_el8.7.0+1190+d11b935a.x86_64
php-xml-7.4.30-1.module_el8.7.0+1190+d11b935a.x86_64
php-pdo-7.4.30-1.module_el8.7.0+1190+d11b935a.x86_64
php-mbstring-7.4.30-1.module_el8.7.0+1190+d11b935a.x86_64
php-ldap-7.4.30-1.module_el8.7.0+1190+d11b935a.x86_64
php-fpm-7.4.30-1.module_el8.7.0+1190+d11b935a.x86_64
php-json-7.4.30-1.module_el8.7.0+1190+d11b935a.x86_64
php-gd-7.4.30-1.module_el8.7.0+1190+d11b935a.x86_64
[root@kylinV10-Target01 ~]# php --version
PHP 7.4.30 (cli) (built: Jun 7 2022 08:38:19) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
检查net-snmp版本
rpm -qa |grep net-snmp
#验证snmp满足zabbix-server需求
[root@kylinV10-Target01 ~]# ldd /usr/sbin/zabbix_server|grep -i snmp
libnetsnmp.so.35 => /lib64/libnetsnmp.so.35 (0x00007fb89f4fb000)
[root@kylinV10-Target01 ~]# nm -D /lib64/libnetsnmp.so.35 |grep -i aes
U EVP_aes_128_cfb128
U EVP_aes_192_cfb128
U EVP_aes_256_cfb128
00000000002e5560 D usmAES128PrivProtocol
00000000002e4ec0 D usmAES192CiscoPrivProtocol
00000000002e4f80 D usmAES192PrivProtocol
00000000002e4e60 D usmAES256CiscoPrivProtocol
00000000002e4f20 D usmAES256PrivProtocol
00000000002e4fe0 D usmAESPrivProtocol
000000000009f2a0 T usm_set_aes_iv
防火墙策略
#方式1关闭防火墙
[root@kylinV10-Target01 ~]# service firewalld stop
Redirecting to /bin/systemctl stop firewalld.service
#方式2开放80端口、10050端口、10051端口。因为数据库装在本机,可不用放行3306端口。
[root@kylinV10-Target01 ~]# service firewalld start
Redirecting to /bin/systemctl start firewalld.service
[root@kylinV10-Target01 ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent
[root@kylinV10-Target01 ~]# firewall-cmd --zone=public --add-port=10050/tcp --permanent
[root@kylinV10-Target01 ~]# firewall-cmd --zone=public --add-port=10051/tcp --permanent
[root@kylinV10-Target01 ~]# firewall-cmd --reload
success
初始化zabbix
访问具体的IP及端口+/zabbix
根据流程完成初始化。