搞定Prometheus普罗米修斯监控系统

搞定Prometheus普罗米修斯监控系统学习目录能够安装prometheus服务器 能够通过安装node_exporter监控远程linux 能够通过安装mysqld_exporter监控远程mysql数据库 能够安装grafana 能够在grafana添加prometheus数据源 能够在grafana添加监控cpu负载的图形 能够在grafana图形显示mysql监控数据 能够通过grafana+onealert实现报警任务背景AAA公司是一家电商网站,由于公司的业务快速发展,公司要求对现有机器进行为业务监控,责成运维

大家好,又见面了,我是你们的朋友全栈君。

目录

 

学习目录

任务背景

任务分析

一、普罗米修斯概述

二、时间序列数据

三、实验环境准备

1、安装prometheus

2、prometheus界面

3、主机数据展示

4、普罗米修斯默认的监控图像​

四、使用普罗米修斯监控Linux 主机

1、node组件介绍

2、安装node_exporter

3、让普罗米修斯监控可以拉取node 节点信息

五、使用普罗米修斯监控mysqld 服务

1、如何监控其他服务

2、安装mysqld_exporter 组件

3、安装mysql,并启动

4、创建mysql 账号

5、在mysqld_exporter 组件中配置msyql 信息

6、启动mysqld_exporter组件

7、让普罗米修斯监控可以拉取mysqld 节点信息

六、Grafana 可视化工具

1、什么是Grafana

2、安装Grafana

3、登录Grafana 

4、添加普罗米修斯的数据源

5、为添加好的数据源做图形显示

七、Grafana图形显示MySQL监控数据

1、修改配置文件安装模板

2、在Grafana 中导入json 文件

3、设置数据库源

4、更改数据源名称

八、Grafana + onealert 报警

1、onealert

2、在Grafana中配置Webhook URL


学习目录

  • 能够安装prometheus服务器
  • 能够通过安装node_exporter监控远程linux
  • 能够通过安装mysqld_exporter监控远程mysql数据库
  • 能够安装grafana
  • 能够在grafana添加prometheus数据源
  • 能够在grafana添加监控cpu负载的图形
  • 能够在grafana图形显示mysql监控数据
  • 能够通过grafana+onealert实现报警

任务背景

AAA公司是一家电商网站,由于公司的业务快速发展,公司要求对现有机器进行为业务监控,责成运维部门来实施这个项目。

任务要求:

  1. 部署监控服务器,实现7*24实时监控
  2. 针对公司的为一务及研发部门设计监控系统,对监控项和触发器拿出合理意见
  3. 做好问题预警机制,对可能出的问题要及时告警并形成严格的处理机制
  4. 做好监控告警系统,要求可以实现告警分级
    1. 一级报警 电话通知
    2. 二级报警 微信通知
    3. 三级报警 邮件通知
  5. 处理好公司服务器异地集中监控问题,K8S内部使用的监控系统就是普罗米修斯


任务分析

为什么要监控?

实时收集数据,通过报警及时发现问题 ,及时处理。数据为优化也可以提供依据。

监控四要素:

  • 监控对象:【主机状态、服务、资源、页面、url】
  • 用什么监控:【zabbix-server zabbix-agent】 -> 普罗米修斯监控
  • 什么时间监控:【7 x 24、5×8】
  • 报警给谁:【管理员】

项目选型:

  • mrtg(Multi Router Traffic Grapher)通过snmp 协议得到设备的流量信息,并以包含PNG格式的图形的HTML文档方式显示给用户。
  • cacti(仙人掌)用php语言实现的一个软件,它的主要功能是用snmp 服务获取数据,然后用rrdtool 存储和更新数据。官网地址:https://www.cacti.net/
  • ntop 官网地址:https://www.stopo.org/
  • nagios 能够跨平台,插件多,报警功能强大。官网地址: https://www.nagios.org/
  • centreon 底层使用的就是nagios。是一个nagios整合版软件。官网地址:https://www.centreon.com/
  • ganglia 设计用于测量数以千计的节点,资源消耗非常小。官网地址:http://ganglia.info/
  • open-falcon 小米发布的运维监控软件,高效率,高可用。时间较短,用户基数小。官网地址: http://open-falcon.org/
  • zabbix 跨平台,画图,多条件告警,多种API接口。使用基数特别大。官网地址: https://www.zabbix.com/
  • prometheus 基于时间序列的数值数据的容器监控解决方案。官网地址: https://prometheus.io/
     

综合分析:Prometheus比较适合公司的监控需求


一、普罗米修斯概述

Prometheus(由go语言(golang)开发)是一套开源的监控&报警&时间序列数据库的组合。适合监控docker容器。因为kubernetes(俗称k8s)的流行带动了prometheus的发展。https://prometheus.io/docs/introduction/overview/

二、时间序列数据

1、什么是序列数据
时间序列数据(TimeSeries Data) : 按照时间顺序记录系统、设备状态变化的数据被称为时序数据。应用的场景很多, 如:

  • 无人驾驶车辆运行中要记录的经度,纬度,速度,方向,旁边物体的距
  • 离等等。每时每刻都要将数据记录下来做分析。
  • 某一个地区的各车辆的行驶轨迹数据
  • 传统证券行业实时交易数据
  • 实时运维监控数据等

2、时间序列数据特点

  • 性能好

关系型数据库对于大规模数据的处理性能糟糕。NOSQL可以比较好的处理大规模数据,让依然比不上时间序列数据库。

  • 存储成本低

高效的压缩算法,节省存储空间,有效降低IO,Prometheus有着非常高效的时间序列数据存储方法,每个采样数据仅仅占用3.5byte左右空间,上百万条时间序列,30秒间隔,保留60天,大概花了200多G(来自官方数据)

3、Prometheus的主要特征

  • 多维度数据模型
  • 灵活的查询语言
  • 不依赖分布式存储,单个服务器节点是自主的
  • 以HTTP方式,通过pull模型拉去时间序列数据
  • 也可以通过中间网关支持push模型
  • 通过服务发现或者静态配置,来发现目标服务对象
  • 支持多种多样的图表和界面展示

4、普罗米修斯原理架构图

搞定Prometheus普罗米修斯监控系统


三、实验环境准备

序号 服务器IP 角色
1 node-01 (172.20.10.7) 被监控服务器
2 node-02 (172.20.10.8) Prometheus 服务器
3 node-03 (172.20.10.9) grafana 服务器

1. 静态ip(要求能上外网)【三台服务器都要操作】
2. 主机名【三台服务器都要操作】: vi /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

## BigData CDH 5.x
172.20.10.7 node-01.bigdata.com node-01
172.20.10.8 node-02.bigdata.com node-02
172.20.10.9 node-03.bigdata.com node-03

3. 时间同步(时间同步一定要确认一下)【三台服务器都要操作】

# crontab -e
# .------------------------------------------minute(0~59)
# | .----------------------------------------hours(0~23)
# | | .--------------------------------------day of month(1~31)
# | | | .------------------------------------month(1~12)
# | | | | .----------------------------------day of week(0~6)
# | | | | | .--------------------------------command
# | | | | | |
# | | | | | |
*/1 * * * * /usr/sbin/ntpdate cn.pool.ntp.org

4. 关闭防火墙

systemctl stop firewalld       (当前开机状态生效)
systemctl disable firewalld    (永久生效,重启才生效)
systemctl status firewalld 

5. SELINUX关闭

setenforce 0   (当前开机状态生效)
vi /etc/selinux/config (SELINUX=disabled)   (永久生效,重启生效)

1、安装prometheus

从 https://prometheus.io/download/ 下载相应版本,安装到服务器上官网提供的是二进制版,解压就能用,不需要编译

第一步:上传软件prometheus-2.5.0.linux-amd64.tar.gz 到Linux服务器目录下:/home/tools

第二步:解压软件:tar -zxvf /home/tools/prometheus-2.5.0.linux-amd64.tar.gz -C /usr/local/

第三步:创建prometheus软链接:ln -s /usr/local/prometheus-2.5.0.linux-amd64 /usr/local/prometheus

第四步:启动普罗米修斯软件

直接使用默认配置文件启动
[root@server ~]# /usr/local/prometheus/prometheus --config.file="/usr/local/prometheus/prometheus.yml" &

注: &连接符代表后台运行,不占用终端窗口

搞定Prometheus普罗米修斯监控系统

第五步:测试端口占用情况(判断是否真正的启动了)

如果没有安装的话:yum install lsof
[root@server ~]# lsof -i:9090   或   ss -naltp | grep 9090

搞定Prometheus普罗米修斯监控系统

ss -naltp | grep 9090

搞定Prometheus普罗米修斯监控系统

2、prometheus界面

通过浏览器访问http://服务器IP:9090就可以访问到prometheus的主界面。即: http://node-02:9090
搞定Prometheus普罗米修斯监控系统

默认只监控了本机一台,点Status –》点Targets –》可以看到只监控了本机


3、主机数据展示

通过http://服务器IP:9090/metrics可以查看到监控的数据

搞定Prometheus普罗米修斯监控系统

在web主界面可以通过关键字查询监控项

4、普罗米修斯默认的监控图像
搞定Prometheus普罗米修斯监控系统


四、使用普罗米修斯监控Linux 主机

1、node组件介绍

在远程linux 主机(被监控端agent)上安装node_exporter组件(这样普罗米修斯就可以接收到其收集系统)。

下载地址:https://prometheus.io/download/

2、安装node_exporter

第一步:上传软件包到Linux 服务器中(Agent 被监控端)node-01服务器中:node_exporter-0.16.0.linux-amd64.tar.gz

第二步:解压安装node_exporter 组件

tar -zxvf /home/tools/node_exporter-0.16.0.linux-amd64.tar.gz -C /usr/local/

ln -s /usr/local/node_exporter-0.16.0.linux-amd64 /usr/local/node_exporter

第三步:启动node_exporter组件

里面就一个启动命令node_exporter,可以直接使用此命令启动
ls /usr/local/node_exporter/
LICENSE node_exporter NOTICE

启动指令,&代表后台运行,nohup代表永久运行
nohup /usr/local/node_exporter/node_exporter &

扩展: nohup命令: 如果把启动node_exporter的终端给关闭,那么进程也会随之关闭。nohup命令会帮你解决这个问题。
 

第四步:查看9100 端口占用情况

ss -naltp | grep 9100

搞定Prometheus普罗米修斯监控系统

第五步:使用http 协议 + 9100 端口收集Linux 主机信息

通过浏览器访问 http://被监控端IP:9100/metrics 就可以查看到node_exporte在被监控端收集的监控信息。即:http://node-01:9100/metrics

搞定Prometheus普罗米修斯监控系统


3、让普罗米修斯监控可以拉取node 节点信息

回到prometheus服务器的配置文件里添加被监控机器的配置段
 

在主配置文件最后加上下面三行

vi /usr/local/prometheus/prometheus.yml

具体配置如下:文件的最后添加内容

  
  - job_name: 'node-01_agent1' # 取一个job名称来代 表被监控的机器
    static_configs:
    - targets: ['172.20.10.7:9100'] # 这里改成被监控机器 的IP,后面端口接9100 

设置完成后,保存,然后重新启动Prometheus  普罗米修斯监控系统 

改完配置文件后,重启服务 
[root@node-02 prometheus]# pkill prometheus 
[root@node-02 prometheus]# lsof -i:9090 

# 确认端口没有进程占 用
[root@node-02 prometheus]# /usr/local/prometheus/prometheus --config.file="/usr/local/prometheus/prometheus.yml" &

[root@node-02 prometheus]# lsof -i:9090    # 确认端口被占用,说明重启成功
或
[root@node-02 prometheus]# ss -naltp | grep 9090

回到web 管理界面 –》点Status –》 点Targets –》可以看到多了一台监控目标

通过浏览器访问http://服务器IP:9090就可以访问到prometheus的主界面。即: http://node-02:9090

搞定Prometheus普罗米修斯监控系统


五、使用普罗米修斯监控mysqld 服务

1、如何监控其他服务

在node_exporter 的基础上,可以根据自己的需要收集其他信息

2、安装mysqld_exporter 组件

下载地址:https://prometheus.io/download/

第一步:上传组件到Linux 服务器

第二步:解压与安装mysqld组件

tar -zxvf /home/tools/mysqld_exporter-0.11.0.linux-amd64.tar.gz -C /usr/local/

ln -s /usr/local/mysqld_exporter-0.11.0.linux-amd64 /usr/local/mysqld_exporter

[root@node-01 local]# ls /usr/local/mysqld_exporter
LICENSE  mysqld_exporter  NOTICE

3、安装mysql,并启动

安装过程。这里不要误解哈,因为之前node-01节点上已经安装了社区版本的mysql服务,所以想直接使用。但发现还不是很满意,所以又在node-03上安装了mariadb

安装mariadb数据库,并授权
[root@node-03 ~]# yum install mariadb\* -y
[root@node-03 ~]# systemctl restart mariadb
[root@node-03 ~]# systemctl enable mariadb
[root@node-03 ~]# mysql

这个过程比较简单【跳过】:ss -naltp | grep 3306

搞定Prometheus普罗米修斯监控系统

4、创建mysql 账号

mysql -u root -p aa_bb_CC1234

grant select,replication client,process ON *.* to 'mysql_monitor'@'localhost' identified by 'aa_bb_CC1234';
flush privileges;
quit

5、在mysqld_exporter 组件中配置msyql 信息

这个文件是手工创建

创建一个mysql 配置文件,写上连接的用户名与密码(和上面的授权的用户名
和密码要对应)
[root@node-01 mysqld_exporter]# vi /usr/local/mysqld_exporter/.my.cnf
[client]
user=mysql_monitor
password=aa_bb_CC1234

6、启动mysqld_exporter组件

启动mysqld_exporter
[root@node-01 ~]# nohup /usr/local/mysqld_exporter/mysqld_exporter --config.my-cnf=/usr/local/mysqld_exporter/.my.cnf &


确认端口(9104)
[root@node-01 ~]# ss -naltp | grep 9104

搞定Prometheus普罗米修斯监控系统


7、让普罗米修斯监控可以拉取mysqld 节点信息

回到prometheus服务器的配置文件里添加被监控机器的配置段
 

在主配置文件最后加上下面三行

vi /usr/local/prometheus/prometheus.yml

具体配置如下:文件的最后添加内容

  
  - job_name: 'mysql_agent' # 取一个job名称来代 表被监控的机器
    static_configs:
    - targets: ['172.20.10.7:9104'] # 这里改成被监控机器 的IP,后面端口接9100 

设置完成后,保存,然后重新启动Prometheus  普罗米修斯监控系统 

改完配置文件后,重启服务 
[root@node-02 prometheus]# pkill prometheus 
[root@node-02 prometheus]# lsof -i:9090 

# 确认端口没有进程占 用
[root@node-02 prometheus]# /usr/local/prometheus/prometheus --config.file="/usr/local/prometheus/prometheus.yml" &

[root@node-02 prometheus]# lsof -i:9090    # 确认端口被占用,说明重启成功
或
[root@node-02 prometheus]# ss -naltp | grep 9090

回到web 管理界面 –》点Status –》 点Targets –》可以看到多了一台监控目标

通过浏览器访问http://服务器IP:9090就可以访问到prometheus的主界面。即: http://node-02:9090

搞定Prometheus普罗米修斯监控系统

搞定Prometheus普罗米修斯监控系统

搞定Prometheus普罗米修斯监控系统


六、Grafana 可视化工具

1、什么是Grafana

Grafana是一个开源的度量分析和可视化工具,可以通过将采集的数据分析,查询,然后进行可视化的展示,并能实现报警。

网址: https://grafana.com/

它是开源的时序数据分析平台    目前支持52种数据源,其中promethus 就是其中支持的一种

搞定Prometheus普罗米修斯监控系统

2、安装Grafana

下载地址:https://grafana.com/grafana/download

我这里选择的rpm包,下载后直接rpm -ivh安装就OK
[root@node-03 ~]# rpm -ivh /home/tools/grafana-5.3.4-1.x86_64.rpm

或
yum install grafana-5.3.4-1.x86_64.rpm -y

启动服务
[root@node-03 ~]# systemctl start grafana-server
设置开机自启动
[root@node-03 ~]# systemctl enable grafana-server

确认端口(3000)
[root@node-03 ~]# ss -naltp | grep 3000

搞定Prometheus普罗米修斯监控系统

3、登录Grafana 

http://node-03:3000/login

默认的账号与密码:admin。首次登录后,需要对admin的密码进行更改,如:123456

搞定Prometheus普罗米修斯监控系统

4、添加普罗米修斯的数据源

第一步:添加数据源

搞定Prometheus普罗米修斯监控系统

第二步:设置数据源、数据源名称、类型、IP地址、端口号…

搞定Prometheus普罗米修斯监控系统

搞定Prometheus普罗米修斯监控系统

搞定Prometheus普罗米修斯监控系统

5、为添加好的数据源做图形显示

第一步:点击加号,选择Dashboard

搞定Prometheus普罗米修斯监控系统

第二步:增加一个图形

搞定Prometheus普罗米修斯监控系统

第三步:选择需要呈现图形的数据(小三角 =》Edit 编辑)

搞定Prometheus普罗米修斯监控系统

第四步:选择DataSource 数据源,选择普罗米修斯 

搞定Prometheus普罗米修斯监控系统

第五步:可以把我们设计完的图形保存起来

搞定Prometheus普罗米修斯监控系统

扩展,第六步:根据条件帅选我们想要的数据

搞定Prometheus普罗米修斯监控系统


七、Grafana图形显示MySQL监控数据

1、修改配置文件安装模板

在grafana上修改配置文件,并下载安装mysql监控的dashboard(包含相关json文件,这些json文件可以看作是开发人员开发的一个监控模板)

参考网址: https://github.com/percona/grafana-dashboards
 

在grafana配置文件里最后加上以下三行
[root@node-03 ~]# vi /etc/grafana/grafana.ini
[dashboards.json]
enabled = true
path = /var/lib/grafana/dashboards


[root@node-03 ~]# cd /var/lib/grafana/
[root@node-03 grafana]# git clone https://github.com/percona/grafana-dashboards.git
[root@grafana grafana]# cp -r grafanadashboards/dashboards/ /var/lib/grafana/

如果网速过慢,可以先通过windows下载好再上传至服务器
mkdir /var/lib/grafana/dashboards
然后下载好的dashboars目录下的.json文件全部上传至 /var/lib/grafana/dashboards

重启grafana服务
[root@node-03 grafana]# systemctl restart grafana-server

2、在Grafana 中导入json 文件

搞定Prometheus普罗米修斯监控系统

选择上传MySQL_Overview.json,设置完成后,单点Import 

搞定Prometheus普罗米修斯监控系统

3、设置数据库源

点import导入后,报prometheus数据源找不到,因为这些json文件里默认要找的就是叫Prometheus的数据源,但我们前面建立的数据源却是叫 prometheus_data(坑啊

4、更改数据源名称

那么请自行把原来的prometheus_data源改名为Prometheus即可(注意:第一个字母P是大写)。然后再回去刷新,就有数据了(如下图所示)

搞定Prometheus普罗米修斯监控系统


八、Grafana + onealert 报警

1、onealert

https://caweb.aiops.com/#/integrate,需要先在这个系统中进行注册一个账号。然后登录。

搞定Prometheus普罗米修斯监控系统

2、在Grafana中配置Webhook URL

第一步:在Grafana中创建Notification channel,选择类型为Webhook;

搞定Prometheus普罗米修斯监控系统

搞定Prometheus普罗米修斯监控系统

第三步:将配置的Webhook Notification Channel添加到Grafana Alert中

搞定Prometheus普罗米修斯监控系统

搞定Prometheus普罗米修斯监控系统

设置告警内容:发送给运维负责人

搞定Prometheus普罗米修斯监控系统

搞定Prometheus普罗米修斯监控系统

CPU负载测试

cat /dev/urandom | md5sum

测试告警情况:

 搞定Prometheus普罗米修斯监控系统

测试结果:

搞定Prometheus普罗米修斯监控系统

搞定Prometheus普罗米修斯监控系统

告警后,邮箱收到报警邮件

搞定Prometheus普罗米修斯监控系统

搞定Prometheus普罗米修斯监控系统

如果告警消除后,也会收到一封告警消除的邮件。

搞定Prometheus普罗米修斯监控系统

同时,使用手机扫描二维码,也可以详细了解告警信息。

搞定Prometheus普罗米修斯监控系统


文章最后,给大家推荐一些受欢迎的技术博客链接:

  1. JAVA相关的深度技术博客链接
  2. Flink 相关技术博客链接
  3. Spark 核心技术链接
  4. 设计模式 —— 深度技术博客链接
  5. 机器学习 —— 深度技术博客链接
  6. Hadoop相关技术博客链接
  7. 超全干货–Flink思维导图,花了3周左右编写、校对
  8. 深入JAVA 的JVM核心原理解决线上各种故障【附案例】
  9. 请谈谈你对volatile的理解?–最近小李子与面试官的一场“硬核较量”
  10. 聊聊RPC通信,经常被问到的一道面试题。源码+笔记,包懂
  11. 深入聊聊Java 垃圾回收机制【附原理图及调优方法】

欢迎扫描下方的二维码或 搜索 公众号“大数据高级架构师”,我们会有更多、且及时的资料推送给您,欢迎多多交流!

                                           搞定Prometheus普罗米修斯监控系统

       搞定Prometheus普罗米修斯监控系统

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/161736.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • AIRFLow_overflow百度百科

    AIRFLow_overflow百度百科1、什么是AirflowAirflow是一个Airbnb的Workflow开源项目,使用Python编写实现的任务管理、调度、监控工作流平台。Airflow是基于DAG(有向无环图)的任务管理系统,可以简单理解为是高级版的crontab,但是它解决了crontab无法解决的任务依赖问题。与crontab相比Airflow可以方便查看任务的执行状况(执行是否成功、执行时间、执行依赖等),可追踪任务历史执行情况,任务执行失败时可以收到邮件通知,查看错误日志。2、Airflow与同类产品的

    2022年10月24日
  • WebRTC直播技术方案「建议收藏」

    WebRTC直播技术方案「建议收藏」我们都知道,WebRTC是面向互联网的一种即时通信标准,由于被Chrome、火狐、Safari等主流浏览器支持,并提供了一致和简洁的API,使得开发WebRTC的视频通信应用非常简单和流行。在大多数情况下,我们认为双向视频通信技术和视频直播技术是两种不同的技术,一个做视频通话,一个做单向直播(在以往的直播方案中,绝大部分是采用rtmp协议做直播上行的)。有没有可能使用WebR…

    2022年7月21日
  • 自己动手写操作系统–个人实践「建议收藏」

    自己动手写操作系统–个人实践「建议收藏」最近开始看于渊的《自己动手写操作系统》这本书,刚开始看就发现做系统的引导盘竟然是软盘!心里那个汗啊!现在都是U盘了,谁还用软盘。于是考虑用U盘。于是开始以下步骤:1、既然书上说给先要把软盘做引导盘,那我就类似地把U盘做成引导盘。在网上找了半天,发现USboot,于是就用它给自己的U盘做了一个引导盘。2、把编译后的boot.bin文件用绝对扇区工具写入U盘就万事大吉了。同样,在网上找

    2022年10月21日
  • linux如何安装nodejs_js 循环里面结束整个方法

    linux如何安装nodejs_js 循环里面结束整个方法方法一:源码包安装官网下载centos下载最新版10.9https://nodejs.org/dist/v10.9.0/node-v10.9.0-linux-x64.tar.xzmkdir/opt/software/&&cd/opt/software/tar-xvfnode-v10.9.0-linux-x64.tar.xzmvnode-v10.9.0-linux-x64nodejs建立软连接,变为全局①ln-s/opt/software……

    2022年8月31日
  • Android开发:IBinder对象在进程间传递的形式[通俗易懂]

    2019独角兽企业重金招聘Python工程师标准>>>…

    2022年4月12日
  • windows虚拟显示器SDK开发和提供

    windows虚拟显示器SDK开发和提供背景这周末闲来无事,整理了下虚拟显示器的源码,发现有几个项目都用到了,但是使用的功能不尽相同:(1)最简单的运用仅仅是需要显示器的拔插;(2)稍微复杂一点的是需要设置显示器的分辨率,包括标准的分辨率,如19201080,还包括非标准的分辨率,如1120900;(3)再复杂一点的需要设置显示器名称、刷新频率、获取虚拟显示器屏幕图像信息。再观察我的那几个项目,都重复的导入了源码,每次发现一个…

    2022年8月21日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号