【30天精通Prometheus:一站式监控实战指南】第7天:postgres_exporter从入门到实战:安装、配置详解与生产环境搭建指南,超详细

亲爱的读者们👋

  欢迎加入【30天精通Prometheus】专栏!📚 在这里,我们将探索Prometheus的强大功能,并将其应用于实际监控中。这个专栏都将为你提供宝贵的实战经验。🚀

  Prometheus是云原生和DevOps的核心监控工具,我们将从基础概念开始,逐步涵盖配置、查询、告警和可视化。💪

  在接下来的30天里,我们将解锁Prometheus的实战技巧,通过案例和分享,助你深入理解其工作原理。📆

  目标:30天后,你将熟练掌握Prometheus,为未来的项目挑战做好准备!💯

  这是一段精彩旅程,期待你的加入!🎉


文章目录

  • 一、postgres_exporter概述📘
  • 二、安装postgres_exporter💾
    • 2.1 访问postgres_exporter官方网站 🌐
    • 2.2 选择适合的版本🔍
    • 2.3 下载postgres_exporter⬇️
    • 2.4 解压安装包📂
    • 2.5 创建postgres_exporter.yml认证文件
    • 2.6 在数据库创建监控用户并授权,以非超级用户身份运行
    • 2.7 运行postgres_exporter🚀
  • 三、postgres_exporter指标和配置详解📖
    • 3.1 postgres_exporter.service
  • 四、实战演练:生产环境搭建指南🔨
    • 4.1 创建普通用户管理postgres_exporter👤
    • 4.2 解压postgres_exporter.tar.gz📦
    • 4.3 将postgres_exporter集成到Prometheus配置中✂️
    • 4.4 更改postgres_exporter软件包名称✂️
    • 4.5 编辑postgres_exporter.service文件📝
    • 4.6 启动postgres_exporter.service🔌
    • 4.7 查看服务是否正常启动🔍
  • 相关资料下载地址📚

一、postgres_exporter概述📘

定义
  postgres_exporter是一个开源的监控工具,专门设计用于收集和导出PostgreSQL数据库的性能指标,以便进行监控和分析。它是Prometheus监控框架的一部分,可以将收集到的数据格式化为Prometheus可以识别的格式。

功能

  1.数据收集:postgres_exporter能够连接到PostgreSQL数据库,并从中收集各种性能指标,如查询执行时间、缓存使用情况、事务状态、连接数等。
  2.数据导出:收集到的数据会被格式化为Prometheus可以理解的metrics格式,使得Prometheus能够抓取并存储这些数据。
  3.兼容性:postgres_exporter支持多种PostgreSQL版本,并能很好地与Prometheus及其他监控工具集成。

应用场景

  • IT运维和数据库管理:对于管理和监控大量PostgreSQL数据库实例的企业或组织,postgres_exporter是一个非常重要的工具。它可以帮助IT运维团队实时监控每个数据库的性能状况,从而及时发现并解决潜在问题。
  • 云服务提供商:云服务提供商可以利用postgres_exporter为客户提供详尽的数据库性能报告,以此提升其服务质量并增强客户满意度。
  • 开发和测试环境:在软件开发和测试阶段,postgres_exporter可以帮助开发和测试团队监控数据库性能,确保应用程序与数据库的交互达到最优效果。

二、安装postgres_exporter💾

注意事项和常见问题
  1.权限问题:在安装postgres_exporter之前,请确认当前用户具有执行安装命令和访问必要目录的足够权限。在类Unix系统中,您可能需要使用sudo或作为root用户来执行安装。
  2.防火墙和安全组配置:默认情况下,postgres_exporter会监听某个特定端口(如9187)。请确保服务器的防火墙或安全组规则允许Prometheus服务器访问该端口。
  3.配置文件与服务管理:如果使用systemd来管理服务,请确保/etc/systemd/system/postgres_exporter.service文件已正确配置,以便服务能顺利启动、停止和重启。
  4.日志与错误排查:定期检查postgres_exporter的日志,以便及时发现问题并解决。如果使用systemd,可以利用journalctl -u postgres_exporter命令来查看相关日志。
  5.版本兼容性:在安装之前,请确认postgres_exporter的版本与您的PostgreSQL数据库以及Prometheus的版本相兼容。
  6.安装路径与权限:确保postgres_exporter的安装路径具有正确的权限,以便服务能够正常访问和执行。同时,检查所有配置文件(如包含数据库连接信息的配置文件)的路径和权限设置是否正确。

2.1 访问postgres_exporter官方网站 🌐

  • 打开浏览器,访问postgres_exporter的官方Github下载页面,通常位于Github官方网站下:https://github.com/prometheus-community/postgres_exporter/tree/v0.12.1?tab=readme-ov-file

2.2 选择适合的版本🔍

  • 在下载页面,你将看到不同操作系统的postgres_exporter二进制包。根据你的操作系统选择适合的版本。例如,如果你使用的是Linux 64位系统,就选择postgres_exporter-x.x.x.linux-amd64.tar.gz(其中x.x.x是版本号)。
postgres_exporter versionpostgres version
0.15.011、12、13、14、15、16+
0.14.010、11、12、13、14、15+
0.13.210、11、12、13、14、15+
0.13.110、11、12、13、14、15+
0.13.010、11、12、13、14、15+
0.12.19.4、9.5、9.6、10、11、12、13、14、15+
0.12.09.4、9.5、9.6、10、11、12、13、14、15+

2.3 下载postgres_exporter⬇️

  • 点击所选版本的下载链接,将postgres_exporter的二进制包下载到你的本地计算机。

2.4 解压安装包📂

  • 将下载的postgres_exporter压缩包解压到你想要安装的目录。你可以使用命令行工具(如tar)来完成这个步骤。解压后,你将看到一个名为postgres_exporter-x.x.x.linux-amd64的目录,其中包含postgres_exporter的二进制文件和其他相关文件。
tar -xzf postgres_exporter-x.x.x.linux-amd64.tar.gz

2.5 创建postgres_exporter.yml认证文件

auth_modules:foo1: # Set this to any name you wanttype: userpassuserpass:username: exporterpassword: exporter!@#2024options:# options become key=value parameters of the DSNsslmode: disable

2.6 在数据库创建监控用户并授权,以非超级用户身份运行

-- 为了使用IF语句,在尝试创建用户之前检查用户是否存在,  
-- 我们需要使用过程式SQL(PL/pgSQL)而不是标准SQL。  
-- 更多信息:https://www.postgresql.org/docs/9.3/plpgsql-overview.html  
-- 为了保持与9.0以下版本的兼容性,不使用DO块;而是创建并随后删除一个函数。  
CREATE OR REPLACE FUNCTION __tmp_create_user() returns void as $$
BEGIN-- 如果用户'exporter'不存在,则创建该用户  IF NOT EXISTS (SELECT                       -- SELECT列表可以为FROM   pg_catalog.pg_userWHERE  usename = 'exporter') THENCREATE USER exporter;END IF;
END;
$$ language plpgsql;-- 调用上面创建的函数来尝试创建用户  
SELECT __tmp_create_user();
-- 删除临时函数
DROP FUNCTION __tmp_create_user();-- 修改用户exporter的密码,并设置其搜索路径
ALTER USER exporter WITH PASSWORD 'exporter!@#2024';
ALTER USER exporter SET SEARCH_PATH TO postgres_exporter,pg_catalog;-- 如果作为非超级用户部署(例如在AWS RDS中),请取消注释下面的GRANT行,  
-- 并用您的根用户替换<MASTER_USER>。  
-- 授予用户exporter连接到postgres数据库的权限  
GRANT CONNECT ON DATABASE postgres TO exporter;-- 如果使用 PostgreSQL 版本大于或等于10,请运行以下命令,  
-- 授予用户postgres_exporter监控数据库的权限  
GRANT pg_monitor to exporter;-- 仅当使用早于10的 PostgreSQL 版本时,才运行以下SQL命令。  
-- 在PostgreSQL中,视图以创建视图的用户的权限运行,因此它们可以充当安全屏障。  
-- 需要创建函数来共享非超级用户的数据。只有通过创建视图,才会遗漏最重要的数据位。 -- 创建一个名为postgres_exporter的模式(如果不存在)  
CREATE SCHEMA IF NOT EXISTS exporter;-- 授予用户exporter 对该模式的使用权限  
GRANT USAGE ON SCHEMA exporter TO exporter;-- 创建一个函数,返回pg_stat_activity的集合  
CREATE OR REPLACE FUNCTION get_pg_stat_activity() RETURNS SETOF pg_stat_activity AS
$$ SELECT * FROM pg_catalog.pg_stat_activity; $$
LANGUAGE sql
VOLATILE
SECURITY DEFINER;-- 创建一个视图,显示get_pg_stat_activity函数的结果  
CREATE OR REPLACE VIEW exporter.pg_stat_activity
ASSELECT * from get_pg_stat_activity();-- 授予用户exporter对该视图的查询权限  
GRANT SELECT ON exporter.pg_stat_activity TO exporter;-- 创建一个函数,该函数返回pg_stat_replication的集合  
-- pg_stat_replication是一个系统视图,提供了复制状态的信息
CREATE OR REPLACE FUNCTION get_pg_stat_replication() RETURNS SETOF pg_stat_replication AS
$$ SELECT * FROM pg_catalog.pg_stat_replication; $$
LANGUAGE sql
VOLATILE
SECURITY DEFINER;-- 创建一个视图,该视图调用上面创建的get_pg_stat_replication函数来获取数据  
-- 注意这里将视图创建在了exporter模式下,与之前示例中的postgres_exporter模式不同  
-- 请确保您的环境中存在exporter模式,或者根据需要调整模式名称
CREATE OR REPLACE VIEW exporter.pg_stat_replication
ASSELECT * FROM get_pg_stat_replication();-- 授予exporter用户对该视图的查询权限,使得exporter用户可以查看复制状态信息  
GRANT SELECT ON exporter.pg_stat_replication TO exporter;-- 如果尚未安装pg_stat_statements扩展,则进行安装  
-- pg_stat_statements扩展用于跟踪SQL语句的执行统计信息  
CREATE EXTENSION IF NOT EXISTS pg_stat_statements;
CREATE OR REPLACE FUNCTION get_pg_stat_statements() RETURNS SETOF pg_stat_statements AS
$$ SELECT * FROM public.pg_stat_statements; $$
LANGUAGE sql
VOLATILE
SECURITY DEFINER;-- 创建一个视图,该视图调用上面创建的get_pg_stat_statements函数来获取数据  
-- 这个视图被创建在postgres_exporter模式下
CREATE OR REPLACE VIEW exporter.pg_stat_statements
ASSELECT * FROM get_pg_stat_statements();-- 授予postgres_exporter用户对该视图的查询权限  
-- 使得postgres_exporter用户可以查看SQL语句的执行统计信息 
GRANT SELECT ON exporter.pg_stat_statements TO exporter;

2.7 运行postgres_exporter🚀

  进入解压后的目录,并运行postgres_exporter服务器。在Linux下,你可以使用如下命令。这样就使用默认的配置启动postgres_exporter服务器。如果一切正常,你应该能在终端看到postgres_exporter的启动日志。

cd postgres_exporter-x.x.x.linux-amd64# 配置变量(DATA_SOURCE_NAME=postgresql://exporter:password@localhost:5432/postgres?sslmode=disable)
export DATA_SOURCE_NAME=postgresql://exporter:'exporter!@#2024'@127.0.0.1:5432/postgres?sslmode=disable# 启动服务
/home/deploy/postgres_exporter/postgres_exporter \--config.file=/home/deploy/postgres_exporter/postgres_exporter.yml \--log.level=info \--web.listen-address=:9187

三、postgres_exporter指标和配置详解📖

3.1 postgres_exporter.service

采集器

  • - -[no-]collector.database
       当启用 --collector.database 时,postgres_exporter 会收集与数据库整体性能相关的指标,如连接数、事务数、缓存命中率等。如果使用 --no-collector.database,则会禁用这个采集器,不收集这些指标。
  • - -[no-]collector.bgwriter
      PostgreSQL 有一个后台写进程(bgwriter),它负责将数据异步写入磁盘,以减轻前台进程的写负担。启用 --collector.bgwriter 时,postgres_exporter 会收集与 bgwriter 相关的性能指标,如写入的缓冲区数量、清理的缓冲区数量等。使用 --no-collector.bgwriter 会禁用这个采集器。
  • - -[no-]collector.replication_slot
       PostgreSQL 支持逻辑复制功能,其中 replication slot 是该功能的一个重要组件,用于保存复制进度。当启用 --collector.replication_slot 时,postgres_exporter 会收集与 replication slot 相关的指标,如 slot 的状态、是否活跃、是否堵塞等。如果使用 --no-collector.replication_slot,则会禁用这个采集器,不收集这些指标。

配置和监听

  • - -config.file=“postgres_exporter.yml”
       指定 postgres_exporter 的配置文件路径。配置文件中通常包含了连接到 PostgreSQL 数据库所需的参数,如数据库地址、端口、用户名、密码等,以及其他可能的配置选项。
  • - -[no-]web.systemd-socket
       使用该标志来指示 postgres_exporter 使用 systemd 套接字激活来监听连接,而不是直接监听特定的网络端口。这种方式可以让 systemd 管理套接字并传递连接给 postgres_exporter,通常用于提高安全性和性能。
  • - -web.listen-address=:9187
      设置 postgres_exporter 监听的 IP 地址和端口。在这个例子中,它监听所有 IP 地址(由 : 表示)的 9187 端口。你可以更改 IP 地址和端口号以满足你的网络配置需求。
  • - -web.config.file=“”
      [实验性] 这个参数允许你指定一个配置文件,该文件可以包含用于启用 TLS 加密连接或设置身份验证的选项。这是一个实验性功能,因此在使用之前应该仔细测试。
  • - -web.telemetry-path=“/metrics”
       定义了 postgres_exporter 暴露指标数据的 HTTP 路径。在这里,Prometheus 或其他监控工具将通过访问 /metrics 路径来获取数据。你可以根据需要更改这个路径。

指标和设置

  • - -[no-]disable-default-metrics
       使用 --disable-default-metrics 标志时,postgres_exporter 将不会收集默认的 PostgreSQL 监控指标。这些默认指标通常包括数据库连接数、事务状态、锁信息等。如果你只想收集特定的自定义指标,而不是默认的全面监控,那么这个选项会很有用。
  • - -[no-]disable-settings-metrics
       PostgreSQL 的 pg_settings 视图提供了数据库的配置信息。如果你不希望 postgres_exporter 收集这些配置信息相关的指标,可以使用 --disable-settings-metrics 标志来禁用它们。
  • - -[no-]auto-discover-databases
       PostgreSQL 服务器上可能运行着多个数据库。当启用 --auto-discover-databases 时,postgres_exporter 会自动发现服务器上的所有数据库,并为每个数据库收集指标。如果你只想监控特定的数据库,可以禁用这个选项,并在配置文件中明确指定要监控的数据库。
  • - -extend.query-path=“”
       允许你指定一个包含自定义查询的文件路径。postgres_exporter 会执行这些自定义查询,并将结果作为指标暴露出来。这对于需要监控 PostgreSQL 中非标准或特定业务逻辑的指标非常有用。你可以在这个文件中编写任意的 SQL 查询,并定义如何将这些查询的结果转换为 Prometheus 可以理解的指标格式。例如:- -extend.query-path=/home/deploy/postgres_exporter/queries.yml

其他选项

  • - -[no-]dumpmaps
       当使用 --dumpmaps 参数时,postgres_exporter 不会实际运行并暴露指标,而是会转储(dump)内部指标映射并退出。这主要用于调试和开发目的,以帮助开发者理解 postgres_exporter 如何将 PostgreSQL 的内部指标映射到 Prometheus 可以理解的格式。

  • - -constantLabels=“”
       此参数允许用户为所有暴露的指标设置一组常量的标签。这些标签将附加到 postgres_exporter 收集的每个指标上。格式应为 label=value,如果有多个标签,它们之间应使用逗号分隔。这有助于在 Prometheus 中对数据进行更细致的划分和查询。

  • - -exclude-databases=“”
       当启用 autoDiscoverDatabases 时,此参数允许用户指定一个数据库列表,这些数据库将被排除在自动发现过程之外。这对于你希望监控大多数数据库但排除某些特定数据库的情况非常有用。

  • - -include-databases=“”
       与 exclude-databases 相反,此参数允许用户指定一个数据库列表,仅当启用 autoDiscoverDatabases 时,postgres_exporter 才会监控这些指定的数据库。这有助于减少监控范围,只关注最重要的数据库。

  • - -metric-prefix=“pg”
       默认情况下,postgres_exporter 暴露的指标名称都以 pg_ 为前缀。使用此参数,用户可以更改这个前缀。例如,如果你希望所有指标都以 mypg_ 开头而不是 pg_,你可以设置 --metric-prefix=“mypg”。

四、实战演练:生产环境搭建指南🔨

4.1 创建普通用户管理postgres_exporter👤

useradd deploy

4.2 解压postgres_exporter.tar.gz📦

注意:
  我的是x86,所以使用postgres_exporter-0.12.1.linux-amd64.tar.gz,您可以使用uname -a命令查看系统架构

tar xvf postgres_exporter-0.12.1.linux-amd64.tar.gz -C /home/deploy/

4.3 将postgres_exporter集成到Prometheus配置中✂️

  将postgres_exporter集成到Prometheus配置中,确保数据能够正常采集。编辑Prometheus的配置文件(通常是prometheus.yml),在scrape_configs部分添加postgres_exporter的配置。告诉Prometheus将采集localhost:9187的数据。

scrape_configs:# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.- job_name: "postgres_exporter"static_configs:- targets: ["localhost:9187"]

4.4 更改postgres_exporter软件包名称✂️

mv /home/deploy/postgres_exporter-0.12.1.linux-amd64.tar.gz /home/deploy/postgres_exporter

4.5 编辑postgres_exporter.service文件📝

cat > /etc/systemd/system/postgres_exporter	.service <<EOF
[Unit]
Description=PostgreSQL Exporter
After=network.target[Service]
Type=simple
User=root
Group=root
Environment="DATA_SOURCE_NAME=postgresql://exporter:'exporter!@#2024'@127.0.0.1:5432/postgres?sslmode=disable"
ExecStart=/home/deploy/postgres_exporter/postgres_exporter \--config.file=/home/deploy/postgres_exporter/postgres_exporter.yml \--log.level=info \--web.listen-address=:9101
ExecReload=/bin/kill -HUP
Restart=on-failure[Install]
WantedBy=multi-user.target
EOF

4.6 启动postgres_exporter.service🔌

sudo systemctl daemon-reloadsudo systemctl enable --now postgres_exporter.service

4.7 查看服务是否正常启动🔍

# 查看service服务是否启动
sudo systemctl status postgres_exporter.service# 查看端口是否存在
sudo ss -ntulp | grep 9187

相关资料下载地址📚

  • 官方文档:https://prometheus.io/docs/introduction/overview/
  • 下载地址:https://github.com/prometheus/prometheus/releases/tag/v2.52.0
  • 文档地址:https://prometheus.io/docs/prometheus/latest/installation/
  • 离线包下载链接:https://pan.baidu.com/s/1ANF_AlFnM5_FMIbKBuzBmg 提取码:yqpt

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

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

相关文章

Java基础之异常(简单易懂)

异常 1.JAVA异常体系 &#xff08;1&#xff09;Throwable类(表示可抛)是所有异常和错误的超类&#xff0c;两个直接子类为Error和Exception,分别表示错误和异常;其中异常类Exception又分为运行时异常和非运行时异常&#xff0c;这两个异常有很大区别&#xff0c;运行时异常也…

鲁教版六年级数学下册-笔记

文章目录 第五章 基本平面图形1 线段、射线、直线2 比较线段的长短3 角4 角的比较5 多边形和圆的初步认识第六章 整式的乘除1 同底数幂的乘法2 幂的乘方与积的乘方3 同底数幂的除法4 零指数幂与负整数指数幂5 整式的乘法6 平方差公式7 完全平方公式8 整式的除法 第七章 相交线与…

全域运营是割韭菜吗?常见套路有哪些?

随着全域运营赛道的全面开启&#xff0c;全域运营服务商和全域运营系统的数量迅速增加&#xff0c;持续激发赛道活力的同时&#xff0c;也让一些试图用全域运营割韭菜的人有了可趁之机。 值得庆幸的是&#xff0c;由于当前全域运营赛道刚兴起不久&#xff0c;因此&#xff0c;割…

Python | Leetcode Python题解之第110题平衡二叉树

题目&#xff1a; 题解&#xff1a; class Solution:def isBalanced(self, root: TreeNode) -> bool:def height(root: TreeNode) -> int:if not root:return 0leftHeight height(root.left)rightHeight height(root.right)if leftHeight -1 or rightHeight -1 or a…

C++青少年简明教程:If选择语句

C青少年简明教程&#xff1a;If选择语句 C中选择语句的语法是&#xff1a; if (条件) { 条件成立时需要执行的语句... } [else { 条件不成立时需要执行的语句... }] 说明&#xff1a; if后面使用一个括号&#xff0c;括号里是条件——关系表达式。 所谓的关系表达式就是判…

5.24学习记录

[FSCTF 2023]ez_php2 比较简单的pop链 <?php highlight_file(__file__); Class Rd{public $ending;public $cl;public $poc;public function __destruct(){echo "All matters have concluded";die($this->ending);}public function __call($name, $arg){for…

E1载波:一种2.048Mbps速率的PCM载波

E1载波的基本帧由32个子信道组成 帧长为256个bit,分为32个相等时隙&#xff0c;一个时隙为8个bit。256/328 时隙的编号为CH0~CH31 全帧包含256位,且每一帧用 125us时间传送 E1载波支持的数据传输效率为2.048Mbps&#xff0c;用PCM编码&#xff08;即 256bit/125us2.048Mbps…

微信小程序源码-基于Java后端的小区租拼车管理信息系统毕业设计(附源码+演示录像+LW)

大家好&#xff01;我是程序员一帆&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;微信小程序毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设…

1.OLED

1.基础知识

网络拓扑—DHCP服务配置

文章目录 DHCP服务搭建相关配置细节前提安装DHCP服务 DHCP服务搭建 相关配置细节前提 系统&#xff1a;Windows Server 2003 IP网段&#xff1a;10.0.0.0/24 三台机子&#xff1a; 普通PC机 DHCP服务器 路由器&#xff08;两块网卡&#xff0c;连接内外网&#xff09; //注…

【Unity】Unity项目转抖音小游戏(三)资源分包,抖音云CDN

业务需求&#xff0c;开始接触一下抖音小游戏相关的内容&#xff0c;开发过程中记录一下流程。 使用资源分包可以优化游戏启动速度&#xff0c;是抖音小游戏推荐的一种方式&#xff0c;抖音云也提供存放资源的CDN服务 抖音云官方文档&#xff1a;https://developer.open-douyi…

基于灰狼优化算法优化支持向量机(GWO-SVM)时序预测

代码原理及流程 基于灰狼优化算法优化支持向量机&#xff08;GWO-SVM&#xff09;的时序预测代码的原理和流程如下&#xff1a; 1. **数据准备**&#xff1a;准备时序预测的数据集&#xff0c;将数据集按照时间顺序划分为训练集和测试集。 2. **初始化灰狼群体和SVM模型参数…

《基于Jmeter的性能测试框架搭建》改进一

《基于Jmeter的性能测试框架搭建》文末笔者提到了不少待改进之处&#xff0c;如下所示。 Grafana性能图表实时展现&#xff0c;测试过程中需实时截图形成测试报告&#xff0c;不够人性化。解决方案&#xff1a;自动生成测试报告并邮件通知。 Grafana性能图表需测试人员实时监控…

Big Demo Day第十三期活动即将启幕,Web3创新项目精彩纷呈,PEPE大奖等你抽取

5月28号在香港数码港 Big Demo Day第十三期 活动即将拉开帷幕&#xff0c;活动将汇集众多Web3领域的创新项目&#xff0c;为参会者带来一场科技与智慧交融的盛宴。在这里&#xff0c;你不仅能深入了解区块链、AI等前沿技术的最新应用&#xff0c;还能有机会赢取丰厚的PEPE大奖。…

免费wordpress中文主题

免费大图wordpress主题 首页是一张大图的免费wordpress主题模板。简洁实用&#xff0c;易上手。 https://www.jianzhanpress.com/?p5857 免费WP模板下载 顶部左侧导航条的免费WP模板&#xff0c;后台简洁&#xff0c;新手也可以下载使用。 https://www.jianzhanpress.com/…

电脑版网易云音乐听歌识曲

文章目录 流程 流程 电脑网易云音乐的搜索框旁边就是听歌识曲功能

文件上传巩固及流量分析

1.[GXYCTF2019]BabyUpload 1&#xff09;打开题目也是没有任何提示&#xff0c; 2&#xff09;进入环境&#xff0c;看到下面页面猜测是文件上传漏洞&#xff0c;下面开始传文件 3&#xff09;首先上传一句话木马 a.php&#xff0c;代码如下&#xff1a; 下面这个代码中并没有…

Amesim示例篇-案例1:空间中的铝块散热

前言 本文将通过一个案例继续对Thermal库的元件进一步讲解。 案例1&#xff1a;一个300mm*300mm*1000mm&#xff08;长*宽*高&#xff09;的铝板初始温度为45℃&#xff0c;竖直在环境为25℃的空间内静置60min。对流换热系数设置为5W/m2K。本文将通过两种建模方法对铝块的温度…

最简单的方式解决android studio 模拟器无法联网的问题

最简单的方式解决android studio 模拟器无法联网的问题 看了网上很多解决android studio内置模拟器无法联网的问题&#xff0c;基本上都是在模拟器手机上配置dns&#xff0c;个人试了多种办法也连不上网&#xff0c;现在给出一种&#xff0c;仅需要在命令行操作的解决安卓模拟…

轻松拿捏C语言——二分查找

&#x1f970;欢迎关注 轻松拿捏C语言系列&#xff0c;来和 小哇 一起进步&#xff01;✊ &#x1f308;感谢大家的阅读、点赞、收藏和关注&#x1f495; 目录&#x1f389; 一、介绍&#x1f308; 二、步骤&#x1f319; 三、代码☀️ 一、介绍 二分查找是一种在有序数组中…