Zabbix监控原理 安装

news2024/11/24 9:22:55

一、监控介绍

1、监控目的

监控是需要站在公司的业务角度去考虑,而不是针对某个监控技术的使用 

对系统不间断时实监控

实际上是对系统不间断的时实监控

实时反馈系统当前状态

我们监控某个硬件、或者系统,都是需要能时实看到当前系统的状态,是正常、异常、或是故障。保证服务可靠性安全性

我们监控的目的就是要保证系统、服务、业务正常运行

保证业务持续稳定运行

如果我们的监控做的很完善,即使出现故障,能第一时间接收到故障报报警,在第一时间处理解决,从而保证业务持续性的稳定运行

2、监控方法

了解监控对象

了解CPU是如何工作的。

性能基准指标

我们要监控这个东西的什么属性?比如如CPU的使用率、负载、用户态、内核态、上下文切换。

报警阈值定义

怎么才算是故障,比如CPU的负载到底多少算高?内核态,用户态分别跑多少算高?

故障处理流程

收到了故障报警,那么我们怎么处理?

3、监控核心

发现问题

当系统发生故障报警,我们会收到故障报警的信息。

定位问题

故障邮件一般都会写某某主机故障、具体故障的内容,我们需要对报警内容进行分析,比如一台服务器连不上:我们就需要考虑是网络问题、还是负载太高导致长时间无法连接,又或者某开发触发了防火墙禁止的相关策略等等,我们就需要去分析故障具体原因。

解决问题

当然我们了解到故障的原因后,就需要通过故障解决的优先级去解决该故障。

总结问题

当我们解决完重大故障后,需要对故障原因以及防范进行总结归纳,避免以后重复出现。

二、监控工具的介绍

1、老牌监控

MRTG

  • (Muit Route Trffic Grapher)是一套可用来挥之网络流量图的软件。
  • 通perl语言编写,可跨平台使用,数据采集用SNMP协议。MRTG将手机数据通过web页面一GIF或者PNG格式挥之出图像。

Grnglia

  • 是一个跨平台的、可扩展的,高性能的分布式监控系统,如集群和网格,它基于分层涉及,使用广泛的技术,用RRDtool存储数据。具有可视化界面,适合对集群系统的自动化监控。
  • 其精心设计的数据结构和算法使得监控端到被监控端的连接开销非常低。目前已经有成千上万的集群正在使用这个监控系统,可以轻松的处理2000个节点的集群环境

cacti

  • 是一套基于PHP、MySQL、SNMP和RRDtool开发的网络流量监测图形分析工具,它通过snmpget来获取数据使用RRDtool绘图,但使用者无须了解RRDtool复杂的参数。
  • 提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结构、主机设备以及任何一张图,还可以与LDAP结合进行用户认证,同时也能自定义模板。在历史数据展示监控方面,其功能相当不错。

Nagios

  • 一个企业级监控系统,可监控服务的运行状态和网络信息等,并能监视所指定的本地或远程主机状态以及服务,同时提供异常告警通知功能等。
  • Nagios可运行在Linux和UNIX平台上。同时提供Web界面,以方便系统管理人员查看网络状态、各种系统问题、以及系统相关日志等。
  • Nagios的功能侧重于监控服务的可用性,能根据监控指标状态触发告警。
  • 目前Nagios也占领了一定的市场份额,不过Nagios并没有与时俱进,已经不能满足于多变的监控需求,架构的扩展性和使用的便捷性有待增强,其高级功能集成在商业版Nagios XI中。

smokeping

  • 主要用于监视网络性能,包括常规的ping、www服务器性能、DNS查询性能、SSH性能等。底层也是用RRDtool做支持,特点是绘制图非常漂亮,网络丢包和延迟用颜色和阴影来标示,支持将多张图叠放在一起,其作者还开发了MRTG和RRDtll等工具。
  • Smokeping的站点为:http://tobi.oetiker.cn/hp

OpenTSDB

  • 开源监控系统用Hbase存储所有时序(无须采样)的数据,来构建一个分布式、可伸缩的时间序列数据库。它支持秒级数据采集,支持永久存储,可以做容量规划,并很容易地接入到现有的告警系统里。
  • OpenTSDB可以从大规模的集群(包括集群中的网络设备、操作系统、应用程序)中获取相应的采集指标,并进行存储、索引和服务,从而使这些数据更容易让人理解,如Web化、图形化等

2、王牌监控

Zabbix

  • 是一个分布式监控系统,支持多种采集方式和采集客户端,有专用的Agent代理,也支持SNMP、IPMI、JMX、Telnet、SSH等多种协议,它将采集到的数据存放达到数据库,然后对其进行分析整理,达到条件触发报警,其灵活的扩展性和丰富的功能是其它监控系统不能比的
  • 从以上各种监控系统的对比来看,Zabbix都是具有优势的,其丰富的功能,可扩展的能力,二次开发的能力和简单易用的特点,非常容易构建自己的监控系统

open-falcon

  • 小米的监控系统
  • open-falcon的目标是做最开发、最好用的互联网企业监控产品

OWL

  • 是TalkingData公司推出的一款开源分布式监控系统OWLgithub地址

三、Zabbix监控

1、Zabbix是什么?

Zabbix是一个基于web界面的提供分布式系统监视以及网络监视功能的企业级开源解决方案。

Zabbix能监视各种网络参数,保证服务器系统的安全运营,并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。

Zabbix由两部分构成,Zabbix server与可选组件 Zabbix agent 。通过C/S模式采集数据,再通过B/S模式在web端展示和配置。

  • Zabbix server 可以通过SNMP,Zabbix agent,ping ,端口监视等方法提供对远程服务器够/网络状态的监视,数据收集等功能,它可以运行在linux平台上。
  • Zabbix agent 需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集,以及中间件的信息。

2、zabbix监控对象

zabbix支持监控各种系统平台,包括linux和windows等主流操作系统,也可以借助SNMP或者SSH协议监控路由交换设备。

zabbix如果部署在服务器上,可以监控其CPU、内存、网络等硬件参数,也可以监控具体服务或者应用程序,服务运行情况及性能。

硬件监控(zabbix IPMI interface)

通过IPMI接口进行监控,我们可以通过标准的IPMI硬件接口,监控备监控的对象的物理特征,比如电压、温度、风扇状态、电源状态等。

系统监控(zabbix agent interface)

通过专用的代理程序进行监控,与常见的master/agent模型类型,如果监控对象支持对应的agent,推荐选这种方式。

java监控(zabbix JMX interface)

通过JMX进行监控,JMX(java management extensions,即java管理扩展),监控JMX虚拟机时,使用这种方法非常不错的选择。

网络设备监控(Zabbix SNMP Interface )

通过SNMP协议与被监控对象进行通信,SNMP协议的全称为simple network management protocol,被译为简单网络管理协议,通常来说,我们无法在路由器、交换机这种硬件上安装agent,但是这些硬件都支持SNMP协议。
应用服务监控Zabbix Agent UserParameter

MySQL数据库监控:percona-monitoring-plulgins

URL监控:Zabbix Web 监控

3、Zabbix架构

3.1 server-client架构

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

3.2 server-proxy-client架构

  • 其中proxy是server、client之间沟通的一个桥梁,proxy本身没有前端,而且本身并不存放数据,只是将agentd发来的数据暂时存放,然后再交给server。
  • 该架构经常是和master-node-client架构做比较。一般适用于跨机房、跨网络的中型网络架构的监控。

3.3 master-node-client架构

  • 该架构是zabbix最负载的监控架构,使用于跨机房、跨网络设备较多的大型环境。每一个node都会同步server端。相当于也是一个server端
  • node下面可以接proxy,也可以直接接clinet。
  • node有自己的配置文件和数据库,其要做的是将配置信息和监控数据向master同步,master的故障或损不会对影响node节点的正常工作,但是会影响zabbix-server整体的完整性。

4、zabbix常用术语

主机(host)

  • 要监控的设备,可以有ip或是主机名(必须可解析)指定。

主机组(host group)

  • 主机的逻辑容器,包含主机和模板,主机通常在给用户或是用户组指派监控权限时使用。

监控项(item)

  • 一个特定指定的相关数据,比如内存的大小,CPU的使用率,甚至是服务的运行状态等,监控项数据来源于被监控对象,并且每一个监控项都由一个key值来标识。


触发器(trigger)

  • 一个表达式,用于评估监控的值是否在合理的范围,当接收的值超出触发器的规定时,就被认为是故障,如果超出后再次符合,就被认为是正常。


事件(event)

  • 触发器触发的一个特定时间,或者zabbix定义的一个自定上限注册主机的事件。


动作(action)

  • 指根据配置,zabbix对于触发器触发的特定时间进行处理的具体措施,如执行某个脚本,或是向管理员邮箱发送邮件等等


报警升级(escalation)

  • 发送警报或是执行远程命令的自定义方案。


媒介(media)

  • 发送通知(告警)的手段,比如:电话,微信,邮件,短信,企业微信,钉钉,等等


通知(notification)

  • 通过指定媒介,向用户发送的有关事件的信息
  • 远程命令
  • 指运维人员提前写好的命令,可以让被监控主机在触发事件后执行。


模板(template)

  • 用于快速被监控主机的预设条目结合,通常包括了监控项、触发器、应用等,模板可以直接连接到某个主机


应用(application)

  • 一组监控的集合


web场景(web scennario)

  • 用于检测web站点可用性的一个或多个HTTP请求

前端(frontend)

  • zabbix的web接口

5、Zabbix的工作原理

  • Zabbix agent 安装在被监控的主机上,zabbix agent负责定期收集客户端本地各项数据,并发至 Zabbix server端,zabbix server收到数据后,将数据存储到数据库中。
  • 用户基于Zabbix Web可以看到数据在前端展现图像。
  • 当Zabbix监控监控某个具体项目,该项目会设置一个触发器阈值,当被监控的指标超过触发器设定的阈值,会进行一些必要的动作,动作包括: 发送信息(邮件、微信、短信、电话,钉钉)、发送命令(shell命令、rebbot、restart、install等)
  • 当告警后,根据告警机制可以先自动处理(比如使用shell脚本启动nginx服务等),自动处理不了的,就会通知对应的运维人员进行处理。

原理总结

zbbix_server 服务端可以通过主动或被动的方式获取到zabbix_agent客户端的数据,zabbix_server拿到数据后进行分析,存放到自己的数据库中,zabbix再将数据给到web_server,然后用户通过client访问web_server的UI界面访问

6、Zabbix监控部署的常见5个程序

Zabbix监控部署在系统中,包含常见五个程序:zabbix_server、zabbix_agent、zabbix_proxy、zabbix_get、zabbix_sender等

zabbix_server

zabbix服务端守护进程,其中zabbix_agent、zabbix_get、zabbix_sender、azbbix_proxy的数据最终都交给zabbix_server。

zabbix_agent

客户端守护进程,负责收集客户端数据,例如: 收集CPU负载、内存、硬盘、中间件使用情况

zabbix_proxy

zabbix分布式代理守护进程,通常大于500台主机,需要进行分布式监控架构部署。

zabbix_get

数据接收工具,单独使用命令,通常在server或proxy端执行获取远程客户端信息的命令。

zabbix_sebder

zabbix数据发送工具,用户发送数据给server或proxy端,通常用户耗时比较长的检查

四、部署Zabbix

1、Zabbix服务端部署软件

1.1获取zabbix下载源

获取zabbix的下载源

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

1.2更换yum源

cd /etc/yum.repos.d
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' zabbix.repo
yum clean all && yum makecache

1.3 安装zabbix服务端响应软件

 yum install -y zabbix-server-mysql zabbix-agent

1.4 安装SCL

安装SCL(software Collections),便于后续安装高版本的php,默认yum安装php版本为5.4,版本过低,因为zabbix 5.0版本对php版本最低要求7.2.0版本。SCL可以使得在同一台及其上使用多个版本的软件,而又不会影响整个系统的依赖环境,软件包会安装在/opt/rh目录下。

yum install -y centos-release-scl
#安装SCL

vim /etc/yum.repos.d/zabbix.repo
[zabbix-frontend]
......
enabled=1  #开启安装源
......

yum install -y zabbix-web-mysql-scl zabbix-apache-conf-scl
#将前端环境安装达到SCL下

1.5安装部署zabbix所需要的数据库

1.5.1 安装zabbix数据库和初始化以及授权
yum install -y mariadb-server mariadb
systemctl enable --now mariadb
#安装mariadb数据库并启动

mysql_secure_installation
#初始化数据库(后=后面全部输入y),并设置密码,如:123

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

create database zabbix character set utf8 collate utf8_bin;
#创建zabbix库,使用utf8字符集编码

grant all on zabbix.* to 'zabbix'@'%' identified by 'zabbix';
#授权权限,zabbix用户可以使用密码zabbix从任意主机登录,且拥有zabbix库的所有权限

flush privileges;
#刷新授权表

1.5.2 导入数据库信息
rpm -ql zabbix-server-mysql
#查询mysql文件的位置

zcat \ 
/usr/share/doc/zabbix-server-mysql-5.0.26/create.sql.gz | \
mysql -uroot -p123 zabbix
#zcat压缩状态下查看,然后将压缩的文件导入到zabbix库中

mysql -u root -p123
use zabbix;
show tables;
#查看zabbix数据库中是否有文件导入

1.6 修改zabbix_server配置文件,修改数据库密码

vim /etc/zabbix/zabbix_server.conf
....
DBpassword=zabbix   #124行,指定zabbix数据库的密码

1.7 修改zabbix的php配置文件

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

1.8 启动zabbix相关服务

systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm

#服务包含(zabbix_server、zabbix_agent、httpd、php)

1.9 浏览器访问

浏览器访问:http://20.0.0.55/zabbix
点击下一步,设置数据库的密码 zabbix
安装完成后,默认的登录账号和密码为:Admin/zabbix
设置文件界面:点击左边菜单栏的【User settings】,【Language】选择 Chinese(zh_CN),再点击 Update 更新。

查看zabbix的最新数据

发现存在乱码

1.9.1 解决乱码问题
yum install -y wqy-microhei-fonts

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

2、部署zabbix客户端

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

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

2.1 环境准备

zabbix-server服务端

systemctl disable --now firewalld
setenforce 0
hostnamectl set-hostname zbx-agent01
su

yum -y install ntpdate
ntpdate -u ntp.aliyun.com

zabbix-agent01客户端

mv /etc/localtime{,.bak}
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
#设置时区

2.2 安装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 
#获取下载源

cd /etc/yum.repos.d
#进入源目录

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

yum clean all && yum makecache
#删除缓存和重新加载

yum install -y zabbix-agent2
#安装zabbix-agent2

修改agent2配置文件

2.3 启动zabbix-agent2,并验证联通性

2.4 在web页面添加agent主机

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

{---------------------------------
【主机名称】设置成 zbx-agent01

【可见的名称】设置成 zbx-agent01-20.0.0.56

【群组】选择 Linux server

【Interfaces】的【IP地址】设置成 20.0.0.56

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

【Link new tamplates】搜索 Linux ,选择 Template OS Linux by Zabbix agent

点击 【添加】

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

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

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

相关文章

创作者焦点:MetaLab 和 Hangar Games(第一章)

一起来看看「Dr. Bomkus 的试炼」幕后的创作故事吧~ 「创作者焦点」系列报道将带来六篇关于「Dr. Bomkus 的试炼」游戏的创作过程,以及其独特的游戏玩法和功能。请关注我们,查看更多系列内容的发布。 The Dr. Bomkus MetaLab Dr. Bomkus Meta…

基于Springboot+MYSQL+Maven实现的宠物医院管理系统(源码+数据库+运行指导文档+项目运行指导视频)

一、项目简介 本项目是一套基于springboot框架实现的宠物医院管理系统 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试,eclipse或者idea 确保可以运行! 该系统功能完善、界面美观、操作简单…

前端基础之BOM和DOM

目录 一、前戏 window对象 window的子对象 navigator对象(了解即可) screen对象(了解即可) history对象(了解即可) location对象 弹出框 计时相关 二、DOM HTML DOM 树 查找标签 直接查找 间…

使用Qt Installer Framework将自己的程序打包成安装包程序

使用Qt Installer Framework将自己的程序打包成安装包程序 制作安装包程序就是将自己的程序打包成一个可执行的exe,双击之后进行安装。 1. 在制作安装包程序之前需要安装qt官方提供的安装包制作工具Qt Installer Framework 去qt官方网址,下载对应的 Q…

gorm的自动化工具gen

gorm的自动化工具gen 官方 https://gorm.io/zh_CN/gen/假设数据库结构如 这里使用gen-tool 安装 go install gorm.io/gen/tools/gentoollatest用法 gentool -hUsage of gentool:-c string配置文件名、默认值 “”、命令行选项的优先级高于配置文件。 -db string指定Driver…

大语言模型对齐技术 最新论文及源码合集(外部对齐、内部对齐、可解释性)

大语言模型对齐(Large Language Model Alignment)是利用大规模预训练语言模型来理解它们内部的语义表示和计算过程的研究领域。主要目的是避免大语言模型可见的或可预见的风险,比如固有存在的幻觉问题、生成不符合人类期望的文本、容易被用来执行恶意行为等。 从必…

【机器学习】四、计算学习理论

1 基础知识 计算学习理论(computational learning theory):关于通过“计算”来进行“学习”的理论,即关于机器学习的理论基础,其目的是分析学习任务的困难本质,为学习算法体统理论保证,并根据结…

2023年11月2日历史上的今天大事件早读

1082年11月02日宋徽宗出生 1861年11月02日辛酉政变 1910年11月02日中国社会学家和人类学家费孝通诞生 1910年11月02日畜生态学科的创始人汤逸人诞生 1917年11月02日《贝尔福宣言》和犹太复国主义 1917年11月02日美日订立“兰辛—石井协定”损害中国利益 1937年11月02日忻…

数据结构之二叉树(图解➕源代码)

前言 哈喽,大家好,这里是面包园的知识分享,在上一篇文章中我们学习了树的相关概念,了解了树形结构,那今天让我们进一步学习树的特殊结构——二叉树。 一、什么是二叉树? 二叉树的概念:根节点…

优维产品最佳实践第13期:如何避免拨测机自身网络问题?

受限于拨测节点自身的环境,单一节点的拨测结果可能并不能反映出监控实例的真实运行状态 本期EasyOps产品使用最佳实践,我们将为您揭晓: 如何基于多点决策配置拨测监控,以避免拨测机自身网络问题而误告警? 如何对指标…

GDS-enabled BeeGFS 人工智能并行存储解决方案

项目背景 HPC 和 AI 的融合正在颠覆一切。在这样的新时代,企业需要全新的存储解决方案,才能以高效且经济的方式从容应对来势汹汹的数据洪流。独立分析公司 Intersect360 开展的一项研究发现,多达 66% 的 HPC 用户目前已在执行机器学习计划。…

写一个方法实现数组元素每两个元素加一个换行,并进行文件导出

文章目录 需求分析 需求 源数据&#xff1a; 输出的数据如下&#xff1a; 分析 我们可以手写一个方法&#xff0c;方法如下&#xff1a; transformArray(arr) {var result ;for (var i 0; i < arr.length; i 2) {result arr[i] , arr[i 1];if (i 2 < arr.le…

【Kubernetes】初识k8s--扫盲阶段

文章目录 1、k8s概述2、为什么要有k8s2.1 回顾以往的应用部署方式2.2 容器具有的优势 3、k8s能带来什么 1、k8s概述 kubernetes是一个可移植、可扩展的开源平台&#xff0c;用于管理 容器化 的工作负载和服务&#xff0c;可促进申明式配置和自动化。kubernetes拥有一个庞大且快…

AutoSAR的UB位

AutoSAR的UB位 作用 在AUTOSAR&#xff08;汽车开放系统架构&#xff09;中&#xff0c;UB位&#xff08;Update Bit&#xff09;起着非常关键的作用。它主要用于指示某个信号或信号组的数据是否已被更新。以下是UB位的几个主要功能和应用情景&#xff1a; 信号更新指示&…

怎样去除视频中的杂音,保留人声部分?

怎样去除视频中的杂音&#xff0c;保留人声部分&#xff1f;这个简单嘛&#xff01;两种办法可以搞定&#xff1a;一是进行音频降噪&#xff0c;把无用的杂音消除掉&#xff1b;二是提取人声&#xff0c;将要保留的人声片段提取出来。 这就将两种实用的办公都分享出来&#xf…

DA变换高精度PWM脉宽调制信号转模拟信号隔离变送器100Hz/5KHz/10KHz转4-20mA/0-10V/0-20mA

主要特性: >>精度等级&#xff1a;0.1级。产品出厂前已检验校正&#xff0c;用户可以直接使用 >>辅助电源&#xff1a;8-32V 宽范围供电 >>PWM脉宽调制信号输入: 1Hz~10KHz >>输出标准信号&#xff1a;0-5V/0-10V/1-5V,0-10mA/0-20mA/4-20mA等&…

electron 开发轻量级本地数据存储桌面端应用(简洁版)

背景 接了一个项目需要开发一个功能简单的桌面端应用&#xff0c;主要包含的功能有 内置数据&#xff0c;本地化操作数据&#xff0c;对数据进行CRUD操作。 效果展示如下&#xff1a; 技术选型&#xff1a; 开发桌面端有如下几种技术方案&#xff1a;** Electron&#xff1…

【UE5 C++】C++代码调用蓝图方法或事件

此方法为&#xff1a;先创建C类MyTest&#xff0c;再以MyTest类为父类创建蓝图&#xff1b;在其他类中&#xff0c;可以通过MyTest调用蓝图对应方法。 1.创建c代码 通过UE创建继承自Actor的C代码 2.添加可以在UE中重写方法的说明 需使用声明&#xff1a;UFUNCTION(Bluepr…

【JavaWeb篇】HTTP请求构造方式

✅作者简介&#xff1a;大家好&#xff0c;我是小杨 &#x1f4c3;个人主页&#xff1a;「小杨」的csdn博客 &#x1f433;希望大家多多支持&#x1f970;一起进步呀&#xff01; HTTP请求构造方式 1&#xff0c;通过form表单构造 form 表单是HTML中的一个常用标签&#xff0…

【深度学习】pytorch——线性回归

笔记为自我总结整理的学习笔记&#xff0c;若有错误欢迎指出哟~ 深度学习专栏链接&#xff1a; http://t.csdnimg.cn/dscW7 pytorch——线性回归 线性回归简介公式说明完整代码代码解释 线性回归简介 线性回归是一种用于建立特征和目标变量之间线性关系的统计学习方法。它假设…