Grafana和MySQL相差8小时
背景说明今日在用 Grafana 进行数据大屏看板制作 (数据源为 MySQL),其中有个面板是统计 “每日的用户反馈表单数量曲线图”,如图
因为要确保数据的准确性,于是进行了验证,抽样调查了其中的一个表单类型 异常反馈 的数量
1234select count(1) as total from user_form_request where ct >= CURRENT_DATE() and form_type = 13; # 执行结果为 total => 42select count(1) as total from user_form_request where ct >= '2023-04-11 08:00:00' and form_type = 13; # 执行结果为 total => 32
从上面的查询结果表现来看,后者和图中统计的结果数据才对得上(均为 32),也就是说 Grafana 统计的聚合数据比实际偏移了8个小时!
问题排查从广大的网络文章看,主要集中都是说 Grafana 时区或者 MySQL时区设置有问题,或者两者 ...
k8s学习-Etcd集群构建
前言什么是 EtcdEtcd 是一个 开源的、分布式的、一致性 的 键值存储系统,由 CoreOS 开发和维护。Etcd 使用 Raft 算法实现分布式一致性,提供了 高可用、高可靠、高性能的数据存储服务。
Etcd 可以被用于存储和检索键值对数据,支持事务和版本控制,并具有分布式一致性和高可用性等特性。Etcd 还提供了 RESTful API 和 gRPC API,方便用户进行访问和使用。
在 Kubernetes 中,Etcd 被用作数据存储,用于存储集群的元数据和状态信息,包括 Pod、Service、ConfigMap、Secret 等对象的元数据和状态,以及节点的状态和配置信息等。Etcd 在 Kubernetes 中的主要作用是提供一个高可靠、高性能、分布式的数据存储系统,用于管理 Kubernetes 集群中各种对象的元数据和状态信息,从而实现集群的高效运行和管理。
除了 k8s 外,Etcd 还被广泛应用于微服务架构、配置管理、服务发现等场景,成为了一个重要的分布式系统基础组件。
为啥 K8S 要选择 Etcd让我们看看聪明的 ChatGPT 是怎么分析这个问题 ...
k8s学习-核心概念篇
k8s 组件下面是 k8s 官网给到的一张集群组件示意图,其组件主要分为两大类:
控制平面组件
Node组件
控制平面组件控制平面组件 运行在 Kubernetes 集群的 主节点 上,负责管理集群的全局状态,以及协调和控制集群中的所有操作。
以下表格展示了有哪些 控制平面组件,以及对应的作用
组件名
作用
kube-apiserver
负责公开 K8s API,负责 API 请求处理,提供了资源操作的唯一入口(如认证、授权、访问控制、API 注册等),是 K8s 的前端控制平面组件
etcd
Kubernetes 集群中的分布式键值存储,用于存储和共享集群状态信息和配置数据。所有的组件和工具都可以通过 etcd 获取集群中的信息和数据。
kube-scheduler
负责资源调度,如监视新创建的、未指定运行节点(node) 的 Pods, 并选择节点来让 Pod 在上面运行。调度决策考虑的因素包括单个 Pod 及 Pods 集合的资源需求、软硬件及策略约束、 亲和性及反亲和性规范、数据位置、工作负载间的干扰等。
kube-controller- ...
Linux小技巧·文件交差并集
我们此处会用到 Linux 系统本身自带的命令 sort 和 uniq ,若您不熟悉,可以先行了解
前言我们经常会面临对比两个文件的差异,举一个具体的例子:
两个服务器作为服务 S 的负载均衡,都部署了 nginx 做了一些规则重写,但是请求同一个地址的表现是不一样的;
此时第一反应就是对比两个服务器配置文件之间的区别,如果配置不多肉眼还能查看到,但是配置多了就只能依靠工具来进行了;这个时候,如果习惯了某些客户端的工具也是一直有效的处理方案,此处介绍 Linux 里面的处理方案!
求两个文件交集1sort a.txt b.txt | uniq -d
sort a.txt b.txt 首先将文件 a.txt 和 b.txt 中的内容合并,并按行排序。
uniq -d 接着对排好序的结果进行去重,只显示重复出现过的行,也就是在 a.txt 和 b.txt 中都出现过的行。
求两个文件并集1sort a.txt b.txt | uniq
sort a.txt b.txt 首先将文件 a.txt 和 b.txt 中的内容合并,并按行排序。
uniq 将排好序的文本进行去 ...



