关于zabbix简介及zabbix服务端的部署

文章目录

    • 一、zabbix概念
      • 1、zabbix简介
      • 2、zabbix主要特点
      • 3、zabbix运行机制
      • 4、zabbix应用场景
      • 5、zabbix监控原理
      • 6、zabbix的子程序
      • 7、zabbix监控的架构模式
        • 7.1 server-client架构
        • 7.2 server-proxy-client架构
        • 7.3 master-node-client
    • 二、部署zabbix
      • 1、服务器配置
      • 2、服务器环境
      • 3、获取 zabbix 的下载源
      • 4、更换 zabbix.repo 为阿里源
      • 5、下载安装zabbix以及组件
      • 6、修改 zabbix-front 前端源,安装 zabbix 前端环境到 scl 环境下
      • 7、安装 zabbix 所需的数据库
      • 8、初始化数据库并设置密码
      • 9、添加数据库用户,以及 zabbix 所需的数据库信息
      • 10、导入数据库信息
      • 11、修改 zabbix server 配置文件,修改数据库的密码
      • 12、修改 zabbix 的 php 配置文件
      • 13、启动 zabbix 相关服务
      • 14、浏览器访问
      • 15、解决zabbix_serber的Web乱码问题
    • 三、部署zabbix客户端
      • 1、服务器配置
      • 2、服务器环境
      • 3、服务端和客户端都配置时间同步 ntp
      • 4、客户端配置时区,与服务器保持一致
      • 5、设置 zabbix 的下载源,安装 zabbix-agent2
      • 6、修改 agent2 配置文件
      • 7、启动 zabbix-agent2
      • 8、在服务端验证 zabbix-agent2 的连通性
      • 9、在web页面中添加agent主机
    • 四、自定义监控内容
      • 1、在客户端创建自定义 key
        • 1.1 明确需要执行的 linux 命令
        • 1.2 创建 zabbix 的监控项配置文件,用于自定义 key
        • 1.3 在服务端验证新建的监控项
      • 2、在 Web 页面创建自定义监控项模板
        • 2.1 创建模板
        • 2.2 创建应用集(用于管理监控项的)
        • 2.3 创建监控项
        • 2.4 创建触发器(当监控项获取到监控的值后和触发器预设的值进行对比,判断是否报警)
        • 2.5 创建图形
        • 2.6 将主机与模板关联起来(一个主机可以关联多个模板)
      • 3、邮件报警
        • 3.1 设置邮件报警
        • 3.2 测试邮件报警
    • 五、zabbix自动发现和自动注册
      • 1、zabbix自动发现(对于 agent2 是被动模式)
        • 1.1 确保客户端上的zabbix-agent2服务状态正常
        • 1.2 在Web页面删除原有的客户端主机
        • 1.3 在服务端和客户端上配置hosts解析
        • 1.4 在web页面配置自动发现
      • 2、zabbix自动注册(对于agent2是主动模式)
        • 2.1 环境准备
        • 2.2 修改zabbix-agent2配置文件
        • 2.3 在web页面配置自动注册
    • 五、部署zabbix代理服务器
      • 1、分布式监控的作用
      • 2、数据传输流程
      • 3、服务器配置
      • 4、服务器环境
      • 5、设置zabbix下载源,安装zabbix-proxy
      • 6、安装zabbix所需的数据库
      • 7、初始化数据库
      • 8、添加数据库用户,以及zabbix所需的数据库信息
      • 9、导入数据库信息
      • 10、修改zabbix-proxy配置文件
      • 11、启动zabbix-proxy
      • 12、在所有主机上配置hosts解析
      • 13、在web页面配置代理
      • 14、配置agent使用proxy
        • 14.1 在客户端修改agent2配置文件
        • 14.2 在web页面配置
        • 14.3 在各服务器上重启服务
    • 六、设置zabbix-snmp(简单网络管理协议)监控
      • 1、服务端安装snmp监控程序
      • 2、修改snmp的配置文件,并启动服务
      • 3、使用snmp命令测试
      • 4、在web页面配置snmp方式监控

一、zabbix概念

1、zabbix简介

  • zabbix 是一个基于 Web 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
  • zabbix 能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制,可以让系统管理员快速定位/解决存在的各种问题。
    • nagios网络监控
    • cacti网络和绘图
    • ganglia分布式监控系统(不能做大型的监控)
  • zabbix 由 2 部分构成,zabbix server 与可选组件 zabbix agent。通过 C/S (客户端/服务端)模式采集数据,通过 B/S (网页端/服务端)模式在 Web 端展示和配置。(agent端口:10050;server端口:10051)
  • zabbix server 可以通过 SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能, 它可以运行在 Linux 等平台上。
  • zabbix agent 需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU 等信息的收集。

通过C/S模式采集数据,通过B/S模式web端展示和配置

2、zabbix主要特点

  • 安装配置简单,学习成本较低,不用花费大量时间
  • 支持多语言,包括中文
  • 开源免费
  • 自动发现服务器与网络设备
  • 分布式监控web集群中的管理功能
  • 通过邮件功能做邮件通知(短信、语音、微信、钉钉)

监控主要功能:

CPU负载、内存使用、磁盘使用率、网络状态、端口监视、日志监视、插件开发自定义

3、zabbix运行机制

zabbix-agent 数据采集 ----> zabbix-server(数据分析/报警)----> 数据库(数据存储)----> zabbix-web(数据展示)

image-20240415100802843

  • 从数据库中读取数据,过程是互动的展示

4、zabbix应用场景

  • 硬件监控
  • 系统层监控(如:linux、windows)
  • 网络监控
  • Java监控
  • 应用服务监控(如:tomcat、nginx)
  • 数据库监控
  • url监控
  • VMware监控虚拟机运行状况

5、zabbix监控原理

image-20240415101437920

  • zabbix agent安装在被监控的主机上,zabbix agent负责定期收集客户端本地各项数据,并发送至 zabbix server 端,zabbix server 收到数据后,将数据存储到数据库中,用户基于 Zabbix WEB 可以看到数据在前端展现图像。当 zabbix 监控某个具体的项目, 该项目会设置一个触发器阈值,当被监控的指标超过该触发器设定的阈值,会进行一些必要的动作,动作包括:发送信息(邮件、微信、短信)、发送命令(shell 命令、reboot、restart、install 等)。

监控模式

  • 被动监控:server向agent发起连接
  • 主动监控:agent向server发起连接

6、zabbix的子程序

zabbix监控部署在系统中,包含常见的五个程序

  • zabbix server:服务端守护进程,其中 zabbix_agent、zabbix_get、zabbix_sender、zabbix_proxy 的数据最终都提交给 zabbix server。
  • zabbix anget:客户端守护进程,负责收集客户端数据,例如:收集 CPU 负载、内存、硬盘使用情况等。
  • zabbix proxy:zabbix分布式代理守护进程,通常大于 500 台主机,需要进行分布式监控架构部署。
  • zabbix get:zabbix数据接收工具,单独使用的命令,通常在 server 或者 proxy 端执行获取远程客户端信息的命令。
  • zabbix sender:zabbix数据发送工具,用户发送数据给 server 或 proxy 端,通常用户耗时比较长的检查。

7、zabbix监控的架构模式

7.1 server-client架构
  • zabbixUI简单的架构,监控机器和被监控机器之间不经过任何处理,直接由zabbix-server和zabbix-client之间进行数据交换,适用于网络比较简单,尽量在局域网内,设备比较少的监控环境使用。

image-20240415172736676

7.2 server-proxy-client架构
  • 其中proxy和server,client之间沟通的桥梁,proxy本身是有前端的,并不存放数据,只是将agent发送的数据暂时存放,然后将数据提交给server端,这种架构经常是master-node-client,一般适用于跨机房、跨网络的中型网络监控架构。

image-20240415173041042

7.3 master-node-client
  • 是zabbix中最复杂的监控架构,适用于跨网络、跨机房设备多的大型环境,每个node同时接一个server端,node下面可以连接proxy,也可以直接连接client,node有自己的配置文件和数据库,作用是将配置信息和监控数据向master进行数据同步,master发生故障损坏,对node下面架构的完整性没有任何影响。

image-20240415112432726

二、部署zabbix

1、服务器配置

服务器配置ip地址主机名主要软件
zabbix-server内存至少2G,推荐4G192.168.122.10zabbix_serverzabbix-server-mysql、zabbix-agent

2、服务器环境

systemctl disable --now firewalld
setenforce 0
#关闭防火墙和核心防护

hostnamectl set-hostname zabbix-server
su
#修改主机名

image-20240415160030618

3、获取 zabbix 的下载源

rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
#获取zabbix的下载源

image-20240415160110016

4、更换 zabbix.repo 为阿里源

cd /etc/yum.repos.d
#切换目录

sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' zabbix.repo
#更换zabbix.repo源为阿里源

yum clean all && yum makecache
#清除缓存并重新下载元数据

image-20240415160224344

5、下载安装zabbix以及组件

yum install -y zabbix-server-mysql zabbix-agent
#安装zabbix以及组件

yum install -y centos-release-scl
#安装scl,可以访问scl仓库

image-20240415160418868

6、修改 zabbix-front 前端源,安装 zabbix 前端环境到 scl 环境下

  • 安装SCL(Software Collections),便于后续安装高版本的 php,默认 yum 安装的 php 版本为 5.4,版本过低,zabbix 5.0 版本对 php 版本最低要 7.2.0 版本。SCL 可以使得在同一台机器上使用多个版本的软件,而又不会影响整个系统的依赖环境。软件包会安装在 /opt/rh 目录下。
#修改zabbix.repo配置文件
vim zabbix.repo
......
[zabbix-frontend]
......
enabled=1
#开启安装源
......

yum install -y zabbix-web-mysql-scl zabbix-apache-conf-scl
#安装

image-20240415160750005

image-20240415161008017

7、安装 zabbix 所需的数据库

yum install -y mariadb-server mariadb
#安装zabbix数据库

systemctl enable --now mariadb
#开机自启并立即启动

image-20240415161124960

8、初始化数据库并设置密码

mysql_secure_installation
#初始化数据库,并设置密码,如 abc123

image-20240415161418322

9、添加数据库用户,以及 zabbix 所需的数据库信息

mysql -u root -p
#登录数据库

CREATE DATABASE zabbix character set utf8 collate utf8_bin;
#添加数据库信息

GRANT all ON zabbix.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix';
#添加用户并授权

flush privileges;
#刷新

image-20240415161735341

10、导入数据库信息

  • zcat命令用于不真正解压缩文件,就能显示压缩包中文件的内容的场合。zcat是一个命令行实用程序,用于查看压缩文件的内容,而无需对其进行解压缩。 它将压缩文件扩展为标准输出,使您可以查看其内容。 另外,zcat与运行gunzip -c命令完全相同。
rpm -ql zabbix-server-mysql
#查询 sql 文件的位置

zcat /usr/share/doc/zabbix-server-mysql-5.0.42/create.sql.gz | mysql -uroot -pabc123 zabbix
#读取压缩文件将内容作为SQL命令执行到zabbix的mysql数据库中

image-20240415162012437

11、修改 zabbix server 配置文件,修改数据库的密码

#修改配置文件
vim /etc/zabbix/zabbix_server.conf 
......
DBPassword=zabbix
#124行,指定 zabbix 数据库的密码

image-20240415162330462

12、修改 zabbix 的 php 配置文件

#修改配置文件
vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
......
php_value[date.timezone] = Asia/Shanghai
#25行,取消注释,修改时区

image-20240415162521680

13、启动 zabbix 相关服务

systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
#启动zabbix相关服务

systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
#开机自启

image-20240415162651407

14、浏览器访问

192.168.10.11/zabbix
#浏览器访问zabbix-server
  • 第一次访问需要先注册

image-20240415134112581

image-20240415142114977

  • 输入 zabbix server 配置文件中设置的密码

image-20240415142248106

  • Name也可以不用填写,默认

image-20240415142435218

image-20240415142541579

image-20240415142622297

  • 安装完成后,默认的登录账号和密码为:Admin/zabbix

image-20240415144001371

  • 登录成功

image-20240415144044305

  • 设置文件界面:点击左边菜单栏的[User settings],[Language]选择 Chinese(zh_CN),再点击 Update 更新

image-20240415144157799

image-20240415144230715

15、解决zabbix_serber的Web乱码问题

image-20240415144439792

image-20240415144606884

  • 解决 zabbix-server Web页面中文乱码问题
yum install -y wqy-microhei-fonts

\cp -f /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf

image-20240415144834465

  • 回到web页面,检查乱码问题

image-20240415144928527

三、部署zabbix客户端

  • zabbix 5.0 版本采用 golang 语言开发的新版本客户端 agent2 。

  • zabbix 服务端 zabbix_server 默认使用 10051 端口,客户端 zabbix_agent2 默认使用 10050 端口。

1、服务器配置

服务器ip地址主机名主要软件
zabbix-agent192.168.10.12zabbix_agentzabbix-agent2

2、服务器环境

systemctl disable --now firewalld
setenforce 0
#关闭防火墙和核心防护

hostnamectl set-hostname zabbix_agent
su
#修改主机名

image-20240416144518248

3、服务端和客户端都配置时间同步 ntp

yum install -y ntpdate
#安装

ntpdate -u ntp.aliyun.com
#配置与阿里云时间同步

date
#查看时间
  • 服务端

image-20240416143002518

  • 客户端

image-20240416142740504

4、客户端配置时区,与服务器保持一致

mv /etc/localtime{,.bak}
#改名

ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
#做软连接

image-20240416144647212

5、设置 zabbix 的下载源,安装 zabbix-agent2

rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
#获取zabbix的下载源

sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
#更换zabbix.repo源为阿里源

yum install -y zabbix-agent2
#安装

image-20240416145056909

6、修改 agent2 配置文件

vim /etc/zabbix/zabbix_agent2.conf
......
Server=192.168.10.11
#80行,指定 zabbix 服务端的 IP 地址
ServerActive=192.168.10.11
#125行,指定 zabbix 服务端的 IP 地址
Hostname=zabbix_agent
#136行,指定当前 zabbix 客户端的主机名

image-20240416145700605

7、启动 zabbix-agent2

systemctl enable --now zabbix-agent2.service
#开机自启并立即自启

ss -natp | grep zabbix
lsof -i:10050
#查看zabbix进程

image-20240416150053092

8、在服务端验证 zabbix-agent2 的连通性

yum install -y zabbix-get
#安装 zabbix 主动获取数据的命令

zabbix_get -s '192.168.10.12' -p 10050 -k 'agent.ping'
#返回1即连通成功,返回0则连通失败

zabbix_get -s '192.168.10.12' -p 10050 -k 'system.hostname'
#显示客户端的主机名

image-20240416150827053

9、在web页面中添加agent主机

  • 点击左边菜单栏【配置】中的【主机】,点击【创建主机】

image-20240416151111718

  • 【主机名称】设置成 zabbix_agent
  • 【可见的名称】设置成 zabbix_agent-192.168.10.12
  • 【群组】选择 Linux servers
  • 【Interfaces】的【IP地址】设置成 192.168.10.12
  • 再点击上方菜单栏【模板】

image-20240416151624607

  • 【Link new tamplates】搜索 Linux ,选择 Template OS Linux by Zabbix agent,点击 【添加】

image-20240416151923548

image-20240416152012930

  • 进入【监测】,【主机】查看各项监控,主机添加成功,ZBX灯亮即连通成功

image-20240416152425387

image-20240416152601987

四、自定义监控内容

  • 案列:自定义监控客户端服务器登录的人数
  • 需求:限制登录人数不超过 3 个,超过 3 个就发出报警信息

1、在客户端创建自定义 key

1.1 明确需要执行的 linux 命令
who | wc -l
#统计登录人数

image-20240416153214854

1.2 创建 zabbix 的监控项配置文件,用于自定义 key
#创建zabbix的监控项配置文件
vim /etc/zabbix/zabbix_agent2.conf
273 Include=/etc/zabbix/zabbix_agent2.d/*.conf
#可以将自定义的监控项配置文件创建在 zabbix_agent2.d 目录中
296 #	Format: UserParameter=<key>,<shell command>
#自定义监控项的格式

cd /etc/zabbix/zabbix_agent2.d/
#切换目录

#自定义key
vim UserParameter_login.conf
UserParameter=login.user,who|wc -l

systemctl restart zabbix-agent2
#重启服务

image-20240416154213465

image-20240416154625243

1.3 在服务端验证新建的监控项
zabbix_get -s '192.168.10.12' -p 10050 -k 'login.user'

image-20240416155033379

2、在 Web 页面创建自定义监控项模板

2.1 创建模板
  • 点击左边菜单栏【配置】中的【模板】,点击【创建模板】

image-20240416155331274

  • 【模板名称】设置成 Template Login User
  • 【可见的名称】设置成 Template Login User
  • 【群组】选择 Template
  • 【描述】可自定义
  • 点击 【添加】

image-20240416155954799

image-20240416160047073

  • 此时就可在【链接的模板】中搜索到 Template Login User 了,勾选,点击进入

image-20240416162037808

2.2 创建应用集(用于管理监控项的)
  • 点击上方菜单栏【应用集】,点击【创建应用集】

image-20240416162243544

  • 【名称】设置成 Login User,点击 【添加】

image-20240416162403577

2.3 创建监控项
  • 点击上方菜单栏【监控项】,点击【创建监控项】

image-20240416162515932

  • 【名称】设置成 Number of login users
  • 【键值】设置成 login.user(键值必须要与自定义的监控项配置文件中设置的保持一致)
  • 【更新间隔】设置成 10s
  • 【历史数据保留时长】Storage period 90d(保留时间可自定义设置)
  • 点击 【添加】

image-20240416163414388

2.4 创建触发器(当监控项获取到监控的值后和触发器预设的值进行对比,判断是否报警)
  • 点击上方菜单栏【触发器】,点击【创建触发器】

image-20240416163603734

  • 【名称】设置成 Number of login users is greater than 3
  • 【严重性】设置成 一般严重
  • 【表达式】点击添加,【监控项】点击选择 Number of login users,【功能】选择 last(),【结果】选择 > 3,点击 【插入】
  • 点击 【添加】

image-20240416164403855

image-20240416164117510

image-20240416172257221

2.5 创建图形
  • 点击上方菜单栏【图形】,点击【创建图形】

image-20240416164442780

  • 【名称】设置成 Number of login users
  • 【宽】、【高】可直接采用默认值
  • 【监控项】点击添加勾选相关监控项 Number of login users,【功能】选择 最大,其它可保持默认值
  • 点击 【添加】

image-20240416164839003

image-20240416172436622

2.6 将主机与模板关联起来(一个主机可以关联多个模板)
  • 点击左边菜单栏【配置】中的【主机】,点击你要关联的主机

image-20240416165138596

  • 点击上方菜单栏【模板】,【链接新模板】搜索 login,选择 Template Login User,点击【更新】

image-20240416165404271

image-20240416165441731

  • 此时就点击【监测】中的【主机】,点击你关联主机的【图形】,即可查看到相关的监控项指标

image-20240416165600170

image-20240416172705102

image-20240416172918640

image-20240416173041601

3、邮件报警

3.1 设置邮件报警
  • 点击左边菜单栏【管理】中的【报警媒介类型】,点击【创建媒体类型】

image-20240416173206208

  • 【名称】设置成 qq_Email
  • 【SMTP服务器】设置成 smtp.qq.com
  • 【SMTP服务器端口】设置成 25
  • 【SMTP HELO】设置成 qq.com
  • 【SMTP电邮】设置成 自己的邮箱地址,例如 xxxx@qq.com
  • 【认证】选择 用户名和密码
  • 【用户名称】设置成自己的邮箱地址,例如 xxxx@qq.com
  • 【密码】可登录QQ邮箱页面,点击【设置】–>【账户】中的【生成授权码】,通过短信获取授权码
  • 【描述】可自定义
  • 点击上方菜单栏【消息模板】

image-20240416180805317

image-20240416180937453

  • 点击【添加】,并测试功能

image-20240416181127729

  • 【类型】选择 qq_Email,【收件人】设置成邮箱地址,添加【消息】,点击测试

image-20240416181728885

image-20240416181837509

  • 收到邮件,测试成功

image-20240416182004775

  • 点击左边菜单栏【用户设置】–>【报警媒介】,点击【添加】
  • 【类型】选择 qq_Email
  • 【收件人】设置成 xxxx@qq.com
  • 【当启用时】设置成 1-7,00:00-24:00
  • 点击 【添加】

image-20240416182606754

  • 再点击 【更新】

image-20240416182636079

  • 点击左边菜单栏【配置】中的【动作】,选择相对应的动作名称,点击【启用】

image-20240416220132153

image-20240416220156122

image-20240416220219400

3.2 测试邮件报警

增加测试客户端的用户登录数超过触发器预设的值

  • 增加客户端的终端连接数至5个,确认是否能收到报警邮件。

image-20240416220547848

  • 查看【监测】–>【仪表盘】,确认报警

image-20240416221759939

  • 查看邮件报警信息

image-20240416222028056

五、zabbix自动发现和自动注册

1、zabbix自动发现(对于 agent2 是被动模式)

  • zabbix server 主动的去发现所有的客户端,然后将客户端的信息登记在服务端上。
  • 缺点是如果定义的网段中的主机数量多,zabbix server 登记耗时较久,且压力会较大。
1.1 确保客户端上的zabbix-agent2服务状态正常
systemctl status zabbix-agent2.service
#查看客户端运行状态

image-20240424222135050

1.2 在Web页面删除原有的客户端主机

先删除掉已注册的zabbix客户端,使其重新回到未注册状态。
点击左边菜单栏【配置】中的【主机】,勾选原有的客户端主机,点击删除

image-20240424102951279

1.3 在服务端和客户端上配置hosts解析
  • 服务端
echo '192.168.10.11 zabbix_server' >> /etc/hosts
echo '192.168.10.12 zabbix_agent' >> /etc/hosts
#配置hosts解析

image-20240424222328595

  • 客户端
echo '192.168.10.11 zabbix_server' >> /etc/hosts
echo '192.168.10.12 zabbix_agent' >> /etc/hosts
#配置hosts解析

image-20240424222316455

1.4 在web页面配置自动发现
  • 点击左边菜单栏【配置】中的【自动发现】,点击【创建发现规则】

image-20240424222527687

  • 【名称】设置成 mynetwork
  • 【IP范围】设置成 192.168.10.1-254
  • 【更新间隔】设置成 30s
  • 【检查】点击【添加】,【检查类型】选择 Zabbix 客户端,【端口范围】设置成 10500,【键值】设置成 system.uname
  • 【设备唯一性准则】选择 IP地址
  • 【主机名称】选择 DNS名称
  • 【可见的名称】选择 主机名称
  • 勾选 【已启用】,点击 【更新】

image-20240424223549169

image-20240424223643834

  • 点击左边菜单栏【配置】中的【动作】,上方菜单选择 【发现动作】

image-20240424223924076

  • 勾选 【Auto discovery. Linux servers.】,点击 【启用】

image-20240424224044698

  • 点击左边菜单栏【配置】中的【主机】刷新,等待一段时间后即可刷新出自动发现的客户端主机

image-20240424230931723

  • 可在服务端查看zabbix日志
tail -f /var/log/zabbix/zabbix_server.log 
#实时查看服务端日志

image-20240424231125211

2、zabbix自动注册(对于agent2是主动模式)

  • zabbix agent2 会主动上报自己的信息,发给 zabbix server。

  • 缺点是可能因为配置文件配置错误或者网络不通等原因导致 zabbix agent2 可能找不到 zabbix server。

2.1 环境准备
  • 点击左边菜单栏【配置】中的【自动发现】,勾选发现规则,点击 禁用

image-20240424231406956

image-20240424231449469

  • 点击左边菜单栏【配置】中的【主机】,勾选原有的客户端主机,点击 删除

image-20240424231602461

2.2 修改zabbix-agent2配置文件
vim /etc/zabbix/zabbix_agent2.conf 
 HostnameItem=system.hostname
#144行,取消注释

egrep -v "^#|^$" /etc/zabbix/zabbix_agent2.conf 
#显示配置文件内容

image-20240424232024748

2.3 在web页面配置自动注册
  • 点击左边菜单栏【配置】中的【动作】,上方菜单选择 【Autoregistration actions】,点击【创建动作】

image-20240424232338619

  • 【名称】设置成 Auto registration
  • 点击 【添加】,【类型】选择 主机名称,【操作者】选择 包含,【值】设置成zabbix_agent,完成配置后,点击添加,点击上方菜单栏【操作】

image-20240424232906716

  • 点击【添加】,【操作类型】选择 添加主机,点击 【add】

image-20240424233246026

  • 再点击【添加】,【操作类型】选择 添加到主机群组,【主机群组】选择 Linux servers,点击 【add】

image-20240424233646168

  • 再点击【添加】,【操作类型】选择与模板关联,【模板】搜索 Linux,选择 Template OS Linux by Zabbix agent,点击 【add】

image-20240424234030820

  • 点击下方的【添加】

image-20240424234053416

image-20240424234314950

  • 点击左边菜单栏【配置】中的【主机】刷新,等待一段时间后即可刷新出自动发现的客户端主机

image-20240424234442133

  • 在服务端查看 zabbix 日志
tail -f /var/log/zabbix/zabbix_server.log 
#实时查看服务端日志

image-20240424234619018

五、部署zabbix代理服务器

1、分布式监控的作用

● 分担 server 的集中式压力
● 解决多机房之间的网络延时问题

2、数据传输流程

agent --> proxy --> server

3、服务器配置

服务器配置ip地址主机名主要软件
zabbix-server内存至少2G,推荐4G192.168.10.11zabbix_serverzabbix-server-mysql、zabbix-agent
zabbix-agent-192.168.10.12zabbix_agentzabbix-agent2
zabbix-proxy-192.168.10.13zabbix_proxyzabbix-proxy

4、服务器环境

hostnamectl set-hostname zabbix_proxy
su
#修改主机名

systemctl disable --now firewalld
setenforce 0
#关闭防火墙和核心防护

image-20240425170938733

5、设置zabbix下载源,安装zabbix-proxy

rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
#下载

sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
#修改为阿里源

yum install -y zabbix-proxy-mysql zabbix-get
#安装

image-20240425171649901

6、安装zabbix所需的数据库

yum install -y mariadb-server mariadb
#安装zabbix最需要的数据库

systemctl enable --now mariadb.service
#开机自启并立即启动

image-20240425172102802

7、初始化数据库

#初始化数据库,并设置密码
mysql_secure_installation
Enter current password for root (enter for none): 
#使用root的当前密码登录,回车
Set root password? [Y/n] y
#是否设置root密码,y
New password: 
#设置密码(如:abc123)
Re-enter new password: 
#再次输入密码
Remove anonymous users? [Y/n] y
#移除匿名用户,y
Disallow root login remotely? [Y/n] y
#禁止root远程登录,y
Remove test database and access to it? [Y/n] y
#移除test数据库,y
Reload privilege tables now? [Y/n] y
#重新加载权限表,y

image-20240425172445952

image-20240425172710080

8、添加数据库用户,以及zabbix所需的数据库信息

mysql -u root -p
#登录数据库

create database zabbix_proxy character set utf8 collate utf8_bin;
#新建数据库

grant all on zabbix_proxy.* to 'zabbix'@'%' identified by 'zabbix';
#添加权限

flush privileges;
#刷新

show databases;
#查看数据库

use zabbix_proxy;
#切换到数据库

show tables;
#查看表信息

image-20240425174855728

image-20240425175020616

9、导入数据库信息

rpm -ql zabbix-proxy-mysql 
#查询 sql 文件的位置

zcat /usr/share/doc/zabbix-proxy-mysql-5.0.16/schema.sql.gz | mysql -uroot -pabc123
zabbix_proxy
#导入数据库信息

mysql -u root -p
#登录数据库

use zabbix_proxy;
#切换数据库

show tables;
#查看表信息

image-20240425175344655

image-20240425175422481

10、修改zabbix-proxy配置文件

#修改配置文件
vim /etc/zabbix/zabbix_proxy.conf 
Server=192.168.10.11
#30行,指定zabbix服务端的IP地址:setnu
Hostname=zabbix_proxy
#49行,指定当前zabbix代理服务器的主机名
DBPassword=zabbix
#196行,取消注释,指定当前数据库zabbix用户的密码

image-20240425180005816

11、启动zabbix-proxy

systemctl enable --now zabbix-proxy.service 
#开机自启并立即启动zabbix-proxy

image-20240425180124966

12、在所有主机上配置hosts解析

  • zabbix_server
echo '192.168.10.13 zabbix_proxy' >> /etc/hosts

image-20240425180441357

  • zabbix_agent
echo '192.168.10.13 zabbix_proxy' >> /etc/hosts

image-20240425180407136

  • zabbix_proxy
echo '192.168.10.11 zabbix_server' >> /etc/hosts
echo '192.168.10.12 zabbix_agent' >> /etc/hosts
echo '192.168.10.13 zabbix_proxy' >> /etc/hosts

image-20240425180301191

13、在web页面配置代理

  • 点击左边菜单栏【配置】中的【动作】,勾选自动注册规则,点击 禁用

image-20240425180704900

  • 点击左边菜单栏【配置】中的【主机】,勾选原有的客户端主机,点击 删除

image-20240425180905963

image-20240425180927386

  • 点击左边菜单栏【管理】中的【agent代理程序】,点击【创建代理】

image-20240425181021113

  • 【agent代理程序名称】设置为 zabbix-proxy
  • 【系统代理程序模式】选择 主动式
  • 【代理地址】设置为 192.168.10.13
  • 点击 【添加】

image-20240425181329249

image-20240425181346653

14、配置agent使用proxy

14.1 在客户端修改agent2配置文件
  • 客户端(192.168.10.12)
#修改配置文件
vim /etc/zabbix/zabbix_agent2.conf 
Server=192.168.10.13
#80行,指定zabbix代理服务器的IP地址
ServerActive=192.168.10.13
#120行,指定zabbix代理服务器的IP地址

image-20240425181715245

14.2 在web页面配置
  • 点击左边菜单栏【配置】中的【主机】,点击【创建主机】

image-20240425181821206

  • 【主机名称】设置成 zabbix-agent

  • 【可见的名称】设置成 zabbix-agent-192.168.10.12

  • 【群组】选择 Linux servers

  • 【Interfaces】的【IP地址】设置成 192.168.10.12

  • 【由agent代理程序监测】选择 zabbix-proxy

  • 再点击上方菜单栏【模板】

image-20240425182815860

  • 【链接新模板】搜索 Linux ,选择 Template OS Linux by Zabbix agent
  • 点击 【添加】

image-20240425182602807

image-20240425220141070

14.3 在各服务器上重启服务
  • 重启顺序:server–>proxy–>client

  • 服务端端(192.168.10.11)

systemctl restart zabbix-server.service 
#重启服务

image-20240425183015800

  • 代理服务器(192.168.10.13)
systemctl restart zabbix-proxy.service 
#重启服务

image-20240425183457510

  • 客户端(192.168.10.12)
systemctl restart zabbix-agent2.service 
#重启服务

image-20240425183721592

  • 点击左边菜单栏【配置】中的【主机】刷新,查看客户端主机监控状态正常

image-20240425220445430

  • 在服务端查看日志(192.168.10.11)
tail -f /var/log/zabbix/zabbix_server.log
#实时查看日志
······

 47202:20211005:043709.962 sending configuration data to proxy "zabbix_proxy" at "192.168.122.12", datalen 14053, bytes 3095 with compression ratio 4.5

六、设置zabbix-snmp(简单网络管理协议)监控

1、服务端安装snmp监控程序

yum install -y net-snmp net-snmp-utils
#安装snmp监控程序

image-20240425221210636

2、修改snmp的配置文件,并启动服务

#修改配置文件
vim /etc/snmp/snmpd.conf
view    systemview    included   .1
#57行,添加上面配置

systemctl start snmpd
#开启

image-20240425221712765

3、使用snmp命令测试

snmpwalk -v 2c -c public 127.0.0.1 sysname
#测试

–v 1|2c|3:指定SNMP协议版本
–c:指定共同体字符串
sysname:为 snmp 的 key

image-20240425221851465

4、在web页面配置snmp方式监控

  • 点击左边菜单栏【配置】中的【主机】,点击 Zabbix server

image-20240425222043785

  • 【接口】点击【添加】选择 SNMP ,端口设置成 161

image-20240425222345341

  • 点击上方菜单栏【模板】,【链接的模板】中的所有 agent 模板选择取消链接并清理

  • 再在【链接新模板】中搜索 Linux SNMP,选择 Template OS Linux SNMP

  • 点击 【更新】,等待一段时间后 Zabbix server 的可用性就变成了 SNMP 监控方式。

image-20240425222752826

image-20240425222847623

image-20240425223033093

  • 在服务端查看日志
tail -f /var/log/zabbix/zabbix_server.log 
#查看日志

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ruoyi-nbcio 基于flowable规则的多重并发网关的任意跳转

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码&#xff1a; https://gitee.com/nbacheng/ruoyi-nbcio 演示地址&#xff1a;RuoYi-Nbcio后台管理系统 http://218.75.87.38:9666/ 更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码&#xff1a; h…

认识下MapReduce

&#x1f50d; 什么是MapReduce&#xff1f; MapReduce是一种分布式计算模型&#xff0c;最初由Google提出&#xff0c;用于处理大规模数据集的并行计算。它将数据处理任务分解成独立的Map和Reduce两个阶段&#xff0c;以实现分布式计算和并行化处理。Map阶段负责将输入数据映…

自然语言处理(NLP)技术有哪些运用?

目录 一、自然语言处理&#xff08;NLP&#xff09;技术有哪些运用&#xff1f; 二、Python进行文本的情感分析 1、NLTK库: 2、TextBlob库: 三、错误排除 一、自然语言处理&#xff08;NLP&#xff09;技术有哪些运用&#xff1f; 自然语言处理&#xff08;NLP&#xff09…

DAY 3

1. #include "widget.h"Widget::Widget(QWidget *parent): QWidget(parent) {this->resize(540,415);this->setFixedSize(540,415);//窗口标题this->setWindowTitle("盗版QQ");//窗口图标this->setWindowIcon(QIcon("E:\\qq\\pictrue\\pi…

520情人节送什么礼物?五款好物分享,情侣必看!

在浪漫的520情人节&#xff0c;为心爱的人挑选一份特别的礼物是每对情侣表达爱意的重要方式。市场上琳琅满目的选择让人眼花缭乱&#xff0c;究竟什么样的礼物能触动TA的心弦&#xff1f;本篇分享将为您精选五款既实用又充满情意的好物&#xff0c;无论是甜蜜的开始还是长久的陪…

linux上go项目打包与部署

1.第一步把项目打包 1.确保本地goland的操作系统为linux go env找到GOOS如果为window就修改为Linux 修改命令为 go env -w GOOSlinux2.打包 在项目根目录下输入 go build main.go然后项目根目录下会出现一个mian的二进制文件 3.上传包 将 main 程序包放到服务的目录下&…

图像质量评价方法简介与Python实现

图像质量评价方法简介与Python实现 在图像处理和计算机视觉领域&#xff0c;评价图像质量的准确性是一项重要任务。评价图像质量的方法可以分为主观评价和客观评价两种。主观评价是通过人类观察者进行评价&#xff0c;而客观评价则是通过计算机算法来评价。本文将介绍图像质量…

PMP课程知识点很多,无法入手,该如何学习?

回顾整个学习过程&#xff0c;我花费了不少时间&#xff0c;但也学到了系统的项目管理知识&#xff0c;考试结果也让我感到满意。在学习过程中&#xff0c;我认为以下几点非常重要&#xff1a; 1、需要对课本进行整体阅读&#xff0c;以便对内容有一个整体印象&#xff1b; 2…

Git系列:git commit 被忽视的高级用法

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

增量同步笔记

2.2.2.增量同步 全量同步需要先做RDB&#xff0c;然后将RDB文件通过网络传输个slave&#xff0c;成本太高了。因此除了第一次做全量同步&#xff0c;其它大多数时候slave与master都是做增量同步。 什么是增量同步&#xff1f;就是只更新slave与master存在差异的部分数据。如图…

电脑文件x3daudio1 7.dll怎么修复?快速修复x3daudio1 7.dll的方法

你试过电脑文件x3daudio1 7.dll丢失么&#xff1f;如果你有遇到这种情况&#xff0c;那么可能你的某些程序就会启动不了&#xff0c;毕竟这个文件是用来处理音频功能的&#xff0c;那么我们要怎么去修复&#xff1f;下面我们一起来详细的了解电脑文件x3daudio1 7.dll这个文件吧…

(三)小程序样式和组件

视频链接&#xff1a;尚硅谷2024最新版微信小程序 文章目录 小程序的样式和组件介绍样式-尺寸单位 rpx样式-全局样式和局部样式组件-组件案例演示组件案例-轮播图区域绘制组件案例-轮播图图片添加组件案例-绘制公司信息区域组件案例-商品导航区域组件案例-跳转到商品列表组件案…

【DPU系列之】如何通过带外口登录到DPU上的ARM服务器?(Bluefield2举例)

文章目录 1. 背景说明2. 详细操作步骤2.1 目标拓扑结构2.2 连接DPU带外口网线&#xff0c;并获取IP地址2.3 ssh登录到DPU 3. 进一步看看系统的一些信息3.1 CPU信息&#xff1a;8核A723.2 内存信息 16GB3.3 查看ibdev设备 3.4 使用小工具pcie2netdev查看信息3.5 查看PCIe设备信息…

Vue-路由介绍

目录 一、思考引入 二、路由介绍 一、思考引入 单页面应用程序&#xff0c;之所以开发效率高&#xff0c;性能高&#xff0c;用户体验好&#xff0c;是因为页面按需更新。 而如果要按需更新&#xff0c;首先需要明确&#xff1a;访问路径和组件的对应关系。该关系通过路由来…

Python爬虫获取豆瓣电影Top100

大家好&#xff0c;我是秋意零。 今天分析一篇&#xff0c;Python爬虫获取豆瓣电影Top100。 在此之前&#xff0c;我没有学习过爬虫&#xff0c;只有一丢丢的Python基础。下面效果的实现源码几乎没经过我&#xff0c;而是AI百老师。我主要负责了对应的调试以及根据我想要的功…

敏感信息提取插件-CaA(三)

0x01 简介 CaA是一个基于BurpSuite Java插件API开发的流量收集和分析插件。它的主要作用就是收集HTTP协议报文中的参数、路径、文件、参数值等信息&#xff0c;并统计出现的频次&#xff0c;为使用者积累真正具有实战意义的Fuzzing字典。除此之外&#xff0c;CaA还提供了独立的…

Python 框架安全:Django SQL注入漏洞测试.(CVE-2021-35042)

什么是 Django 框架 Django 是一个用 Python 编写的 Web 应用程序框架。它提供了许多工具和库&#xff0c;使得开发 Web 应用程序变得更加容易和高效。Django 遵循了“MTV”&#xff08;模型-模板-视图&#xff09;的设计模式&#xff0c;将应用程序的不同组件分离开来&#x…

Day2 | Java基础 | 2 数据类型

Day1 | Java基础 | 2 数据类型 基础版staticstatic的用法static修饰内部类static修饰方法static修饰变量static修饰代码块 深入分析static小结 问题回答版参数传递形参和实参的区别是什么&#xff1f;Java是值传递还是引用传递&#xff1f;值传递和引用传递的区别是什么&#x…

Python-VBA函数之旅-reversed函数

目录 一、reversed函数的常见应用场景 二、reversed函数使用注意事项 三、如何用好reversed函数&#xff1f; 1、reversed函数&#xff1a; 1-1、Python&#xff1a; 1-2、VBA&#xff1a; 2、推荐阅读&#xff1a; 个人主页&#xff1a; https://blog.csdn.net/ygb_10…

Infuse for Mac激活版:高清影音播放软件

对于热爱影音娱乐的Mac用户来说&#xff0c;Infuse for Mac是一个不容错过的选择。它以其简洁的操作界面和强大的播放功能&#xff0c;为用户带来了全新的影音播放体验。 Infuse for Mac支持广泛的音视频格式&#xff0c;无需额外转换&#xff0c;即可轻松播放您喜爱的影片。无…