需求描述
甲方使用KylinV10 Linux SP2做主要业务系统,但其实bug较多,原厂也发布了SP3。
我们公司自己用的话,选Rocky9Linux安装zabbix
相关地址
【Zabbix 官网安装教程】
【MySQL官方不同版本的YUM源列表】
【Zabbix官方repo仓库(可下载zabbix-agent2安装包)】
简要步骤
- 检查并禁用epel中其它zabbix源
- 安装官网提供的zabbix源
- 安装zabbix软件包
- 安装MySQL-8.0源
- 安装MySQL-8.0.30以上版本
- 初始化数据库(修改初始密码、初始化zabbix数据库)
- 修改网页中间件配置(修改nginx监听端口、server_name)
- 启动zabbix、配置开机启动zabbix和数据库
- 根据安装向导安装zabbix。
- 解决中文字符问题。
- 其它:安装zabbix-agent2,监控docker容器。
环境信息
[root@localhost ~]# cat /etc/os-release
NAME="Rocky Linux"
VERSION="9.1 (Blue Onyx)"
ID="rocky"
ID_LIKE="rhel centos fedora"
VERSION_ID="9.1"
PLATFORM_ID="platform:el9"
PRETTY_NAME="Rocky Linux 9.1 (Blue Onyx)"
ANSI_COLOR="0;32"
LOGO="fedora-logo-icon"
CPE_NAME="cpe:/o:rocky:rocky:9::baseos"
HOME_URL="https://rockylinux.org/"
BUG_REPORT_URL="https://bugs.rockylinux.org/"
ROCKY_SUPPORT_PRODUCT="Rocky-Linux-9"
ROCKY_SUPPORT_PRODUCT_VERSION="9.1"
REDHAT_SUPPORT_PRODUCT="Rocky Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="9.1"
[root@localhost ~]#
[root@localhost ~]# uname -a
Linux localhost.localdomain 5.14.0-162.6.1.el9_1.0.1.x86_64 #1 SMP PREEMPT_DYNAMIC Mon Nov 28 18:44:09 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
[root@localhost ~]#
检查并禁用epel中其它zabbix源
安装官网提供的zabbix源
# rpm -Uvh https://repo.zabbix.com/zabbix/6.4/rhel/9/x86_64/zabbix-release-6.4-1.el9.noarch.rpm
# dnf clean all
安装zabbix软件包(server、前端、agent)
# dnf install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent
安装MySQL-8.0源
#下载官方源安装包
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源,尚未使用。
安装MySQL-8.0.30以上版本
dnf module disable mysql
dnf install mysql-community-server-8.0.31
dnf install mysql-community-server-8.0.31 --nogpgcheck
初始化数据库(修改初始密码、初始化zabbix数据库)
安装mysql8.0.31之后,需要手动启动运行MySQL,此时系统才会产生mysqld.log日志,此时才会记录首次随机密码。然后查看随机密码,并登录MySQL,完成后续修改密码操作。
cat /var/log/mysql/mysqld.log
cat /var/log/mysql/mysqld.log|grep password
mysql -uroot -p
通过首次随机密码完成登录,执行以下sql语句完成MySQL密码修改。
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官网安装教程,需要创建初始数据库、创建zabbix数据库用户、导入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;
导入zabbix初始化数据,需要退出MySQL命令行,从bash命令行执行以下命令:将提前通过dnf安装的sql.gz文件,通过zabbix用户(需要输入上一步创建的MySQL用户zabbix的密码),导入上一步新建的zabbix数据库中。
# 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;
修改网页中间件配置(修改nginx监听端口、server_name)
修改nginx配置文件中的两行:取消注释这两行'listen' and 'server_name',并修改为自己需要的值。
# vim /etc/nginx/conf.d/zabbix.conf
修改以下两行:
# listen 8080;
# server_name example.com;
此处我改为8088端口,因为没有配置域名,改为IP直接访问,所以server_name改为localhost。
注意:rockylinux9 出现一个小问题,无法直接使用8088端口供nginx监听。具体报错如下图:
解决办法:新增8088端口的使用权限,允许nginx监听8088端口
```bash
#查看允许配置http访问/允许nginx使用的默认端口有哪些
semanage port -l | grep http_port_t
#新增8088端口允许http访问或nginx监听。
semanage port -a -t http_port_t -p tcp 8088
启动zabbix、配置开机启动zabbix和数据库
# systemctl restart zabbix-server zabbix-agent nginx php-fpm
# systemctl enable zabbix-server zabbix-agent nginx php-fpm
根据安装向导安装zabbix。
解决中文字符问题。
主要是两个问题:1.安装向导页面没有中文显示。2.监控指标显示页面没有中文显示。
均可参考我的这篇文章解决。
【RockyLinux9安装Zabbix6.0配置中文界面 中文方块】
其它:安装zabbix-agent2,监控docker容器。
zabbix-agent2可以监控更多指标,包括容器、MySQL、redis等等。
问题:官网不提供直接下载zabbix-agent2的地址。
解决办法:通过repo文件,获取相关url,从浏览器手动下载。或者新建repo文件直接dnf/yum安装。
在CentOS7上使用yum安装zabbix-agent2时,新建以下repo文件即可。
[root@localhost ~]# cat /etc/yum.repos.d/zabbix.repo
[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=https://repo.zabbix.com/zabbix/6.4/rhel/7/$basearch/
enabled=1
gpgcheck=0
成功在Centos7上使用yum 安装zabbix-agent2