目录
一、安装 MySQL 数据库
二、安装 zabbix 监控平台
三、编辑配置文件
四、启动服务
五、zabbix-web 安装
zabbix web 出图展示乱码问题解决方案
zabbix 的安装部署非常简单,官方提供了四种安装途径,分别是二进制 rpm 包安装方式、源码安装方式、容器安装方式和虚拟机镜像安装方式。本次使用 dnf 在线进行安装的方式。
Zabbix web 端是基于 HTTP 服务器和 PHP 脚本语言进行构建的,HTTP 服务器可以是 nginx或 apache,zabbix 的数据存储支持多种数据库,可以是 MySQL、Oracle、PostgreSQL、SQLite等,这里我们选择 MySQL 数据库作为后端存储。
虚拟机安装环境介绍:
注意:Centos 7 及以下版本不支持 yum 在线安装 zabbix 6 的 web 服务了(zabbix-nginx-conf),只能手动部署 Nginx 和 PHP,所以为了方便快捷本次使用 Centos 8 及以上版本部署 Zabbix 6.4
这里使用目前 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 的安装源,执行如下命令:
[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=10051
LogFile=/var/log/zabbix/zabbix_server.log
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
ListenIP=0.0.0.0
StartPollers=5
StartTrappers=10
StartDiscoverers=10
AlertScriptsPath=/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
访问 http://ip:8080 端口,即可访问 zabbix 的 web 界面。
选择简体中文:
配置数据库连接:
设置时区:
登录 zabbix,默认账号 Admin(注意是大写的 A),密码 zabbix:
仪表盘界面:
安装完成后,在出图界面,会无法显示汉字,如下图所示:
因此,还需要修正字体,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 6.0 详细基础介绍-CSDN博客