Zabbix 6 详细安装部署教程

目录

一、安装 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博客 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/229055.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux后台运行jar包

Linux后台运行jar包 方式一 命令如下: java -jar /data/tools/jar/demo.jar注:/data/tools/jar:指定jar包所在位置,否则要在jar包所在位置运行改命令;当前ssh窗口被锁定,可按CTRL C打断程序运行&#xf…

idea下载与安装,以及创建一个项目写HelloWorld

1.idea下载 Download IntelliJ IDEA – The Leading Java and Kotlin IDE (jetbrains.com) Ultimate为旗舰版,功能全面,插件丰富,按年收费。 Community为社区版,免费试用,功能相对而言不是很丰富,但是不影…

全网日志智能聚合及问题根因分析

1 日志关联分析的挑战 随着各行各业数字化转型的不断深入,网络承载了人们日常生活所需的政务、金融、娱乐等多方面的业务系统,已经成为影响社会稳定运行、关系国计民生的重要基础设施资源。哪怕网络发生及其微小的故障,也可能带来难以估量的…

embeddings

“embeddings”的中文翻译是“嵌入”或“嵌入向量”。在自然语言处理(NLP)领域,通常被称为“词向量”或“词嵌入”,它是表示词汇或令牌的一种方式,通过将这些词汇或令牌映射到一个向量空间中的点,以捕捉它们…

Spring之AOP理解与应用(更新中)

1. AOP的认识 面向切面编程:基于OOP基础之上新的编程思想,OOP面向的主要对象是类,而AOP面向的主要对象是切面,在处理日志、安全管理、事务管理等方面有非常重要的作用。AOP是Spring中重要的核心点,AOP提供了非常强…

中小型工厂如何进行数字化转型

随着科技的快速发展和市场竞争的日益激烈,中小型工厂面临着诸多挑战。为了提高生产效率、降低成本、优化资源配置,数字化转型已成为中小型工厂发展的必经之路。中小型工厂如何进行数字化转型呢? 一、明确数字化转型目标 在进行数字化转型之前…

Java第二十章

一.创建线程 1.继承Thread类 Thread类是java.lang 包中的一个类,从这个类中实例化的对象代表线程,程序员启动一个新线程需要建立Thread实例。Thread类中常用的两个构造方法如下: public Thread()://创建一个新的线程对象。 public Thread(String threa…

面试题:MySQL自增主键为什么不是连续的?

文章目录 前言一、自增值存储说明二、自增值修改机制三、 自增值修改时机四、 导致自增值不连续的原因4.1 唯一键冲突4.2 事务回滚4.3 批量写库操作 前言 提出这个问题,是因为在工作中发现 mysql 中的 user 表的 id 默认是自增的,但是数据库存储的结果却…

LINUX入门篇【11】---进程篇【3】---进程优先级,进程切换,进程调度

前言: 有了前面知识点的铺垫,本篇我们将围绕进程的三个方面来展开,即进程优先级,进程切换以及进程调度的问题,这里的进程调度其实本质就是CPU是如何去调度进程的。 进程优先级: 优先级的概念&#xff1a…

C语言数据结构之顺序表(上)

前言: ⭐️此篇博文主要分享博主在学习C语言的数据结构之顺序表的知识点时写的笔记,若有错误,还请佬指出,一定感谢!制作不易,若觉得内容不错可以点赞👍收藏❤️,这是对博主最大的认可…

鸿蒙原生应用/元服务开发-AGC分发如何生成密钥和和证书请求文件

HarmonyOS通过数字证书(.cer文件)和Profile文件(.p7b文件)等签名信息来保证应用的完整性,应用如需上架到华为应用市场必须通过签名校验。因此,开发者需要使用发布证书和Profile文件对应用进行签名后才能发布…

卓越进行时 | 西安交通大学校友莅临赛宁网安参观考察

近日,为了深入贯彻网络安全强国战略建设,积极发挥网络安全企业的先进作用,推动校企合作与协作共赢。西安交通大学领导携校友会来到赛宁网安网络安全卓越中心进行参观考察,为进一步的校企合作和产业孵化奠定基础。 活动期间&#…