开源项目: prome_shard :consulwatch+动态分片实现Prometheus采集端高可用

2020-10-11
阅读 3 分钟
2.3k
架构图开源项目地址:项目地址: [链接]项目说明prometheus采集端单点问题采集类型采集机器级别的指标采集k8s基础监控指标采集部署在lb后面的vm业务指标采集部署在pod里的业务指标采集各种中间件的指标 如kafka zk clickhouse等面对如此复杂的采集类型,一般会使用一批采集Prometheus各司其职sd发现问题面对不同的采集来源...

服务树系列(二):开源服务树:stree-index 物化路径+倒排索引实现的开源服务树核心组件

2020-10-10
阅读 7 分钟
5.1k
开源项目地址:项目地址: [链接]什么是服务树及其核心功能服务树效果图可以看我之前写的文章 服务树系列(一):什么是服务树及其核心功能核心功能有三个树级结构灵活的资源查询权限相关今天仅讨论前两种的实现树级结构实现调研后发现有下列几种实现方式左右值编码区间嵌套闭包表物化路径而stree-index采用的是物化路径物化...

开源项目 : prome-route: 使用反向代理实现prometheus分片

2020-09-10
阅读 2 分钟
1.9k
开源项目地址:项目地址: [链接]PS: 这是一个仅用时半天就写完的项目架构图prometheus HAprometheus本地tsdb性能出色,但是碍于其没有集群版本导致HA较差实现手段注意这些手段都是要数据的统一存储可以通过remote_write 到一个提供HA的tsdb存储中通过联邦收集到一个prometheus里问题来了,搞不定集中式的tsdb集群,或者集...

开源项目: pre_query: 给prometheus 重(heavy_query)查询提速

2020-09-09
阅读 7 分钟
3.4k
顾名思义 就是查询表现出来返回时间较长,对应调用服务端资源较多的查询一般我们定义在1小时内的range_query 响应时间超过3秒则认为较重了

服务树系列(一):什么是服务树及其核心功能

2020-08-25
阅读 5 分钟
6.8k
服务树这个名词几乎所有运维和运维开发同学都不陌生,但是服务树的原理和为啥用服务树估计大家并不了解,本文先来讨论下这些基本概念,下文讨论如何实现,下图为其核心组件stree-index现已开源

m3db-node oom追踪和内存分配器代码查看

2020-08-13
阅读 3 分钟
2.3k
m3dbnode oomoom时排查内存火焰图: 80G内存bytes_pool_get_on_empty qps 很高db read qps增长 80%node cpu kernel 暴涨看图结论m3dbnode 内存oom过程很短,很剧烈:总时间不超过7分钟内存从27G增长到250G节点sys态cpu暴涨:因为大量的mem_alloca sys_call内存增长曲线和db_read_qps曲线和bytes_pool_get_on_empty曲线高...

从PVC使用率看k8s 监控控制平面指标稳定性规范KEP

2020-08-11
阅读 3 分钟
6.9k
前言kubernetes家大业大,监控纷繁复杂,感兴趣的小伙伴可以看看我之前写的文章从容器监控kube-stats-metrics看k8s众多组件k8s中pv使用率监控说明虽然k8s最擅长的是无状态的pod,不建议有状态的存储型pod上但是总有些使用场景需要,比如statefulset使用的pv那么pv的使用率监控就非常有必要了我们可以使用 kubelet_volume...

开源项目: self_upgrade: C/S架构中 agent如何自升级(以falcon-agent为例)

2020-07-27
阅读 9 分钟
3.9k
项目地址代码地址 [链接]前言在我们日常运维/运维开发工作中各种系统主要分为两大流派本文主要讨论下有agent侧一些注意事项客户端服务端的C/S架构优点c/s架构相比于基于ssh的并发和吞吐量要高的多利用agent可做的事情很多以及更精准的控制缺点功能更新需要升级agentagent如果保活是个头疼的问题机器上agent过多如何管理...

prometheus 本地存储解析及其使用的那些"黑科技"

2020-07-15
阅读 13 分钟
4.8k
本文代码基于prometheus 2.19.2分析 基本概念 什么是tsdb {代码...} prometheus 基本概念 sample 数据点 {代码...} sample代表一个数据点 size:16byte: 包含 1个8byte int64时间戳和1个8byte float64 value Label 标签 {代码...} 一对label 比如 job="ec2" Labels 标签组 {代码...} 就是metric 一个指标的所有tag values...

从容器监控kube-stats-metrics看k8s众多组件

2020-07-10
阅读 7 分钟
5.7k
k8s API Server提供了k8s各类资源对象(pod,RC,Service等)的增删改查及watch等HTTP Rest接口,是整个系统的数据总线和数据中心

open-falcon-alarm 代码分析

2020-07-07
阅读 7 分钟
2.6k
高优先级报警比如p0: judge产生报警事件-->写入redis event:p0队列 -->alarm消费-->获取发送对象并处理调用回调函数(如果有)-->根据策略不同生成不同通道的报警(im,sms,mail,phone)等-->写入redis各个通道的发送队列 /im /sms /mail /phone -->发送报警的worker取出报警发送

粗读web框架之go gin和python django

2020-07-07
阅读 24 分钟
6.5k
为什么引入web框架    web应用的本质 浏览器发送一个HTTP请求; 服务器收到请求,生成一个HTML文档; 服务器把HTML文档作为HTTP响应的Body发送给浏览器; 浏览器收到HTTP响应,从HTTP Body取出HTML文档并显示;    涉及的问题   解析http请求 找到对应的处理函数 生成并发送http响应 * web框架工作流程 ​ 中间件 中间件...

开源项目 : dns_spoof :使用ansible-playbook实现dnsdist快速劫持工具

2020-07-07
阅读 2 分钟
3.7k
简单来说就是:所有region中host的/etc/resolv.conf nameserver 写的都是同一个ip,如10.10.10.10/8.8.8.8

promethues系列之:追踪k8s容器指标的打tag的流程

2020-07-06
阅读 4 分钟
3.5k
k8s中容器资源的监控 在promethues中如何配置采集容器指标 采用promethues的kubernetes_sd_configs中 node级别的role {代码...} cadvisor架构图 cadvisor中 POD 在查看cadvisor代码时发现有一种container_name=="POD"的容器,查了下是 k8s中的pause pod 下面追踪下打tag的过程:以pod cpu使用率为例 kubelet最终tag 对应c...

开源项目:polymetric:监控聚合器系列之: open-falcon新聚合器polymetric

2020-07-04
阅读 7 分钟
3k
简单来说:需要将分散的大量监控数据按照一定的维度(idc/service)及一定的算法(avg/sum/max/min/quantile分位)得到一个结果值

open-falcon 聚合器aggregator代码解析

2020-07-04
阅读 6 分钟
2.4k
总结:aggregator聚合器就是从falcon_portal.cluster表中取出用户在页面上配置的表达式,然后解析后,通过api拿到对应机器组的所有机器,通过api查询graph数据算出一个值重新打回transfer作为一个新的点。

解读两个一致性哈希算法

2020-06-11
阅读 9 分钟
2.4k
最重要的一点忘了写了:一致性哈希算法为啥能在节点变更的时候只有少量key迁移是因为sortkeys列表其实就是一个哈希环,客户端的哈希值和存量的节点哈希值在有序的sortkeys列表中的相对位置没有变,变的是下线节点前面的哈希到再前面一个之间的值所以变更率为:1-n/m

开源项目:xprober :分布式c/s ping & http框架

2020-06-11
阅读 3 分钟
3.8k
项目地址地址 [链接]架构图需求分析网络监控工具调研多region为一般公司内网架构这个工具能提供网络性能数据监控同时也参考调研了tor维度的pingmesh方案总结key1 其实最主要能看到公有混合云内网所有region两两之间的延迟和丢包率维度落在region而不是tor,即不关心同region内的延迟如果采用单个agent集中向外探测的问题...

我对开源版本openfalcon的变更

2020-06-11
阅读 5 分钟
2.8k
ps 基于open-falcon做监控现在有点落伍了,目前我这里有更好的方案,感兴趣的github issue留言 地址 [链接] 我重写了聚合器,重写聚合器目的 poly_metric VS aggregator 解决endpoint多的聚合断点问题 解决聚合器单点问题,使得横向扩展得以实现 解耦聚合器各个单元,可以方便的增加新的聚合入口和聚合策略 .falcon agent...

开源项目 : dynamic-sharding: 解决pushgateway 高可用HA问题

2020-06-10
阅读 4 分钟
7.2k
k8s教程说明k8s底层原理和源码讲解之精华篇k8s底层原理和源码讲解之进阶篇k8s纯源码解读课程,助力你变成k8s专家k8s-operator和crd实战开发 助你成为k8s专家tekton全流水线实战和pipeline运行原理源码解读prometheus全组件的教程01_prometheus全组件配置使用、底层原理解析、高可用实战02_prometheus-thanos使用和源码解...