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

news2024/12/23 15:06:23

文章目录

    • 一、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 
#查看日志

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

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

相关文章

Netty简单聊天室的实现(详细注释)

目录 说明交互逻辑ClientServer 代码实现运行 说明 Netty 的入门练习&#xff0c;使用 Netty 模拟多人聊天室的功能&#xff0c;不考虑高并发&#xff0c;只实现基础聊天功能和提示上下线。 交互逻辑 Client 连接服务端成功后&#xff0c;打印本客户端信息Ip:Port读取用户客…

链表的经典面试题(数据结构详解)+顺序表和链表之间区别+计算机存储体系

前言 首先这里已经正式步入数据结构的知识&#xff0c;之前我们已经讲解了链表的使用&#xff0c;接下来我们需要的就是大量的练习&#xff0c;熟练掌握数据结构。下面的题型我们选择的都是链表的经典题型&#xff0c;面试题型&#xff0c;包含快慢指针&#xff0c;数形结合&am…

Github的使用教程(下载项目、寻找开源项目和上传项目)

根据『教程』一看就懂&#xff01;Github基础教程_哔哩哔哩_bilibili 整理。 1.项目下载 1&#xff09;直接登录到源码链接页或者通过如下图的搜索 通过编程语言对搜索结果进一步筛选。 如何去找开源项目&#xff1a;(Github 新手够用指南 | 全程演示&个人找项目技巧放…

# 从浅入深 学习 SpringCloud 微服务架构(十二)网关限流算法和 SCG 网关 filter 限流。

从浅入深 学习 SpringCloud 微服务架构&#xff08;十二&#xff09;网关限流算法和 SCG 网关 filter 限流。 一、网关限流算法&#xff1a; 1、网关限流算法&#xff1a;常见的限流算法 网关限流算法&#xff1a;计数器算法网关限流算法&#xff1a;漏桶算法网关限流算法&am…

QT ERROR: Unknown module(s) in QT: xlsx怎么办

现象描述 QT编译c代码的时候&#xff0c;报这种QT ERROR: Unknown module(s) in QT: xlsx&#xff0c;应该如何解决&#xff1f; 这里&#xff0c;我简单记录一下自己的解决问题过程。有可能&#xff0c;对遇到同样的问题的你&#xff0c;也有所帮助 第一步 检查perl是否安装…

墨刀原型工具-小白入门篇

1.引言 作为一个小白&#xff0c;要怎么在短时间内快速学会原型设计&#xff1f; “时间紧&#xff0c;任务重”&#xff0c;如何在短时间内理解、掌握一个原型设计工具的使用&#xff1f;据同事们的推荐&#xff0c;选择了入手“墨刀”这个软件&#xff01; 2.软件介绍 墨…

Colab/PyTorch - 001 PyTorch Basics

Colab/PyTorch - 001 PyTorch Basics 1. 源由2. PyTorch库概览3. 处理过程2.1 数据加载与处理2.2 构建神经网络2.3 模型推断2.4 兼容性 3. 张量介绍3.1 构建张量3.2 访问张量元素3.3 张量元素类型3.4 张量转换&#xff08;NumPy Array&#xff09;3.5 张量运算3.6 CPU v/s GPU …

【测试报告】星光日册

⭐ 作者&#xff1a;Jwenen &#x1f331; 作者主页&#xff1a;Jwenen的个人主页 &#x1f496; 持续更文&#xff0c;关注博主少走弯路&#xff0c;谢谢大家支持 &#x1f496; 测试报告 1. 项目介绍2. 测试用例框架3. 自动化测试源码 1. 项目介绍 “星光日册”项目实现了用…

电脑如何改变ip地址到外地

在现今这个网络无处不在的时代&#xff0c;互联网已成为我们日常生活和工作的关键要素。有时&#xff0c;为了追求特定的需求&#xff0c;我们可能需要将电脑的IP地址更改为其他地区的。如果你正身处本地&#xff0c;却对如何为电脑设置外地IP地址感到困惑&#xff0c;那么本文…

【YOLO】目标检测 YOLO框架之train.py参数含义及配置总结手册(全)

1.一直以来想写下基于YOLO开源框架的系列文章&#xff0c;该框架也是日常项目开发中常用的一款工具&#xff0c;最近刚好挤时间梳理、总结下这块儿的知识体系。 2.熟悉、梳理、总结下YOLO目标检测相关知识体系&#xff0c;之前实战配置时总是临时性检索些注释含义&#xff0c;但…

【算法-程序的灵魂#谭浩强配套】(适合专升本、考研)

无偿分享学习资料&#xff0c;需要的小伙伴评论区或私信dd。。。 无偿分享学习资料&#xff0c;需要的小伙伴评论区或私信dd。。。 无偿分享学习资料&#xff0c;需要的小伙伴评论区或私信dd。。。 完整资料如下&#xff1a; 1.一个程序主要包括以下两方面信息&#xff1a;程…

Golang | Leetcode Golang题解之第75题颜色分类

题目&#xff1a; 题解&#xff1a; func sortColors(nums []int) {p0, p2 : 0, len(nums)-1for i : 0; i < p2; i {for ; i < p2 && nums[i] 2; p2-- {nums[i], nums[p2] nums[p2], nums[i]}if nums[i] 0 {nums[i], nums[p0] nums[p0], nums[i]p0}} }

Pandas数据取值与选择

文章目录 第1关&#xff1a;Series数据选择第2关&#xff1a;DataFrame数据选择方法 第1关&#xff1a;Series数据选择 编程要求 本关的编程任务是补全右侧上部代码编辑区内的相应代码&#xff0c;要求实现如下功能&#xff1a; 添加一行数据&#xff0c;时间戳2019-01-29值为…

蓝牙 | 软件:Git管理高通的ChipCode项目

哈喽大家好&#xff0c;最近发现大家在高通chipcode网站上下载不了代码&#xff0c;小编一直使用git的方式获取新版本代码&#xff0c;没有遇到什么阻碍。于是小编到新主机上尝试下载代码的压缩包和git代码&#xff0c;都遇到了问题。由于压缩包是高通自己处理卡住了&#xff0…

SpringCloud微服务之Eureka、Ribbon、Nacos详解

SpringCloud微服务之Eureka、Ribbon、Nacos详解 1、认识微服务1.1、单体架构1.2、分布式架构1.3、微服务1.4、SpringCloud 2、服务拆分与远程调用2.1、服务拆分的原则2.2、服务拆分示例2.2、提供者与消费者 3、Eureka注册中心3.1、Eureka的结构和作用3.2、搭建eureka-server3.2…

如何把音乐的原声调小?调整音频大小的方法你知道吗?

调节音频声音的大小是一项常见的音频处理任务&#xff0c;无论是在家庭娱乐、工作学习还是专业音频制作中&#xff0c;都是必不可少的技能。通过调节音频声音的大小&#xff0c;我们可以更好地控制音频的质量和听感&#xff0c;以满足不同的需求和环境。首先&#xff0c;我们需…

防火墙技术基础篇:什么是包过滤技术

什么是防火墙包过滤技术 当数据在网络中传输时&#xff0c;它们被分割成小的单元&#xff0c;称为数据包。防火墙的包过滤是一种基本的网络安全技术&#xff0c;用于检查这些数据包并根据预定义的规则决定是否允许它们通过防火墙。 防火墙包过滤是一种关键的网络安全技术&am…

ENVI拓展工具资源去哪里找

ENVI拓展工具资源去哪里找&#xff1f; 文章目录 ENVI拓展工具资源去哪里找&#xff1f;前言网站&#xff08;链接见文末&#xff09;ENVI应用商店&#xff08;App Store&#xff09;ENVI官方提供第三方制作自己制作 总结参考 前言 ENVI 拓展工具是指 ENVI 软件的扩展功能或插…

【微信小程序开发】微信小程序、大前端之flex布局方式详细解析

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

力扣HOT100 - 35. 搜索插入位置

解题思路&#xff1a; 二分法模板 class Solution {public int searchInsert(int[] nums, int target) {int left 0;int right nums.length - 1;while (left < right) {int mid left ((right - left) >> 1);if (nums[mid] target)return mid;else if (nums[mid…