随笔分类 - 监控告警
摘要:vmstorage如何将原始指标转换为有组织的历史 参考自:vmstorage-how-it-handles-data-ingestion vmstorage是VictoriaMetrics中负责处理长期存储的组件。 读取和解析数据 在vmstorage接收到数据之后,并不会直接读取这些数据。首先会
阅读全文
摘要:Linux debugging, profiling and tracing training 本文来自bootlin的公开培训文档。 Debugging, Profiling, Tracing Debugging ▶ 查找和修复软件/系统中存在的问题 ▶ 可能会用到不同的工具和方法: 交互式调试(
阅读全文
摘要:Opentelemetry collector用法 目录Opentelemetry collector用法ServiceExtensionshealthcheckextensionPipelinesreceiverOTLP Receiverprometheus receiverfilelog rec
阅读全文
摘要:Grafana Loki查询加速:如何在不添加资源的前提下提升查询速度 来自Grafana Loki query acceleration: How we sped up queries without adding resources,介绍了Loki如何通过n-grams + 布隆过滤器来加速查询
阅读全文
摘要:最近搞了一个prometheus 指标终端展示工具,有兴趣的可以试试:
阅读全文
摘要:使用prometheus来避免Kubernetes CPU Limits造成的事故 译自:Using Prometheus to Avoid Disasters with Kubernetes CPU Limits 本文将介绍Kubernetes的resource limits是如何工作的、使用哪些
阅读全文
摘要:预置条件 安装kafka、prometheus 使用JMX exporter暴露指标 下载jmx exporter以及配置文件。Jmx exporter中包含了kafka各个组件的指标,如server metrics、producer metrics、consumer metrics等,但这些指标并
阅读全文
摘要:kubernetes Tcp流量可视化 使用k8spacket和grafana的node graph插件可以查看kubernetes pod的TCP相关信息,如connection、bytes、和duration。下面是接收和响应的字节数信息: 安装k8spacket helm repo add k
阅读全文
摘要:## Grafana Mimir:支持乱序的指标采集 译自:[New in Grafana Mimir: Introducing out-of-order sample ingestion](https://grafana.com/blog/2022/09/07/new-in-grafana-mim
阅读全文
摘要:简单聊聊运维监控的其他用途 说到监控,一般都会聊到这三个基本维度:metrics、log和tracing,以及这几种常用的工具:Prometheus+grafana+alertmanager、ELK、jaeger。 监控通常来展示应用或集群的运行状态,配合告警来达到维护系统稳定性的目的。但除此之外,
阅读全文
摘要:Opentelemetry SDK的简单用法 概述 Opentelemetry trace的简单架构图如下,客户端和服务端都需要启动一个traceProvider,主要用于将trace数据传输到registry(如jaeger、opencensus等)。client和server通过context将
阅读全文
摘要:alertmanager集群莫名发送resolve消息的问题探究 术语 告警消息:指一条告警 告警恢复消息:指一条告警恢复 告警信息:指告警相关的内容,包括告警消息和告警恢复消息 问题描述 最近遇到了一个alertmanager HA集群莫名发送告警恢复消息的问题。简单来说就是线上配置了一个一直会产
阅读全文
摘要:容量推荐引擎:基于吞吐量和利用率的预测缩放 本文介绍了一种容量推荐模型,实现方式相对相对比较简单,且已在Uber内部使用,可以依照文中的方式开发一版容量推荐系统。 译自:Capacity Recommendation Engine: Throughput and Utilization Based
阅读全文
摘要:最近有做一个Prometheus metrics代理的一个小项目,暂称为prom-proxy,目的是为了解析特定的指标(如容器、traefik、istio等指标),然后在原始指标中加入应用ID(当然还有其他指标操作,暂且不表)。经过简单的本地验证,就发布到联调环境,跑了几个礼拜一切正常,以为相安无事
阅读全文
摘要:Prometheus告警规则分发服务,根据一致性哈希将规则分发到多个节点,使用多个goroutine处理应用告警,在服务增加时可以增加goroutine,服务减少时降低goroutine数目。 规则下发服务 规则下发服务和规则处理服务是一对客户端和服务端的实现,前者可以对接多个集群,后者为集群中的某
阅读全文
摘要:最近项目组在做Prometheus指标采集和告警,其中用到了Prometheus的exemplar特性,由于该特性比较新,当前支持该特性的存储有比较少。因此需要自行实现exemplar功能。 我在github上创建了一个代码库,内容如下: 功能支持列表 支持从kafka消费Prometheus指标数
阅读全文
摘要:从头编写一个时序数据库 本文介绍如何去设计一个时序数据库,可以学习一下文章中提及的一些技术点。需要注意的是,本文编写的时间为2017年4月,因此文中需要改善的也是老版本的Prometheus存储存在的问题。 译自:Writing a Time Series Database from Scratch
阅读全文
摘要:解析PromQL 目前对Prometheus 的promQL 的解析文章比较少,且Prometheus官方也没有提供一个公共的库来对其进行解析。下面实现对promQL的解析,并实现注入label功能。 表达式类型 AggregateExpr 对应聚合操作,如sum without (instance
阅读全文
摘要:评测Loki日志工具 本文仅对Loki进行简单评测,不涉及原理和细节。 部署Loki Loki是grafana团队开发一个日志采集工具。推荐使用helm方式安装loki,官方推荐的tanka需要使用aws的s3服务。安装helm后直接运行如下命令即可在loki命名空间中部署最简单的loki套件。 #
阅读全文
摘要:Linux探测工具BCC(网络) 承接上文,本节以ICMP和TCP为例介绍与网络相关的部分内容。 Icmp的探测 首先看下促使我学习bcc的这篇文章中的程序traceicmpsoftirq.py,使用该程序的本意是找出对ping响应的进程位于哪个CPU core上,然后使用perf扫描该core,找
阅读全文