Zabbix部署

文章引导

前言
Zabbix与Prometheus对比
结构体系
工作模式
环境准备
部署
添加主机

前言

Zabbix 是一款监控网络的众多参数以及服务器、虚拟机、应用程序、服务、数据库、网站、云等的健康和完整性的软件。Zabbix 使用灵活的通知机制,允许用户为几乎任何事件配置基于电子邮件的告警,以实现对服务器问题做出快速反应。Zabbix 基于存储的数据提供出色的报告和数据可视化功能

Zabbix与Prometheus对比

  1. 对于传统监控系统中,尤其是服务器相关指标监控方面,比Prometheus占据绝对优势
  2. 云环境容器场景,这需要zabbix的定制对于使用者较高的技术,推荐容器方面监控是Prometheus
  3. 如果对于新上线监控系统请使用Prometheus,不要选择zabbix
  4. zabbix最多支持10000个节点,而Prometheus以万为单位

结构体系

Server
Zabbix server 是 agents 向其报告可用性和完整性信息和统计信息的中心组件。server 是存储所有配置、统计和操作数据的中央存储库。

数据存储
Zabbix 收集的所有配置信息以及数据都存储在数据库中。

Web 界面
为了从任何地方和任何平台轻松访问,Zabbix 提供了基于 Web 的界面。该接口是 Zabbix server 的一部分,通常(但不一定)与 server 运行在同一台设备上。

Proxy
Zabbix proxy 可以代替 Zabbix server 收集性能和可用性数据。proxy 是 Zabbix 部署的可选部分;但是对于分散单个 Zabbix server 的负载非常有用。

Agent
Zabbix agent 部署在被监控目标上,以主动监控本地资源和应用程序,并将收集到的数据报告给 Zabbix server。从 Zabbix 4.4 开始,有两种类型的 agent 可用:Zabbix agent (轻量级,在许多平台上支持,用 C 编写)和 Zabbix agent 2 (非常灵活,易于使用插件扩展,用 Go 编写)。

工作模式

主动模式(比较节约Zabbix-Server的资源,不需要Server主动去发现)
Agent(每隔一段时间)主动向Zabbix-Server(查询需要发送给Agent的数据)请求对应的配置的监控项,然后把对应的监控数据发送给Server,如果部署了proxy,那么就发送给proxy
推荐主机在500台以上

被动模式
Zabbix-Server向Agent(需要Agent打开一个端口,默认为10050)发送想获取监控数据请求,Agent收到请求后,把对应的数据发送并响应给Server
主机在500台以下使用

环境准备

CPU架构系统版本Zabbix版本
x86_64CentOS 7.86.4

部署

  1. 安装mysql8.0因为Zabbix的6.4版本需要mysql8.0以上的版本
    在这里插入图片描述
    点击下面No thanks进行下载
    在这里插入图片描述

移动到zabbix服务器当中,进行解压

[root@k8s-master ~]# tar -xvf mysql-8.0.34-1.el7.x86_64.rpm-bundle.tar
##不检测依赖进行全部安装
[root@k8s-master ~]# rpm -ivh *.rpm --nodeps --force
##初始化配置
[root@k8s-master ~]# mysqld --initialize
##更改文件权限,不然会导致权限不够
[root@k8s-master ~]# chown mysql:mysql /var/lib/mysql -R
##启动mysql,开机自启
[root@k8s-master ~]# systemctl start mysqld && systemctl enable mysqld
##查看随机root用户密码
[root@k8s-master ~]# cat /var/log/mysqld.log | grep password
2023-08-14T07:46:14.842037Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: -tMDk1n(AjsF
##登录mysql,修改密码为root
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
Query OK, 0 rows affected (0.00 sec)
##新建数据库 zabbix
mysql> CREATE DATABASE zabbix
  1. 安装zabbix-server,因为server不知道在centos7上直接使用yum快速安装了,这里需要使用源码进行编译安装
##下载源码包
[root@k8s-master ~]# wget https://cdn.zabbix.com/zabbix/sources/stable/6.4/zabbix-6.4.5.tar.gz
--2023-08-14 15:14:15--  https://cdn.zabbix.com/zabbix/sources/stable/6.4/zabbix-6.4.5.tar.gz
正在解析主机 cdn.zabbix.com (cdn.zabbix.com)... 104.26.6.148, 104.26.7.148, 172.67.69.4, ...
正在连接 cdn.zabbix.com (cdn.zabbix.com)|104.26.6.148|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:43464868 (41M) [application/octet-stream]
正在保存至: “zabbix-6.4.5.tar.gz”

100%[====================================================>] 43,464,868  5.11MB/s 用时 13s

2023-08-14 15:14:30 (3.14 MB/s) - 已保存 “zabbix-6.4.5.tar.gz” [43464868/43464868])


##编译安装
[root@k8s-master ~]#  tar -zxvf zabbix-6.4.5.tar.gz
##创建用户和用户组
[root@k8s-master ~]# groupadd --system zabbix
[root@k8s-master ~]# useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix
##进入zabbix目录进行编译,编译前先安装gcc* make make,如遇到依赖问题请使用yum安装
[root@k8s-master zabbix-6.4.5]# ./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi
.......省略
    Configuration file:    /usr/local/etc/zabbix_server.conf
    External scripts:      /usr/local/share/zabbix/externalscripts
    Alert scripts:         /usr/local/share/zabbix/alertscripts
    Modules:               /usr/local/lib/modules

  Enable proxy:          no

  Enable agent:          yes
  Agent details:
    TLS:                   no
    Modbus:                no
    Linker flags:                -rdynamic
    Libraries:              -lz -lpthread    -lcurl -lpthread -lm -ldl  -lresolv  -lpcre
    Configuration file:    /usr/local/etc/zabbix_agentd.conf
    Modules:               /usr/local/lib/modules

  Enable agent 2:        no

  Enable web service:    no

  Enable Java gateway:   no

  LDAP support:          no
  IPv6 support:          yes
  cmocka support:        no

  yaml support:          no

***********************************************************
*            Now run 'make install'                       *
*                                                         *
*            Thank you for using Zabbix!                  *
*              <http://www.zabbix.com>                    *
***********************************************************
##按照提示执行,只要没有报错就执行成功了
[root@k8s-master zabbix-6.4.5]# make install
  1. 安装zabbix-agent
##在线安装下载源
[root@k8s-master ~]# rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/6.4/rhel/7/x86_64/zabbix-release-6.4-1.el7.noarch.rpm?spm=a2c6h.25603864.0.0.24b711b1CUUJwT
获取https://mirrors.aliyun.com/zabbix/zabbix/6.4/rhel/7/x86_64/zabbix-release-6.4-1.el7.noarch.rpm?spm=a2c6h.25603864.0.0.24b711b1CUUJwT
警告:/var/tmp/rpm-tmp.Y2lgA7: 头V4 RSA/SHA512 Signature, 密钥 ID a14fe591: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:zabbix-release-6.4-1.el7         ################################# [100%]

##安装成功后会在yum源仓库多出来一个zabbix.repo文件
[root@k8s-master ~]# cd /etc/yum.repos.d/
[root@k8s-master yum.repos.d]# ls
CentOS-Base.repo       CentOS-fasttrack.repo  CentOS-Vault.repo
CentOS-CR.repo         CentOS-Media.repo      CentOS-x86_64-kernel.repo
CentOS-Debuginfo.repo  CentOS-Sources.repo    zabbix.repo

##使用sed命令把yum源改为阿里云源这样下载快一些
[root@k8s-master yum.repos.d]# sed -i 's#https://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo

##清空缓存,下载zabbix-agent
[root@k8s-master yum.repos.d]# yum clean all && yum makecache
[root@k8s-master yum.repos.d]# yum -y install zabbix-agent2
  1. 安装PHP
[root@k8s-master ~]# yum -y install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
[root@k8s-master ~]# yum -y install yum-utils epel-release
[root@k8s-master ~]# yum-config-manager --disable 'remi-php*'
[root@k8s-master ~]# yum-config-manager --enable   remi-php74
[root@k8s-master ~]# yum -y install php php-bcmath php-gd php-xml php-mbstring php-mysqlnd php-ldap
[root@k8s-master ~]# yum -y install libxml2 libxml2-devel
##查看版本
[root@localhost ~]# php -v
PHP 7.4.33 (cli) (built: Jun  6 2023 16:33:05) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
##对PHP进行简单的优化配置,修改成以下参数就行
[root@k8s-master ~]# vim /etc/php.ini
max_execution_time = 300
post_max_size = 16M
max_input_time = 300
  1. 安装web界面,zabbix的源码包里面包含了前端web页面。
[root@k8s-master ~]# yum -y install  httpd
[root@k8s-master ~]# cp -r zabbix-6.4.5/ui/* /var/www/html/
##把文件权限改为apache不然会权限错误
  1. 导入数据结构和数据
##找到mysql的数据库文件
[root@k8s-master mysql]# pwd
/root/zabbix-6.4.5/database/mysql
##导入文件,输入root密码
[root@k8s-master mysql]# mysql -uroot -p zabbix  < schema.sql
Enter password:
[root@k8s-master mysql]# mysql -uroot -p zabbix  < images.sql
Enter password:
[root@k8s-master mysql]# mysql -uroot -p zabbix  < data.sql
Enter password:
##修改server的数据库密码
[root@k8s-master mysql]# cd /usr/local/etc/
[root@k8s-master etc]# vim zabbix_server.conf
DBHost=127.0.0.1
DBName=zabbix
DBUser=root
DBPassword=root
  1. 启动server
[root@k8s-master etc]# systemctl start httpd
[root@k8s-master etc]# zabbix_server
[root@k8s-master zabbix]# systemctl restart zabbix-agent2.service
  1. 进入界面安装
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    默认的账号密码为:Admin/zabbix
    在这里插入图片描述

添加主机

主动式

  1. 安装agent并启动
##安装agent2的rpm包,下载地址为 https://mirrors.aliyun.com/zabbix/zabbix/6.4/rhel/7/x86_64/
[root@k8s-node1 ~]# rpm -ivh zabbix-agent2-6.4.0-release1.el7.x86_64.rpm
警告:zabbix-agent2-6.4.0-release1.el7.x86_64.rpm: 头V4 RSA/SHA512 Signature, 密钥 ID a14fe591: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:zabbix-agent2-6.4.0-release1.el7 ################################# [100%]
   
##修改配置
[root@k8s-node1 ~]# vim /etc/zabbix/zabbix_agent2.conf
Server=192.168.27.101   # 服务器IP
ServerActive=192.168.27.101     #修改服务器IP
Hostname=k8s-node1   # 修改客户端主机名

##启动并自动启动
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-agent2.service to /usr/lib/systemd/system/zabbix-agent2.service.

##是否启动成功
[root@k8s-node1 ~]# netstat -antp | grep 10050
tcp6       0      0 :::10050                :::*                    LISTEN      54344/zabbix_agent2

  1. web界面添加agent主机
    在这里插入图片描述
    在这里插入图片描述

被动式

  1. 安装agent并启动
##安装agent2的rpm包,下载地址为 https://mirrors.aliyun.com/zabbix/zabbix/6.4/rhel/7/x86_64/
[root@k8s-node1 ~]# rpm -ivh zabbix-agent2-6.4.0-release1.el7.x86_64.rpm
警告:zabbix-agent2-6.4.0-release1.el7.x86_64.rpm: 头V4 RSA/SHA512 Signature, 密钥 ID a14fe591: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:zabbix-agent2-6.4.0-release1.el7 ################################# [100%]
   
##修改配置
[root@k8s-node1 ~]# vim /etc/zabbix/zabbix_agent2.conf
#Server=192.168.27.101   # 把这个注释掉 就为主动模式
ServerActive=192.168.27.101    
Hostname=k8s-node1   # 修改客户端主机名

##启动并自动启动
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-agent2.service to /usr/lib/systemd/system/zabbix-agent2.service.

##没有端口代表主动模式成功
[root@k8s-node1 ~]# netstat -antp | grep 10050

  1. 添加主动模板,全克隆Linux by Zabbix agent active模板
    在这里插入图片描述

  2. 改一个记得住的名字,并点击添加
    在这里插入图片描述
    把模板搜索出来,点击监控项
    在这里插入图片描述
    依次选择点击,把类型改为主动式,点击应用,然后看得到下方都变为主动式了
    在这里插入图片描述

  3. 添加一个主机,填入主机名和刚才创建的模板,然后点击确定
    在这里插入图片描述
    在这里插入图片描述

  4. 等待一会验证
    在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值