Zabbix监控服务详解+实战

article/2025/11/8 1:40:13

目录

一、监控体系概述

1. 为什么需要监控

2. 监控目标与流程

(1)监控的目标

(2) 监控的流程

3. 监控的对象

(1)CPU监控

(2)磁盘监控

(3)内存监控

(4)网络监控

(5) 系统重要进程监控

(6)应用服务监控

(7)硬件设备监控

(8)安全监控

 (9)API接口监控

(10)业务监控 

二、Zabbix 简介

1. 概述

2. Zabbix 的功能

(1)数据收集

(2)数据存储

(3)灵活的阈值定义

(4)可配置的报警

(5)实时的而可视化图形展示

3. Zabbix 的工作原理

三、Zabbix 服务的部署与配置

1. 安装基础环境

(1)安装MySQL

(2)安装 Apache

(3)安装 PHP

2. 部署 Zabbix

(1)安装 Zabbix 存储库

(2)安装Zabbix服务器,前端,代理

(3)安装 Zabbix 前端

(4)编辑文件 /etc/yum.repos.d/zabbix.repo

(5)安装 Zabbix 前端包

(6)初始化数据库

(7)导入sql数据

(8)导入数据库架构后禁用log_bin_trust_function_creators选项 

(9)为 Zabbix 服务器配置数据库

(10)为 Zabbix 前端配置 PHP

 (11)启动Zabbix服务器和代理进程

(12)Web端安装

 四、Zabbix相关组件与概念

1. Zibbx的组件

(1)Zabbix Server

(2)Database Storage

(3)Web interface

(4)Agent

(5)Proxy

2. Zabbix 重要概念简介

(1)主机(host)

(2)主机组(host group)

(3)监控项(item)

(4)触发器(trigger)

(5)事件(event)

(6)动作(action)

(7)媒介(media)

(8)模板(template)

(9)通知(notification)

(10)报警升级(escalation)

(11)远程命令(remote command)

五、Zabbix监控实战操作

1. Agent端的部署与配置

(1)部署Agent端

(2)修改配置文件:

(3)启动 Agent 服务:

2. Web 端添加被监控主机

(1)创建主机

(2)填写主机信息

(3)选择模板 

(4)查看主机列表

3. 绘制图形展示

(1)创建聚合图形

(2)解决乱码问题

4. 创建自定义监控内容(key)

(1)命令行创建key

(2)Web端创建

(3)配置邮件报警通知

5. 自动发现(agent属于被动模式)

6. 自动注册(agent属于主动模式)


一、监控体系概述

1. 为什么需要监控

        服务器系统安装完成,部署完所需的服务之后,随着数据量、访问量的增大,随之带来的就是故障问题,为了快速有效、及时的发现问题,并第一时间得到报警信息,就引入了监控服务。对主机的监控、对系统的监控、对服务的监控,都是生产环境的日常需求。

2. 监控目标与流程

(1)监控的目标

  • 对系统、服务或平台实行不间断监控
  • 实时反映系统、服务或平台的运行状态信息
  • 提前预知可能存在的故障风险
  • 实现故障预警报警功能

(2) 监控的流程

  • 配置、收集监控数据
  • 存储监控数据
  • 分析、展示监控数据
  • 阈值报警(短信报警、微信报警、邮件报警等)

3. 监控的对象

(1)CPU监控

  • 监控CPU整体使用情况:用户态与内核态、空闲率等

  • 监控单个CPU的使用情况         

(2)磁盘监控

  • 监控磁盘容量:分区使用量(已用和可用)

  • 监控磁盘IO

  • 监控磁盘的数据读写 

(3)内存监控

        监控内存使用量(可用、已用)

(4)网络监控

  • 监控内网卡出入流量

  • 监控外网卡出入流量

  • 监控TCP状态 

(5) 系统重要进程监控

  • 监控系统进程状态

  • 监控系统服务进程开销

(6)应用服务监控

  • 监控应用的进程状态

  • 监控应用的端口状态

  • 监控一些个性化的需求 

(7)硬件设备监控

  • 监控网络设备:路由器、交换机、网关设备等

  • 监控服务器状态 

(8)安全监控

        安全监控在生产环境中用的比较多,一般会使用第三方监控产品,主要监控内容:

  • 恶意攻击
  • 程序漏洞
  • 异常流量 

 (9)API接口监控

        在一些复杂、大型的系统中,API的调用非常频繁,因此对API接口的监控非常重要,重点是监控其GET、POST、PUT等请求的相关指标,主要监控内容如下:

  • API接口的可用性
  • API接口的正确率
  • API接口的响应时间

(10)业务监控 

        对于一些电商平台,业务监控是重中之重。

二、Zabbix 简介

1. 概述

        Zabbix由Alexei Vladishev 创建,目前由Zabbix SIA开发与维护。

        Zabbix的功能非常强大,能保证服务器系统安全、稳定的运行。Zabbix提供灵活的报警机制,可以使系统管理员能够及时得知故障,并快速定位。Zabbix还可以提供友好的数据可视化功能,使你关心的数据和指标一目了然。

        Zabbix 由两部分组成:Zabbix Server 与可选组件 Zabbix Agent。

  • Zabbix Server:通过收集Agent传递过来的数据,写入数据库(MySQL等),最终通过PHP+Apache在web页面进行展示。
  • Zabbix Agent:通过被监控主机安装Agent的方式来采集数据(需要监控的数据)。

2. Zabbix 的功能

(1)数据收集

  • 具有可用性和性能检查功能

  • 支持SNMP(捕获和轮询) 

(2)数据存储

  • 可以存储历史数据

  • 可以存储配置数据

  • 可以存储监控数据 

(3)灵活的阈值定义

        用户可以非常灵活的定义监控阈值,Zabbix 也成为触发器。

(4)可配置的报警

        如短信、微信、邮件报警。 

(5)实时的而可视化图形展示

  • 使用自带的图形工具,实时展示被监控的项目

  • 具有多种Web可视化功能选择

3. Zabbix 的工作原理

        Zabbix 监控系统运行的大概流程如下。

        Zabbix Agent 安装在被监控的主机上,负责收集需要的各项数据,并将数据发送到Zabbix Server端,Zabbix Server 将传递过来的数据存储到数据库中,Zabbix Web端根据数据来展示和绘图。

三、Zabbix 服务的部署与配置

1. 安装基础环境

(1)安装MySQL

将安装包放在 /download 目录下:

#解压
[root@zy-host download]# tar -zxvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz -C /usr/local/#改名
[root@zy-host local]# mv mysql-5.7.26-linux-glibc2.12-x86_64 mysql#创建用户组
[root@zy-host local]# groupadd mysql
[root@zy-host local]# useradd -g mysql mysql#创建data目录
[root@zy-host msyql]# mkdir data#修改用户组权限
[root@zy-host local]#  chown -R mysql:mysql ./#创建my.cnf文件
[root@zy-host local]# touch /etc/my.cnf#写入内容
[root@zy-host local]# vim /etc/my.cnf
[root@zy-host local]# cat /etc/my.cnf 
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock
[mysqld]
skip-name-resolve
#设置3306端⼝
port = 3306
socket=/var/lib/mysql/mysql.sock
# 设置mysql的安装⽬录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放⽬录
datadir=/usr/local/mysql/data
# 允许最⼤连接数
max_connections=200
# 服务端使⽤的字符集默认为8⽐特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使⽤的默认存储引擎
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=16M#创建目录 修改权限
[root@zy-host local]# mkdir /var/lib/mysql
[root@zy-host local]# chmod 777 /var/lib/mysql#正式安装
[root@zy-host mysql]# cd /usr/local/mysql/
[root@zy-host mysql]# ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --
2023-01-10T05:14:37.706178Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2023-01-10T05:14:38.817683Z 0 [Warning] InnoDB: New log files created, LSN=45790
2023-01-10T05:14:38.940767Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2023-01-10T05:14:39.013507Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: ae825853-90a5-11ed-aee7-00163e0a8efb.
2023-01-10T05:14:39.026483Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2023-01-10T05:14:39.026961Z 1 [Note] A temporary password is generated for root@localhost: aq4BxwQUat/C#复制启动脚本到资源目录
[root@zy-host mysql]# cp ./support-files/mysql.server /etc/init.d/mysqld#修改mysqld内容 修改其 basedir 和 datadir 为实际对应⽬录
[root@zy-host mysql]# vim /etc/init.d/mysqld
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data#⾸先增加 mysqld 服务控制脚本执⾏权限
[root@zy-host mysql]# chmod +x /etc/init.d/mysqld#同时将 mysqld 服务加⼊到系统服务
[root@zy-host mysql]# chkconfig --add mysqld#最后检查 mysqld 服务是否已经⽣效
[root@zy-host mysql]# chkconfig --list mysqldNote: This output shows SysV services only and does not include nativesystemd services. SysV configuration data might be overridden by nativesystemd configuration.If you want to list systemd services use 'systemctl list-unit-files'.To see services enabled on particular target use'systemctl list-dependencies [target]'.mysqld         	0:off	1:off	2:on	3:on	4:on	5:on	6:off#启动服务  如果启动不起来 检查是否有已经启动的
[root@zy-host mysql]# service mysqld start
Starting MySQL. SUCCESS! #加入环境变量 (最后一行)
[root@zy-host mysql]# vim ~/.bash_profile 
[root@zy-host mysql]# cat ~/.bash_profile 
# .bash_profile# Get the aliases and functions
if [ -f ~/.bashrc ]; then. ~/.bashrc
fi# User specific environment and startup programsPATH=$PATH:$HOME/binexport PATH
export PATH=$PATH:/usr/local/mysql/bin#刷新文件
[root@zy-host mysql]# source ~/.bash_profile#登录MySQL
[root@zy-host mysql]# mysql -u root -p#修改密码
mysql> alter user user() identified by "123456";
mysql> flush privileges;[root@zy-host ~]# mysql -V
mysql  Ver 14.14 Distrib 5.7.26, for linux-glibc2.12 (x86_64) using  EditLine wrapper

(2)安装 Apache

[root@zy-host ~]# yum install httpd -y

(3)安装 PHP

[root@zy-host ~]# yum install php -y

2. 部署 Zabbix

官方文档:下载并安装 Zabbix 5.0 LTS for CentOS 7、MySQL、Apache

(1)安装 Zabbix 存储库

[root@zy-host ~]# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
[root@zy-host ~]# yum clean all

(2)安装Zabbix服务器,前端,代理

[root@zy-host ~]# yum install zabbix-server-mysql zabbix-agent

(3)安装 Zabbix 前端

[root@zy-host ~]# yum install centos-release-scl

(4)编辑文件 /etc/yum.repos.d/zabbix.repo

[root@zy-host ~]# vim /etc/yum.repos.d/zabbix.repo

(5)安装 Zabbix 前端包

[root@zy-host ~]# yum install zabbix-web-mysql-scl zabbix-apache-conf-scl

(6)初始化数据库

#建库,创建用户并分配权限,刷新权限
# mysql -uroot -p
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> create user zabbix@localhost identified by 'Zabbix';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> set global log_bin_trust_function_creators = 1;
mysql> quit;

(7)导入sql数据

[root@zy-host ~]# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

 可以看到表已经导入进去: 

(8)导入数据库架构后禁用log_bin_trust_function_creators选项 

# mysql -uroot -p
mysql> set global log_bin_trust_function_creators = 0;
mysql> quit;

(9)为 Zabbix 服务器配置数据库

编辑文件 /etc/zabbix/zabbix_server.conf,在最后一行加入:

DBPassword=password

(10)为 Zabbix 前端配置 PHP

编辑文件 /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf 取消注释并为您设置正确的时区

 (11)启动Zabbix服务器和代理进程

[root@zy-host ~]# systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
[root@zy-host ~]# systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm

(12)Web端安装

1. 打开浏览器,访问 http://服务器IP/zabbix  即可进入安装界面:

 2. 点击下一步,进入依赖组件检测界面:

 3. 检测完成后,点击下一步, 进入数据库信息填写界面:

 注意1:

这里如果提示连接不上,是因为没有在mysql里开启远程主机登录:

 需要进入数据库执行以下命令:

mysql>  use mysql;
mysql> update user set user.Host='%' where user.User='zabbix';
mysql> flush privileges;

注意2:

 如果提示错误:The Zabbix database version does not match current requirements. Your database version: 5020000. 

进入数据库,执行以下命令:

mysql> use zabbix;
mysql> update dbversion set mandatory=4000000;
mysql> flush privileges;

4. 填写完之后,继续点击下一步,进入Zibbix Server配置界面: 

 5. 点击下一步,进入安装配置汇总界面:

6. 点击下一步,进入安装界面

7.  点击完成按钮,进入 Zibbx Web 登录界面:

默认用户为 Admin,密码为 zabbix

将界面改为中文:

 至此,整个安装过程结束。

 四、Zabbix相关组件与概念

1. Zibbx的组件

(1)Zabbix Server

        Zabbix Server负责接收Agent发送的数据及报告信息,并负责组织所有的配置、统计数据、操作数据。

(2)Database Storage

        Database Storage用于存储所有的配置信息以及收集的数据信息。

(3)Web interface

        Web interface 是Zabbix GUI的接口

(4)Agent

        Agent 安装部署在被监控的主机上,负责接收被监控主机的数据,并发往 Zabbix Server端或Proxy端。

(5)Proxy

        Proxy是一个可选组件,用在分布式监控环境中,负责代理Zabbix Server收集被监控主机的相关监控数据,并统一发往 Zabbix Server端。

2. Zabbix 重要概念简介

(1)主机(host)

        主机是指被监控的网络设备,可以是设备的IP地址,也可以是设备的主机名。

(2)主机组(host group)

        主机组是主机的逻辑容器,包含主机和模板,但在同一个组内的主机和模板之间不能互链接,主机组通常用于给指定用户或用户组分配指定监控权限。

(3)监控项(item)

        监控项是一个指定监控指标的相关数据,这些数据来自于被监控的对象。监控项是Zabbix进行数据收集的核心组件,对于特定的某个监控对象来讲,每个监控项都由“key”标识。

(4)触发器(trigger)

        触发器是一个表达式,用于评估被监控对象指定的item内接收到的数据是否在指定的合理范围内,也就是阈值。当接受的数据值大于指定阈值时,触发器的状态将从 OK 变为 Problem。当数据恢复到合理范围,状态又会变回 OK。

(5)事件(event)

        Agent宕机,重新上线,自动注册,触发器状态改变,都属于事件。

(6)动作(action)

        动作时对于指定的事件预先定义的处理方法,例如,发送通知或报警邮件。

(7)媒介(media)

        媒介是发送通知或报警信息的介质,如短信、微信、邮件。

(8)模板(template)

        模板是用于快速配置被监控主机的预设条目的集合,通常包括 item、trigger、graph、screen等。

(9)通知(notification)

        通知是通过指定的媒介向用户发送相关的事件的信息。

(10)报警升级(escalation)

        报警升级是指发送报警或执行远程命令的自定义文案,例如,每隔30秒发送一次报警信息,一共发送5次。

(11)远程命令(remote command)

        远程命令是自定义的命令,在被监控的主机处于某个特定的条件时执行此命令。

五、Zabbix监控实战操作

1. Agent端的部署与配置

(1)部署Agent端

[root@node1 ~]# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
[root@node1 ~]# yum clean all
[root@node1 ~]# yum install zabbix-agent -y

(2)修改配置文件:

 在文件末尾添加以下内容

[root@node1 ~]# vim /etc/zabbix/zabbix_agentd.conf
Server=39.107.232.89           #Zabbix服务端IP
ServerActive=39.107.232.89     #Zabbix服务端IP
Hostname=node1                 #客户端主机名

(3)启动 Agent 服务:

[root@node1 ~]# systemctl start zabbix-agent

2. Web 端添加被监控主机

(1)创建主机

登录Web端页面,点击 配置-主机-创建主机:

(2)填写主机信息

填写要监控的主机信息后点击添加: 

(3)选择模板 

 (4)查看主机列表

3. 绘制图形展示

(1)创建聚合图形

在Web端界面选择 检测——聚合图形,进入创建图形初始界面:

点击创建聚合图形:

 点击右上角创建聚合图形:

 创建好如图所示:

(2)解决乱码问题

[root@zy-host ~]# yum -y install wqy-microhei-fonts
[root@zy-host ~]# \cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf

 可以看到乱码问题已解决:

4. 创建自定义监控内容(key)

需求:限制登录人数不超过3个,超过3个就发出报警信息。

(1)命令行创建key

        1)服务端安装 zabbix-get

#安装zabbix-get,用于服务端查看客户端信息
[root@zy-host ~]# yum install zabbix-get -y

         2)自定义key需要执行的 linux 命令:

该命令含义是:查看登录当前主机的用户有几个

#查看当前有谁登录了这台主机
[root@node1 ~]# who
root     pts/0        2023-01-11 10:08 (116.179.246.116)
root     pts/1        2023-01-11 10:39 (116.179.246.116)
#查看登录这台主机的人数
[root@node1 ~]# who | wc -l
2

        3)在node1主机上创建自定义key

[root@node1 ~]# cd /etc/zabbix/zabbix_agentd.d/#在配置文件中创建自定义key为 login.user
[root@node1 zabbix_agentd.d]# vim user_login.conf
UserParameter=login.user,who | wc -l#重启agent服务
[root@node1 zabbix_agentd.d]# systemctl restart zabbix-agent

         4)在服务端检查key是否可用

[root@zy-host ~]# zabbix_get -s '47.104.160.180' -p 10050 -k 'login.user'
3

(2)Web端创建

        分为以下几步:

        1)创建模板

找到创建的模板

        2)创建应用集(就像是文件夹,里面放入一堆监控项)

         3)创建监控项,自定义 item

        4)创建触发器

当监控项获取到值时,和触发器比较,判断是否报警

        5)创建图形展示

        6)将具体主机与该模板关联

        这里将node1主机与该模板关联

         7)查看图形

        查看node1主机的图形:

        8)触发报警

        在node1主机上登录4个用户,查看仪表板是否报警 

        可以看到在仪表盘以及出现提示:

 


(3)配置邮件报警通知

          1)登录网易邮箱获取授权码

         2)添加报警媒介类型

         3)点击用户设置,添加报警媒介

         4)启用动作:

         这样一来,如果有问题,就会触发这个动作,给管理员发送邮件。

5. 自动发现(agent属于被动模式)

        Zabbix server主动的去发现所有的客户端,然后将客户端的信息登记在服务端的机器上。缺点时 server 端压力比较大。

6. 自动注册(agent属于主动模式)

        Zabbix agent 主动上报自己的信息,发给 zabbix-server。


http://chatgpt.dhexx.cn/article/BHsBlJ3q.shtml

相关文章

Zabbix 监控(内容详细 供您参考)

目录 一、Zabbix简介 1.1 Zabbix概述 1.2 Zabbix 监控原理 1.3 zabbix监控部署在系统中,包含常见的五个程序 二、部署zabbix服务端 三、部署zabbix 客户端 在 Web 页而中添加 agent 主机 四、自定义监控内容 1.明确需要执行的linux命令 2.创建zabbix的监控…

EF框架实现增删改查

EF框架实现增删改查 1.创建数据库:先创建两张表,文章类型表以及文章详情表,设置主外键(ID,Catelogid) Catelog:文章类型表 字段:Id(自增),Name&#xff0c…

【EF框架】EF框架的开发方法

前言 EF框架具有有三种数据持久化的方式,分别为Code First,Model First,Database First.看一下它们都有什么联系? 叙述 EF框架的三种工作方式 1.Database First是基于已存在的数据库,利用某些工具(如VS提供的EF设计器&#xff09…

使用EF框架

1.创建一个控制台项目 2.创建一个EF框架 3.查询出一个表中得到所有元素 static void Main(string[] args){//创建一个EF对象var ef new DemoDatabaseEntities1();//遍历数据库Grade表中的所有元素【EF框架对象->Grade表对象->把表内所有元素转换成实体集合Li…

C#控制台EF框架增删改查

1.创建一个linq to sql 或者EF框架,引入自己数据库的表 2.创建一个上下文 3.添加 News是数据库中的一张表名。 创建一个对象,把需要添加的内容放到对象里面,往表中插入对象,提交到数据库中,刷新数据库 。 4. 修改 创…

EF框架你了解多少?

[EF框架的认识] EF教程视频大全 一、 EF简介 ADO.NET Entity Framework 以 Entity Data Model (EDM) 为主,将数据逻辑层切分为三块,分别为 Conceptual Schema, Mapping Schema 与 Storage Schema 三层,其上还有 Entity Client,…

EF-创建EF框架

文章目录 什么是EFEF的作用 EF 分类Model First(模型优先)Code First(代码优先) Database First(数据优先) 如何创建EF 安装创建 注意事项 什么是EF 实体框架(Entity Framework)是微…

EF框架是什么?

Entity Framework 实体框架EF是ADO.NET中的一组支持开发面向数据的软件应用程序的技术,是微软的一个ORM框架。 ORM是什么? ORM的全称是Object Relational Mapping,即对象关系映射。 ORM框架有很多,EF框架是ORM框架的其中一种&a…

EF框架学习三

实例操作: Database First(数据库优先) 1.1创建一个示例数据库。 1.2打开vs2017,新建项目,如图所示 1.3添加EF框架插件 1.4添加ADO实体数据模型 1.5选择模型类型,点击下一步,然后新建连接&…

C# EF框架使用实例

EF框架 1、新增ADO.NET实体数据模型,但这样会导致新增数据库连接配置 2、选择好后,点添加 3、下一步,点新建连接 在这里如果勾上将App.Config,会自动在配置文件(App.config)中新增数据库连接字符串 4、以…

EF 框架的简介、发展历史;ORM框架概念

一、EF 框架简介 EF 全称是 EntityFramework 。 Entity Framework是ADO.NET 中的一套支持开发面向数据的软件应用程序的技术,是微软的一个ORM框架。 ORM框架(Object Relational Mapping) 翻译过来就是对象关系映射。 如果不用ORM框架,我们一般…

【EF框架】聊一聊EF框架

前言 EF框架的全称EntityFramework ,Entity Framework是ADO.NET 中的一套支持开发面向数据的软件应用程序的技术,是微软的一个ORM框架。 叙述 ORM ORM是一种将数据从域对象存储到关系数据库(如MS SQL Server)的工具,以自动化的方…

给EF框架自动生成实体类修改名字

给EF框架自动生成实体类名字一般以T_ 开头,不符合我们给实体类起的名字这个时候如何进行修改呢? 右击2 选择属性 将属性中的实体集名称和名称改成自己想要的样子就可以啦~ 然后点击重新生成解决方案,我们就能修改自动生成的.cs的实体类名…

EF框架搭建

这是在vs2019版本社区版的创建流程; 右键项目添加新建项->选择数据, 这里选择第一个ADO.NET实体数据模型,并重命名,我这里命名为数据库名 基本上用的都是第一个,通过数据库生成实体类。 因为当前项目没有连接过&am…

EF框架如何搭建

EF出现背景 1、以前程序设计师一定要为了连接与访问数据库而去学习 SQL 指令,因此在信息业中有很多人都在研究如何将程序设计模型和数据库集成在一起,对象关系对应 (Object-Relational Mapping) 的技术就是由此而生。 2、像Hibernate或NHibernate都是这…

EF框架-SQL语句 查询与修改

机房合作当中使用到了框架首先有很多的不同之处&#xff0c;大大方便的编程的时间。 首先在查询与修改这两个点出发。 查询 这是使用SQL语句进行的查询&#xff0c;查询到的是多条信息 public List<CancelCardModel> SelectCancelRecord(string iD){using (InternetBa…

EF框架简介

EF 全称是 EntityFramework 。 Entity Framework是ADO.NET 中的一套支持开发面向数据的软件应用程序的技术,是微软的一个ORM框架。   ORM框架&#xff08;Object Relational Mapping&#xff09; 翻译过来就是对象关系映射。 二、EF实体框架整体架构&#xff1a; 架构组件&…

NET EF框架

EF 框架是微软的.NET中ORM&#xff08;对象关系映射&#xff09;框架。 在没有EF框架之前&#xff0c;我们是直接与ADO.Net 进行交互来访问数据库&#xff0c;在SqlHelper 里面面通过设置connection ,command ,dataset,datareader等来与数据库交互&#xff0c;这样的话使得我们…

EF框架的优点是什么?

Entity Framework 应用程序有以下优点&#xff1a; 1、应用程序可以通过更加以应用程序为中心的概念性模型(包括具有继承性、复杂成员和关系的类型)来工作。 2、应用程序不再对特定的数据引擎或存储架构具有硬编码依赖性。 3、可以在不更改应用程序代码的情况下更改概念性模…

EF框架,认识一下!

What&#xff1f; EF的全称是Entity Framework&#xff0c;也叫实体框架。是微软以ADO.Net为基础开发出来的对象关系映射&#xff08;ORM&#xff09;解决方案&#xff0c;它解决了对象持久化问题&#xff0c;将程序员从编写麻烦的SQL语句当中解放出来。就是用操作对象的方式来…