获取客户 Prometheus 监控数据

业务背景 在排查问题时,想通过Grafana看板查看用户的监控,只能靠拍照,效率低,质量一般,设计一个方案能够方便的将问题出现前24小时的监控数据拿到,在本地导入,就能够在本地Grafana方便的查看。Prometheus 本身只提供了API查询的功能并没有导出数据功能,自带的Promtool也只提供验证规则文件和配置文件,调试等。 参考文章 Analyzing Prometheus data with external tools Prometheus backfilling 方案一:使用API导出转换成CSV 使用API查询,将查询到的数据转换成CSV,刚好Grafana有插件能够将CSV作为数据源,经过实验后并不是特别顺利,能够读取到CSV,但没有成功绘制出图像。 总结 经过实验后并不是特别顺利,能够读取到CSV但没有成功绘制出图像,看板中部分查询语句中包含看板变量,CSV数据源无法实现看板变量。 方案二:拷贝Prometheus数据文件 Prometheus 按照两个小时为一个时间窗口,将两小时内产生的数据存储在一个块(Block)中。每个块都是一个单独的目录,里面含该时间窗口内的所有样本数据(chunks),元数据文件(meta.json)以及索引文件(index)。其中索引文件会将指标名称和标签索引到样板数据的时间序列中。此期间如果通过 API 删除时间序列,删除记录会保存在单独的逻辑文件 tombstone 当中。 Prometheus 为了防止丢失暂存在内存中的还未被写入磁盘的监控数据,引入了WAL机制。WAL被分割成默认大小为128M的文件段(segment),之前版本默认大小是256M,文件段以数字命名,长度为8位的整形。WAL的写入单位是页(page),每页的大小为32KB,所以每个段大小必须是页的大小的整数倍。如果WAL一次性写入的页数超过一个段的空闲页数,就会创建一个新的文件段来保存这些页,从而确保一次性写入的页不会跨段存储。这些数据暂时没有持久化,TSDB通过WAL将数据保存到磁盘上(保存的数据没有压缩,占用内存较大),当出现宕机,启动多协程读取WAL...

创建: 2023-09-08 | 字数: 9674字 | 时长: 20分钟

折腾博客的意义

WordPress 没有像大城市里的Z时代青少年一样在初中高中就开始折腾各种网络安全,编程技术,折腾博客,我在大二时才有建一个网站的想法,买了阿里云的ECS,买了域名,装了宝塔,然后LNMP一键启动,WordPress无脑梭哈,还折腾了备案,但是除了写了几个测试的文章,后面续费云主机的动力都没有了,于是索性连域名也卖了,记得好像是十几块钱买的,还卖了9块钱。我的博客从网络世界消失了,对于我来说,我知道了原来网站是这么运行的,原来还有宝塔和WordPress这么牛逼的工具,原来备案TM的这么麻烦! Hexo 再后来技术上走向正规,经常查一些技术文章,看到别人写的博客,知道了Hexo,知道了Github Page,开始折腾静态博客,使用Hexo和使用人数最多的主题Next,再结合网络上的各种方案魔改,当时我想的就是“整挺好,以后就这样不换了”。Hexo是截止我写这篇文时用的最久的框架,相处久了,了解的多了,遇到麻烦的次数也就多了。 Vuepress 期间还折腾了文档站点,看到了别人的文档站点挺好的,我的一些文档也可以放进文档站点作为文档库啊,然后又开始了VuePress、Docusaurus,因为抱着一旦启用就不换的决心,每个方案都折腾了不少时间,最终我的Github仓库还残存着一个Docs的仓库,然后我发现文档这个东西就是个伪需求,就此作罢。 Hexo in Docker 一开始Hexo运行在Mac上,我不敢随便重置系统,后来对Docker的运用加深,开始折腾在Docker里运行Hexo,也还算顺利。Dockerfile存在Dropbox里,存在iCloud里,非常的安稳和踏实,但是后面的事告诉我事情没这么简单,Dockerfile中每次都拉取latest的node基础镜像,git clone也是每次都是最新的,导致版本不兼容时就会有报错,或者是警告,这个问题不是不能解决,指定版本就好了呀,是的。但我还是开始嫌弃Hexo了,甚至我都没有继续写下去的动...

创建: 2023-08-28 | 字数: 2029字 | 时长: 5分钟

Flask+Vue 前后端分离记录

如题,记录告警平台从原来的layui升级到Vue,并实现Flask+Vue前后端分离,记录前后端三种解决跨域的方式(有点像茴香豆的四种写法?没事,技多不压身) ...

创建: 2023-07-12 | 字数: 1177字 | 时长: 3分钟

分享一份值得分享的 SRE 面试题

如题,分享记录一份还不错的面试题,看面试题的目的不是为了记住题目然后去应试(也不可能人家题都不带换的),如果是这样的话就算过了,面试真正在工作中遇到挑战一脸懵逼,怕是离大礼包不远了,看面试题是为了知道自己的水平,了解哪些常见的问题,如果有不足的就要提升弥补。 ...

创建: 2023-07-11 | 字数: 2728字 | 时长: 6分钟

Kuboard-spray 图形化安装高可用的 Kubernetes

不管你有没有听说过Kuboard,它都是一个非常有名的K8s管理工具,官方描述的是Kuboard - Kubernetes 多集群管理界面,我这次想介绍的是Kuboard-spray ...

创建: 2023-07-07 | 字数: 770字 | 时长: 2分钟

记录在 K8s 中部署 Nginx 并修改主页

如题,记录在K8s中部署Nginx并修改主页 ...

创建: 2023-06-20 | 字数: 1434字 | 时长: 3分钟

K8s 中 Pod 的调试技巧

今天在逛大佬的博客时又学到好东西了,特此记录一下,关于K8s中Pod调试的奇技淫巧,虽然不一定能用到,但是值得记录 ...

创建: 2023-06-13 | 字数: 628字 | 时长: 2分钟

Kubernetes 和 Flask 的组合

众所周知Minikube有自带的dashboard,输入命令minikuke dashboard打开链接就能看到,某日突发奇想,加入公司内部需要一个自定义的kubernetes监控平台,以满足一些自定义的需求呢?比如,我想看到最近新建的100个pod,或者我想看最近的k8s集群的events,使用flask来开发一个平台满足自定义,是一个不错的选择。 ...

创建: 2023-05-14 | 字数: 589字 | 时长: 2分钟

我国开源软件开发者数量突破 800 万

根据4月17日央视新闻联播的报道,引用工业和信息化部的消息,中国开源软件开发者的数量已经超过了800万,位居全球第二。开源软件是一种通过分布式手段开发的软件,具有公开、可使用、可修改、可分发等特点。央视新闻联播发布了一条简短的视频消息,宣布了这一消息。 ...

创建: 2023-04-18 | 字数: 486字 | 时长: 1分钟

对待工作的十个层次

如何把事情做到位(对待工作的十个层次) 一、那些总是能把事情做到位的人 在当前的组织里,各式各样的事情很多,各种各样的人也很多,但是真正能把事情总是做得非常“到位”的人确不多。留意观察后,你会发现这种总是能把事情做到位的人有这样的特征: 【小事情也可以做得不同】原本那么一个平平无奇日常总在做的事情,在他接手后,就突然被发现里面隐藏的问题很多,通过解决这些问题,这个原本普通的事情价值突然变得很大,成为了近期组织讨论的热点。 【大事情非他莫属】当团队临时接到一个非常重要的工作,这时候就算他手头被其他工作占用、有其他人时间上更合适,领导也会把这个工作交付给他,就算要为此安排复杂的工作交接也在所不惜。 所以,我发现,成为这样的人,做什么样的事情不重要,重要的是你可以把事情做到什么程度。 二、对待工作的十个层次 能把事情做到位,一定不是靠“运气”,而是靠做事情的人的“能力”+“态度”。“能力”基于不同的事情都各不相同,这次我们也不打算探讨这个方向;我们来分析一下“态度”是怎么影响你把事情做到什么程度的。 回顾和分析自己及周边的人做事态度,我尝试量化的拆分了一下做事态度的10个层次(如下图): 不参与(0-3) 这个部分不是重点,但如果有人真的有人是这样面对工作的,那我只能劝你先面壁自省一下了。 由于正当原因、合理的不参与,暂时不放在这个范畴里讨论,我们先忽略这种情况。 低参与(4-5) 【4】,只参与讨论不投入行动。 这样的人,只动嘴不动手,既不能真的深入了解这个情况的详细情况,也不能给组织解决任何问题,最后沦为这个事情的看客。 【5】,只参与指定给自己的行动,不对行动结果负责。 这样的人,就像一个机器人一样,只是一个执行者,不会动脑子思考,最终,除了操作上更熟练了之外,谈不上积累了什么经验,可能一件事情做了很多年,也不了解业务背后的核心逻辑。 中参与(6) 【6】,参与行动,也主动关注和自己行动相关的风险,但忽视整个...

创建: 2023-04-18 | 字数: 2255字 | 时长: 5分钟