目录
一、安装 MySQL 数据库
二、安装 zabbix 监控平台
三、编辑配置文件
四、启动服务
五、zabbix-web 安装
zabbix web 出图展示乱码问题解决方案
zabbix 的安装部署非常简单,官方提供了四种安装途径,分别是二进制 rpm 包安装方式、源码安装方式、容器安装方式和虚拟机镜像安装方式。本次使用 dnf 在线进行安装的方式。
Zabbix web 端是基于 HTTP 服务器和 PHP 脚本语言进行构建的,HTTP 服务器可以是 nginx或 apache,zabbix 的数据存储支持多种数据库,可以是 MySQL、Oracle、PostgreSQL、SQLite等,这里我们选择 MySQL 数据库作为后端存储。
虚拟机安装环境介绍:
- 操作系统:Centos 8 Stream
- 数据库:MySQL 8.0.32
- Zabbix:Zabbix 6.4
注意:Centos 7 及以下版本不支持 yum 在线安装 zabbix 6 的 web 服务了(zabbix-nginx-conf),只能手动部署 Nginx 和 PHP,所以为了方便快捷本次使用 Centos 8 及以上版本部署 Zabbix 6.4
一、安装 MySQL 数据库
这里使用目前 MySQL 8.0.32 版本(下载地址:MySQL :: Download MySQL Community Server (Archived Versions)),采用 MySQL 官方发布的二进制版本进行安装,下载后的二进制版本名称大致为 mysql-8.0.32-linux-glibc2.12-x86_64.tar.xz,下面是安装 MySQL 的过程:
#1. 解压安装
[root@zabbix ~]# ls
anaconda-ks.cfg mysql-8.0.32-linux-glibc2.12-x86_64.tar.xz
[root@zabbix ~]# xz -d mysql-8.0.32-linux-glibc2.12-x86_64.tar.xz
[root@zabbix ~]# tar -xvf mysql-8.0.32-linux-glibc2.12-x86_64.tar -C /usr/local/
[root@zabbix ~]# cd /usr/local/
[root@zabbix /usr/local]# mv mysql-8.0.32-linux-glibc2.12-x86_64 mysql
[root@zabbix /usr/local]# cd mysql/#2. 创建 mysql 用户
[root@zabbix /usr/local/mysql]# useradd mysql#3. 创建 my.cnf 配置文件
[root@zabbix /usr/local/mysql]# mkdir etc logs data
[root@zabbix /usr/local/mysql]# ls
bin data docs etc include lib LICENSE logs man README share support-files
[root@zabbix /usr/local/mysql]# rm -f /etc/my.cnf
[root@zabbix /usr/local/mysql]# vim etc/my.cnf
[mysqld]
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
log-error=/usr/local/mysql/logs/mysqld.log
pid-file=/usr/local/mysql/logs/mysqld.pid#4. 更改目录权限
[root@zabbix /usr/local/mysql]# chown -R mysql:mysql /usr/local/mysql#5. 启动 mysql 服务
[root@zabbix /usr/local/mysql]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
[root@zabbix /usr/local/mysql]# /usr/local/mysql/support-files/mysql.server start
Starting MySQL.... SUCCESS!
Mysql 启动成功后,需要重置 root 密码,临时密码在上面定义的 mysql 日志文件 /usr/local/mysql/logs/mysqld.log 中可以查到:
[root@zabbix /usr/local/mysql]# tail -100 logs/mysqld.log
登录 mysql 命令行,并重置密码,执行如下 SQL 命令:
[root@zabbix /usr/local/mysql]# /usr/local/mysql/bin/mysql -uroot -p
Enter password: # 输入临时密码
mysql> alter user 'root'@'localhost' identified by 'abc123456';
mysql> exit
如果当你在命令行登录 mysql 的时候,由于二进制版本发布环境的不同,可能会出现依赖库文件问题,下面是错误信息:
[root@zabbix_server /usr/local/mysql]# /usr/local/mysql/bin/mysql -uroot -p
/usr/local/mysql/bin/mysql: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory
这就是二进制文件编译环境不同导致的,解决方法如下:
[root@zabbix_server /usr/local/mysql]# find / -name "libtinfo.so*"
/usr/lib64/libtinfo.so.6
/usr/lib64/libtinfo.so.6.1
/usr/lib64/libtinfo.so[root@zabbix_server /usr/local/mysql]# ll /usr/lib64/libtinfo.so.6
lrwxrwxrwx 1 root root 15 6月 1 2021 /usr/lib64/libtinfo.so.6 -> libtinfo.so.6.1[root@zabbix_server /usr/local/mysql]# ln -s /usr/lib64/libtinfo.so.6.1 /usr/lib64/libtinfo.so.5[root@zabbix_server /usr/local/mysql]# ll /usr/lib64/libtinfo.so.5
lrwxrwxrwx 1 root root 26 11月 28 16:46 /usr/lib64/libtinfo.so.5 -> /usr/lib64/libtinfo.so.6.1
做完软连接之后,就可以顺利登陆 mysql 命令行了。至此,MySQL 部署完成。
二、安装 zabbix 监控平台
参考官方安装文档:下载Zabbix
首先,下载 zabbix 的安装源,执行如下命令:
[root@zabbix ~]# rpm -Uvh https://repo.zabbix.com/zabbix/6.4/rhel/8/x86_64/zabbix-release-6.4-1.el8.noarch.rpm
[root@zabbix ~]# dnf clean all
[root@zabbix ~]# dnf module switch-to php:7.4
接着开始安装 Zabbix server、Web 前端、agent:
[root@zabbix ~]# dnf install -y zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent
然后,创建初始数据库,在数据库主机上运行以下代码:
[root@zabbix ~]# /usr/local/mysql/bin/mysql -uroot -p
Enter password:
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
mysql> create user zabbix@localhost identified by 'zabbix';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> set global log_bin_trust_function_creators = 1;
mysql> quit;
导入初始架构和数据,系统将提示您输入新创建 zabbix 用户的密码:
[root@zabbix ~]# zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | /usr/local/mysql/bin/mysql --default-character-set=utf8mb4 -uzabbix -p zabbix
Enter password:
导入数据库模式后禁用 log_bin_trust_function_creators 选项:
[root@zabbix_server ~]# /usr/local/mysql/bin/mysql -uroot -p
mysql> set global log_bin_trust_function_creators = 0;
mysql> quit
三、编辑配置文件
首先为 Zabbix server 配置数据库,编辑配置文件 /etc/zabbix/zabbix_server.conf 信息如下:
[root@zabbix ~]# vim /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBPassword=zabbix
DBSocket=/tmp/mysql.sock
ListenIP=0.0.0.0
然后是在 zabbix web 配置中,编辑配置文件 /etc/nginx/conf.d/zabbix.conf,去掉下面两行的注释:
[root@zabbix_server ~]# vim /etc/nginx/conf.d/zabbix.conf listen 8080;server_name example.com;
至此,zabbix 安装和基础配置完成。
zabbix-server 的配置文件中,除了上面给出的配置参数,还需要关注如下几个配置项:
ListenPort=10051LogFile=/var/log/zabbix/zabbix_server.logDBHost=localhostDBName=zabbix DBUser=zabbix DBPassword=zabbix ListenIP=0.0.0.0StartPollers=5StartTrappers=10StartDiscoverers=10AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts
-
ListenPort 是 zabbix server 默认监听端口,LogFile 用来指定 zabbix server 日志输出路径,DBHost 为数据库的地址,如果数据库在本机,可不做修改,DBName 为数据库名称,DBUser 为连接数据库的用户名,DBPassword 为连接数据量对应的用户密码。ListenIP 为zabbix server 监听的 IP 地址,也就是 zabbix server 启动的监听端口对哪些 ip 开放,Agentd为主动模式时,这个值建议设置为 0.0.0.0。
-
StartPollers 用于设置 zabbix serve 服务启动时启动 Pollers(主动收集数据进程)的数量,数量越多,则服务端吞吐能力越强,同时对系统资源消耗越大。
-
StartTrappers 用于设置 zabbix server 服务启动时启动 Trappers(负责处理 Agentd 推送过来的数据的进程)的数量。Agentd 为主动模式时,zabbix server 需要设置这个值大一些。
-
StartDiscoverers 用于设置 zabbix server 服务启动时启动 Discoverers 进程的数量,如果 zabbix 监控报 Discoverers 进程忙时,需要提高该值。
-
AlertScriptsPath 用来配置 zabbix server 运行脚本存放目录,一些供 zabbix server 使用的脚本,都可以放在这里。
四、启动服务
启动 Zabbix server 和 agent 进程,并为它们设置开机自启:
[root@zabbix_server ~]# systemctl restart zabbix-server zabbix-agent nginx php-fpm
[root@zabbix_server ~]# systemctl enable zabbix-server zabbix-agent nginx php-fpm
五、zabbix-web 安装
访问 http://ip:8080 端口,即可访问 zabbix 的 web 界面。
选择简体中文:
配置数据库连接:
设置时区:
登录 zabbix,默认账号 Admin(注意是大写的 A),密码 zabbix:
仪表盘界面:
zabbix web 出图展示乱码问题解决方案
安装完成后,在出图界面,会无法显示汉字,如下图所示:
因此,还需要修正字体,zabbix出图界面对应的字体文件在 /usr/share/zabbix/assets/fonts 目录下,默认是 graphfont.ttf 文件,但此文件在 almalinux9 下是不存在的,所以出图界面中文无法显示,解决的方法是:下载需要的中文字体文件,然后拷贝到 /usr/share/zabbix/assets/fonts 目录下,重命名为 graphfont.ttf 即可。
我们可以从本地 windows 电脑中拷贝出字体文件,拷贝的目录为 C:\Windows\Fonts,找到 Microsoft YaHei UI 文件:
[root@zabbix_server ~]# cd /usr/share/zabbix/assets/fonts
[root@zabbix_server /usr/share/zabbix/assets/fonts]# mv graphfont.ttf graphfont.ttf.backup
[root@zabbix_server /usr/share/zabbix/assets/fonts]# ls
graphfont.ttf.backup msyh.ttc
[root@zabbix_server /usr/share/zabbix/assets/fonts]# mv msyh.ttc graphfont.ttf
[root@zabbix_server /usr/share/zabbix/assets/fonts]# ls
graphfont.ttf graphfont.ttf.backup
重新刷新 zabbix 界面即可:
至此,zabbix 监控平台安装完成。
上一篇文章:Zabbix 6.0 详细基础介绍-CSDN博客