【Prometheus】Prometheus安装部署流程详解,配置参数webUI使用方法解析说明

news2024/12/26 11:19:41

在这里插入图片描述

✨✨ 欢迎大家来到景天科技苑✨✨

🎈🎈 养成好习惯,先赞后看哦~🎈🎈

🏆 作者简介:景天科技苑
🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。
🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi,flask等框架,云原生k8s,Prometheus监控,linux,shell脚本等实操经验,网站搭建,数据库等分享。

所属的专栏:Prometheus监控系统零基础到进阶
景天的主页:景天科技苑

在这里插入图片描述

文章目录

  • Prometheus安装配置
    • 1、Prometheus安装前准备
      • 1.1 地址规划
      • 1.2 配置Host解析
      • 1.3 防火墙放行9090端口(如果防火墙开启)
    • 2、Prometheus安装配置
      • 2.1 下载Prometheus
      • 2.2 配置Prometheus
      • 2.3 system启动Prometheus
        • 1、配置system管理Prometheus启动和停⽌
        • 2、在启动 Prometheus 服务时参数详解
        • 3、启动Prometheus服务
      • 2.4 访问Prometheus
      • 2.5 Prometheus的WebUI界面详解

Prometheus安装配置

1、Prometheus安装前准备

Prometheus⽀持多种安装⽅式,为了便于理解,我们先使⽤⼆进制⽅式进⾏部署,后期我们再使⽤Kubernetes⽅式进⾏部署。

1.1 地址规划

在这里插入图片描述

1.2 配置Host解析

1、配置hosts解析

[root@jingtian01 ~ ]#vim /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

10.10.0.20 jingtian01
10.10.0.21 jingtian02
10.10.0.22 jingtian03
10.10.0.23 jingtian04

2、推送hosts解析⽂件,确保每个节点都能正常通过主机名进⾏访问

for i in {21..23};do scp /etc/hosts 10.10.0.$i:/etc/; done

在这里插入图片描述

测试下是否解析成功
在这里插入图片描述

1.3 防火墙放行9090端口(如果防火墙开启)

为访问 Prometheus 的默认端口 9090,你需要在防火墙中开放该端口。在 CentOS 7 上,你可以使用以下命令来开放端口:

sudo firewall-cmd --permanent --add-port=9090/tcp  
sudo firewall-cmd --reload

2、Prometheus安装配置

2.1 下载Prometheus

1、访问Prometheus官⽹ https://prometheus.io/download/ 下载
Prometheus
LTS版本是比较稳定的版本
在这里插入图片描述

我们安装的是Linux版本,右键复制链接地址
在这里插入图片描述

然后在jingtian01上面去下载安装

wget https://github.com/prometheus/prometheus/releases/download/v2.53.2/prometheus-2.53.2.linux-amd64.tar.gz

在这里插入图片描述

查看下载的文件
在这里插入图片描述

如果直接下载不下来,也可以添加个加速地址:

 wget https://mirror.ghproxy.com/https://github.com/prometheus/prometheus/releases/download/v2.53.2/prometheus-2.53.2.linux-amd64.tar.gz

2、解压Prometheus⾄指定⽬录

tar xf prometheus-2.53.2.linux-amd64.tar.gz -C /etc/

在这里插入图片描述

做个软连接,方便访问

ln -s /etc/prometheus-2.53.2.linux-amd64/ /etc/prometheus

查看解压后的文件
其实我们什么都不配置,就可以启动,默认加载prometheus.yml这个文件。
在这里插入图片描述

3、执⾏ prometheus --version 查看命令是否正常

/etc/prometheus/prometheus --version

在这里插入图片描述

2.2 配置Prometheus

1、在启动 Prometheus 之前,我们需要准备⼀个Prometheus的配置⽂件,监控⽬标服务。

由于 Prometheus 服务本身对外暴露了Metrics指标接⼝,所以我们可以配置Prometheus监控⾃身,保存⼀个名为 prometheus.yml 的⽂件,替换掉默认的配置⽂件

先将默认的prometheus.yml备份

cp /etc/prometheus/prometheus.yml /etc/prometheus/prometheus.yml_bak

Prometheus 启动的时候,可以加载运行参数 -config.file 指定配置文件,默认为prometheus.yml。

Prometheus的配置文件是YAML格式。Prometheus的解压包里自带了一个默认的配置文件prometheus.yml。让我们来看一下:

[root@jingtian01 prometheus ]#cat prometheus.yml_bak 
# my global config
global:
  scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).

# Alertmanager configuration
alerting:
  alertmanagers:
    - static_configs:
        - targets:
          # - alertmanager:9093

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: "prometheus"

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    static_configs:
      - targets: ["localhost:9090"]

2、配置文件参数详解:
在这个缺省的配置文件里定义了4个单元:global、alerting、rule_files和scrape_configs。
在配置文件中我们可以指定 global, alerting, rule_files, scrape_configs, remote_write, remote_read 等属性。

global:配置全局的信息,如抓取监控数据的间隔,抓取业务数据接口的超时时间,告警规则执行周期等
alerting:配置告警发送到的alermanager的地址
rule_files:告警规则文件,数据聚合配置
scrape_configs:配置抓取业务监控数据的相关信息,如url,拉取时间间隔,拉取的超时时间等。定义了 Prometheus 如何抓取目标应用或设备的指标数据。每个抓取配置可以有不同的 job_name,这是为了区分不同的数据源。在 static_configs 中可以指定具体的目标地址和端口。
	metrics_path 和 scheme 分别定义了从目标抓取数据时使用的路径和协议。默认情况下,路径为 /metrics,协议为 http。

remote_write:将数据投递到远程地址,如聚合数据投递到hubble-adapter
remote_read:主要用于可读远程存储配置,主要包含以下参数:
	url: 访问地址
	remote_timeout: 请求超时时间

global

global 属于全局的默认配置,它主要包含 4 个属性,
scrape_interval: 拉取 targets 的默认时间间隔,即拉取业务监控数据的间隔时间。
scrape_timeout: 拉取一个 target 的超时时间,即拉取业务监控数据接口的超时时间。
evaluation_interval: 执行 rules 的时间间隔。即多久遍历一次告警规则列表,判断每个规则是否触发告警。和rule_files的加载没关系
external_labels: 额外的属性,会添加到拉取的数据并存到数据库中。

alerting
通常我们可以使用运行参数 -alertmanager.xxx 来配置 Alertmanager, 但是这样不够灵活,没有办法做到动态更新加载,以及动态定义告警属性。
所以 alerting 配置主要用来解决这个问题,它能够更好的管理 Alertmanager, 主要包含 2 个参数:alert_relabel_configs 和 alertmanagers

(1)alertmanagers
用于动态发现 Alertmanager 的地址。
如下配置:alertmanager.prom-alert.svc:9093,通过K8S自动发现机制找到本集群内的alertmanager的地址并将告警发送过去。
目前,我们所有prometheus集群都是部署在徐水(另外有个武汉不用管)的K8S集群,Alertmanager也部署在这个集群,所以用自动发现的方式配置alertmanager地址即可。
如下,系统中指定了Alertmanager路径,因为最终需要投递告警到这个服务,如下图:是通过静态配置
在这里插入图片描述

(2)alert_relabel_configs
作用:在告警发生时,动态修改标签内容,一般作用是在告警产生时修改标签,如保留哪些标签(labelkeep),删除哪些标签(labeldrop)。具体的有哪些属性,请参考:Configuration | Prometheus
下面着重说明两个属性:action和regex

action
基于正则表达式匹配执行的操作。包括移除标签,保留标签等,具体可参考:Configuration | Prometheus
action枚举:
replace: 将正则表达式与串联的source_labels匹配。然后,将target_label设置为replace,用替换中的匹配组引用(${1}, ${2}, ...)替换为其值。 如果正则表达式不匹配,则不会进行替换。
keep: 删除其正则表达式与串联的source_labels不匹配的目标。
drop: 删除其正则表达式与串联的source_labels匹配的目标。
hashmod: 将target_label设置为串联的source_labels的哈希的模数。
labelmap: 将正则表达式与所有标签名称匹配。 然后,将匹配标签的值复制到通过替换为它们的值替换的匹配组引用(${1}, ${2}, ...)给出的标签名称。
labeldrop: 将正则表达式与所有标签名称匹配。 任何匹配的标签将从标签集中删除。
labelkeep: 将正则表达式与所有标签名称匹配。 任何不匹配的标签将从标签集中删除。

regex

作用是匹配标签的正则表达式。

rule_files
1、介绍
作用:获取所有规则文件中的规则,包括记录规则(recording rules)与告警规则(alerting rule)。

2、记录规则(recording rules)
record规则其实就是数据处理的规则,如数据聚合,如下:
我们可以单独定义数据聚合规则文件,也可以和告警规则文件放一起,但是一般分开放好理解
在这里插入图片描述

注意:一定是规则文件,不包含配置文件,如果指定的文件中包含配置文件内容,则会报错。
按照配置的目录,找了下rancher上对应武汉集群的prometheus项目下的prometheus服务,进入控制台:
我们的配置文件是这样的:

rule_files:
- /etc/prometheus/rules/*rules.yaml

所以进入此目录下发现只有一个alert-rules.yaml,恰好就是我们的告警的配置。

scrape_configs

scrape_configs 主要用于配置拉取数据节点,每一个拉取配置主要包含以下参数:
job_name:任务名称
honor_labels: 用于解决拉取数据标签有冲突,当设置为 true, 以拉取数据为准,否则以服务配置为准
params:数据拉取访问时带的请求参数
scrape_interval: 拉取时间间隔
scrape_timeout: 拉取超时时间
metrics_path: 拉取节点的 metric 路径
static_configs:配置访问路径前缀,如ip+port,或者域名地址,或者通过服务发现,类似alertmanager.prom-alert.svc:9093
scheme: 拉取数据访问协议,如http
sample_limit: 存储的数据标签个数限制,如果超过限制,该数据将被忽略,不入存储;默认值为0,表示没有限制
relabel_configs: 拉取数据重置标签配置
metric_relabel_configs:metric 重置标签配置

我们先写个简易的,监控prometheus本机

[root@jingtian01 prometheus ]#cat prometheus.yml
# my global config
global:
  scrape_interval: 15s # 抓取指标数据的间隔 Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).

# Alertmanager configuration
alerting:
  alertmanagers:
    - static_configs:
        - targets:
          # - alertmanager:9093

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
# 定义抓取的目标
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: "prometheus"
    metrics_path: "/metrics"
    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    static_configs:
      # prometheus默认暴露9090端口的/metrics
      # targets里面只能写ip:端口
      # 如果默认的路径不是/metrics,可以在上面写metrics_path
      - targets: ["localhost:9090"]

3、启动可以直接通过命令启动
我们先看下prometheus启动参数:
./prometheus --help
–config.file= 指定配置文件
–web.listen-address=“0.0.0.0:9090” 默认监听的是9090端口
在这里插入图片描述

–web.enable-lifecycle #开启热加载,不用重新启动prometheus,通过http请求的方式,即可加载最新的配置文件
http请求为:

curl -X POST http://localhost:9090/-/reload

在这里插入图片描述

执行该命令后,prometheus重新加载配置文件
在这里插入图片描述

prometheus默认保存数据到tsdb数据库存储15天
存储路径是当前目录下的data目录
在这里插入图片描述

本地运行:

./prometheus

默认找的就是当前目录下的prometheus.yml
在这里插入图片描述

通过ip和端口访问
10.10.0.20:9090
在这里插入图片描述

status–Runtime&& Build Infomation可以查看prometheus保存数据时长
在这里插入图片描述

默认是15天
在这里插入图片描述

查看下/metrics
10.10.0.20:9090/metrics
在这里插入图片描述

2.3 system启动Prometheus

但直接这么启动不是很⽅便,因此我们可以准备⼀个专属的启动⽂件,我们通过system来启动

1、配置system管理Prometheus启动和停⽌
[root@jingtian01 ~ ]#cat /usr/lib/systemd/system/prometheus.service 
[Unit]
Description=Prometheus server
Documentation=https://prometheus.io/ 
[Service]
User=root
ExecStart=/etc/prometheus/prometheus \
 --config.file=/etc/prometheus/prometheus.yml \
 --storage.tsdb.path=/etc/prometheus/data \
 --storage.tsdb.retention.time=60d \
 --web.enable-lifecycle
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure
RestartSec=20
TimeoutStopSec=20
SendSIGKILL=no
LimitNOFILE=8192
[Install]
WantedBy=multi-user.target
2、在启动 Prometheus 服务时参数详解

它们定义了Prometheus 服务的⼀些关键⾏为。

--config.file=/etc/prometheus/prometheus.yml # 指定 Prometheus 的配置⽂件路径。
--storage.tsdb.path=/etc/prometheus/data # 设置 Prometheus 存储时间序列数据库(TSDB)的路径。 ⽤于存放Prometheus抓取到的指标数据。
--storage.tsdb.retention.time=60d # 配置 Prometheus 的数据保留期限。超过这个时间范围的旧数据将被删除。这个可以根据存储资源和监控需求进⾏调整。
--web.enable-lifecycle # 允许通过 HTTP 请求的⽅式来更新Prometheus的配置。
3、启动Prometheus服务

启动prometheus

[root@jingtian01 ~ ]#systemctl daemon-reload 
[root@jingtian01 ~ ]#systemctl start prometheus.service 

查看状态

systemctl status prometheus.service 

在这里插入图片描述
查看端口监听
在这里插入图片描述

2.4 访问Prometheus

1、通过访问对应服务的IP:9090端⼝,访问Prometheus的UI界⾯
在这里插入图片描述

2、看下Status Targets
在这里插入图片描述

可以看到job名称,state,labels
在这里插入图片描述

目前我们检测的该节点是正常的,我们再添加节点监控

[root@jingtian01 prometheus ]#vim prometheus.yml
      - targets: ["localhost:9090","jingtian02:9090"]

在这里插入图片描述

热加载下配置文件

curl -X POST http://localhost:9090/-/reload

可以看到该节点不正常
在这里插入图片描述

在这里插入图片描述

2.5 Prometheus的WebUI界面详解

Prometheus 的 Web UI提供了多个⻚⾯,以便⽤户可以查询指标、查看配置和状态,以及管理告警等。以下是 Prometheus Web UI 中常⻅的⼏个⻚⾯及其描述:
Graph: 允许⽤户通过 Prometheus 的查询语⾔ PromQL 来查询数据,并将
结果以图形的形式展示。
Alerts:允许⽤户查看当前配置的告警规则以及每个告警的状态。
Status:⻚⾯包含了⼏个⼦⻚⾯,它们提供了关于 Prometheus 服务器本身的各种信息:
Command-Line Flags: 显示了 Prometheus 启动时使⽤的命令⾏参数。这有助于了解 Prometheus 的配置和运⾏状态。

Configuration: 展示了 Prometheus 当前加载的配置⽂件内容,可以⽤来确认 Prometheus 正在使⽤的配置,有助于调试问题。
Targets: 显示了 Prometheus 监控的采集⽬标列表,包括每个⽬标的健康状态。如果某个⽬标⽆法抓取,这⾥也会显示相关的错误信息。
Rules: 显示所有配置的告警和记录规则。
Service Discovery: 展示了 Prometheus 的服务发现状态,这包括了Prometheus 如何发现抓取⽬标,以及它们的当前状态和元数据信息。

在主页面输入框,我们可以查询一些数据
在这里插入图片描述

根据我们输入的指标名称,也会有对应的提示,可以查询哪些内容
在这里插入图片描述

当我们查询某个指标,可以看到该指标对应的值
还能看到查询用了多少时间,返回多少条目
在这里插入图片描述

也可以看图形的展示页面
在这里插入图片描述

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

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

相关文章

二十、Java8新特性

文章目录 引入一、Lambda表达式1.1 快速入门1.2 Lambda语法 二、函数式(Functional)接口2.1 函数式(Functional)接口介绍2.2 Java内置函数式接口 三、方法引用与构造器引用3.1 方法引用3.2 构造器引用 四、强大的Stream API4.1 创建 Stream 的4种方式4.2 Stream 的中间操作4.2.…

PHP图书馆在指尖图书借阅小程序助力全民阅读系统小程序源码

​图书馆在指尖 —— 图书借阅小程序助力全民阅读 &#x1f4da;【开篇&#xff1a;指尖上的知识海洋】&#x1f4da; 在这个快节奏的时代&#xff0c;你是否曾渴望随时随地都能沉浸在书海中&#xff1f;现在&#xff0c;有了图书借阅小程序&#xff0c;图书馆就真正来到了你…

【MySQL08】【死锁】

文章目录 一、前言二、查看事务加锁情况1. 使用 information_schema 数据库中表获取锁信息1.1 INNODB_TRX1.2 INNODB_LOCKS1.3 INNODB_LOCK_WAITS 2. 使用 SHOW ENGIN INNODB STATUS 获取锁信息 三、死锁四、参考内容 一、前言 最近在读《MySQL 是怎样运行的》、《MySQL技术内…

GPU版pytorch安装(win/linux)

参考&#xff1a; Pytorch环境配置——cuda、、cudnn、torch、torchvision对应版本&#xff08;最全&#xff09;及安装方法-CSDN博客 Previous PyTorch Versions | PyTorch 法1&#xff1a;命令安装 如&#xff1a; conda install pytorch2.1.0 torchvision0.16.0 torchau…

Leetcode面试经典150题-63.不同路径II

解法都在代码里&#xff0c;不懂就留言或者私信 class Solution {/**本题是典型的动态规划&#xff0c;但是需要注意的是这个网格中是有障碍的&#xff0c;障碍不能走所以其实还是一样的&#xff0c;计算所有点到(m-1,n-1)有多少种方式&#xff0c;返回(0,0)位置的解就行了 */…

Python | Leetcode Python题解之第393题UTF-8编码验证

题目&#xff1a; 题解&#xff1a; class Solution:def validUtf8(self, data: List[int]) -> bool:MASK1, MASK2 1 << 7, (1 << 7) | (1 << 6)def getBytes(num: int) -> int:if (num & MASK1) 0:return 1n, mask 0, MASK1while num & m…

Python文件自动分类

假如这样的步骤全部手动做下来耗时是6秒&#xff0c;在文件数量不多的情况下&#xff0c;比如10个文件&#xff0c;总共耗时一分钟其实是能够接受的。 但当文件数量特别多时&#xff0c;或者这个操作特别频繁每天都要做十几二十次时&#xff0c;手动操作就会变得耗时又繁琐…

哪款宠物空气净化器能更好的清除浮毛?希喂、范罗士测评

七年前开始养了第一只小猫咪&#xff0c;没想到从此家里就开始一直养&#xff0c;到现在都已经养了5只。之前第一只的时候&#xff0c;就觉得很可爱&#xff0c;而且当时刚毕业&#xff0c;算是一时上头才养了它&#xff0c;后面发现我们经常是要出门上班、出差、游玩&#xff…

冲击大厂算法面试=>链表专题【链表反转之局部反转升级版】

目录标题 多重局部反转之K 个一组翻转链表上代码题解呀实在不会的时候记住 多重局部反转之K 个一组翻转链表 上代码 整个函数通过不断地检查剩余节点数量和进行局部反转&#xff0c;实现了链表的分组反转&#xff0c;最后返回反转后的链表。这种方法有效地利用了额外的 pre 和…

VBA学习(71):Excel VBA 访问带密码保护的Access数据库/用户窗体设置/EXCEL用户+密码登录界面(Access版)

前两天我们分享了一个用户密码登录EXCEL的案例【Excel VBA 用户窗体设置/一步一步代你设计EXCEL用户密码登录界面】&#xff0c;文中提及数据存储在Access中的情况&#xff0c;今天我就来把数据表&#xff08;tb用户&#xff09;移到Access中&#xff0c;修改一下代码&#xff…

使用jmeter压测数据库

写在文章开头 除了wrk以外,jmeter一直是笔者比较喜欢的一个压测工具,从使用场景和功能范围来看,算是一款比较全面且上手快速的压测工具,本文将基于MySQL数据库为读者演示一下如何通过jmeter压测数据库,希望对你有帮助。 Hi,我是 sharkChili ,是个不断在硬核技术上作死的…

FreeRTOS学习笔记—②RTOS的认识(持续更新中)

由于正在学习韦东山大佬的RTOS课程&#xff0c;结合了网上的一些资料&#xff0c;整理记录了下自己的感悟&#xff0c;用于以后自己的回顾。如有不对的地方请各位大佬纠正。 课程链接&#xff1a;https://www.bilibili.com/video/BV1844y1g7ud/?spm_id_from333.337.search-car…

Postman环境变量:简化API测试的利器

引言 在当今快速发展的互联网时代&#xff0c;API&#xff08;应用程序接口&#xff09;的重要性不言而喻。无论是内部系统间的通信还是对外服务的提供&#xff0c;API都扮演着至关重要的角色。然而&#xff0c;在API的开发与测试过程中&#xff0c;经常需要处理各种各样的配置…

Java语言程序设计基础篇_编程练习题**17.21 (十六进制编辑器)

目录 题目&#xff1a;**17.21 (十六进制编辑器) 代码示例 结果展示 题目&#xff1a;**17.21 (十六进制编辑器) 编写一个 GUI 应用程序&#xff0c;让用户在文本域输入一个文件名&#xff0c;然后按回车键&#xff0c;在文本域显示它的十六进制表达形式。用户也可以修改十六…

SEO之网站结构优化(十四-内部链接及权重分配3)

初创企业搭建网站的朋友看1号文章&#xff1b;想学习云计算&#xff0c;怎么入门看2号文章谢谢支持&#xff1a; 1、我给不会敲代码又想搭建网站的人建议 2、“新手上云”能够为你开启探索云世界的第一步 博客&#xff1a;阿幸SEO~探索搜索排名之道 7、锚文字分布及变化 前面…

不可不知的WPF形状(Shape)

在WPF开发中经常需要进行绘制图形&#xff0c;可以利用Shape类型绘制基本的形状&#xff0c;而且Shape派生自FrameworkElement&#xff0c;属于UI元素范畴&#xff0c;可以直接利用XAML进行绘制。本文通过一些简单的小例子&#xff0c;简述如何通过Shape类绘制形状&#xff0c;…

SMB攻击利用之-设置远程mimikatz程序为定时任务流量数据包分析

SMB协议作为windows环境下最为常见的一种协议&#xff0c;在历史上出现过无数的通过SMB协议进行网络攻击利用的案例&#xff0c;包括针对SMB协议本身以及通过SMB协议实施网络攻击。 本文将介绍一种SMB协议的常见利用方式&#xff0c;即通过windows的服务调用将远程主机上的mim…

MySQL数据库安装(详细)—>Mariadb的安装(day21)

该网盘链接有效期为7天&#xff0c;有需要评论区扣我&#xff1a; 通过网盘分享的文件&#xff1a;mariadb-10.3.7-winx64.msi 链接: https://pan.baidu.com/s/1-r_w3NuP8amhIEedmTkWsQ?pwd2ua7 提取码: 2ua7 1 双击打开安装软件 本次安装的是mariaDB&#xff0c;双击打开mar…

【STM32开发】GPIO最全解析及应用实例

目录 【1】GPIO概述 GPIO的基本概念 GPIO的应用 【2】GPIO功能描述 1.IO功能框图 2.知识补充 3.功能详述 浮空输入 上拉输入 下拉输入 模拟输入 推挽输出 开漏输出 复用开漏输出和复用推挽输出 【3】GPIO常用寄存器 相关寄存器介绍 4个32位配置寄存器 2个32位数据寄存器 1个32位…

Linux【1】基础

目录 cd ​编辑 Linux的粘贴是Ctrlshiftv&#xff0c;复制、剪切&#xff1a; pwd打印当前路径 cat 文件目录 读取 ↑ 可以调取之间输过的命令 mv A B 把文件名A改成B #掐头%去尾 touch 文件名 mkdir创建目录​编辑 删除rm 只能删除文件 终端命令格式 帮助 man命…