【zabbix】zabbix四大监控方式

news2024/11/27 11:51:55

zabbix四大监控方式

  • zabbix四大监控方式
      • 1、 Agent
      • 2、 SNMP
      • 3、IPMI
      • 4、JMX
    • 设置 zabbix-snmp 监控
  • zabbix监控tomcat的jvm内存
    • 1.介绍
        • Zabbix Java Gateway 主要功能
        • 使用场景
    • 2.Zabbix Java Gateway 配置步骤
    • **3.在被控端的tomcat上开启jvm监控**
    • 4.在zabbix-server上添加监控
      • 4.1.添加主机
      • 4.2.链接JMX模板
        • 监控成功
      • 监控项简介
        • 1. 内存使用情况
          • 堆内存 (Heap Memory)
          • 非堆内存 (Non-Heap Memory)
        • 2. 垃圾收集 (Garbage Collection)
        • 3. 线程 (Threads)
        • 4. 类加载 (Class Loading)
        • 5. JVM 运行时信息 (Runtime Information)
        • 6. 操作系统信息 (Operating System Information)
    • zabbix监控mysql
      • 客户端
        • 准备数据库
        • 创建mysql监控脚本
        • 创建agent监测key
      • 服务端
        • 验证
        • Zabbix WEB控制台增加监控模版

zabbix四大监控方式

1、 Agent

顾名思义,也就是需要在被监控的操作系统安装agent,通过agent和server端通讯传输数据。

优点:

1、占用系统资源少,每个系统以200个监控项计算,平均占用资源不到0.5%,网络带宽不到10k/s;

2、支持被动、主动的方式传输数据;

3、支持接收远程执行命令,可配置关联触发器执行某些进程、服务重启操作;

4、支持自定义监控键值,根据监控需求自定义键值、脚本获取某些监控数据;

5、保留监控日志,如监控报错可通日志排查。

缺点:

需要逐台安装配置,解决办法,可在已下载免编译版本或者rpm安装包,编写安装脚本,一般安装方法是使用命令安装后,修改对应的参数,通常只需要修改Server、ServerActive、Hostname,如需要自动注册则另外配置Hostmetadata=system.name;后续可在zabbix server安装nginx,使用nginx做文件服务器,直接在linux上使用命令安装即可

2、 SNMP

SNMP也就是简单网络管理协议(Simple Network Management Protocol,是专门设计用于在IP 网络管理网络节点(服务器、工作站、路由器、交换机及HUBS等)的一种标准协议,它是一种应用层协议);通常需要结合设备的MIB(Management Information Base)文件使用。在网络设备,如交换机、路由器、防火墙、行为管理器、AP、AC、加密设备、防毒墙等,以及物理服务器、存储等支持snmp功能的都可以通过开启snmp相关的服务和配置(不同设备的snmp开启方法,建议参考帮助文档或者官方文档操作),用zabbix进行简单的数据监控。

当然,操作系统也可以使用snmp方式监控,但只能是监控到系统层面的运行情况,如cpu、内存、系统分区、网络流量,支持自定义oid,但是配置麻烦。

SNMP优点:

1、适用性广,主要应用在物理设备,snmp使用的设备性能可以忽略不计;

2、配置简单,在管理页面操作几下或者执行6条左右命令即可配置;

3、数据简洁,snmp功能的数据可读性比较简洁,通常一个oid对应一个数据。

缺点:

1、设备太多,需要根据厂家的帮助手册来配置;

2、每个厂家的mib文件大多私有,部分厂家不向外开放;

3、需要根据设备定制化snmp模板;

4、可监控性比较基础,基本上出厂内置,不易拓展性。

3、IPMI

IPMI(智能平台管理接口),Intelligent Platform Management Interface 的缩写。原本是一种Intel架构的企业系统的周边设备所采用的一种工业标准。通常是在物理服务器、存储设备最常见,用户可以通过IPMI进行设备的常规配置及管理,例如修改管理口IP、修改管理员账号信息、重启设备等操作,在zabbix还可以使用IPMI获取设备组件的运行状态,如主板、电源、风扇、传感器的运行状态、运行温度等,一般是在只支持IPMI的情况下使用,而且指标比较少,同一厂家不同型号之间的命令也不通用,用的比较少。

4、JMX

JMX(Java Management Extensions)是一个为应用程序植入管理功能的框架 ,从Java5.0开始引入到标准Java技术平台中。也就是只适用于java语言开发的中间件,像Tomact、Jboss、Resin、Weblogic、IBM WAS、ActiveMQ等,国产的像中创、金蝶、东方通等都支持使用jmx获取运行数据,非国产的中间件多数可以在网络上找得到jmx的开启方式,国产的一般需要厂家的支持。JMX做为java类应用的一种监控方式,能通过开启jmx功能支持获取中间件的jvm运行状态、jvm的内存池、线程池、老年代青年代的垃圾回收、节点运行状态、会话数等信息。另外,JMX配置都有固定的格式,同时也支持加密方式,可以参考网上的案例或者官网文档自行配置。

设置 zabbix-snmp 监控

SNMP,简单网络管理协议

1.服务端安装 snmp 监控程序

yum install -y net-snmp net-snmp-utils

2.修改 snmp 的配置文件,并启动服务

vim /etc/snmp/snmpd.conf
view    systemview    included   .1             #57行,添加此配置

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

systemctl start snmpd

3.使用 snmp 命令测试

snmpwalk -v 2c -c public 127.0.0.1 sysname

在这里插入图片描述

SNMPv2-MIB::sysName.0 = STRING: zbx-server
-------------------------------------------------------
–v 1|2c|3:指定SNMP协议版本
–c:指定共同体字符串
sysname:为 snmp 的 key
-------------------------------------------------------

4.在 Web 页面配置 snmp 方式监控
点击左边菜单栏【配置】中的【主机】,点击 Zabbix server
【Interfaces】点击【添加】选择 SNMP ,端口设置成 161
点击上方菜单栏【模板】,【链接的模板】中的所有 agent 模板选择取消链接并清理
再在【Link new templates】中搜索 Linux SNMP,选择 Template OS Linux SNMP
点击 【更新】,等待一段时间后 Zabbix server 的可用性就变成了 SNMP 监控方式。

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

zabbix监控tomcat的jvm内存

1.介绍

Zabbix Java Gateway 主要功能
  1. JMX 监控
    • 允许 Zabbix Server 从 Java 应用程序中收集监控数据。
    • 支持通过 JMX 获取各种性能指标,如内存使用、线程数、垃圾收集统计信息等。
  2. 代理角色
    • Zabbix Java Gateway 充当 Zabbix Server 和 Java 应用程序之间的代理。
    • Zabbix Server 将 JMX 请求发送到 Zabbix Java Gateway,后者再与 Java 应用程序的 JMX 接口通信。
使用场景
  1. 监控 Java 应用程序性能
    • 监控 JVM 内存使用情况(堆内存和非堆内存)。
    • 监控线程数和线程状态。
    • 监控垃圾收集器活动。
  2. 监控应用服务器
    • 监控 Tomcat、Jetty、GlassFish 等应用服务器的性能。
    • 获取应用服务器的连接数、请求处理时间等指标。
  3. 定制 JMX 监控项
    • 可以根据需要自定义监控项,监控特定应用程序的自定义 MBeans。

2.Zabbix Java Gateway 配置步骤

  1. 安装 Zabbix Java Gateway: 在 Zabbix Server 所在的机器上安装 Zabbix Java Gateway。可以通过包管理器(例如 yumapt)安装,或从源码编译安装。
yum install zabbix-java-gateway

2.配置 Zabbix Java Gateway: 编辑 zabbix_java_gateway.conf 文件,设置监听端口等配置参数。

 vim /etc/zabbix/zabbix_java_gateway.conf
LISTEN_IP="0.0.0.0"
LISTEN_PORT=10052
START_POLLERS=5

在这里插入图片描述
3.启动 Zabbix Java Gateway

systemctl start zabbix-java-gateway
systemctl enable zabbix-java-gateway

在这里插入图片描述
4.配置 Zabbix Server: 在 Zabbix Server 配置文件中,指定 Zabbix Java Gateway 的 IP 地址和端口。

vim /etc/zabbix/zabbix_server.conf
JavaGateway=127.0.0.1
JavaGatewayPort=10052
StartJavaPollers=5

在这里插入图片描述

systemctl restart zabbix-server
  1. 在 Zabbix 前端添加 JMX 监控项
    • 在 Zabbix Web 界面上,配置主机并添加 JMX 接口。
    • 创建或导入包含 JMX 监控项的模板,并将其关联到主机。

通过以上配置,Zabbix 就可以使用 Java Gateway 来监控 Java 应用程序的 JMX 指标,从而提供全面的性能监控和告警功能。

3.在被控端的tomcat上开启jvm监控

 vim /usr/local/tomcat/bin/catalina.sh 

CATALINA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=12345"

#-Dcom.sun.management.jmxremote:启用 Java 管理扩展(JMX)远程管理功能。JMX 是一种技术,允许监控和管理 Java 应用程序。通过启用远程 JMX可以使用 JMX 客户端从远程位置连接到运行 Tomcat 的 JVM。

#-Dcom.sun.management.jmxremote.authenticate=false:禁用 JMX 远程连接的认证功能。任何可以访问指定 JMX 端口的人都可以在不需要用户名和密码的情况下连接到它。

#-Dcom.sun.management.jmxremote.ssl=false:禁用 JMX 远程连接的 SSL(安全套接层)功能。SSL 用于加密网络上传输的数据,保护数据免受窃听和篡改。

#-Dcom.sun.management.jmxremote.port=12345:指定 JMX 远程管理代理监听传入连接的端口号未12345

#启动tomcat
/usr/local/tomcat/bin/startup.sh 

在这里插入图片描述
看到12345端口即可

[root@zbx-agent02 bin]# netstat -anp|grep 12345
tcp6       0      0 :::12345                :::*                    LISTEN      82292/java   

4.在zabbix-server上添加监控

4.1.添加主机

配置—主机—创建主机

主机名称:tomcat

群组:tomcat_group

这里不再使用agent代理程序而是使用jmx接口

JMX接口:192.168.99.182 12345
在这里插入图片描述

4.2.链接JMX模板

点击模板—选择Template App Generic Java JMX

Template App Generic Java JMX这个模板是通用的JMX模板

监控成功

JMX已经点量
在这里插入图片描述
在这里插入图片描述

监控项简介

1. 内存使用情况
堆内存 (Heap Memory)
  • Heap Memory Used: 已使用的堆内存量。监控堆内存的使用情况可以帮助你了解应用程序的内存消耗。
  • Heap Memory Committed: 已提交的堆内存量,即 JVM 从操作系统请求并分配的内存。
  • Heap Memory Max: 堆内存的最大值。这个值表示 JVM 能够使用的最大堆内存量。
非堆内存 (Non-Heap Memory)
  • Non-Heap Memory Used: 已使用的非堆内存量。非堆内存用于存储类的元数据和 JIT 编译代码等。
  • Non-Heap Memory Committed: 已提交的非堆内存量。
  • Non-Heap Memory Max: 非堆内存的最大值。
2. 垃圾收集 (Garbage Collection)
  • GC Count: 垃圾收集器执行的次数。不同的垃圾收集器(如 Young GC 和 Old GC)可能有不同的计数器。
  • GC Time: 垃圾收集器运行的总时间。监控垃圾收集时间可以帮助识别潜在的性能瓶颈。
3. 线程 (Threads)
  • Thread Count: 当前活跃线程的数量。这个值包括所有线程的总数。
  • Peak Thread Count: JVM 中曾经记录的最大活跃线程数。
  • Daemon Thread Count: 当前活跃的守护线程数。
  • Deadlocked Threads: 当前处于死锁状态的线程数。
4. 类加载 (Class Loading)
  • Loaded Class Count: 当前加载的类的数量。
  • Total Loaded Class Count: JVM 启动以来加载的类的总数。
  • Unloaded Class Count: JVM 启动以来卸载的类的总数。
5. JVM 运行时信息 (Runtime Information)
  • Uptime: JVM 的运行时间。可以帮助你了解 JVM 的稳定性和重启频率。
6. 操作系统信息 (Operating System Information)
  • Process CPU Load: JVM 进程的 CPU 使用率。
  • System CPU Load: 整个系统的 CPU 使用率。
  • Free Physical Memory: 系统中未使用的物理内存量。
  • Total Physical Memory: 系统中的总物理内存量。

zabbix监控mysql

客户端

准备数据库
mysql -u root -p
update mysql.user set authentication_string=password('Admin@123') where user='root';  

#创建数据库zabbix,用于存储收集的数据

CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;

#用户名zabbix,假设密码 Zabbix@123
grant all on *.* to 'zabbix'@'localhost' identified by 'Zabbix@123';
FLUSH PRIVILEGES;
创建mysql监控脚本
whereis zabbix

cd /etc/zabbix

sudo vim mysql_check.sh
#!/bin/bash
# 用户名
MYSQL_USER='zabbix'
# 密码声明在环境变量中,mysql可以自动读取该环境变量,也可以在mysql配置文件中添加用户、密码、ip、端口等信息
export MYSQL_PWD='Zabbix@123'
# 如果非本机mysql,需要IP和端口号,本机可以忽略
# 主机地址/IP     
#MYSQL_HOST='191.168.99.130'
# 端口
#MYSQL_PORT='3306'

mysql="mysql -u${MYSQL_USER}"
mysqladmin="mysqladmin -u${MYSQL_USER}"
case $1 in
 # mysql主从状态
 slave_status)
  $mysql -e "show slave status\G" |grep "Yes" |wc -l
 ;; 
 # mysql流量 接受
 Bytes_received)
  $mysqladmin extended-status |grep "Bytes_received" |awk '{print $4}'
 ;;
 # mysql流量 发送
 Bytes_sent)
  $mysqladmin extended-status |grep "Bytes_sent" |awk '{print $4}'
 ;;
 # mysql常规操作 增
 Com_insert)
  $mysqladmin extended-status |grep -w "Com_insert" |awk '{print $4}'
 ;;
 # mysql常规操作 删
 Com_delete)
  $mysqladmin extended-status |grep -w "Com_delete" |awk '{print $4}'
 ;;
 # mysql常规操作 改
 Com_update)
  $mysqladmin extended-status |grep -w "Com_update" |awk '{print $4}'
        ;;
 # mysql常规操作 查
 Com_select)
  $mysqladmin extended-status |grep -w "Com_select" |awk '{print $4}'
 ;;
 # mysql tps
 # TPS 指的是每秒钟系统能够处理的事务数量。事务的定义可能会根据具体的应用有所不同,但通常它指的是一组不可分割的操作。例如,在数据库中,一个事务可能包括多个 SQL 操作(如插入、更新、删除)。在电子商务系统中,一个事务可能指的是一次完整的用户购买操作,包括选择商品、支付、生成订单等步骤。
 tps)
  $mysqladmin status |awk '{print $6/$2}'
 ;;
 # mysql qps=(rollback+commit)/uptime
 # QPS 指的是每秒钟系统能够处理的查询数量。查询通常指的是单一的请求或操作,例如在搜索引擎中的一次搜索请求,或者在数据库中的一次 SELECT 查询。
 qps)
  rollback=$($mysqladmin extended-status |grep -w "Com_rollback" |awk '{print $4}')
  commit=$($mysqladmin extended-status |grep -w "Com_commit" |awk '{print $4}')
  uptime=$($mysqladmin status |awk '{print $2}')
  count=$((rollback+commit))
  echo "$count $uptime" > /tmp/a.txt
  cat /tmp/a.txt |awk '{print $1/$2}'
 ;;
 # 库大小 我们这里拿mysql库举例
 db)
  $mysql -e "select sum(data_length) from information_schema.tables where table_schema='mysql'" |sed -n '2p'
 ;;
 # 表大小 我们这里拿mysql下面的user表举例
 tb)
  $mysql -e "select sum(data_length) from information_schema.tables where table_schema='mysql' and table_name='user'" |sed -n '2p'
 ;;
 # 连接状态
 status)
  $mysqladmin ping  | grep -c alive
 ;;
esac
sudo chmod +x mysql_check.sh

如果想要省略mysql密码的配置
可直接在mysql配置文件my.cnf添加登录信息

[mysql]
host=localhost
user=zabbix
password=Zabbix@123

[mysqladmin]
host=localhost
user=zabbix
password=Zabbix@123
创建agent监测key
cd /etc/zabbix/zabbix_agent2.d

vim mysql_check.conf
# mysql.check[*] 表示一个可以接受一个或多个参数的用户参数
# 多个参数mysql.check[param1,param2,param3],同样脚本也需要传对应数量参数
# UserParameter=mysql.check[*,*,*],/etc/zabbix/scripts/mysql_check.sh $1 $2 $3

UserParameter=mysql.check[*],/etc/zabbix/mysql_check.sh $1

#监测key : mysql.check,并带上一个参数
#对应的shell 脚本 /etc/zabbix/scripts/mysql_check.sh
#需要一个参数 $1

#重启 zabbix-agent 服务

systemctl restart zabbix-agent2

服务端

验证

假设以上被控端内网 ip : 192.168.99.130

zabbix_get -s 192.168.99.130 -k mysql.check[db]

在这里插入图片描述

Zabbix WEB控制台增加监控模版
  1. 先计划好需要加上 mysql 监测的主机,建立一个主机群组(模版必须对应一个主机群组)

在这里插入图片描述

  1. 创建模板

在这里插入图片描述

  1. 创建应用集

在这里插入图片描述

  1. 创建监控项

    mysql.check[Bytes_received]
    
  2. 克隆并创建其他监控项

在这里插入图片描述

  1. 创建图形

这里我只创建了一个图形,就是表示流量的 2 个监控项
在这里插入图片描述
创建主机……

  1. 查看mysql流量数据
    在这里插入图片描述

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

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

相关文章

贾英才主任的中医探索之路

在北京崇文门中医医院,贾英才主任在中医领域的钻研从未停歇。他对药理的探究和药物搭配的研究,展现出了非凡的专注与执着。 贾英才主任常常埋首于浩瀚的中医典籍之中,逐字逐句地研读古代名医的论述,试图从那些古老的智慧中汲取精…

R语言 | 使用ggplot绘制柱状图,在柱子中显示数值和显著性

原文链接:使用ggplot绘制柱状图,在柱子中显示数值和显著性 本期教程 获得本期教程示例数据,后台回复关键词:20240628。(PS:在社群中,可获得往期和未来教程所有数据和代码) 往期教程…

一文弄懂线性回归模型

1、引言 今天,我们将深入探讨机器学习中的三个关键概念:线性回归、代价函数和梯度下降。这些概念构成了许多机器学习算法的基础。起初,我决定不写一篇关于这些主题的文章,因为它们已经被广泛涉及。不过,我改变了主意&…

安卓开发app-基础的java项目构建补充知识

安卓开发app-基础的java项目构建补充知识!上一次分享了基础的项目构建,但是还遗漏了一些基础的内容。今天补充完整。 首先,是关于项目的一些配置文件的信息。 第一个配置文件:{setting.gradle} 国内阿里云仓库地址信息&#xff1…

[leetcode]avoid-flood-in-the-city 避免洪水泛滥

. - 力扣&#xff08;LeetCode&#xff09; class Solution { public:vector<int> avoidFlood(vector<int>& rains) {vector<int> ans(rains.size(), 1);set<int> st;unordered_map<int, int> mp;for (int i 0; i < rains.size(); i) {i…

java周测总结(3)

1、什么是I0流&#xff1f; 是一串流动的字符,从先进先出的方式要求信息的通道。 2、什么是序列化&#xff1f;什么是反序列化&#xff1f; 序例化是将对象的状态存储到特定的存储介质中的过程反序例化是将特定的有合者公质中数据重新构建对象的过程。 3、Java中线程在哪个包下…

CocosCreator构建IOS的wwise教程

CocosCreator构建IOS教程 添加wwise教程: 1.添加include 2.添加SoundEngine 3.添加Profile-iphoneos下面lib下面的.a 4.导入js调用C++的文件 5.导入这些文件 6.初始化ios绝对路径和TTS语音合成对象 6.获得根目录绝对路径,加载pck需要找到绝对路径。怎么找绝对路径? #impor…

【vue3】【vant】 移动端古诗词句子发布收藏项目

更多项目点击&#x1f446;&#x1f446;&#x1f446;完整项目成品专栏 【vue3】【vant】 移动端古诗词句子发布收藏项目 获取源码方式项目说明&#xff1a;其中功能包括素材包含&#xff1a;项目运行环境运行截图 获取源码方式 加Q群&#xff1a;632562109项目说明&#xf…

wavesummit2024发布飞桨3.0版本

今天网上看了wavesummit2024深度学习开发者大会,本来没有啥期待&#xff0c;结果发现飞桨竟然发布3.0版本了&#xff01; 以下是飞桨框架 3.x 的新特性&#xff1a; 动静统一自动并行&#xff1a; 为了降低大模型的编程难度&#xff0c;飞桨还优化了动静统一的半自动并行编程范…

SD-WAN组网对比传统组网的优势

随着商业环境的迅速变化&#xff0c;企业对网络连接的需求不断增长。传统组网方案已经难以满足现代企业的需求&#xff0c;而作为一种新兴的网络解决方案&#xff0c;SD-WAN正逐渐受到企业的青睐。那么&#xff0c;SD-WAN究竟在哪些方面优于传统组网方案呢&#xff1f; 灵活性 …

力扣SQL50 员工的直属部门 子查询 双重

Problem: 1789. 员工的直属部门 &#x1f468;‍&#x1f3eb; 参考题解 Code select employee_id, department_id from Employee where primary_flag Y # Y 表明是直属部门 or employee_id in (select employee_idfrom Employeegroup by employee_idhaving count(employee…

IDEA SpringBoot整合SpringData JPA(保姆级教程,超详细!!!)

目录 1. 简介 2. 创建SpringBoot项目 3. Maven依赖引入 4. 修改application.properties配置文件 5. Entity实体类编写 6. Dao层接口开发 7. 测试接口开发 8. 程序测试 1. 简介 本博客将详细介绍在IDEA中&#xff0c;如何整合SpringBoot与SpringData JPA&#xff0c;以…

海外注册 | 一分钟看懂美国医疗器械(FDA)注册

摘要 ✨ 在全球化的医疗市场中&#xff0c;美国市场对于医疗器械制造商至关重要。本指南旨在为制造商提供全面的美国市场准入指导&#xff0c;确保产品合规并迅速进入市场。 监管机构 美国食品药品监督管理局&#xff08;FDA&#xff09;负责医疗器械的注册&#xff0c;确保其…

GD32F4时钟配置

1.前言 硬件&#xff1a;GD32F450 最高时钟频率200MHZ(外部晶振8MHZ) 软件&#xff1a;KEIL(V5.35) 固件包&#xff1a;GD32F4xx_Firmware_Library_V3.2.0 2.时钟树 时钟配置大概流程如下图红线指示&#xff0c;GD32F470的最高频率可以到240MHZ&#xff0c;GD32F450最高…

Doris:倒排索引

目录 一、倒排索引介绍 二、倒排索引语法 2.1建表时创建倒排索引 2.2 已有表增加倒排索引 2.3 删除索引 三、使用倒排索引 3.1 创建带有倒排索引的表 3.2 插入数据 3.3利用倒排索引查询 3.4 自定义分词 一、倒排索引介绍 倒排索引&#xff0c;是信息检索领域常用的索…

Python之父推荐!Star 60k!深入CPython内核:揭秘内部实现细节

都说 Python 是人工智能的“天选”语言&#xff0c;为什么呢&#xff1f; 可能很多读者都知道&#xff0c;Python 的解释器是用 C 语言写的&#xff0c;所以其实我们在谈论 “Python” 的时候&#xff0c;99.9% 的情况说的就是 “CPython”&#xff01; CPython 是目前最流行的…

ROS2创建自定义接口

ROS2提供了四种通信方式&#xff1a; 话题-Topics 服务-Services 动作-Action 参数-Parameters 查看系统自定义接口命令 使用ros2 interface package sensor_msgs命令可以查看某一个接口包下所有的接口 除了参数之外&#xff0c;话题、服务和动作(Action)都支持自定义接口&am…

石墨舟氮气柜的特点和使用要求介绍

石墨舟是一种在半导体、太阳能光伏等高科技产业中广泛使用的专用工具&#xff0c;主要由高纯度石墨材料制成。它的形状通常像一只船&#xff0c;因此得名“石墨舟”。石墨舟主要用于承载硅片或其他基板材料通过各种高温处理过程&#xff0c;是制造半导体器件和太阳能电池片的关…

BLACKBOX.AI:解锁开发新纪元,加速编程学习的AI神器!

文章目录 &#x1f4af;BLACKBOX.AI 官网&#x1f341;1 BLACKBOX.AI 工具使用教程&#x1f341;2 BLACKBOX.AI工具使用界面介绍&#x1f341;3 Chat(聊天)功能&#x1f341;4 Explore (探索)功能&#x1f48e;4.1 Terminal(终端)功能&#x1f48e;4.2 Discover(发现)功能&…

Android进阶之路 - DialogFragment有没有了解的必要?

几个月前写到了弹框业务&#xff0c;以前经常用Dialog、ButtomDialog 、popupWindow 组件&#xff0c;为了契合项目结构参考了原有的 DialogFragment 组件&#xff0c;特此予以记录 我一般在项目中写弹框组件的话&#xff0c;主要用到 alertDialog、popupWindow 组件&#xff0…