zabbix监控mysql数据库、nginx、Tomcat

news2024/11/25 2:45:28

文章目录

  • 一.zabbix监控mysql数据库
    • 1.环境规划
    • 2.zabbix-server安装部署(192.168.198.17)
    • 3.zabbix-mysql安装部署(192.168.198.15)
      • 3.1 部署 zabbix 客户端
      • 3.2 服务端验证 zabbix-agent2 的连通性(192.168.198.17)
      • 3.3 Web 页面中添加mysql主机
      • 3.3.1 点击左边菜单栏【配置】中的【主机】,点击【创建主机】
      • 3.4 自定义监控内容(在客户端创建自定义 key:192.168.198.15)
        • 3.4.1 明确需要执行的 linux 命令
        • 3.4.2 创建 zabbix 的监控项配置文件,用于自定义 key
        • 3.4.3 在服务端验证新建的监控项
    • 4. 可对mysql创建的主机根据实际修改
  • 二.zabbix实现对nginx运行状态的监控
    • 1.自定义key实现监控nginx运行状态
      • 1.1 在zabbix-agent服务器中安装并开启nginx
      • 1.2 配置zabbix agent自定义参数
      • 1.3 修改 zabbix 配置文件
      • 1.4 服务端验证
      • 1.5 添加主机及模块等
  • 三.zabbix监控Tomcat
    • 1.实验环境的部署(客户端)
    • 2.服务端的配置
      • 2.1 zabbix监测界面的配置

一.zabbix监控mysql数据库

1.环境规划

hostIP部署
zabbix-server192.168.198.17zabbix服务器搭建
zabbix-mysql192.168.198.15zabbix客户端搭建

2.zabbix-server安装部署(192.168.198.17)

请参考以下配置:https://blog.csdn.net/Katie_ff/article/details/132171211?spm=1001.2014.3001.5501

3.zabbix-mysql安装部署(192.168.198.15)

需要提前在客户端安装mysql服务,具体安装过程如下:

https://blog.csdn.net/Katie_ff/article/details/131640949?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522169190624516800192230012%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=169190624516800192230012&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2blogfirst_rank_ecpm_v1~rank_v31_ecpm-5-131640949-null-null.268v1koosearch&utm_term=mysql&spm=1018.2226.3001.4450

3.1 部署 zabbix 客户端

#关闭防火墙和selinux,更改主机名并运行bash刷新主机名
systemctl disable --now firewalld
setenforce 0

hostnamectl set-hostname mysql
su
#服务端和客户端都配置时间同步
yum install -y ntpdate
ntpdate -u ntp.aliyun.com

13 Aug 13:23:05 ntpdate[76508]: adjust time server 203.107.6.88 offset 0.007140 sec

#客户端配置时区,与服务器保持一致
mv /etc/localtime{,.bak}
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
date
2023年 08月 13日 星期日 13:23:23 CST
#设置 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 install -y zabbix-agent2
#修改 agent2 配置文件
vim /etc/zabbix/zabbix_agent2.conf
......
Server=192.168.198.17			#80行,指定 zabbix 服务端的 IP 地址
ServerActive=192.168.198.17		#120行,指定 zabbix 服务端的 IP 地址
Hostname=mysql          		#134行,指定当前 zabbix 客户端的主机名
#启动 zabbix-agent2
systemctl start zabbix-agent2
systemctl enable zabbix-agent2

netstat -natp | grep zabbix
tcp6       0      0 :::10050                :::*                    LISTEN      44454/zabbix_agent2 

3.2 服务端验证 zabbix-agent2 的连通性(192.168.198.17)

#安装 zabbix 主动获取数据的命令
yum install -y zabbix-get				
zabbix_get -s '192.168.198.15' -p 10050 -k 'agent.ping'
1

zabbix_get -s '192.168.198.15' -p 10050 -k 'system.hostname'
mysql

3.3 Web 页面中添加mysql主机

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

【主机名称】设置成 mysql
【可见的名称】设置成 MySQL-192.168.198.15
【群组】选择 Linux server
【Interfaces】的【IP地址】设置成 192.168.198.15

点击添加

再点击上方菜单栏【模板】
【Link new tamplates】搜索 mysql ,选择 【Template DB MySQL by Zabbix agent】
点击 【添加】

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-b0uxhXJ6-1691927140382)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230813140741496.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wuDFLky6-1691927140382)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230813140702684.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gftUCYpz-1691927140383)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230813140855168.png)]

3.4 自定义监控内容(在客户端创建自定义 key:192.168.198.15)

3.4.1 明确需要执行的 linux 命令

who | wc -l
3

3.4.2 创建 zabbix 的监控项配置文件,用于自定义 key

vim /etc/zabbix/zabbix_agent2.conf
#可以将自定义的监控项配置文件创建在 zabbix_agent2.d 目录中
273 Include=/etc/zabbix/zabbix_agent2.d/*.conf
#自定义监控项的格式如下
296 #	Format: UserParameter=<key>,<shell command>
cd /etc/zabbix/zabbix_agent2.d/
vim UserParameter_login.conf
#添加内容
UserParameter=login.user,who|wc -l
systemctl restart zabbix-agent2

3.4.3 在服务端验证新建的监控项

[root@zbx-server opt]# zabbix_get -s '192.168.198.18' -p 10050 -k 'login.user'
3

此处为3是在客户端有三个用户,则监控的是这三个用户

[root@mysql zabbix_agent2.d]# who
root     :0           2023-07-11 00:52 (:0)
root     pts/0        2023-07-11 01:08 (:0)
root     pts/1        2023-08-13 13:21 (192.168.198.1)

4. 可对mysql创建的主机根据实际修改

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oQql1WSk-1691927140383)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230813141916664.png)]

根据实际筛选

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-w67ilxa2-1691927140384)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230813141524063.png)]

二.zabbix实现对nginx运行状态的监控

利用zabbix实现对nginx运行状态的监控 (要么运行 要么不运行)(配置对应的触发器)

1.自定义key实现监控nginx运行状态

1.1 在zabbix-agent服务器中安装并开启nginx

(1)编译安装nginx

#拖入nginx-1.12.2安装包
cd /opt
#解压
tar zxvf nginx-1.12.2.tar.gz -C /opt/
#编译安装
cd nginx-1.12.2/
./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module
make -j2 && make install

注:如执行make -j2 && make install出现了以下错误:

make: *** 没有规则可以创建“default”需要的目标“build”。 停止。

错误原因:这是因为安装nginx 编译时缺少一些依赖造成的

解决办法:安装依赖:

yum -y install gcc openssl openssl-devel pcre-devel zlib zlib-devel

再次执行:

./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module
make -j2 && make install

(2)优化路径

ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

(3)添加 Nginx 系统服务

vim /lib/systemd/system/nginx.service
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
chmod 754 /lib/systemd/system/nginx.service
systemctl start nginx.service
systemctl enable nginx.service

注:如果systemctl start nginx.service启动不了,检查 “nginx” 用户是否存在于系统中。您可以运行以下命令检查用户是否存在:

id nginx
id: nginx: no such user

如不存在创建用户并重启:

useradd -r nginx
passwd nginx
systemctl restart nginx

(4)修改nginx配置

vim /usr/local/nginx/conf/nginx.conf

在server块里面新增一个location块:

location /nginx_status {
         stub_status on;
         access_log off;
         #allow 192.168.198.0/24; #允许访问的范围
         #deny all;
}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jf9pKTMK-1691927140384)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230813154849174.png)]

#启动nginx
/usr/local/nginx/sbin/nginx
 netstat -antp | grep nginx
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      88019/nginx: master 
#验证nginx状态页面:
[root@nginx nginx-1.12.2]# curl http://192.168.198.15/status
Active connections: 1 
server accepts handled requests
 1 1 1 
Reading: 0 Writing: 1 Waiting: 0 

1.2 配置zabbix agent自定义参数

vim /etc/zabbix/zabbix_agentd.conf
Include=/etc/zabbix/zabbix_agentd.d/*.conf #改为只导入conf文件
#重启agent
systemctl restart zabbix-agent2.service 
#上传zabbix_linux_plugin.sh 脚本到/etc/zabbix/zabbix_agentd.d/并授权执行脚本测试,确认可以从本地获取nginx状态数据:
cd /etc/zabbix/zabbix_agent2.d/
vim zabbix_nginx.sh
#脚本内容如下:
#/bin/bash
#Description:Automated monitoring nginx performance and process nginx_status scripts

NGINX_PORT=80 
NGINX_COMMAND=$1

nginx_ping(){
    /sbin/pidof nginx |wc -l
    }

nginx_active(){
    /usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" |awk '/Active/ {print $NF}'
    }

nginx_reading(){
    /usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" |awk '/Reading/ {print $2}'
    }

nginx_writing(){
    /usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" |awk '/Writing/ {print $4}'
    }

nginx_waiting(){
    /usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" |awk '/Waiting/ {print $6}'
    }

nginx_accepts(){
    /usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" |awk 'NR==3 {print $1}'
    }

nginx_handled(){
    /usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" |awk 'NR==3 {print $2}'
    }

nginx_requests(){
    /usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" |awk 'NR==3 {print $3}'
    }

case $NGINX_COMMAND in
    ping)
        nginx_ping
        ;;
    active)
        nginx_active
        ;;
    reading)
        nginx_reading
        ;;
    writing)
        nginx_writing
        ;;
    waiting)
        nginx_waiting
        ;;
    accepts)
        nginx_accepts
        ;;
    handled)
        nginx_handled
        ;;
    requests)
        nginx_requests
        ;;
    *)
        echo $"USAGE:$0 {ping|active|reading|writing|waiting|accepts|handled|requests}"
esac
#给脚本权限
chmod u+x /etc/zabbix/zabbix_agent2.d/zabbix_nginx.sh
#测试
./zabbix_linux_plugin.sh nginx_status 80 active

1.3 修改 zabbix 配置文件

vim /etc/zabbix/zabbix_agent2.d/userparameter_mysql.conf

# 增加
UserParameter=nginx_status[*],/bin/bash /etc/zabbix/zabbix_agent2.d/zabbix_nginx.sh \$1
# 修改完成重启 zabbix-agent
systemctl restart zabbix-agent2.service

1.4 服务端验证

[root@zabbix ~]# zabbix_get -s 192.168.198.15 -k nginx_status[active]
1

1.5 添加主机及模块等

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vcB9f4Pj-1691927140385)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230813162528579.png)]

三.zabbix监控Tomcat

zabbix通过部署jmx来监控tomcat
zabbix提供了一个java gateway的应用去监控jmx(Java Management Extensions,即Java管理扩展)是一个为应用程序、设备、系统等植入管理功能的框架。JMX可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用。

1.实验环境的部署(客户端)

安装Tomcat服务,具体操作如下:

https://blog.csdn.net/Katie_ff/article/details/131442008?spm=1001.2014.3001.5501

#查看端口是否开启
netstat -natp | grep 8080
tcp6       0      0 :::8080                 :::*                    LISTEN      54333/java  
#编辑发布目录
[root@tomcat tomcat]# cd webapps/ROOT/
vim test.jsp
The time is: <%=new java.util.Date() %>

cd /usr/local/tomcat/bin
vim catalina.sh
ATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port=1234"

/usr/local/tomcat/bin/shutdown.sh 
/usr/local/tomcat/bin/startup.sh 

浏览器端测试:http://192.168.198.15:8080/test.jsp

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MWr0jrAN-1691927140385)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230813171601697.png)]

2.服务端的配置

安装请参考以下:

https://blog.csdn.net/Katie_ff/article/details/132171211?spm=1001.2014.3001.5501

yum install zabbix-java-gateway.x86_64 -y
cd /etc/zabbix/
vim zabbix_java_gateway.conf 
LISTEN_IP="0.0.0.0"  ##监听地址
LISTEN_PORT=10052  ##监听端口
PID_FILE="/var/run/zabbix/zabbix_java.pid"  ##PID_FILE文件路径
START_POLLERS=5  ##开启的工作线程数量
systemctl start zabbix-java-gateway  ##开启服务
systemctl enable zabbix-java-gateway  ##设置开机自启
vim zabbix_server.conf
JavaGateway=192.168.198.17 ##IP地址
JavaGatewayPort=10052  ##端口
StartJavaPollers=5  ##采集数据的进程数
systemctl restart zabbix-server  重启进程
netstat -antlp
ps ax  ##查看server开启的java进程是否为5个

2.1 zabbix监测界面的配置

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-L8o2lWc8-1691927140385)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230813180759476.png)]

配置–主机–tomcat–模板

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KdjWsBzT-1691927140386)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230813180815262.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Mta0Q2oY-1691927140386)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230813180912516.png)]、
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BvHrKKxf-1691927359801)(file:///E:\tengxun\QQ\2841168113\Image\C2C_-1199929785__0a0d12fcf44562d395ffe5de04330051_1624944214_retouch_2023081318265405_0_wifi_0.jpg)]

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

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

相关文章

使用script标签解决跨域问题,但是只能使用get请求,且不需要获取get请求的数据,例如埋点,只需要触发后发送get请求,而不需要获取返回的参数

在项目中&#xff0c;使用埋点的时候&#xff0c;因为使用的是外部提供的接口&#xff0c;所以直接请求的时候&#xff0c;前端会报跨域的问题&#xff0c;本着不麻烦后端的想法&#xff0c;怎怎么前端实现跨域而完全不需要后段的配合&#xff0c;这时候就想到了通过script标签…

Steam搬砖项目

最近分享了不少关于Steam搬砖项目的文章&#xff0c;但是也有一部分人说&#xff0c;项目不知道如何赚钱的。 今天这篇文章&#xff0c;就分享一下&#xff0c;对于Steam游戏搬砖项目&#xff0c;他是靠什么来挣钱的。 那讲解之前&#xff0c;先回复一下&#xff0c;另外一个问…

【rust/egui】(二)看看template的main函数:日志输出以及eframe run_native

说在前面 rust新手&#xff0c;egui没啥找到啥教程&#xff0c;这里自己记录下学习过程环境&#xff1a;windows11 22H2rust版本&#xff1a;rustc 1.71.1egui版本&#xff1a;0.22.0eframe版本&#xff1a;0.22.0上一篇&#xff1a;这里 开始 首先让我们看看main.rs中有些什么…

纷享销客张睿:每年见100家快消企业,我发现数字化的价值本质

“ 快消行业的竞争从马拉松进入八角笼中&#xff0c;重度内卷将成行业面临的普遍挑战&#xff0c;”新经销创始人赵波在2023年第四届中国创新食品大会感叹。 8月4-6日&#xff0c;2023年第四届中国创新食品大会暨粤港澳大湾区食品博览会在广东东莞举行&#xff0c;汇聚嘉士利、…

【解读Spikingjelly】使用单层全连接SNN识别MNIST

原文档&#xff1a;使用单层全连接SNN识别MNIST — spikingjelly alpha 文档 代码地址&#xff1a;完整的代码位于activation_based.examples.lif_fc_mnist.py GitHub - fangwei123456/spikingjelly: SpikingJelly is an open-source deep learning framework for Spiking Neur…

解决WSL2的docker删除镜像后,磁盘空间不释放问题

1、问题原因 由于WSL2本质上是虚拟机&#xff0c;所以 Windows 会自动创建 vhdx 后缀的虚拟磁盘文件作为存储。这个 vhdx 后缀的虚拟磁盘文件特点是可以自动扩容&#xff0c;但是一般不会自动缩容。一旦有很多文件把它“撑大”&#xff0c;即使把这些文件删除它也不会自动“缩…

go内存管理机制

golang内存管理基本是参考tcmalloc来进行的。go内存管理本质上是一个内存池&#xff0c;只不过内部做了很多优化&#xff1a;自动伸缩内存池大小&#xff0c;合理切割内存块。 基本概念&#xff1a; Page&#xff1a;页&#xff0c;一块 8 K大小的内存空间。Go向操作系统申请和…

Rabbitmq消息不丢失

目录 一、消息不丢失1.消息确认2.消息确认业务封装2.1 发送确认消息测试2.2 消息发送失败&#xff0c;设置重发机制 一、消息不丢失 消息的不丢失&#xff0c;在MQ角度考虑&#xff0c;一般有三种途径&#xff1a; 1&#xff0c;生产者不丢数据 2&#xff0c;MQ服务器不丢数据…

MySQL入门学习教程(二)

上一篇文章讲的是mysql的基本操作&#xff0c;这一篇会有一点难以理解&#xff0c;本节主要内容mysql视图&#xff0c;存储过程&#xff0c;函数&#xff0c;事务&#xff0c;触发器&#xff0c;以及动态执行sql 视图view 视图是一个虚拟表&#xff0c;其内容由查询定义。同真…

在Java中操作Redis(详细-->从环境配置到代码实现)

在Java中操作Redis 文章目录 在Java中操作Redis1、介绍2、Jedis3、Spring Data Redis3.1、对String的操作3.2、对哈希类型数据的操作3.3、对list的操作3.4、对set类型的操作3.5、对 ZSet类型的数据&#xff08;有序集合&#xff09;3.6、通用类型的操作 1、介绍 Redis 的Java客…

开发者必知:.gitignore 文件的魔法,助你管理项目文件如虎添翼!

前言&#xff1a; 在软件开发的世界中&#xff0c;版本控制是一个至关重要的环节。而 Git 作为目前最流行的分布式版本控制系统之一&#xff0c;已经成为开发者不可或缺的工具。然而&#xff0c;在日常的开发过程中&#xff0c;有些文件是不适合被纳入版本控制的&#xff0c;比…

【C++入门】const 成员函数

文章目录 一、基本概念二、经典问题三、使用建议 一、基本概念 const 修饰的成员函数就称作 const 成员函数。 例子&#xff1a; class Date { public:void Display() const{...}private:int _year;int _month;int _day; };事实上&#xff0c;const 成员函数的这个 const 修…

Linux文件系统管理

Linux文件系统管理 磁盘的组成与分区 计算机用于存取文件的硬件是磁盘&#xff0c;磁盘的组成主要有磁盘盘、机械手臂、磁盘读取头与主轴马达所组成&#xff0c; 而数据的写入其实是在磁盘盘上面。磁盘盘上面又可细分出扇区(Sector)与磁道(Track)两种单位&#xff0c; 其中扇区…

YOLOv5入门实践(3)— 手把手教你如何去划分数据集

前言&#xff1a;Hello大家好&#xff0c;我是小哥谈。数据集标注完成之后&#xff0c;下一步就是对这些数据集进行划分了。面对繁杂的数据集&#xff0c;如果手动划分的话&#xff0c;不仅麻烦而且不能保持随机性。本节课就给大家介绍一种方法&#xff0c;即使用代码去划分数据…

Express 实战(一):概览

在正式学习 Express 内容之前&#xff0c;我们有必要从大的方面了解一下 Node.js 。 在很长的一段时间里&#xff0c;JavaScript 一门编写浏览器中运行脚本的语言。不过近些年&#xff0c;随着互联网的发展以及技术进步&#xff0c;JavaScript 迎来了一个集中爆发的时代。一个…

思科交换机和路由器使用TFTP备份和还原配置文件

&#xff08;1&#xff09;给交换机配置管理地址&#xff0c;保证交换机与服务器相连通 SW1(config)#int vlan 1 SW1(config-if)#ip add 192.168.1.1 255.255.255.0 SW1(config-if)#no shut SW1#write &#xff08;2&#xff09;备份startup-config到服务器 SW1#copy startup…

【linux教程学习笔记】

目录 一. Linux系统目录结构 ​编辑 二. Linux文件基本属性 1. 文件属性分析 2. 更改文件属性 2.1. chgrp&#xff1a;change group&#xff0c;更改文件所属的组 2. chown&#xff1a;change owner&#xff0c;更改文件所属的用户&#xff0c;也可同时更改文件所属的组…

UG NX二次开发(C#)-CAM-获取刀具类型

文章目录 1、前言2、UG NX中的刀具类型3、获取刀具类型3.1 刀具类型帮助文档1、前言 在UG NX的加工模块,加工刀具是一个必要的因素,其包括了多种类型的类型,有铣刀、钻刀、车刀、磨刀、成型刀等等,而且每种刀具所包含的信息也各不相同。想获取刀具的信息,那就要知道刀具的…

php如何对接伪原创api

在了解伪原创api的各种应用形态之后&#xff0c;我们继续探讨智能写作背后的核心技术。需要说明的是&#xff0c;智能写作和自然语言生成、自然语言理解、知识图谱、多模算法等各类人工智能算法都有紧密的关联&#xff0c;在百度的智能写作实践中&#xff0c;常根据实际需求将多…

RT-Thread Smart 用户态开发体验

背景 RT-Thread Smart 是基于 RT-Thread 操作系统上的混合操作系统&#xff0c;它把应用从内核中独立出来&#xff0c;形成独立的用户态应用程序&#xff0c;并具备独立的地址空间。 自 V5.0.0 起&#xff0c;rt-smart 分支已合并至 master 分支上&#xff0c;下载 rt-thread …