【云原生】Grafana 介绍与实战操作

news2024/9/22 3:50:06

文章目录

    • 一、概述
    • 二、Grafana 安装
      • 1)下载安装
      • 2)安装包信息
      • 3)启动服务
      • 4)Grafana 访问
    • 三、Grafana 功能介绍
    • 四、使用mysql存储
      • 1)安装mysql
      • 2)修改grafana配置
        • 1、创建grafana用户和grafana库
        • 2、修改grafana配置
    • 五、配置数据源(Data sources)
      • 1)配置prometheus 数据源
      • 2)配置mysql 数据源
    • 六、配置监控面板(Dashboard)
      • 1)node_exporter 监控面板
        • 1、安装node_exporter
        • 2、配置Prometheus加载node_exporter
        • 3、配置监控面板
      • 2)mysql_exporter 监控面板
        • 1、安装node_exporter
        • 2、配置Prometheus加载mysql_exporter
        • 3、配置监控面板
      • 3)Grafana Query语法
      • 4)自定义监控面板
        • 1、Prometheus数据源
          • 【1】新建一个空面板
          • 【2】编写PromQL表达式
          • 【3】变量使用
        • 2、MySQL数据源

一、概述

grafana是用于可视化大型测量数据的开源程序,他提供了强大和优雅的方式去创建、共享、浏览数据。dashboard中显示了你不同metric数据源中的数据。

  • grafana最常用于因特网基础设施和应用分析,但在其他领域也有机会用到,比如:工业传感器、家庭自动化、过程控制等等。
  • grafana有热插拔控制面板和可扩展的数据源,目前已经支持Graphite、InfluxDB、OpenTSDB、Elasticsearch。
  • grafana 高版本也支持告警功能,支持各种告警通道:webhook,alertmanager、mail、钉钉等等。
  • 每一个数据源的查询语言和能力都是不一样的。你能够把来自多个数据源的数据组合到一个仪表板,但每个面板被绑定到一个特定的数据源,它就属于一个特定的组织。

一般是Prometheus与Grafana配套使用,有些公司直接使用Grafana告警,而弃用alertmanager。相关参考文档如下:

  • Grafana官方文档:https://grafana.com/docs/grafana/latest/
  • Grafana GitHub地址:https://github.com/grafana/grafana
  • Prometheus原理详解
  • 【云原生】Prometheus Pushgetway讲解与实战操作
  • 【云原生】Prometheus AlertManager讲解与实战操作
  • 【云原生】Prometheus PromQL讲解与实战操作
  • 【云原生】Prometheus 自定义告警规则

在这里插入图片描述

二、Grafana 安装

1)下载安装

下载地址:https://grafana.com/grafana/download?platform=linux

wget https://dl.grafana.com/enterprise/release/grafana-enterprise-9.3.2-1.x86_64.rpm
sudo yum install grafana-enterprise-9.3.2-1.x86_64.rpm -y

2)安装包信息

  • 二进制文件: /usr/sbin/grafana-server
  • init.d 脚本: /etc/init.d/grafana-server
  • 环境变量文件: /etc/sysconfig/grafana-server
  • 配置文件: /etc/grafana/grafana.ini
  • 启动项: /usr/lib/systemd/system/grafana-server.service
  • 日志文件:/var/log/grafana/grafana.log
  • 默认配置的sqlite3数据库:/var/lib/grafana/grafana.db
  • grafana 默认插件的存放位置:/var/lib/grafana/plugins

3)启动服务

sudo systemctl daemon-reload
sudo systemctl start grafana-server
# Grafana 开机自启动
sudo systemctl enable grafana-server
sudo systemctl status grafana-server
# 默认端口 3000
netstat -nlpt|grep 3000

在这里插入图片描述

4)Grafana 访问

默认端口是3000,访问地址:http://IP:3000
默认账号/密码:admin/admin
在这里插入图片描述

三、Grafana 功能介绍

  • Data Source(数据源):Grafana支持多种不同的时序数据库数据源,Grafana对每种数据源提供不同的查询方法,而且能很好的支持每种数据源的特性。
    官方地址:https://grafana.com/docs/grafana/latest/datasources/
    在这里插入图片描述
  • DashBoard:仪表盘,就像汽车仪表盘同样能够展现不少信息,包括车速,水箱温度等。Grafana的DashBoard就是以各类图形的方式来展现从Datasource拿到的数据。https://grafana.com/grafana/dashboards/
  • Row:行,DashBoard的基本组成单元,一个DashBoard能够包含不少个row。一个row能够展现一种信息或者多种信息的组合,好比系统内存使用率,CPU五分钟及十分钟平均负载等。因此在一个DashBoard上能够集中展现不少内容。
  • Panel:面板,实际上就是row展现信息的方式,支持表格(table),列表(alert list),热图(Heatmap)等多种方式,具体能够去官网上查阅。
  • Query Editor:查询编辑器,用来指定获取哪一部分数据。相似于sql查询语句,好比你要在某个row里面展现test这张表的数据,那么Query Editor里面就能够写成select *from test。这只是一种比方,实际上每一个DataSource获取数据的方式都不同,因此写法也不同https://grafana.com/docs/grafana/latest/datasources/),好比像zabbix,数据是以指定某个监控项的方式来获取的。
  • Organization:组织,org是一个很大的概念,每一个用户能够拥有多个org,grafana有一个默认的main org。用户登陆后能够在不一样的org之间切换,前提是该用户拥有多个org。不一样的org之间彻底不同,包括datasource,dashboard等都不同。建立一个org就至关于开了一个全新的视图,全部的datasource,dashboard等都要再从新开始建立。
  • User:用户,这个概念应该很简单,不用多说。Grafana里面用户有三种角色admin,editor,viewer。admin权限最高,能够执行任何操做,包括建立用户,新增Datasource,建立DashBoard。editor角色不能够建立用户,不能够新增Datasource,能够建立DashBoard。viewer角色仅能够查看DashBoard。在2.1版本及以后新增了一种角色read only editor(只读编辑模式),这种模式容许用户修改DashBoard,可是不容许保存。每一个user能够拥有多个organization。

四、使用mysql存储

1)安装mysql

mysql安装可以参考我下面这篇文章,这里就不再重复讲解了:MySQL高可用实战( MHA)

2)修改grafana配置

1、创建grafana用户和grafana库

# 登录客户端
mysql -uroot -p
密码:123456

# 创建数据库
CREATE DATABASE IF NOT EXISTS grafana default charset utf8 COLLATE utf8_general_ci;

# 创建用户并授权
grant all  on grafana.* to 'grafana'@'192.168.182.%' identified by '123456';

2、修改grafana配置

配置文件: /etc/grafana/grafana.ini

[database]
type = mysql
host = 192.168.182.110:3306
name = grafana
user = grafana
password = 123456
# 也可以直接配置url
# url = mysql://grafana:grafana@192.168.182.110:3306/grafana

重启grafana

systemctl restart grafana-server

五、配置数据源(Data sources)

1)配置prometheus 数据源

前面我们已经部署了prometheus了,所以可以把prometheus数据源加进来。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2)配置mysql 数据源

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

六、配置监控面板(Dashboard)

地址:https://grafana.com/grafana/dashboards/

1)node_exporter 监控面板

1、安装node_exporter

下载地址:https://github.com/prometheus/node_exporter/releases/

【1】下载

wget https://github.com/prometheus/node_exporter/releases/download/v1.5.0/node_exporter-1.5.0.linux-amd64.tar.gz
tar -xzf node_exporter-1.5.0.linux-amd64.tar.gz

【2】配置node_exporter.service启动

# 默认端口9100
cat >/usr/lib/systemd/system/node_exporter.service<<EOF
[Unit]
Description=node_exporter
After=network.target
 #可以创建相应的用户和组 启动
#User=prometheus
#Group=prometheus

[Service]
ExecStart=/opt/prometheus/exporter/node_exporter/node_exporter-1.5.0.linux-amd64/node_exporter --web.listen-address=:9100
[Install]
WantedBy=multi-user.target
EOF

【3】启动服务

systemctl daemon-reload
systemctl start node_exporter
systemctl status node_exporter
systemctl enable node_exporter

【4】检查

curl http://localhost:9100/metrics

2、配置Prometheus加载node_exporter

添加或修改配置 prometheus.yml
在这里插入图片描述
重新加载

systemctl restart prometheus
# 1、 kill方式
#kill -HUP pid
# 2、curl方式(推荐)
#curl -X POST http://IP/-/reload
# 【注意】需要在启动的命令行增加参数: --web.enable-lifecycle
curl -X POST http://192.168.182.110:9090/-/reload
# 3、重启(不推荐,重启会导致所有的连接短暂性中断)
# systemctl restart prometheus

3、配置监控面板

地址:https://grafana.com/grafana/dashboards/?search=node_exporter在这里插入图片描述
加载有两种方式:离线(json文件)和在线(通过ID远程下载json)
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
导入之后就可以看到数据了。
在这里插入图片描述

2)mysql_exporter 监控面板

下载地址:https://github.com/prometheus/mysqld_exporter

1、安装node_exporter

【1】下载

# 注意MySQL对应的版本
export VER=0.12.0
wget https://github.com/prometheus/mysqld_exporter/releases/download/v${VER}/mysqld_exporter-${VER}.linux-amd64.tar.gz
tar xvf mysqld_exporter-${VER}.linux-amd64.tar.gz
mv mysqld_exporter-${VER}.linux-amd64/mysqld_exporter /usr/local/bin/
chmod +x /usr/local/bin/mysqld_exporter

【2】配置数据库凭证
创建数据库凭证文件,为用户创建添加正确的用户名和密码并设置所有权限:

cat > /root/.my.cnf <<EOF
[client]
host=192.168.182.110
port=3306
user=mha
password=123456
EOF

【3】配置mysql_exporter.service启动

# 默认端口:9104
cat > /etc/systemd/system/mysqld_exporter.service <<EOF
[Unit]
Description=Prometheus MySQL Exporter
After=network.target
#User=prometheus
#Group=prometheus

[Service]
Type=simple
Restart=always
ExecStart=/usr/local/bin/mysqld_exporter \
--config.my-cnf /root/.my.cnf \
--collect.global_status \
--collect.info_schema.innodb_metrics \
--collect.auto_increment.columns \
--collect.info_schema.processlist \
--collect.binlog_size \
--collect.info_schema.tablestats \
--collect.global_variables \
--collect.info_schema.query_response_time \
--collect.info_schema.userstats \
--collect.info_schema.tables \
--collect.perf_schema.tablelocks \
--collect.perf_schema.file_events \
--collect.perf_schema.eventswaits \
--collect.perf_schema.indexiowaits \
--collect.perf_schema.tableiowaits \
--collect.slave_status \
--web.listen-address=0.0.0.0:9104

[Install]
WantedBy=multi-user.target
EOF

【4】启动服务

systemctl daemon-reload
systemctl start mysqld_exporter
systemctl status mysqld_exporter
systemctl enable mysqld_exporter
# 启动并开机自启,等价于上面两行
# systemctl enable --now mysqld_exporter

在这里插入图片描述

【5】检查

curl http://localhost:9104/metrics

在这里插入图片描述

2、配置Prometheus加载mysql_exporter

添加或修改配置 prometheus.yml
在这里插入图片描述
重新加载

systemctl restart prometheus
# 1、 kill方式
#kill -HUP pid
# 2、curl方式(推荐)
#curl -X POST http://IP/-/reload
# 【注意】需要在启动的命令行增加参数: --web.enable-lifecycle
curl -X POST http://192.168.182.110:9090/-/reload
# 3、重启(不推荐,重启会导致所有的连接短暂性中断)
# systemctl restart prometheus

在这里插入图片描述

3、配置监控面板

地址:https://grafana.com/grafana/dashboards/7362-mysql-overview/
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3)Grafana Query语法

4)自定义监控面板

上面两个是网上提供的面板,其实在生产环境中,很多时候是需要自定义监控项的。

1、Prometheus数据源

【1】新建一个空面板

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

  • Panel:面板,实际上就是row展现信息的方式,支持表格(table),列表(alert list),热图(Heatmap)等多种方式,具体能够去官网上查阅。
  • Row:行,DashBoard的基本组成单元,一个DashBoard能够包含不少个row。一个row能够展现一种信息或者多种信息的组合,好比系统内存使用率,CPU五分钟及十分钟平均负载等。因此在一个DashBoard上能够集中展现不少内容。
【2】编写PromQL表达式

选择Prometheus数据源并且选择Query 就可以直接写 PromQL。先在Prometheus上调试promql,在粘贴过来就行了。

# 内存使用率
100 - ((node_memory_MemAvailable_bytes{instance="192.168.182.110:9100",job="prometheus"} * 100) / node_memory_MemTotal_bytes{instance="192.168.182.110:9100",job="prometheus"})

在这里插入图片描述
在这里插入图片描述
上面只显示一个机器的内存,显然还不完善,如果想显示多个,可以这样表达:

# 把instance="192.168.182.110:9100"去掉
100 - ((node_memory_MemAvailable_bytes{job="prometheus"} * 100) / node_memory_MemTotal_bytes{job="prometheus"})

# 或者复制几份
100 - ((node_memory_MemAvailable_bytes{instance="192.168.182.110:9100",job="prometheus"} * 100) / node_memory_MemTotal_bytes{instance="192.168.182.110:9100",job="prometheus"})
100 - ((node_memory_MemAvailable_bytes{instance="192.168.182.111:9100",job="prometheus"} * 100) / node_memory_MemTotal_bytes{instance="192.168.182.111:9100",job="prometheus"})
100 - ((node_memory_MemAvailable_bytes{instance="192.168.182.112:9100",job="prometheus"} * 100) / node_memory_MemTotal_bytes{instance="192.168.182.112:9100",job="prometheus"})
【3】变量使用

显然上面的方式不太好,这里使用变量的方式动态获取实例个数。先来了解Grafana的几个函数:

函数作用
label_values(label)返回Promthues所有监控指标中,标签名为label的所有可选值。
label_values(metric, label)返回Promthues所有监控指标metric中,标签名为label的所有可选值。
metrics(metric)返回所有指标名称满足metric定义正则表达式的指标名称
query_result(query)返回prometheus查询语句的查询结果

参数解释:
1、instance

  • type:变量类型,变量类型有多种,其中Query表示这个变量是一个查询语句,type可以是Custom自定义,type也可以是Data sourceData source就表示该变量代表一个数据源,如果是datasource你可以用该变量修改整个DashBoard的数据源,变量类型还可以是时间间隔Interval等等。这里我们选择Query
    2、General
  • Name:变量名,比如我这里取名为ip,到时候要使用这个变量名就用$ip来调用。
  • Label:是对应下拉框的名称,默认就是变量名,选择默认即可。
  • Description:描述。

2、Query options

  • Data source:数据源,不用多说。
  • Query:查询表达式,不同的数据源查询表达式都不同。
  • Regex:正则表达式,用来对抓取到的数据进行过滤,这里默认不过滤。
  • Sort:排序,对下拉框中的变量值做排序,排序的方式挺多的,默认是disable,表示查询结果是怎样下拉框就怎样显示。此处选disable。
  • Refresh: 何时去更新变量的值,变量的值是通过查询数据源获取到的,但是数据源本身也会发生变化,所以要时不时的去更新变量的值,这样数据源的改变才会在变量对应的下拉框中显示出来。Refresh有两个值可以选择。On Dashboard Load:在DashBoard加载时更新。On Time Range Change:在时间范围变化时更新。此处,选择On Dashboard Load,当数据源发生更新是,刷新一下当前DashBoard,变量的值也会跟着发生更新。

3、Selection Options

  • Multi-value:启用这个功能,变量的值就可以选择多个,具体表现在变量对应的下拉框中可以选多个值的组合。
  • Include All option:启用这个功能,变量下拉框中就多了一个all选项。
  • Custom all value启用Include All option这个功能,才会出现Custom all value这个输入框,表示给all这个选项自定义一个值,all这个选项默认是所有值的组合,你也可以自定义。

【温馨提示】虽然选择组合值可以在一个panel里面查看多种监控数据,但是由于不同监控数据的数值大小格式都可能不一样,在一个图形里面格式很难兼容,这样就会出现问题,所以此处建议默认都不选。

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

修改表达如下:

100 - ((node_memory_MemAvailable_bytes{instance="$instance",job="prometheus"} * 100) / node_memory_MemTotal_bytes{instance="$instance",job="prometheus"})

在这里插入图片描述

2、MySQL数据源

在这里插入图片描述
可以直接写sql,直接以表格的形式展现,非常的方便的,像在大数据领域sql是使用最频繁的,所以使用这种直接sql的方式显示图表监控情况还是非常方便的。


到此,Grafana 介绍与实战操作就先到这里了,还有一个告警模块(Alerting)内容比较多,就放到下一篇文章讲解了,有任何疑问欢迎给我留言,后续会持续更新【云原生+大数据】相关的文章,请小伙伴耐心等待~

在这里插入图片描述

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

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

相关文章

[附源码]Python计算机毕业设计Django学分制环境下本科生学业预警帮扶系统

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

Innodb存储引擎-索引和算法(B+树索引、Cardinality、联合索引、覆盖索引、MRR优化、ICP优化、哈希索引、全文索引)

文章目录索引和算法B树索引聚集索引辅助索引B 树索引的分裂B 树索引的管理Cardinality 值B 树索引的使用联合索引覆盖索引优化器选择不使用索引的情况索引提示Multi-Range Read 优化(MRR)Index Condition Pushdown优化(ICP)哈希索引全文索引倒排索引InnoDB全文检索的实现全文检…

第一个MyBatis查询

⭐️前言⭐️ 在连接程序与数据库的工具中&#xff0c;我们之前使用的是JDBC技术&#xff0c;但是JDBC的操作流程极为繁琐&#xff0c;因此才有了更优秀框架——MyBatis&#xff0c;下边我们一起来看这个优秀框架MyBatis的操作与使用。 &#x1f349;欢迎点赞 &#x1f44d; 收…

Innodb存储引擎-锁(数据库锁的查看、快照读当前读、MVCC、自增长与锁、外键与锁、行锁、并发事务的问题、阻塞、死锁、锁升级、锁的实现)

文章目录锁lock 与latch读锁/写锁/意向锁INNODB_TRX/INNODB_LOCKS/INNODB_LOCK_WAITS一致性非锁定读(快照读)一致性锁定读(当前读)MVCC版本链Read View流程自增长与锁外键和锁行锁类型记录锁(record lock)间隙锁(gap lock)下一键锁(next-key lock)并发事务带来的问题阻塞死锁锁…

数据挖掘Java——DBSCAN算法的实现

一、DBSCAN算法的前置知识 DBSCAN算法&#xff1a;如果一个点q的区域内包含多于MinPts个对象&#xff0c;则创建一个q作为核心对象的簇。然后&#xff0c;反复地寻找从这些核心对象直接密度可达的对象&#xff0c;把一些密度可达簇进行合并。当没有新的点可以被添加到任何簇时…

7.加载properties属性文件

一、加载properties属性文件 目的&#xff1a;将数据库的连接参数抽取到一个单独的文件中&#xff0c;与Spring配置文件解耦 1. 编写jdbc.properties属性文件 jdbc.drivercom.mysql.jdbc.Driver jdbc.urljdbc:mysql://127.0.0.1:3306/spring_db jdbc.usernameroot jdbc.passwo…

基于萤火虫算法改进的DELM预测-附代码

萤火虫算法改进的深度极限学习机DELM的回归预测 文章目录萤火虫算法改进的深度极限学习机DELM的回归预测1.ELM原理2.深度极限学习机&#xff08;DELM&#xff09;原理3.萤火虫算法4.萤火虫算法改进DELM5.实验结果6.参考文献7.Matlab代码1.ELM原理 ELM基础原理请参考&#xff1…

代码中的坏味道

学习笔记自https://zhuanlan.zhihu.com/p/141435233 识别代码中的坏味道系列 如下图是工作中常见的代码的坏味道&#xff1a; 上图中的坏味道出自《重构》这本书&#xff0c;虽然并不是全部&#xff0c;但是涵盖了日常中最常见的一些代码坏味道。 接触这些坏代码可以分为三类&…

【Linux】shell 及权限理解

​&#x1f320; 作者&#xff1a;阿亮joy. &#x1f386;专栏&#xff1a;《学会Linux》 &#x1f387; 座右铭&#xff1a;每个优秀的人都有一段沉默的时光&#xff0c;那段时光是付出了很多努力却得不到结果的日子&#xff0c;我们把它叫做扎根 目录&#x1f449;shell命令…

计算机基础学习笔记:操作系统篇之硬件结构,存储层次结构

二、存储器的层次结构 本文知识来源小林Coding阅读整理思考&#xff0c;原文链接请见该篇文章 存储层次 寄存器高速缓存&#xff0c;Cache 1-3级内存磁盘&#xff08;SSD&#xff0c;HDD&#xff09; 关键点 各层次的存储的 介质、速度、容量 以及工作层次理解CPU Cache的作…

【Spring]SpringMVC

一、SpringMVC简介 1、什么是MVC MVC是一种软件架构的思想&#xff0c;将软件按照模型、视图、控制器来划分 M&#xff1a;Model&#xff0c;模型层。指工程中的JavaBean&#xff0c;作用是处理数据 JavaBean分为两类&#xff1a; 实体类Bean&#xff1a;专门存储业务数据…

【qt Spin Box | Double Spin Box输入小部件函数学习篇】

Spin Box | Double Spin Box输入小部件函数学习篇【1】UI设计布局【2】setMinimum | setMaximum【3】setPrefix | setSuffix【4】setValue【5】setDisplayIntegerBase【6】setSingleStep【7】value【8】举例【1】UI设计布局 【2】setMinimum | setMaximum setMinimum 此属性保持…

点对点网络与广播式网络的区别

目录 一、点对点网络与广播式网络的区别 二、结点和节点 一、点对点网络与广播式网络的区别 写下本文的原因是笔者在学习计算机网络第一章时看到了下面王道书上的一句话&#xff0c;我不理解这句话想表达的是谁需要“分组存储转发和路由选择机制”。于是当时得出了一个错误…

Python读取excel内容追加到mysql表中赋予字段注释

前言 由于最近遇到一个实体类有特别多的字段&#xff0c;我就想自己一个地在表中创建&#xff0c;并写注释未免太浪费人力和时间了&#xff0c;然后在网上查找资料&#xff0c;果不其然让我看到了一个可以使用Python读取excel内容追加到mysql表中赋予字段注释&#xff0c;这简…

前端零碎知识随笔

一、介绍 本篇博客主要使用来记录一些比较零碎的知识点&#xff0c;都是本人在日常开发工作中遇到的&#xff0c;或者是在学习过程中遇到的。因为这些知识点都比较零碎&#xff0c;为了防止遗忘&#xff0c;所以特意写一篇博客来记录&#xff0c;后面也不会不断慢慢更新的。 …

[附源码]计算机毕业设计Python-大学生健康档案管理(程序+源码+LW文档)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等…

JSP+MySQL基于ssm的环保数据自动采集及预测系统

在21世纪的今天,随着科技的进步和发展,人们的生活逐渐趋于自动化、便捷化、数据化。而发展总会有代价,科技的进步总是伴随着环境的恶化。人类用智慧将地球的资源充分利用,以便丰富人们的生活,推动国家的进步。回过头去看,地球的环境已经成为威胁人类长久生存的主要问题之一。在…

34-Vue之ECharts高级-调色盘

ECharts高级-调色盘前言调色盘主题调色盘全局调色盘局部调色盘渐变颜色前言 本篇来学习下ECharts中调色盘的使用 调色盘 它是一组颜色&#xff0c;图形、系列会自动从其中选择颜色, 不断的循环从头取到尾, 再从头取到尾, 如此往复主要分三种&#xff1a;主题调色盘、全局调色…

基于GDAL的gdb格式数据读写功能实现

一、GDAL类库下载&#xff1a; 下载地址&#xff1a;GISInternals Support Site 比如我下载的是release-1930-x64-gdal-3-4-2-mapserver-7-6-4 点击release-1930-x64-gdal-3-4-2-mapserver-7-6-4的链接&#xff0c;下载这两个文件 二、解压文件和安装gdb插件 1.下载好的两个…

Innodb存储引擎-备份和恢复(分类、冷备、热备、逻辑备份、二进制日志备份和恢复、快照备份、复制)

文章目录备份和恢复分类冷备热备逻辑备份mysqldumpSELECT...INTO OUTFILE恢复二进制日志备份与恢复快照备份(完全备份)复制快照复制的备份架构备份和恢复 分类 &#xff08;1&#xff09;根据备份的方法可以分为&#xff1a; Hot Backup&#xff08;热备&#xff09;&#x…