关于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 -lsystemctl 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 
#查看日志

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

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

相关文章

CSS伪类选择器

目录 前言&#xff1a; 链接伪类&#xff1a; 用户行为伪类&#xff1a; 元素状态伪类&#xff1a; 结构化伪类&#xff1a; 否定伪类&#xff1a; 目标伪类&#xff1a; 输入伪类&#xff1a; 前言&#xff1a; 在CSS中有一种特殊的选择器&#xff1a;伪类选择器&…

深入分析网络智能摄像头的RTSP协议安全风险

本文为转载&#xff0c;原作者&#xff1a;山石网科安全技术研究院 网络摄像头作为现代安防体系的关键组成部分&#xff0c;已经广泛应用于各类场所&#xff0c;包括交通枢纽、教育机构、企业办公区、零售商场等公共和私人领域。它们主要负责提供实时视频监控&#xff0c;以加…

自己的服务器部署了Excalidraw,你确定不试试?

Excalidraw是一款开源的虚拟手绘风格白板工具&#xff0c;专为快速创作草图、流程图、示意图等设计。它的特色在于提供了一种类似手绘的视觉效果&#xff0c;使得制作的图表看起来更加自然和非正式&#xff0c;适合创意讨论、头脑风暴以及远程协作场景。Excalidraw强调易用性和…

93、动态规划-最长回文子串

思路 首先从暴力递归开始&#xff0c;回文首尾指针相向运动肯定想等。就是回文&#xff0c;代码如下&#xff1a; public String longestPalindrome(String s) {if (s null || s.length() 0) {return "";}return longestPalindromeHelper(s, 0, s.length() - 1);…

量化教程3---miniqmt当作第三方库设置,提供源代码

qmt提供了大qmt和miniqmt&#xff0c;大qmt在平台使用&#xff0c;miniqmt提供了交易的api和数据可以本地使用&#xff0c;非常的方便&#xff0c;合适自己开发大型的策略&#xff0c;本地还可以访问其他数据&#xff0c;网络等&#xff0c;也支持服务器 以前的教程 qmt教程1…

内网安全【2】——域防火墙/入站出站规则/不出网隧道上线/组策略对象同步

-隧道技术&#xff1a;解决不出网协议上线的问题(利用出网协议进行封装出网)&#xff08;网络里面有网络防护&#xff0c;防火墙设置让你不能正常访问网络 但有些又能正常访问&#xff0c;利用不同的协议tcp udp 以及连接的方向&#xff1a;正向、反向&#xff09; -代理技术&…

uni-app 多列picker切换列显示对应内容

html部分&#xff1a; <view class"uni-list"><view class"uni-list-cell"><view class"uni-list-cell-left">选择用户</view><view class"uni-list-cell-db"><picker mode"multiSelector"…

【密评】 | 商用密码应用安全性评估从业人员考核题库(5/58)

我国金融信息系统、第二代居民身份证管理系统、国家电力信息系统、社会保障信息系统、全国中小学学籍管理系统中&#xff0c;都应用&#xff08;&#xff09;技术构建了密码保障体系。 A. 核心密码 B. 普通密码 C. 商用密码 D. 核心密码和普通密码 商用密码从业单位开展商用密…

【VUE】el-descriptions 描述列表

Descriptions 描述列表 列表形式展示多个字段。 <el-descriptions title"用户信息"><el-descriptions-item label"用户名">kooriookami</el-descriptions-item><el-descriptions-item label"手机号">18100000000</e…

学习3:scrapy请求对象、模拟登录、POST请求、管道的使用、crawlspider爬虫类

请求对象 请求对象参数 scrapy.Request(url[],callback,method"GET",headers,body,cookies,meta,dont_filterFalse)callback 表示当前的url响应交给那个函数去处理method 指定请求方式headers 接受一个字典&#xff0c;其中不包括cookiesbody 接收json字符串&#…

uniapp读取项目本地文件/json文件/txt文件

uniapp读取项目本地文件/json文件/txt文件 文件必须放在static目录下 方法&#xff1a; /*** 访问static里面的文件* param url 文件路径 必须在static目录下*/ function localFetch(url) {return new Promise((resolve, reject) > {plus.io.resolveLocalFileSystemURL(_ww…

阿里云VOD视频点播流程(2)

二、视频点播 1、入门代码 基于OSS原生SDK上传 &#xff0c;参考文档&#xff1a;https://help.aliyun.com/zh/vod/user-guide/upload-media-files-by-using-oss-sdks?spma2c4g.11186623.0.0.1f02273fj4lxNJ 视频点播面向开发者提供了丰富的上传方式&#xff0c;其中上传SDK&…

从零开始的软件测试学习之旅(八)jmeter线程组参数化及函数学习

jmeter线程组参数化及函数学习 Jmeter基础基本使用流程组件与元件 线程组线程的执行方式Jmeter组件执行顺序 常见属性设置查看结果数的作用域举例 Jmeter参数化实现方式1.用户定义参数2.用户参数3.函数4.csv数据文件设置 每日复习 Jmeter基础 基本使用流程 启动项目案例 启动…

DUX 主题 版本:8.2 WordPress主题优化版

主题下载地址&#xff1a;DUX 主题优化版.zip 支持夜间模式、快讯、专题、百度收录、人机验证、多级分类筛选&#xff0c;适用于垂直站点、科技博客、个人站&#xff0c;扁平化设计、简洁白色、超多功能配置、会员中心、直达链接、自动缩略图

添砖Java之路其三——自增自减运算符,数据转换与原码反码补码。

目录 运算符&#xff1a; 转换&#xff1a; 隐式转换&#xff1a; 小范围数据可以直接可以给大范围数据&#xff1a; 这里做了一张图范围向下兼容表​编辑 运算时&#xff0c;数据范围小的和数据范围大的&#xff0c;需要讲运算范围小的提升为运算范围大的同类&#xff0c…

全球AI新闻速递

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; 哈喽&#xff01;大家好&#xff0c;我是「奇点」&#xff0c;江湖人称 singularity。刚工作几年&#xff0c;想和大家一同进步&#x1f91d;&#x1f91d; 一位上进心十足的【Java ToB端大厂…

C/C++开发,opencv-features2d模块,SIFT等特征检测器应用

目录 一、OpenCV-features2d 模块简介 1.1 features2d 模块信息 1.2 features2d 模块应用流程 二、features2d 模块编码案例 2.1 实现逻辑 2.2 features2d 模块应用程序代码 2.3 程序编译及运行 一、OpenCV-features2d 模块简介 1.1 features2d 模块信息 features2d 是…

炒美股怎么开户?

近年来&#xff0c;随着国内投资者对境外投资需求的不断增长&#xff0c;炒美股逐渐成为许多投资者的选择。然而&#xff0c;随着监管政策的不断完善&#xff0c;传统的互联网券商开户方式已经不再适用。那么&#xff0c;对于想要入场美股市场的投资者来说&#xff0c;该如何开…

Angular中的路由

Angular中的路由 文章目录 Angular中的路由前言一、创建路由二、创建多个组件路由三、创建子路由四、创建多个组件子路由 前言 在Angular中&#xff0c;路由是用于在不同的视图和组件之间导航的机制。Angular提供了一种强大的路由机制来管理单页应用&#xff08;SPA&#xff0…

vue2项目升级到vue3经历分享4

后端重构&#xff0c;如果接口做好抽象封装&#xff0c;只需要考虑jar之间的兼容性问题&#xff0c;jdk版本不变&#xff0c;基本不用做太大的调整&#xff0c;但是前端就不一样&#xff0c;除了vue框架本身&#xff0c;css的调整&#xff0c;改起来更是让人头疼。前面写了vue2…