当前位置: 首页 > news >正文

zabbix6.0安装及常用监控配置

文章目录

      • 部署zabbix-server
      • zabbix监控节点部署
        • 解决zabbix中文乱码
          • 创建主机组
          • 创建模版
          • 配置主机与模版关联
        • 监控boot分区
        • 监控网卡流量
        • 出网卡流量监控
        • 进入和出的总流量
        • 监控内存
        • 监控服务器端口
        • 用户自定应监控key值 (监控mysql查询数量)
        • zabbix触发器
          • 监控cpu
          • 监控入网卡流量
        • 邮件告警
        • 内置宏变量
        • 自动发现
        • 自定义监控key(监控tcp链接状态)
          • 优化:使用传参数的方式

修改主机名

hostnamectl set-hostname zyj86
hostnamectl set-hostname zyj87

部署zabbix-server

安装mysql

mkdir packages
tar -xf mysql-8.0.36-1.el8.x86_64.rpm-bundle.tar -C packages/
cd packages 
yum install -y ./*
systemctl enable --now mysqldcat /var/log/mysqld.log | grep pass
2024-10-12T11:38:07.021454Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: hHuk/UeP!0LQmysqladmin -uroot password aaA...111 -pMySQL安全配置向导
mysql_secure_installation
Change the password for root ? ((Press y|Y for Yes, any other key for No) : n
Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : n
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : ysystemctl restart mysqld.service# 可选
# 设置root可以远程连接
update user set host='%' where user='root';
grant all privileges on *.* to root@"%";
flush privileges;

安装zabbixserver

# 配置yum仓库
rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-5.el8.noarch.rpm
dnf clean all # 安装Zabbix server,Web前端,agent
dnf install -y zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent zabbix-get# 创建初始数据库
mysql> drop user zabbix@'localhost';
mysql> flush privileges;mysql -uroot -paaA...111
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
mysql> create user 'zabbix'@'localhost' identified by 'aaA...111';
mysql> grant all privileges on zabbix.* to'zabbix'@'localhost';
mysql> FLUSH PRIVILEGES;
mysql> set global log_bin_trust_function_creators = 1;
mysql> quit;# 导入初始架构和数据,系统将提示您输入新创建的密码。
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix# Disable log_bin_trust_function_creators option after importing database schema.
mysql -uroot -paaA...111
mysql> set global log_bin_trust_function_creators = 0;
mysql> quit;# 为Zabbix server配置数据库
编辑配置文件 vim /etc/zabbix/zabbix_server.conf
DBPassword=aaA..111# 启动Zabbix server和agent进程
启动Zabbix server和agent进程,并为它们设置开机自启:
systemctl restart zabbix-server zabbix-agent httpd php-fpm
systemctl enable zabbix-server zabbix-agent httpd php-fpm

web界面进行安装,访问 192.168.3.86:80/zabbix
在这里插入图片描述
在这里插入图片描述

点击下一步后 这里遇到一个错误: php版本低,不支持使用mysql的caching_sha2_password验证插件

无法连接到数据库 The server requested authentication method unknown to the client

PHP 7.2.8和PHP 7.1.20已经可以支持caching_sha2_password,直接连接MySQL8。

切换php版本至7.4

dnf module switch-to php:7.4

重启httpd服务

systemctl restart httpd

再次点击下一步继续安装即可

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

安装完成

默认登录账号密码为: Admin zabbix

zabbix监控节点部署

# 配置yum仓库
rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-5.el8.noarch.rpm
dnf clean all # 被监控机器安装zabbix-get和zabbix-agent 
yum install zabbix-get zabbix-agent -y# 修改zabbix-agent 配置文件指向server端地址
vim /etc/zabbix/zabbix_agentd.conf117 Server=192.168.3.86
171 ServerActive=192.168.3.86# 启动zabbix-agent
systemctl enable --now zabbix-agent.service

监控信息的两种方式

主动模式:定时查看业务状态,及时性好。占用资源多。

被动模式:监控对象上报故障,占用资源少,如网络,存储资源。及时性差。

使用 zabbix_get 命令手动获取

zabbix_get -s 127.0.0.1 -k system.uname
Linux zyj86 4.18.0-553.el8_10.x86_64 #1 SMP Fri May 24 13:05:10 UTC 2024 x86_64

将主机添加到zabbix中 选择主机所属的群组
在这里插入图片描述

配置主机模版

在这里插入图片描述

在查看图形数据中存在乱码 如图

在这里插入图片描述

解决zabbix中文乱码

上传到 zabbix 服务器 simkai.ttf 中文楷体字体,也可上传其他字体。

cd /usr/share/zabbix/assets/fonts/
rz simkai.ttf 
mv graphfont.ttf ./graphfont.ttf.bak
mv simkai.ttf graphfont.ttf

刷新网页后就不会出现乱码了

创建主机组

在这里插入图片描述

创建模版

选择关联的群组 (模版是一个监控项,图形,触发器等集合,一个群组可包括多个模版)

在添加主机后放置到群组中后 与群组关联的模版即生效,可以看到有很多监控项图形触发器等监控条目。

在这里插入图片描述

配置主机与模版关联

在这里插入图片描述

当我们在模板中添加监控项后就可以在web页面中查看了,如下例监控boot分区

监控boot分区

创建监控项

在这里插入图片描述

在这个模板中创建图形 选择刚才创建的监控项 为该数据展示图形
在这里插入图片描述

查看图表

在这里插入图片描述

监控网卡流量

创建监控项

在这里插入图片描述

添加两个预处理步骤

在这里插入图片描述

添加网卡的图形

在这里插入图片描述

将模板和主机关联

在这里插入图片描述

出网卡流量监控
键值net.if.out[ens160,bytes]
单位bps
进入和出的总流量
键值net.if.total[ens160,bytes]
单位bps
监控内存
键值vm.memory.size[buffers]
单位B
监控服务器端口
键值net.tcp.listen[3306]
# 使用zabbix_get 查看获取的数据
[root@zyj86 ~]# zabbix_get -s 127.0.0.1 -k net.tcp.listen[3306]
1键值net.tcp.listen[3306]
# 使用zabbix_get 查看获取的数据
[root@zyj86 ~]# zabbix_get -s 127.0.0.1 -k net.tcp.port[127.0.0.1,3306]
1

在这里插入图片描述

用户自定应监控key值 (监控mysql查询数量)
# 使用shell命令获取mysql查询数
mysqladmin status -uroot -paaA...111 2>&1
mysqladmin status -uroot -paaA...111 2>&1 | grep "^Uptime" | awk '{print $6}'
104

自定义key

vim /etc/zabbix/zabbix_agentd.d/self_define_parameter_mysql.confUserParameter=mysql.questions,mysqladmin status -uroot -paaA...111 2>&1 | grep "^Uptime" | awk '{print $6}'

使用zabbix_agentd -t 指定key名查看是否可以获取

[root@zyj87 ~]# zabbix_agentd -t mysql.questions
mysql.questions                               [t|110]

重启agent客户端

systemctl restart zabbix-agent.service 

创建模版

在这里插入图片描述

UserParameter=mysql.questions 使用前面自定义的mysql.questions 作为key
在这里插入图片描述

添加图形

在这里插入图片描述

将模版与主机关联

在这里插入图片描述

zabbix触发器

触发器用于定义item的报警阈值,触发器对象可以用于主机或模版。

监控cpu

创建一个 用于监控cpu的模版

在这里插入图片描述

创建监控项 监控cpu的负载

在这里插入图片描述

添加触发器

触发器表达式解释:

last(/cpualert/system.cpu.load[all,avg1])>1
cpualert使用这个模版的主机的system.cpu.load所有cpu的1分钟平均值,最近一次数据的平均值大于1报警

在这里插入图片描述

完整设置如下

在这里插入图片描述

添加图形展示

在这里插入图片描述

将主机和模版关联

在这里插入图片描述

生成 大文件 压测cpu

dd if=/dev/zero of=/1.txt bs=1M count=10000

cpu利用率大于1 高于阈值出发告警

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

查看首页有告警信息

在这里插入图片描述

监控入网卡流量

在这里插入图片描述

当入网卡流量过高时会报警

在这里插入图片描述

邮件告警

开启授权码

在这里插入图片描述

BZgBZWARUac4TePu

添加一个邮箱报警媒介

在这里插入图片描述

创建此媒介的告警消息模板

在这里插入图片描述

点击添加后如下图所示

在这里插入图片描述

配置好后会在媒介中有字节添加的电子邮件告警栏目,可以点击右方测试按钮进行测试

在这里插入图片描述

如有以下结果说明上述步骤均配置成功

在这里插入图片描述

创建运维用户组 group_cloud2024_yunwei

在这里插入图片描述

创建属于group_cloud2024_yunwei组的用户group_cloud2024_zhangsan

在这里插入图片描述

添加该用户的报警媒介,使用163邮箱报警

在这里插入图片描述

设置用户为超级管理员权限

在这里插入图片描述

点击添加

创建触发器动作,例如: zyj87 主机宕机,监控项检测不到数值后触发器就会触发动

在这里插入图片描述

设置触发该动作的满足条件

在这里插入图片描述

添加操作

在这里插入图片描述

点击添加

在这里插入图片描述

内置宏变量

如定义报警消息时使用

在这里插入图片描述

主题: 故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!
消息:
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件 ID:{EVENT.ID}
自动发现

需安装zabbix-agent

# 修改zabbix-agent 配置文件指向server端地址
vim /etc/zabbix/zabbix_agentd.conf117 Server=192.168.3.86
171 ServerActive=192.168.3.86

创建自动发现规则

在这里插入图片描述

创建发现动作

在这里插入图片描述

创建动作

在这里插入图片描述

添加相应操作

在这里插入图片描述

稍等片刻zabbix会自动扫描局域网内的机器并添加到zabbix的监控中,如下图192.168.3.88

在这里插入图片描述

TCP连接状态

在这里插入图片描述

1、LISTENING状态
HTTPD服务启动后首先处于侦听(LISTENING)状态。

2、ESTABLISHED状态
ESTABLISHED的意思是建立连接。表示两台机器正在通信。

3、CLOSE_WAIT

对方主动关闭连接或者网络异常导致连接中断,这时我方的状态会变成CLOSE_WAIT 此时我方要调用close()来使得连接正确关闭

4、TIME_WAIT

我方主动调用close()断开连接,收到对方确认后状态变为TIME_WAIT。TCP协议规定TIME_WAIT状态会一直持续2MSL(即两倍的分 段最大生存期),以此来确保旧的连接状态不会对新连接产生影响。处于TIME_WAIT状态的连接占用的资源不会被内核释放,所以作为服务器,在可能的情 况下,尽量不要主动断开连接,以减少TIME_WAIT状态造成的资源浪费。

目前有一种避免TIME_WAIT资源浪费的方法,就是关闭socket的LINGER选项。但这种做法是TCP协议不推荐使用的,在某些情况下这个操作可能会带来错误。

5、SYN_SENT状态

SYN_SENT状态表示请求连接,当你要访问其它的计算机的服务时首先要发个同步信号给该端口,此时状态为SYN_SENT,如果连接成功了就变为 ESTABLISHED,此时SYN_SENT状态非常短暂。但如果发现SYN_SENT非常多且在向不同的机器发出,那你的机器可能中了冲击波或震荡波 之类的病毒了。这类病毒为了感染别的计算机,它就要扫描别的计算机,在扫描的过程中对每个要扫描的计算机都要发出了同步请求,这也是出现许多 SYN_SENT的原因。

自定义监控key(监控tcp链接状态)

准备自定义key

vim /etc/zabbix/zabbix_agentd.d/tcp_status.conf
# Format:UserParameter=<key>,<shell commmand>
UserParameter=tcp.status.listen,ss -an | grep :80 |grep -i 'LISTEN' | wc -l
UserParameter=tcp.status.timewait,ss -an | grep :80 |grep -i 'TIME-WAIT' | wc -l
UserParameter=tcp.status.established,ss -an | grep :80 |grep -i 'ESTAB' | wc -l
UserParameter=tcp.status.syn_recv,ss -an | grep :80 |grep -i 'SYNC-RECV' | wc -l
UserParameter=tcp.status.syn_sent,ss -an | grep :80 |grep -i 'SYNC-SENT' | wc -l
UserParameter=tcp.status.close,ss -an | grep :80 |grep -i 'CLOSE' | wc -l

重启zabbix-agent

systemctl restart zabbix-agent.service

使用zabbix_get 指定key获取数据

zabbix_get -s 192.168.3.87 -k tcp.status.established

创建模版用于监控tcp状态
在这里插入图片描述

创建使用自定义key值的监控项 tcp.status.established

在这里插入图片描述

在模板中添加图形展示

在这里插入图片描述

设置主机与群组下的模板关联

在这里插入图片描述

用户访问httpd服务,查看图形展示

在这里插入图片描述

优化:使用传参数的方式
vim /etc/zabbix/zabbix_agentd.d/tcp_status.confUserParameter=tcp.status.[*],ss -an | grep :80 |grep -i '$1' | wc -l

重启zabbix-agent

systemctl restart zabbix-agent.service

使用key获取数据

zabbix_get -s 192.168.3.87 -k tcp.status.[listen]

设置监控项键值使用 tcp.status.[listen] [] 中的listen为传入$1的参数 ,使用这种穿传参的方式就简化了配置文件,只需要在设置健康项的时候出入需要监控的值即可。如传入:time_wait listen 等

在这里插入图片描述

当然也可以在shell脚本中使用函数调用的方式再进行优化。

相关文章:

zabbix6.0安装及常用监控配置

文章目录 部署zabbix-serverzabbix监控节点部署解决zabbix中文乱码创建主机组创建模版配置主机与模版关联 监控boot分区监控网卡流量出网卡流量监控进入和出的总流量监控内存监控服务器端口用户自定应监控key值 (监控mysql查询数量)zabbix触发器监控cpu监控入网卡流量 邮件告警…...

SQL-leetcode—1179. 重新格式化部门表

1179. 重新格式化部门表 表 Department&#xff1a; ---------------------- | Column Name | Type | ---------------------- | id | int | | revenue | int | | month | varchar | ---------------------- 在 SQL 中&#xff0c;(id, month) 是表的联合主键。 这个表格有关…...

JavaWeb 学习笔记 XML 和 Json 篇 | 020

今日推荐语 愿你遇见好天气,愿你的征途铺满了星星——圣埃克苏佩里 日期 学习内容 打卡编号2025年01月23日JavaWeb笔记 XML 和 Json 篇020 前言 哈喽&#xff0c;我是菜鸟阿康。 以下是我的学习笔记&#xff0c;既做打卡也做分享&#xff0c;希望对你也有所帮助…...

在Raspbian上,如何获取树莓派的CPU当前频率

本文不用汇编实现&#xff0c;因为我是要用在 Go 里的&#xff0c;Go 并不支持内联汇编&#xff0c;要用汇编比较麻烦。而且项目并不是很在意性能&#xff0c;所以直接用命令获取内核准备好的。 在Raspbian上&#xff0c;CPU 信息存放在/sys/devices/system/cpu/中&#xff0c…...

网络打印机的搜索与连接(一)

介绍 网络打印机就是可以通过网络连接上的打印机&#xff0c;这类打印机分2种&#xff1a;自身具有互联网接入功能可以分配IP的打印机我们称为网络打印机、另外一种就是被某台电脑连接上去后通过共享的方式共享到网络里面的我们称为共享打印机。现在还有一种可以通过互联网连接…...

LangChain + llamaFactory + Qwen2-7b-VL 构建本地RAG问答系统

单纯仅靠LLM会产生误导性的 “幻觉”&#xff0c;训练数据会过时&#xff0c;处理特定知识时效率不高&#xff0c;缺乏专业领域的深度洞察&#xff0c;同时在推理能力上也有所欠缺。 正是在这样的背景下&#xff0c;检索增强生成技术&#xff08;Retrieval-Augmented Generati…...

【自然语言处理(NLP)】介绍、发展史

文章目录 介绍发展史1. 规则驱动时期&#xff08;20世纪50年代-80年代&#xff09;技术特点标志性成果 2. 统计方法兴起&#xff08;1990年代-2000年代&#xff09;技术特点标志性成果 3. 神经网络复兴&#xff08;2010年代初至今&#xff09;技术特点标志性成果 4. 集成与应用…...

1.CSS的三大特性

css有三个非常重要的三个特性&#xff1a;层叠性、继承性、优先级 1.1 层叠性 想通选择器给设置想听的样式&#xff0c;此时一个样式就会覆盖&#xff08;层叠&#xff09;另一个冲突的样式。层叠性主要是解决样式冲突的问题。 <!DOCTYPE html> <html lang"en&…...

【分布式日志篇】从工具选型到实战部署:全面解析日志采集与管理路径

网罗开发 &#xff08;小红书、快手、视频号同名&#xff09; 大家好&#xff0c;我是 展菲&#xff0c;目前在上市企业从事人工智能项目研发管理工作&#xff0c;平时热衷于分享各种编程领域的软硬技能知识以及前沿技术&#xff0c;包括iOS、前端、Harmony OS、Java、Python等…...

基于springcloud汽车信息分析与可视化系统

基于Spring Cloud的汽车信息分析与可视化系统是一款旨在整合、分析汽车相关数据并以直观可视化方式呈现的应用系统。 一、系统架构 该系统基于先进的Spring Cloud架构构建&#xff0c;充分利用其分布式、微服务特性&#xff0c;确保系统具备高可用性、可扩展性和灵活性。Spri…...

TOGAF之架构标准规范-信息系统架构 | 数据架构

TOGAF是工业级的企业架构标准规范&#xff0c;信息系统架构阶段是由数据架构阶段以及应用架构阶段构成&#xff0c;本文主要描述信息系统架构阶段中的数据架构阶段。 如上所示&#xff0c;信息系统架构&#xff08;Information Systems Architectures&#xff09;在TOGAF标准规…...

Databend x 沉浸式翻译 | 基于 Databend Cloud 构建高效低成本的业务数据分析体系

「沉浸式翻译」是一个非常流行的双语对照网页翻译扩展工具&#xff0c;用户可以用它来即时翻译外文网页、PDF 文档、ePub 电子书、字幕等。它不仅可以实现原文加译文实时双语对照显示&#xff0c;还支持 Google、OpenAI、DeepL、微软、Gemini、Claude 等数十家翻译平台服务的自…...

cuda的并行运算介绍

cuda是如何使用GPU并行运算的&#xff1a; 以一个函数为例&#xff1a; duplicateWithKeys << <(P 255) / 256, 256 >> > (P,geomState.means2D,geomState.depths,geomState.point_offsets,binningState.point_list_keys_unsorted,binningState.point_list_…...

「全网最细 + 实战源码案例」设计模式——抽象工厂模式

核心思想 抽象工厂模式是一种创建型设计模式&#xff0c;它提供一个接口&#xff0c;用于创建一系列相关或互相依赖的对象&#xff0c;而无需指定它们的具体类。抽象工厂模式解决了产品族的问题&#xff0c;可以管理和创建一组相关的产品。 结构 1. 抽象工厂 定义创建一些列…...

领域驱动设计(DDD)四 订单管理系统实践步骤

以下是基于 领域驱动设计&#xff08;DDD&#xff09; 的订单管理系统实践步骤&#xff0c;系统功能主要包括订单的创建、更新、查询和状态管理&#xff0c;采用 Spring Boot 框架进行实现。 1. 需求分析 订单管理系统的基本功能&#xff1a; 订单创建&#xff1a;用户下单创…...

leetcode 面试经典 150 题:简化路径

链接简化路径题序号71题型字符串解法栈难度中等熟练度✅✅✅ 题目 给你一个字符串 path &#xff0c;表示指向某一文件或目录的 Unix 风格 绝对路径 &#xff08;以 ‘/’ 开头&#xff09;&#xff0c;请你将其转化为 更加简洁的规范路径。 在 Unix 风格的文件系统中规则如下…...

基于 STM32 的智能农业温室控制系统设计

1. 引言 随着农业现代化的发展&#xff0c;智能农业温室控制系统对于提高农作物产量和质量具有重要意义。该系统能够实时监测温室内的环境参数&#xff0c;如温度、湿度、光照强度和土壤湿度等&#xff0c;并根据这些参数自动调节温室设备&#xff0c;如通风扇、加热器、加湿器…...

【Spring Boot】掌握 Spring 事务:隔离级别与传播机制解读与应用

前言 &#x1f31f;&#x1f31f;本期讲解关于spring 事务传播机制介绍~~~ &#x1f308;感兴趣的小伙伴看一看小编主页&#xff1a;GGBondlctrl-CSDN博客 &#x1f525; 你的点赞就是小编不断更新的最大动力 &#x1f386;那么废话…...

【Postgres_Python】使用python脚本将多个PG数据库合并为一个PG数据库

需要合并的多个PG数据库表个数和结构一致&#xff0c;这里提供一种思路&#xff0c;选择sql语句insert插入的方式进行&#xff0c;即将其他PG数据库的每个表内容插入到一个PG数据库中完成数据库合并 示例代码说明&#xff1a; 选择一个数据库导出表结构为.sql文件&#xff08…...

Tailwind CSS v4.0 发布

Holy shit its actually done &#xff01; 1 月 22 日&#xff0c;Tailwind CSS 正式发布了 4.0 版本&#xff0c;针对性能和灵活性进行了优化&#xff0c;重新构想了配置和定制体验&#xff0c;并充分利用了 Web 平台提供的最新进展。 新的高性能引擎- 完整构建速度提高 5 …...

浅谈 React Hooks

React Hooks 是 React 16.8 引入的一组 API&#xff0c;用于在函数组件中使用 state 和其他 React 特性&#xff08;例如生命周期方法、context 等&#xff09;。Hooks 通过简洁的函数接口&#xff0c;解决了状态与 UI 的高度解耦&#xff0c;通过函数式编程范式实现更灵活 Rea…...

java_网络服务相关_gateway_nacos_feign区别联系

1. spring-cloud-starter-gateway 作用&#xff1a;作为微服务架构的网关&#xff0c;统一入口&#xff0c;处理所有外部请求。 核心能力&#xff1a; 路由转发&#xff08;基于路径、服务名等&#xff09;过滤器&#xff08;鉴权、限流、日志、Header 处理&#xff09;支持负…...

定时器任务——若依源码分析

分析util包下面的工具类schedule utils&#xff1a; ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类&#xff0c;封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz&#xff0c;先构建任务的 JobD…...

使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台

🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...

【无标题】路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论

路径问题的革命性重构&#xff1a;基于二维拓扑收缩色动力学模型的零点隧穿理论 一、传统路径模型的根本缺陷 在经典正方形路径问题中&#xff08;图1&#xff09;&#xff1a; mermaid graph LR A((A)) --- B((B)) B --- C((C)) C --- D((D)) D --- A A -.- C[无直接路径] B -…...

Kafka入门-生产者

生产者 生产者发送流程&#xff1a; 延迟时间为0ms时&#xff0c;也就意味着每当有数据就会直接发送 异步发送API 异步发送和同步发送的不同在于&#xff1a;异步发送不需要等待结果&#xff0c;同步发送必须等待结果才能进行下一步发送。 普通异步发送 首先导入所需的k…...

解决:Android studio 编译后报错\app\src\main\cpp\CMakeLists.txt‘ to exist

现象&#xff1a; android studio报错&#xff1a; [CXX1409] D:\GitLab\xxxxx\app.cxx\Debug\3f3w4y1i\arm64-v8a\android_gradle_build.json : expected buildFiles file ‘D:\GitLab\xxxxx\app\src\main\cpp\CMakeLists.txt’ to exist 解决&#xff1a; 不要动CMakeLists.…...

根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的----NTFS源代码分析--重要

根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的 第一部分&#xff1a; 0: kd> g Breakpoint 9 hit Ntfs!ReadIndexBuffer: f7173886 55 push ebp 0: kd> kc # 00 Ntfs!ReadIndexBuffer 01 Ntfs!FindFirstIndexEntry 02 Ntfs!NtfsUpda…...

全面解析数据库:从基础概念到前沿应用​

在数字化时代&#xff0c;数据已成为企业和社会发展的核心资产&#xff0c;而数据库作为存储、管理和处理数据的关键工具&#xff0c;在各个领域发挥着举足轻重的作用。从电商平台的商品信息管理&#xff0c;到社交网络的用户数据存储&#xff0c;再到金融行业的交易记录处理&a…...

Spring Boot + MyBatis 集成支付宝支付流程

Spring Boot MyBatis 集成支付宝支付流程 核心流程 商户系统生成订单调用支付宝创建预支付订单用户跳转支付宝完成支付支付宝异步通知支付结果商户处理支付结果更新订单状态支付宝同步跳转回商户页面 代码实现示例&#xff08;电脑网站支付&#xff09; 1. 添加依赖 <!…...