Prometheus 的 Summary 和 Histogram
在日常的软件监控中,对于一些离散且数量庞大的值我们通常会以统计学的方式来进行监控,例如常说的 TP99。在 Prometheus 中,有两个基本数据类型可以实现这个功能,本文就将介绍他们分别是如何做的以及如何选择他们。
在日常的软件监控中,对于一些离散且数量庞大的值我们通常会以统计学的方式来进行监控,例如常说的 TP99。在 Prometheus 中,有两个基本数据类型可以实现这个功能,本文就将介绍他们分别是如何做的以及如何选择他们。
经常在观看视频或者处理视频的时候,总是有一些很简单的小需求,例如截取视频某一段时间的内容,或者将一个视频按照比赛场次分割成多个视频,因为这个需求太简单了,所以特地安装一个视频处理软件就不太划算,刚好,我知道有个开源的工具 FFMPEG 是许多视频处理软件的底层依赖,所以我就尝试学习如何用它处理一个简单的视频,本文就总结一下我用到的命令。
虽然我一直感觉我做过 Kafka 的笔记,但是却没有找到,所以最近因为有项目使用了 Kafka,为了项目使用的每一个细节,不得不认真学习一下 Kafka(结果证明这是很正确的),顺便整理了一下主要的学习内容。
Gin 作为一个流行的 HTTP 框架,使用的人数非常多,但是实际上 Gin 也是足够的简单,以至于没有太多可以讲的。但是,虽然可讲的不多,也是有一些描述和思路值得一提,这篇文章是系列文章的第一篇,主要是介绍一下 Gin 是如何处理 HTTP 请求的。因为 Gin 本质上是扩展原生的 HTTP Server,所以在网络模型上没有太多的介绍之处,所以这里主要关注 Gin 的一些主要数据结构,以及这些数据结构是如何与原生的 HTTP Server 结合起来的。
最近趁着假期又在新机器上玩了一下 Flutter,感觉流畅度比 3 年(2020)前好多了,整个从零开始过程几乎没遇到问题,流畅地完成了新手指导,所以顺带记录一下这个过程,以及把之前遇到的问题整理了进来。
没错,这里我确实是说的竞态,而不是静态。Go 因为其简单和出色的并发开发体验而广受欢迎,但是我们经常还是会写出有 Data Race 的代码,但是 Go 很多时候却可以帮助我们检查出来,这篇文章就尝试介绍一下 Go 是如何做到的。
这也是一篇放了很久备忘,在写 README 的时候,因为一些特定的目的,所以想给不同的文本设置一些不同的颜色,在本地编辑工作地好好的,结果一 push 上去居然不工作了,颜色就自动消失了,所以这里总结一下能显示不同颜色的一些常用做法。
最近在洗键盘的时候发现一些有趣的事情,自己想不出来原因,所以查了一下资料分享一下。
之前介绍过如何搭建 Prometheus 和 Grafana,在这一篇文章中,我将继续介绍如何用 Telegram 接收 Grafana 触发的报警信息。
因为已经熟悉了 Prometheus 的模式,所以平时一些服务器软件和小应用都是通过 Prometheus 来监控的,虽然经常搭建 Prometheus 环境,但是没有总结一下,所以每次都需要跑各个地方去找配置(systemd、prometheus、nginx 配置等),所以最近刚好有个新环境,需要重新搭建一下,所以趁机也就顺便记录一下安装配置 prometheus 和 grafana 的过程。